ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

For ROS1, this old wiki page still gives useful hint: roslaunch tips for large projects stating:

Some of the 2d navigation nodes require that the calibration already have finished before they start. Roslaunch intentionally does not provide any control on the order or timing of node start up. The ideal solution would be to make nodes work gracefully by waiting till calibration is done, but pending that, putting things in two launch files allows us to launch the robot, wait until calibration is complete, then launch 2dnav.

(My interpretation included in the following) Idea is rooted in distributed nature ROS applied; nodes being loosely-coupled where each node should be self-contained to do its own work, without depending on external resource/file (launch file in this case) to define the order of actions to be taken. Instead, if a node needs an output from another node, it should "wait" for such an output to arrive.

For ROS2, I'm not yet super familiar but quick Google doesn't return anything changed, so I assume the principle stays the same.