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

The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia

asked 2020-11-06 04:37:50 -0500

fehimkus gravatar image

<robot name="robot_kol">

<link name="base_link">  
    <inertial>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <mass value="1.46872860183279" />
        <inertia ixx="0.337078234151496" ixy="0.000400956172161471" ixz="0.000153729345332478" iyy="0.323323767647255" iyz="-0.00436480886180004" izz="0.0204387896128557" />
    </inertial>
<visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size="0.1 0.1 0.1"/>
        </geometry>
        <material name="">
            <color rgba="0.780392156862745 0.76078431372549 0.741176470588235 1" />
        </material>
    </visual>
<collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size="0.1 0.1 0.1"/>
        </geometry>
    </collision>
</link>

<link name="LKL1">
<inertial>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <mass value="0.107409280317998" />
        <inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0" />
    </inertial>
<visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size="0.03 0.03 0.03"/>
        </geometry>
        <material name="">
            <color rgba="0.780392156862745 0.76078431372549 0.741176470588235 1" />
        </material>
    </visual>
<collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size="0.03 0.03 0.03"/>
        </geometry>
    </collision>
</link>

<joint name="JKL1" type="revolute">
    <origin xyz="-0.119911595296941 0 1.2673449974201" rpy="0 0 1.5707963267949" />
    <parent link="base_link" />
    <child link="LKL1" />
    <axis xyz="0 -0.950178193313767 -0.311707235961865" />
    <limit lower="-4.18719" upper="-1.045605" effort="17000" velocity="45" />
</joint>

<link name="LKL2"> 
<inertial>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <mass value="0.103899926184644" />
        <inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0" />
    </inertial>
<visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size="0.03 0.03 0.03"/>
        </geometry>
        <material name="">
            <color rgba="0.780392156862745 0.76078431372549 0.741176470588235 1" />
        </material>
    </visual>
<collision>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size="0.03 0.03 0.03"/>
        </geometry>
    </collision>
</link>

<joint name="JKL2" type="revolute">
    <origin xyz="-0.0300007513110643 0.0481697030691494 0.0312158251163472" rpy="0 0 0" />
    <parent link="LKL1" />
    <child link="LKL2" />
    <axis xyz="-1 0 0" />
    <limit lower="-1.57079" upper="0.0" effort="17000" velocity="45" />
</joint>

<link name="LKL3">
<inertial>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <mass value="0.107409280317999" />
        <inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0" />
    </inertial>
<visual>
        <origin xyz="0 0 0" rpy="0 0 0" />
        <geometry>
            <box size="0.03 0.03 0.03"/>
        </geometry>
        <material name="">
            <color rgba="0.780392156862745 0.76078431372549 0.741176470588235 1" />
        </material>
    </visual>
<collision>
        <origin xyz="0 0 0" rpy="0 0 ...
(more)
edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
1

answered 2020-11-06 14:22:56 -0500

tryan gravatar image

I think the warning says it all. I'm guessing the whole thing is this:

The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.

The fix is then to add an extra link (non-inertial) and joint to the top of the URDF file such that the new link is the reference for the rest of the robot. Something like:

<link name="base_footprint" />

<joint name="base_footprint_joint" type="fixed">
  <parent link="base_footprint" />
  <child link="base_link" />
</joint>
edit flag offensive delete link more
0

answered 2020-11-06 19:24:11 -0500

fehimkus gravatar image

tank you so much, I could not find anywhere how to fix this base_link to the floor :DD

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2020-11-06 04:37:50 -0500

Seen: 3,063 times

Last updated: Nov 06 '20