ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

SDF to URDF conversion

asked 2015-06-03 07:33:53 -0500

maztentropy gravatar image

updated 2016-03-12 13:24:34 -0500

130s gravatar image

Hello everyone!

I am starting from scratch with ROS (just recently installed Jade) and I wanted to ask for some guidance. I have followed all basic ROS tutorials already and my idea was to develop a simulation model with Gazebo that I can control through ROS nodes. I would afterwards move on to the real robot but only after the simulation model is complete and working properly.

I followed Gazebo's basic tutorials as well (still have some to go through) but the first problem I encountered is my robot has mecanum wheels. I read that the easiest way to go is using the Planar Move Plugin so I looked it up in here and apparently I should first develop a URDF file of my robot. I have been going through the tutorials (first had to learn tf) but I am starting to wonder. Do I really need the URDF file? Is there any way to work directly with SDF files both in ROS and gazebo or at least generate the URDF from the SDF I already have?

I would really appreciate it if someone could clarify this for me.

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2015-06-03 17:43:56 -0500

l0g1x gravatar image

There is a pull request available for a sdf to urdf converter. I downloaded the source and it worked for me, however, if you have any plugins specified in your SDF, i dont think the person who made the pull request got around to converting plugins in SDF to URDF yet, as i had to manually copy the plugins over to the URDF.

edit flag offensive delete link more


hi! The bitbucket link doesn't work anymore. Is there a converter? I couldn't find one, I'm using ROS noetic, sdf 1.7 and gazebo 11.

rarcturusblack gravatar image rarcturusblack  ( 2022-04-19 08:48:53 -0500 )edit

answered 2015-06-03 10:59:06 -0500

updated 2015-06-03 11:06:18 -0500

It seems you can't avoid URDF. See this answer. Here is a tutorial describing how to work with URDF in Gazebo.

edit flag offensive delete link more

answered 2022-11-03 17:49:43 -0500

quarkytale gravatar image

So it's not a full converter per se, but there's a parser plugin sdformat_urdfwhich converts an SDF XML into URDF C++ DOM structures. Though there are some limitations as not all fields are compatible like for example if you have any sensors attached to a joint, it won't be parsed. More details here:

edit flag offensive delete link more

Question Tools



Asked: 2015-06-03 07:33:53 -0500

Seen: 12,300 times

Last updated: Mar 12 '16