Gazebo | Ignition | Community
Ask Your Question

Resources for writing ROS plugins

asked 2013-02-11 14:58:51 -0600

phil0stine gravatar image

updated 2013-02-11 14:59:05 -0600

I realize that standalone Gazebo/ROS integration (among many other things) is something being worked on as we speak.

I still have a question relating to the Fuerte integration question . I would've commented but I think my karma's too low :) .

Regarding the comments about how the "joint_states" publisher is really a plugin that talks to ROS, I would like to put together a plugin or set of plugins to re-create some of the basic functionality provided with previous versions of ROS/Gazebo.

An example would be something like the erratic robot with controller, ideally launchable from a roslaunch file as well. I have seen gazebo_ros_ plugins but the examples seem to be for the earlier wrapped versions of Gazebo.

I would like to avoid starting from scratch if I can avoid it, so are there any resources implement the necessary plugins required for basic ROS robot controller functionality? Even a list of the required plugins would be helpful. Thanks

edit retag flag offensive close merge delete


+1 Since it never hurts for posters who have done their homework and write clearly to have some karma :)

Ben B gravatar imageBen B ( 2013-02-11 19:22:29 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-02-11 19:01:41 -0600

Boris gravatar image

Not sure it will work for Fuerte, but in Groovy there is a bunch of plugins which work both in Gazebo 1.3 (groovy's version) and 1.4.

So, what I did so far is:

  1. Install standalone Gazebo 1.4.
  2. Adjust GAZEBO_PLUGIN_PATH to point to pr2_simulator/pr2_gazebo_plugins/lib, simulator_gazebo/gazebo/lib and simulator_gazebo/gazebo_plugins/lib in Groovy stacks dir.
  3. Add <plugin> entry to model/world SDF.
  4. Add -s command-line parameter to load system plugins such as gazebo_ros_api_plugin.
  5. Spawn a robot_mechanism_controllers controller with pr2_controller_manager.

With this setup I can run robot_mechanism_controllers/CartesianWrenchController, for example.

Hope it helps.


edit flag offensive delete link more


Thanks for the details, I will try to give it a shot in Fuerte and see if it works. Otherwise, groovy it is.

phil0stine gravatar imagephil0stine ( 2013-02-12 14:43:53 -0600 )edit

Hi there, we are running ROS plugins in fuerte with Gazebo hg version deprecatedparsersdf1.2support, which to our understanding is actually 1.3 version. We have slightly patched the and gazeborospaths_plugin.cpp script to find and load the ros plugins correctly. Drop me an email and I'll email you back patches until they get accepted upstream.

dejanpan gravatar imagedejanpan ( 2013-02-12 23:32:42 -0600 )edit

I created a pull request (, such that you can now set all paths (including the model paths) via ROS manifests (. The patch for the gazebo_simulator ROS stack can be found in the comment there.

usage in a ros manifest: e.g. <depend package="gazebo"/> <export> <gazebo gazebo_model_path="${prefix}/models"/> </export>

ffurrer gravatar imageffurrer ( 2013-02-13 12:44:11 -0600 )edit

@ffurrer: Great! Will it work with catkin's package.xml?

Boris gravatar imageBoris ( 2013-02-14 08:09:05 -0600 )edit

@Boris: I don't know, you will need to try that ;)

ffurrer gravatar imageffurrer ( 2013-02-14 13:46:45 -0600 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2013-02-11 14:58:51 -0600

Seen: 1,869 times

Last updated: Feb 11 '13