Interfaces

This page describes how an external program can communicate with Gazebo. For most situations, a user of Gazebo will rely on an external library for robot control. These external libraries should supply functions that are used on real hardware platforms, such as path planning, joint control, and sensor processing.

The following robot control libraries are supported by Gazebo:


 * ROS: It's highly recommended to use ROS with Gazebo. This is the most well developed and tested robot control software available.
 * Player: Limited support of Player is available.

Additional interfaces are more than welcome. Please refer to the contributing page for information on adding new functionality to Gazebo.

Gazebo also supports a couple generic interfaces through plugins and TCP/IP communication.


 * 1) TCP Communication  #

This section lists all the topics that a running instance of Gazebo creates when started.

You can also get the list of a running system by using this command

gztopic list


 * 1) Topic List #


 * gazebo//world_stats**

> Type: WorldStatistics

> Desc: Broadcasts the simulation state.

> Type: WorldControl
 * gazebo//world_control**

> Desc: Control the simulation (pause, step).

> Factory
 * gazebo//factory/request**

> Create a new model.

> Factory
 * gazebo//factory/response**

> Create a new model.

> Request
 * gazebo//request**

> Send a request to the system. A response will be generated.

> Response
 * gazebo//response**

> A response from a request is published on this topic.

> Model
 * gazebo//model/info**

> Get model info.

> [Model
 * gazebo//model/modify**

> Set model info.

> Scene
 * gazebo//scene**

>  Get/Set scene info.

> Physics
 * gazebo//physics**

> Get/Set physics engine properties.

> Selection
 * gazebo//selection**

> Set/Get entity user selection.

> Pose
 * gazebo//pose/info**

> Get entity pose. Publications on this topic should only come from the core system.

> Pose
 * gazebo//pose/modify**

> Set entity pose.

> Light
 * gazebo//light**

> Set/Get light properties.

> Visual
 * gazebo//visual**

> Set/Get visual properties.

> Joint
 * gazebo//joint**

> Set/Get joint properties.