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

[Error Msg] The root link_base has an inertia specified in the URDF, but KDL ...

asked 2014-09-16 16:45:09 -0600

Andromeda gravatar image

Hi guys. since I put the inertia value into the base link I got all the time the following error:

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.

Now. I would create another link as suggested by the message, BUT in that case I must define a joint. Since the base_link can move on 6DOF and the joint "floating" has been deprecated and not usable, I dont know how which constrains shoudl I use for the joint.

Any idea on how to get rid of the message?

edit retag flag offensive close merge delete

Comments

I am having the same issue. Could you please post or better explain your solution?

filipposanfilippo gravatar image filipposanfilippo  ( 2016-04-19 11:55:14 -0600 )edit

Create a frame 'odom' and a frame 'base_link' or whatever you like. Then joint them toghether with a fixed joint. The inertia must be put on the child frame, in this case 'base_link' otherwise you get the error.

Andromeda gravatar image Andromeda  ( 2016-04-19 13:50:47 -0600 )edit
1

This is the message that I get when running roslaunch rrbot_control rrbot_control.launch:

The root link link1 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.

Any ideas?

filipposanfilippo gravatar image filipposanfilippo  ( 2016-04-19 14:52:40 -0600 )edit

After link1 create a dummy frame which has mass and inertia properties. You fix them together. You move the inertia from link1 to link_dummy

Andromeda gravatar image Andromeda  ( 2016-04-19 15:15:32 -0600 )edit

Thank you, Andromeda! I have done the suggested modification. However, now my link1 has got a gray color (the one set is orange). How can I fix this? Also in the robot tree, linl1 is not appearing (it only shows link_dummy, link2, ...). Is this normal?

filipposanfilippo gravatar image filipposanfilippo  ( 2016-04-20 05:31:11 -0600 )edit

3 Answers

Sort by ยป oldest newest most voted
2

answered 2014-09-17 07:27:15 -0600

gvdhoorn gravatar image

Would using a fixed joint with [0 0 0 0 0 0] (xyz, rpy) not work?

edit flag offensive delete link more

Comments

No, I already tried it. Putting "fixed" it will literally fix the robot to the root link. No movement are possible. "floating" would be the right choice but it has been deprecated and is not usable

Andromeda gravatar image Andromeda  ( 2014-09-17 09:59:26 -0600 )edit
1

I think you're assuming the 'dummy link' should be the parent of base_link. I'm not sure whether that is actually a requirement? If you make your dummy a child with a fixed joint, wouldn't that work?

gvdhoorn gravatar image gvdhoorn  ( 2014-09-17 10:17:10 -0600 )edit

You are a genius. Now I ve got it... Thanks!

Andromeda gravatar image Andromeda  ( 2014-09-17 13:32:29 -0600 )edit

But in that case I must move the inertia into the child frame. Will ROS it taking into account? And will move the parent _link accordingly? I hope you can understand me.

Andromeda gravatar image Andromeda  ( 2014-09-17 13:34:02 -0600 )edit
14

answered 2018-09-14 11:37:56 -0600

Amin.A gravatar image

This is a simple example

 
<link name="dummy">
   </link>
<link name="base_link">
    <inertial>
      <origin xyz="0.15 0.15 .2" rpy="0 0 0"/>
      <mass value="10"/>
      <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.01 0.01 0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0"/>
      <geometry>
      <box size="0.01 0.01 0.01"/>
      </geometry>
    </collision>
  </link>
  <joint name="dummy_joint" type="fixed">
     <parent link="dummy"/>
     <child link="base_link"/>
   </joint>

edit flag offensive delete link more

Comments

1

worked for me.

spkadam gravatar image spkadam  ( 2019-10-18 13:12:08 -0600 )edit

Thank you, you're a saver!!

trashperson gravatar image trashperson  ( 2020-01-16 19:44:50 -0600 )edit
0

answered 2023-06-30 08:15:25 -0600

Liana gravatar image

worked for me as well!

edit flag offensive delete link more

Question Tools

4 followers

Stats

Asked: 2014-09-16 16:45:09 -0600

Seen: 27,340 times

Last updated: Sep 14 '18