roslaunch2 : Versatile, Flexible and Dynamic Launch Configurations for the Robot Operating System

Part of the Studies in Computational Intelligence book series (SCI, volume 831)


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 (


Launching Multi robot configuration Distributed robotics Roslaunch Python Simulation Real hardware Robot operating system 

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Department of Computer Science VIITechnical University of DortmundDortmundGermany

Personalised recommendations