Robotics StackExchange | Archived questions

Where is element <gazebo> in the source code parsed?

Hi all,
I'm not sure if I am setting correctly the parameter names in my URDF model, specifically the tags under elements, such as materials, friction parameters, joints, etc... Therefore, I cloned the gazebo repo and was searching directly in the code, and I found where most of the elements are searched in the XML tree (i.e physics/Joint.cc, rendering/Visual.cc, etc..), but not the element. Anybody knows this info?

Thanks,

R.

Asked by ramonvp on 2020-04-08 07:38:47 UTC

Comments

not a full answer, but you might check the SDFormat code, or possible the gazebo_ros_pkgs code

Asked by Peter Mitrano on 2020-04-08 11:00:41 UTC

Answers

I finally found my own answer, just posting it here if by any chance anybody in the future is interested.

The code that really parses this XML file is the sdformat library, source code can be found here: https://bitbucket.org/osrf/sdformat/src/default/

In my case, I cloned the branch 6_to_default.
The exact place where the parsing takes place is in file src/parse_urdf.cc in function line 1215:

void URDF2SDF::ParseSDFExtension(TiXmlDocument &_urdfXml)

Here you will be able to read the exact tags that are supported and parsed. If you follow a suggested answer in a thread and that does not work for you, take into account that some of the examples I have seen are wrong, for example tag self_collide is not parsed in the gazebo extension, the correct tag is selfCollide. Almost the same, but not quite.

Cheers.

Asked by ramonvp on 2020-04-13 06:26:27 UTC

Comments