0
$\begingroup$

Rosanswers logo

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?


Originally posted by Andromeda on ROS Answers with karma: 893 on 2014-09-16

Post score: 2


Original comments

Comment by filipposanfilippo on 2016-04-19:
I am having the same issue. Could you please post or better explain your solution?

Comment by Andromeda on 2016-04-19:
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.

Comment by filipposanfilippo on 2016-04-19:
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?

Comment by Andromeda on 2016-04-19:
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

Comment by filipposanfilippo on 2016-04-20:
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?

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

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


Originally posted by gvdhoorn with karma: 86574 on 2014-09-17

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by Andromeda on 2014-09-17:
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

Comment by gvdhoorn on 2014-09-17:
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?

Comment by Andromeda on 2014-09-17:
You are a genius. Now I ve got it... Thanks!

Comment by Andromeda on 2014-09-17:
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.

$\endgroup$
0
$\begingroup$

Rosanswers logo

This is a simple example

  

   

    
      
      
      
    
    
      
      
                   
      
    
    
      
      
      
      
    
  
  
     
     
   

Originally posted by Amin.A with karma: 141 on 2018-09-14

This answer was NOT ACCEPTED on the original site

Post score: 14


Original comments

Comment by spkadam on 2019-10-18:
worked for me.

Comment by trashperson on 2020-01-16:
Thank you, you're a saver!!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.