Skip to content

Link without inertia for ball joint #2815

@muttistefano

Description

@muttistefano

Environment

  • OS Version: Ubuntu 24.04 , binary gz harmonic

Hi all,
i am trying to create a ball joint by having two consecutive rotated revolute joints in the same origin.

To do this, I need to define links with no inertia to tie together the joints, in this manner :

<joint name="${prefix}_ankle_1" type="revolute">
  <origin xyz="0 0.17 0" rpy="${-pi/2} 0 0"/>
  <parent link="${prefix}_KFE"/>
  <child link="${prefix}_fake_ankle_1"/>
  <axis xyz="1 0 0"/>
  <limit lower="${-16*pi/180}" upper="${16*pi/180}" effort="0" velocity="0"/>
</joint>

<link name="${prefix}_fake_ankle_1"/>

<joint name="${prefix}_ankle_2" type="revolute">
  <origin xyz="0 0 0" rpy="0 0 0"/>
  <parent link="${prefix}_fake_ankle_1"/>
  <child link="${prefix}_fake_ankle_2"/>
  <axis xyz="0 1 0"/>
  <limit lower="${-16*pi/180}" upper="${16*pi/180}" effort="0" velocity="0"/>
</joint>

<link name="${prefix}_fake_ankle_2"/>

When I load the model in gz sim, it complains about links with no inertial tag:

  Error Code 19: Msg: urdf2sdf: link[LF_fake_ankle_1] has no <inertial> block defined. Please ensure this link has a valid mass to prevent any missing links or joints in the resulting SDF model.
  [gazebo-2] Error Code 19: Msg: urdf2sdf: parent joint[LF_ankle_1] ignored.
  [gazebo-2] Error Code 19: Msg: urdf2sdf: [1] child joints ignored.
  [gazebo-2] Error Code 19: Msg: urdf2sdf: [1] child links ignored.

I tried adding the tag

<gazebo reference='${prefix}_ankle_1'>
  <disableFixedJointLumping>true</disableFixedJointLumping>
</gazebo>

in the urdf, but it does nothing.
Is there a way to implement this ?
Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Inbox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions