roslaunch2 : Versatile, Flexible and Dynamic Launch Configurations for the Robot Operating System
- 1.9k Downloads
This chapter will present the new roslaunch2 tool and its underlying architecture and associated API. It is a pure Python-based ROS package that facilitates writing flexible and versatile launch modules in the Python programming language both for simulation and real hardware setups, as contrasted with the existing XML based launch file system of ROS, namely roslaunch. Note that roslaunch2 is not (yet) designed and developed for ROS 2 but for ROS 1 only although it may also inspire the development (of the launch system) of ROS 2. It is compatible with all ROS versions providing roslaunch which is used as its backend. roslaunch2 has been tested and heavily used on ROS Indigo, Jade, Kinetic, and Lunar; it also supports a “dry-mode” to generate launch files without ROS being installed at all. The key features of roslaunch2 are versatile control structures (conditionals, loops), extended support for launching and querying information remotely, an easy-to-use API for also launching from Python-based ROS nodes dynamically, as well as basic load balancing capabilities for simulation setups. The chapter also contains various examples and detailed explanations to help to get started launching ROS nodes using roslaunch2. The BSD licensed code is fully documented with Sphinx and can be found on GitHub (https://github.com/CodeFinder2/roslaunch2.).