Hi everyone,
I wanted to share an update on LaunchMap, a tool I have been building to help visualize ROS 2 launch files directly inside VSCode. It parses your launch.py files and shows a graph based layout of nodes, groups, conditions, and other ROS2 launch constructs, similar to the Unreal blueprint system.
Why use it?
- Understand large, nested launch files faster
- See how components connect across includes, groups and composable containers
- Detect missing or unused LaunchConfigurations
- Useful for debugging, teaching, and onboarding
Appreciate your feedback!
I am actively improving this tool, and your feedback would help shape the next steps.
If you have tried it (or might soon), would you mind sharing your experience here or filling this short form?
Feedback Form (2–3 min)
Links
Thanks!
– Sakshay, Kodo Robotics
5 Likes
I’d suggest trying to piggyback onto the backend of launch instead of direct py parsing which could automatically get you the parsers for XML and yaml too.
Thank you for the suggestion! I am using direct Python parsing mainly to capture the full structure of the launch files, not only the launched nodes, but also how they are organized (conditions, nested groups, variables).
Integrating with the launch backend would make XML and YAML support easier. I’ll look into it soon.
This is super cool. Thanks @Sakshay_Mahna for putting this together.
I’m wondering if you’ve thought about exporting the graph into something like JSON, so people can share and comment on what could go wrong as a team.
Also, how do you handle new/old Python syntax (to my understanding you are parsing code directly)?
Super cool repo. Already starred! Keep up the good work!
Thank you @shouheng
Exporting to JSON for collaboration is a good idea, I have added it as a feature request to track.
As for syntax, I use Python’s builtin ast module for static parsing, which has handled both old and new Python syntax quite well so far. I have not run into issues yet, but I will track any edge cases for sure.
Thanks a lot. Looking forward to it.
Just curious, can I use LaunchMap with only ROS bags? Not everyone has the access to the code base. For example, field operators.
If people can use LaunchMap directly just with a ROS bag, that will be wonderful in addition to the shareable JSON file.
1 Like
That would mean deriving the Launch File from a ROS bag?
That would be quite interesting! We can derive all information available from a ROS Bag and show it. I will track this as well.
Thanks a lot for the feedback!
Correct, if you can derive the Launch File from a ROS bag, it would be great.
Already filed a ticket on GitHub: Create Graph Using ROS Bags · Issue #34 · Kodo-Robotics/launchmap · GitHub
1 Like
Discord Server for Kodo Robotics is up now. Feedback and ideas for LaunchMap can be discussed here as well.
Link: Kodo Robotics