Add preserveFixedJoint option to the URDF parser

#352 Merged at 09a611c
  1. Silvio Traversaro

The preserveFixedJoint option is meant to disable the lumping of fixed joints by "preserving" the type of a fixed joint, instead of converting it to a revolute joint with max and min positions limits set to 0 .

This PR is fully backcompatible: the old option disableFixedJointLumping is still working fine, but if on the same joint both the new option preserveFixedJoint and the old option disableFixedJointLumping are present, then the joint will be converted to a fixed joint. This is meant to simplify the life of model creators that need to support both the old version of Gazebo (and hence sdformat) without support for preserveFixedJoint and the new version that can exploit this new option.

Targeting sdf4 (as discussed in but let me know if this is ok . Documentation for the URDF extensions is not versioned with the software, but is instead available at . Once (and if) this PR is approve, I will provide the correct changes in the documentation.


Comments (14)

    1. Silvio Traversaro author

      I am unable to access the provided URL (it seems that the server never responds to the HTTP request). However, from Monday I will have access to a macOS machine, and I will test it locally.

      1. Silvio Traversaro author

        The problem is a segmentation fault, and indeed I spotted a problem by running the test under Valgrind (version 3.12. the version 3.11 shipped with Xenial is bugged).

  1. Steven Peters

    Thanks for writing tests for this. I notice 3 test cases:

    • no options specified
    • disableFixedJointLumping = true
    • disableFixedJointLumping = preserveFixedJoint = true

    Could you add one more test case with only the preserveFixedJoint option set?