Skip to content

Tutorial for Ground Consistency Layer#911

Open
haider8645 wants to merge 19 commits into
ros-navigation:masterfrom
haider8645:master
Open

Tutorial for Ground Consistency Layer#911
haider8645 wants to merge 19 commits into
ros-navigation:masterfrom
haider8645:master

Conversation

@haider8645
Copy link
Copy Markdown

@haider8645 haider8645 commented Apr 28, 2026


Basic Info

Info Please fill out this column
Ticket(s) this addresses N/A
Does this PR contain AI-generated software? Yes it does. I used AI and did development myself as well. Code has been validated through extensive testing and performance analysis.

Related PR: ros-navigation/navigation2_tutorials#140

Description of contribution in a few bullet points

  • Added a costmap_2d layer to nav2 based on ground segmentation

Performance Anaylsis on the demo scenario:

Figure_1

@haider8645
Copy link
Copy Markdown
Author

I guess the pre-commit failed job is not a problem, or?

Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
@haider8645
Copy link
Copy Markdown
Author

Force pushes are because I always forget to somehow sign-off the commits...

@SteveMacenski
Copy link
Copy Markdown
Member

Check on the precommit CI issues to resolve - it shows issues you need to fix in your file

Copy link
Copy Markdown
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you may also benefit from the next draft from reading a few of the existing Nav2 tutorials. This doesn't really step through how to set it up (i.e. add the layer to your navigation yaml config file) or understand the parameters (here's some key parameters to tune/setup) or any of the key user-facing tutorial features needed, I don't think. Those are the details people will read this to learn -- how to setup & tune & use.

I think you can blow past the gazebo world/model details, since those are just to show case the feature. Tell them to launch Nav2 + gazebo using this launch file (which does Nav2 + gazebo + KISS ICP + husky) and just tell them it launches all of these things (and brief reasons about what they do) to as a test / demo environment. I don't think it needs to be expanded much past that since the point here is more related to your algorithm + the costmap layer.

Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
- **On slopes**: Ground segmentation classifies the slope as traversable (not blocked)
- **Over small obstacles**: Debris below robot height doesn't appear as lethal obstacles
- **Under overpasses**: If your world has them, the robot can navigate underneath

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's a good place to add a youtuve video or two embedded

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am preparing a video, will update you on it

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK!

Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
@haider8645
Copy link
Copy Markdown
Author

haider8645 commented May 5, 2026

@SteveMacenski Thanks for the detailed review. I have overhauled the tutorial. It should look much better now. Pleas let me know if further changes are needed.

haider8645 added 2 commits May 5, 2026 14:30
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
Copy link
Copy Markdown
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Much better, but some linearization issues for a smooth workflow. Otherwise, I think we should be ready soon.

I'd suggest readding your videos in the "Demo" section for other Demo videos you have (I've seen one in a mine or something and another with real data on a forklift or something?). Even though they're not for this demo simulation, it is useful to show more examples of it in use and that it really does work. Usually the only reason more tutorials don't have more videos is because we don't have many videos, or videos that show unique things. You have several, use them to promote! :-)

Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
Comment thread tutorials/docs/navigation2_with_ground_consistency_layer.rst Outdated
@SteveMacenski
Copy link
Copy Markdown
Member

I don't see the updates pushed here yet to look at :-)

@haider8645
Copy link
Copy Markdown
Author

@SteveMacenski I have pushed the updates. Made corrections and added three examples from real world datasets in outdoor setting. I hope the gif files are not too large? One gif is 9 MB, one 21 MB and one is 72 MB. I guess the 72 MB one is too large, I can cut it down if that is an issue.

@SteveMacenski
Copy link
Copy Markdown
Member

I'm not able to go over it today, but yes 72MB is too large, can you reduce to under 20?

@haider8645
Copy link
Copy Markdown
Author

I tried removing that large file to replace with a 10 mb file but somehow seems to not work. I will try it again

Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
@haider8645
Copy link
Copy Markdown
Author

Now the large file is replaced by a 10 mb file...

@SteveMacenski
Copy link
Copy Markdown
Member

SteveMacenski commented May 8, 2026

See the remaining 2 open comments (you may have missed them if you didn't hit "expand").

I won't say no, but I think you should remove this. The bullet points above make this point. I'd insead just add a sentence "if you'd like to learn more, check out these resources" and point to your github and a link to your paper.

This is a bit too much information in my opinion, but would be good for your readme docs if you didn't have it already

and

Lets not bury the lead of the main points: navigable terrain identification

Otherwise, perfect and approved!

Signed-off-by: haider8645 <haider_lodhi@hotmail.com>
@haider8645
Copy link
Copy Markdown
Author

haider8645 commented May 9, 2026

See the remaining 2 open comments (you may have missed them if you didn't hit "expand").

Oh yes.. I missed them. Both points are done. Thank you so much for taking the time to review and give comments!

@haider8645
Copy link
Copy Markdown
Author

Otherwise, perfect and approved!

Thanks to you!

I learned many things from this PR experience.

@SteveMacenski
Copy link
Copy Markdown
Member

Can merge with the tutorial source code! Thanks for your diligence and attention :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants