In this lesson we will learn how to launch two TurtleBots simultaneously in simulation world. We will use robotics in concert packages (a.k.a. rocon).

Prerequisites

1. Install packages.

sudo apt-get install ros-indigo-turtlebot-concert
sudo apt-get install ros-indigo-gazebo-concert
sudo apt-get install ros-indigo-rocon-remocon
sudo apt-get install ros-indigo-concert-services

2. In the tutorial we will use some modifications of standard packages. Let’s create a workspace.

mkdir -p ~/my_ws/src/

All packages will be situated in src folder. It is highly recommended to review Creating a ROS Package and Building a ROS Package before move on.

3. We will use a gazebo_concert package to provide alternative parameters.

3.1 Change directory.

cd ~/my_ws/src

3.2 Clone the rocon_tutorial repository.

git clone https://github.com/robotics-in-concert/rocon_tutorials.git

3.3 Change directory.

cd rocon_tutorials

3.4 Change git branch.

git checkout indigo

3.5 Change directory.

cd concert_tutorials/gazebo_concert/solutions/

3.6 Edit gazebo.parameters file. We want to launch two TurtleBot simultaneously. It is a new gazebo.parameters file.

robots:
  - name: gamza1
    type: turtlebot
    robot_rapp_whitelist: [rocon_apps, turtlebot_rapps]
    location: [0.0, 0.2, 0.0]
  - name: gamza2
    type: turtlebot
    robot_rapp_whitelist: [rocon_apps, turtlebot_rapps]
    location: [0.0, 0.0, 0.0]

world_file: concert_service_gazebo/playground.world

4. Build package.

4.1 Remember to source your environment setup file.

source /opt/ros/indigo/setup.bash

4.2 Change the directory to catkin workspace.

cd ~/my_ws/

4.3 Use catkin_make.

catkin_make

Launching Gazebo Concert

1. Source setup file.

source ~/my_ws/devel/setup.bash

NOTE: The command changes the path only in this terminal.

2. Launch gazebo_concert.

roslaunch gazebo_concert concert.launch

3. Start rocon_remocon.

rocon_remocon

You will see this image:

Remocon

4. Press Add. Edit MASTER_URI.

MASTER_URI: http://localhost:11311

Remocon Add Master

5. Press Add. You will see ros master Gazebo Concert.

Remocon Master List

6. Press Refresh.

7. Select Gazebo Concert.

8. Select User.

Remocon Role Chooser

9. Select Gazebo Viewer.

Remocon Interactions Chooser

You will see two TurtleBots!

Two TurtleBots in Gazebo

10. Select Concert Teleop in Interactions Chooser. You will see this window.

Concert Teleop

11. Select the robot in the resource list and capture it.

Concert Teleop

NOTE: You can open concert teleop for each robot and capture them.

12. You can drive robot using joystick.

Joystick Operations

13. To finish select Release.

14. Interrupt the processes. Close the windows.

You can watch these steps in the video:

Multiple TurtleBots in Concert

You can add new robots in simulation by editing gazebo.parameters file in gazebo_concert package. Read more about rocon project on wiki ros.