External Documentation

This is primarily a third party wrapper package with external documentation.

Core Gazebo-ROS Plugins

In addition to including a stable version of Gazebo, this package package builds two core plugins for integrating Gazebo with ROS.

ROS API Plugin

This plugin initializes a ROS node called "gazebo" and then integrates the ROS callback scheduler with Gazebo's internal scheduler to provide the ROS interfaces described below. This ROS API enables a user to manipulate the properties of the simulation environment over ROS, as well as spawn and introspect on the state of models in the environment.

Additionally, Gazebo will publish to the ROS /clock topic in order to provide a ROS system with simulation-synchronized time. For more info on simulation time, see here.

ROS Paths Plugin

This plugin will allow Gazebo to find simulation resources in a ROS installation.

Running

To run the Gazebo simulator server, gzserver, in a ROS environment, this package provides a thin wrapper script which runs gzserver with the ROS plugins described below.

ROS API

When started with the ROS plugins, Gazebo is started as a ROS node called "gazebo". It supports the following ROS interfaces.

Gazebo Subscribed Topics

~/set_link_state (gazebo_msgs/LinkState)

  • Sets the state (pose/twist) of a link.
~/set_model_state (gazebo_msgs/ModelState)
  • Sets the state (pose/twist) of a model.

Gazebo Published Parameters

/use_sim_time (Bool)

  • Notifies ROS to use published /clock topic for ROS time.

Gazebo Published Topics

/clock (rosgraph_msgs/Clock)

  • Publish simulation time, to be used with /use_sim_time parameter.
~/link_states (gazebo_msgs/LinkStates)
  • Publishes states of all the links in simulation.
~/model_states (gazebo_msgs/ModelStates)
  • Publishes states of all the models in simulation.

Gazebo Services

Services

Create and destroy models in simulation
These services allows user to spawn and destroy models in simulation
~/spawn_urdf_model (gazebo_msgs/SpawnModel)
  • Use this service to spawn a urdf model.
~/spawn_gazebo_model (gazebo_msgs/SpawnModel)
  • Use this service to spawn a model written in Gazebo XML model description.
~/delete_model (gazebo_msgs/DeleteModel)
  • This service allows user to delete a model from simulation.
State and properties getters
These services allows user to retrieve state and property information about simulation and objects in simulation
~/get_model_properties (gazebo_msgs/GetModelProperties)
  • This service returns the properties of a model in simulation.
~/get_model_state (gazebo_msgs/GetModelState)
  • This service returns the states of a model in simulation.
~/get_world_properties (gazebo_msgs/GetWorldProperties)
  • This service returns the properties of the simulation world.
~/get_joint_properties (gazebo_msgs/GetJointProperties)
  • This service returns the properties of a joint in simulation.
~/get_link_properties (gazebo_msgs/GetLinkProperties)
  • This service returns the properties of a link in simulation.
~/get_link_state (gazebo_msgs/GetLinkState)
  • This service returns the states of a link in simulation.
~/get_physics_properties (gazebo_msgs/GetPhysicsProperties)
  • This service returns the properties of the physics engine used in simulation.
State and properties setters
These services allows user to set state and property information about simulation and objects in simulation
~/set_link_properties (gazebo_msgs/SetLinkProperties)
  • This service sets the properties of a link in simulation.
~/set_physics_properties (gazebo_msgs/SetPhysicsProperties)
  • This service allows user to set properties of a link in simulation.
~/set_model_state (gazebo_msgs/SetModelState)
  • This service allows user to set properties of a link in simulation.
~/set_model_configuration (gazebo_msgs/SetModelConfiguration)
  • This Service allows user to set model joint positions without invoking dynamics.
~/set_joint_properties (gazebo_msgs/SetJointProperties)
  • This service allows user to set properties of a link in simulation.
~/set_link_state (gazebo_msgs/SetLinkState)
  • This service allows user to set properties of a link in simulation.
Simulation control
These services allows user to pause and unpause physics in simulation
~/pause_physics (std_srvs/Empty)
  • Pause physics updates.
~/unpause_physics (std_srvs/Empty)
  • Resume physics updates.
Force control
These services allows user to apply wrenches and forces to bodies and joints in simulation
~/apply_body_wrench (gazebo_msgs/ApplyBodyWrench)
  • Apply wrench to a body in simulation. All active wrenches applied to the same body are cumulative.
~/apply_joint_effort (gazebo_msgs/ApplyJointEffort)
  • Apply effort to a joint in simulation. All active efforts applied to the same joint are cumulative.
~/clear_joint_forces (gazebo_msgs/ClearJointForces)
  • Clear applied efforts to a joint.
~/clear_body_wrenches (gazebo_msgs/ClearBodyWrenches)
  • Clear applied wrench to a body.

Wiki: gazebo/groovy (last edited 2014-05-01 18:44:53 by TullyFoote)