Open-Source, Robotics, ...


Gazebo and rviz are different programs used for different purposes - simulation and visualization. Yet, if one desires to have a simulation environment that behaves as close to the real system as required and offers the same functionality, gazebo and rviz are often used together. Instead of visualizing the real sensor data in rviz, the data is provided by sensors simulated within gazebo.
Getting to the point of this post: I wanted to have all simulated entities automatically imported into rviz through the TF and Marker plugin.

gazebo2rviz contains the ROS nodes I came up with to achieve the above set goal. The package contains two (Python) nodes:

With this solution no plugin for either gazebo or rviz is required, only already available interfaces are used.

Here is a small usage example:
Start gazebo and add some objects (be aware that at the moment not all gazebo models will work, see below) Gazebo with some mesh-based models

Start rviz, add TF and Marker plugin Rviz with TF and Marker plugin

Launch gazebo2rviz nodes: roslaunch gazebo2rviz gazebo2rviz.launch

From now everything that happens in gazebo, e.g. moving, adding or deleting a model will also be visualized in rviz Rviz showing the current gazebo world

The package is work in progress, i.e. not free of bugs, and there some desired features are still missing, e.g. support for non-mesh <visual> SDF elements. If you find gazebo2rviz usefull and fix bugs or add features that you require, please send be a pull request.

Update: gazebo2rviz now also contains the sdf2marker node that publishes a SDF model to rviz, independently of gazebo.

comments powered by Disqus