Launch File Structure - ept221/multibot GitHub Wiki
Launch File Structure
The main launch file is start.launch
. It is responsible for loading all other launch files, running the shared map server, and starting the rviz node. First, start.launch
includes world.launch
which creates the Gazebo world, and then starts the map server node. Then, it includes one or more single.launch
files to spawn turtlebots into the world. Finally, start.launch
runs an rviz node to visualize the system. Each single.launch
file creates a turtlebot and pushes it down into its own uniquely identifying namespace. First, the single.launch
file spawns a turtlebot into Gazebo by including the simBot.launch
file and then starts the robot's navigation stack by including the amcl.launch
and move_base.launch
files. Finally, single.launch
starts a node which corrects the pose estimate messages published by rviz so that they are properly formatted for the multi-robot system.
Structure Diagram:
Launch file structure for a system with two robots:
Files beginning with an * are from external packages
and their child launch files are not shown. All other
files are local to the multi package, and all share
a common directory path: multibot/launch. All extentions
to these local files are .launch.
start
|
- world
| |
| - *gazebo_ros/launch/empty_world.launch
|
|
|
- single
| |
| - simBot
| | |
| | - kobuki
| | |
| | - *turtlebot_bringup/launch/includes/kobuki/bumper2pc.launch.xml
| |
| - amcl
| |
| - move_base
| |
| - *turtlebot_navigation/launch/includes/velocity_smoother.launch.xml
| |
| - *turtlebot_navigation/launch/includes/safety_controller.launch.xml
|
|
|
- single
|
- simBot
| |
| - kobuki
| |
| - *turtlebot_bringup/launch/includes/kobuki/bumper2pc.launch.xml
|
- amcl
|
- move_base
|
- *turtlebot_navigation/launch/includes/velocity_smoother.launch.xml
|
- *turtlebot_navigation/launch/includes/safety_controller.launch.xml