Skip to content

Route Tool Rviz Panel #4775

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

john-chrosniak
Copy link


Basic Info

Info Please fill out this column
Ticket(s) this addresses NA
Primary OS tested on Ubuntu
Robotic platform tested on Gazebo turlebot simulation and Ackermann steering robot
Does this PR contain AI generated software? Yes and it is marked inline in the code

Description of contribution in a few bullet points

  • I added an Rviz panel to help create route graphs

Description of documentation updates required from your changes

  • Documentation needed to highlight how to use the new Rviz panel

Future work that may be required in bullet points

  • Could add support for bidirectional edges or adding route operations using the tool in future work

For Maintainers:

  • Check that any new parameters added are updated in docs.nav2.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

Copy link
Contributor

mergify bot commented Dec 2, 2024

@john-chrosniak, all pull requests must be targeted towards the main development branch.
Once merged into main, it is possible to backport to @nav2_route_server, but it must be in main
to have these changes reflected into new distributions.

Copy link
Contributor

mergify bot commented Dec 4, 2024

This pull request is in conflict. Could you fix it @john-chrosniak?

Copy link
Contributor

mergify bot commented Dec 4, 2024

This pull request is in conflict. Could you fix it @john-chrosniak?

@john-chrosniak john-chrosniak force-pushed the route-server-develop branch 3 times, most recently from 60521ab to 752caf0 Compare December 4, 2024 18:51
Copy link
Contributor

mergify bot commented Dec 4, 2024

This pull request is in conflict. Could you fix it @john-chrosniak?

Copy link
Contributor

mergify bot commented Apr 9, 2025

This pull request is in conflict. Could you fix it @john-chrosniak?

@john-chrosniak john-chrosniak force-pushed the route-server-develop branch 3 times, most recently from d196e24 to 9127d4f Compare April 9, 2025 20:47
@SteveMacenski
Copy link
Member

Question before I review on Friday: I noticed that you didn't modify the original server to have a service in the Route Server itself to save the graph to file. If we did that, we'd probably have to create services to also modify the graph by adding / removing a edge / node but then there's less logic that's happening in the rviz program itself that isn't portable to another GUI window. Can you say a little bit about why you did this all inline in the rviz tool? I assume you modify a bunch of stuff inline that is easier with direct access. I just want that in in mind when giving this a critical look

Also: Does this dumping to file also do the metadata for the node semantics? Just checking.

Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
@john-chrosniak
Copy link
Author

Can you say a little bit about why you did this all inline in the rviz tool?

My assumption was that route graphs are almost always going to be defined ahead of time, so there wasn't a need to support editing/saving graphs on the fly using the route server. The data structures used in the route tool class are only needed to keep track of nodes/edges as new elements are added/edited/removed, so if we're only modifying route graphs through this UI then this logic should be specific to the route tool.

Also: Does this dumping to file also do the metadata for the node semantics? Just checking.

Yes both node and edge metadata is saved.

Copy link

codecov bot commented Apr 11, 2025

Codecov Report

Attention: Patch coverage is 95.42484% with 7 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...ins/graph_file_savers/geojson_graph_file_saver.cpp 95.91% 4 Missing ⚠️
nav2_route/src/graph_saver.cpp 96.00% 2 Missing ⚠️
nav2_route/include/nav2_route/utils.hpp 50.00% 1 Missing ⚠️
Files with missing lines Coverage Δ
nav2_route/include/nav2_route/graph_saver.hpp 100.00% <100.00%> (ø)
...ins/graph_file_savers/geojson_graph_file_saver.hpp 100.00% <100.00%> (ø)
nav2_route/include/nav2_route/types.hpp 100.00% <ø> (ø)
nav2_route/src/route_server.cpp 96.19% <ø> (ø)
nav2_route/include/nav2_route/utils.hpp 98.85% <50.00%> (-1.15%) ⬇️
nav2_route/src/graph_saver.cpp 96.00% <96.00%> (ø)
...ins/graph_file_savers/geojson_graph_file_saver.cpp 95.91% <95.91%> (ø)

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

john-chrosniak and others added 8 commits April 14, 2025 14:02
Signed-off-by: John Chrosniak <[email protected]>
Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
…ver.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
…ver.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
…ver.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
…ver.cpp

Co-authored-by: Steve Macenski <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
Signed-off-by: John Chrosniak <[email protected]>
@SteveMacenski
Copy link
Member

Just waiting on CI to merge! I announced on discourse, linkedin and other places for beta testers for the next 2 weeks so hopefully we'll start getting some big users of this work starting soon!

@john-chrosniak
Copy link
Author

Awesome!!! I'm happy to help out with any fixes/maintenance needed as beta testers are brought on!

@SteveMacenski SteveMacenski merged commit 33f4015 into ros-navigation:nav2_route_server Apr 14, 2025
13 checks passed
@SteveMacenski
Copy link
Member

Great, I appreciate it!

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.

3 participants