Ignition gazebo: plugin generation

Good afternoon,

I’m currently using ignition gazebo citadel and I have a few questions that I haven’t found the answer to, so I decided to ask this community for help.

I’m using ignition gazebo citadel, with ROS2 foxy, on Ubuntu 20.04.

I would like to create a plugin to move the joints of a UR5 robotic arm generated in gazebo, with ROS2 topics.

I’ve generated my UR5 robotic arm, but I’m having trouble with the plugin.
I found ign_ros2_control but I don’t understand how it works. Can someone explain how this plugin package works?

Also, I would like to use a .sdf file to generate my model and establish communication between ROS2 and gazebo. However, with ign_ros2_control, URDF files are used. I have also found people, on the internet, talking about both (sdf and URDF). Which is better for generating robots in gazebo and establishing communication between ROS2 and gazebo?

Thank you for your help.
Kind regards,

Hi @ClairePottier ,

I am working with Gazebo Ignition too, but with the Fortress version with ROS2 Humble (Ubuntu 22.04). I think I can give you some explanation.

After looking up ign_ros2_control for Foxy here, I immediately noted that they have removed URDF dependency in their changelogs.
ROS2 uses URDF for robots, especially for robot_state_publisher and joint_state_publisher to work properly. Also RViz2 cannot interpret SDF robot files - only URDF.

So the problem here is:

  1. The ign_ros2_control does not support URDF anymore, which means only SDF.
  2. ROS2 and Rviz2 does not support SDF robots, which means only URDF.

So, that is your dilemma in front of you!

So, I am not really sure if my reply is helpful to you but I would advise you to stick with Gazebo Classic itself, if you are with ROS2 Foxy. Also upgrading your system to Ubuntu 22.04 for Humble with Fortress will also be a unfruitful task, as Fortress seems to have (quite) some problems.


This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.