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

Revision history [back]

As far as I know Definition 2 is the one used by most implementation of URDF parsers, even if indeed this is technically left unspecified in the URDF "specification". Unfortunately, there is no issue tracker for the URDF specification itself (see https://github.com/ros/urdfdom_headers/issues/62), so no obvious place to debug this. Furthermore, note that even your definition are not completely unambiguous, as a definition for the meaning of the elements of the matrix and by the matrix itself should be provided to avoid confusion.

However, in my experience without a better reference the KDL URDF parser, one of the first libraries that uses this URDF tags, may be a good reference. There you can see that it seems that Definition 2 is used:

  • https://github.com/ros/kdl_parser/blob/2.5.0/kdl_parser/src/kdl_parser.cpp#L111
  • https://github.com/orocos/orocos_kinematics_dynamics/blob/v1.4.0/orocos_kdl/src/rotationalinertia.cpp#L30