Do you feel as if python launch file make up the majority of your code base? Is your sleep disturbed by countless imports that you can never quite remember? Are you tired of class instances to imitate basic python syntax? You are not alone!
Today I released my tool better_launch, which is a complete replacement for the ROS2 launch system.
The Readme over on github has more details and examples, but to give you an overview of what it does:
* Write determinstic launch files 🚩: any actions taken in the launch files are executed immediately, allowing direct and meaningful interactions with nodes, topics and services as the launch process develops.
* Launch arguments are passed as natural types 🌿 to your launch function.
* Use regular python syntax 🐍 like if/else. No async shenanigans!
* The entire launch logic is contained within a single, fully documented package 📦, examples included.
* launch files can be started through ros2 launch, include regular ROS2 launch files, and even get included ➡️ from regular ROS2 launch files.
* Includes convenience functions 🤝 for various common tasks like starting a joint_state_publisher or bridging Gazebo topics.
* Comes with a replacement for “ros2 launch” called “bl”, which is both faster than its counterpart and provides additional features like auto completion for launch arguments 🚀.
* Designed with user friendliness in mind and thus generates reformatted and colored terminal output 🌈 by default.
* Unless killed with SIGKILL, better_launch will leave no zombie processes 🧟 behind.
* Provides an optional Terminal UI 📟 similar to rosmon (https://github.com/xqms/rosmon), which can be used for stopping and restarting nodes, triggering life cycle transitions, list a node’s subscribed topics, dynamically adjust the logging level and more (screenshot on github)!
We already have it in use on several robots at my research institute, so I consider it mature enough for general use in research applications.
If you find any bugs, missing features, or just want to give feedback in general I would much appreciate it.
better_launch can be downloaded from Github at https://github.com/dfki-ric/better_launch
Cheers, and I hope it will be useful to you!
—
Nikolas Dahn
Researcher Maritime Robotics
Deutsches Forschungszentrum für Künstliche Intelligenz GmbH (DFKI)
Robert-Hooke-Str. 1
28359 Bremen
Germany
T. +49 421 178 45-4102
