Floating joint in URDF?

asked 2020-04-29 04:56:25 -0500

rfn123 gravatar image

updated 2020-04-29 05:53:55 -0500

Hi, I have a question regarding the floating joint type in the URDF description. I have two robot parts which are connected by a passive and non-rigid element. In kinetic, I managed to describe this "joint" with a floating joint (and publishing the tf of the two links this floating joint connects in another node). Both tf trees where successfully published by robot_state_publisher, although not connected to each other, which was ok. In melodic, I get the warning:

Converting unknown joint type of joint 'loose_joint' into a fixed joint

Apparently floating joints are no longer used? Is there any alternative?

I've though about publishing the two robot parts seperately, but URDF does not allow two seperate tf trees. Putting two different URDFs in one launch file is also not possible since robot_description only takes one file.

Any help appreciated!

EDIT: joint in urdf:

<joint name="loose_joint" type="floating">
    <parent link="joint1"/>
    <child link="joint2"/>
edit retag flag offensive close merge delete



Not an answer, but there is no requirement necessarily to only have a single robot_description. Namespaces or remapping could be used to provide instances of nodes which need it access to their own specific robot_description.

What would not be possible would be to point a single node to two (or more) differentrobot_description parameters. But that is a different issue.

If you have no need for everything to be connected, it's possible to have multipe robot_state_publisher instances each with their own robot_description.

gvdhoorn gravatar image gvdhoorn  ( 2020-04-29 05:21:56 -0500 )edit

@gvdhoorn thanks I did not know that! This basically solves my problem.

rfn123 gravatar image rfn123  ( 2020-04-29 05:23:38 -0500 )edit

I see no changes to how floating joints are handled by the RSP btw between Kinetic and Melodic. This seems like a strange thing to have changed.

Could you include the part of your URDF where you are using the floating joint?

Edit: ros/robot_model#188 seems related.

gvdhoorn gravatar image gvdhoorn  ( 2020-04-29 05:26:03 -0500 )edit