[Documentation] [TitleIndex] [WordIndex

concert_services: concert_service_admin | concert_service_gazebo | concert_service_image_stream | concert_service_indoor_2d_map_prep | concert_service_teleop | concert_service_turtlesim | concert_service_waypoint_navigation

Package Summary

Sets up the gazebo robot manager as a service to assist in spawning/killing robots as concert clients.

This package contains all the robot-agnostic code for running simulated robots in Gazebo with the concert framework.

Workflow

Given a set of robots with their locations, this package provides a service that spawns Gazebo locally, spawns those robots in Gazebo, create a concert client for each robot, and flip connections to each concert allowing them to behave as independent robot clients.

Using this package with a new robot

In order to use this package, you'll have to do the following.

  1. How to add a new robot type

    How to add a new robot type to use in concert service gazebo

  2. How to spawn robots in concert gazebo

    how to spawn robots in concert gazebo

Example

An example is available in the gazebo_concert package.

Other useful notes

  1. When spawning the robots in Gazebo, make sure that you spawn the robots in the global ROS namespace, and not the namespace of the service from which you'll be spawning Gazebo (typically /services/<service-name>/).

  2. Do not flip connections to a robot's concert if you eventually plan to use them locally (by pulling it through a rapp). This will cause infinite copies of the topic to be flipped around between the concert master and the concert clients. Additionally subscribers misbehave when subscribed against 2 ROS masters (#127)

  3. Make sure that you set /use_sim_time to true when launching the concert master as well as each concert client.


2019-10-12 12:32