Gazebo | Ignition | Community
Ask Your Question

How to define the inertial parameters of tool0?

asked 2016-06-11 20:59:08 -0600

mizu_lily gravatar image

updated 2016-06-17 23:38:44 -0600

I followed the tutorial of creating URDF to build a industrial robot model. I defined link "tool0" as default so that it has no parameters at all and then attached it with a "fixed" joint to the robot. But when I attached another tool to the "tool0" frame and the tool had force interaction with the environment, it failed like thisimage description

I pegged a long and thin gun into a tube and tried to lift it up. The gun and tube both had mass and inertia. The tool seemed to be detached from the flange but they were not actually seperated. I tried to modify the inertia matrix with a bigger value like 1e-1, it behaved as expected. So is this the key to my problem and how to properly define the inertial parameters including mass and inertia matrix of virtual link "tool0"?


My robot URDF is as follow:

<link name="link_1">...</link>
<link name="link_6">...</link>
<link name="tool0"/>                                               <---where I modified later
<joint name="joint_1" type="revolute">...</joint>
<joint name="joint_6" type="revolute">...</joint>
<joint name="link_6-tool0" type="fixed">
    <parent link="link_6"/>
    <child link="tool0"/>
    <origin xyz="0.037 0 0" rpy="0 0 0"/>

In another URDF I define the sensor-related parts:

<link name="sensor_link">...</link>
<joint name="sensor_joint" type="fixed">
    <parent link="tool0"/>
    <child link="sensor_link"/>
    <origin xyz="0 0 0" rpy="0 0 0"/>

<gazebo reference="sensor_joint">
 <plugin name="FTsensor_controller" filename="">

Then I include two URDF(actually XACRO) in a new one to put them together.

edit retag flag offensive close merge delete


So, if tool0 doesn't have a body and is fixed to link6, what's the point in having it? Why not just attach your sensor link directly to link6?

Peter Mitrano gravatar imagePeter Mitrano ( 2016-06-21 10:53:18 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2016-06-14 10:50:39 -0600

this tutorial and this wikipedia entry should be very helpful in determining the inertia. Mass is pretty much your decision. Of course, remember it's all in kilograms here.

It's also useful to right click and select view > intertia. This will draw a purple bounding box. If the box looks completely different from your shape, you probably did something wrong.

edit flag offensive delete link more


I am confused because tool0 supposed to be a virtual joint or a frame. It doesn't have a real body. So how to define its inertia? Or should I attach tool directly to link_6 to get a proper measurement?

mizu_lily gravatar imagemizu_lily ( 2016-06-17 01:15:34 -0600 )edit

the word "virtual" does not have a technical meaning in SDF or URDF. Can you explain what you mean? Also, please update your questions with the full SDF of your model so others can help

Peter Mitrano gravatar imagePeter Mitrano ( 2016-06-17 21:32:39 -0600 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2016-06-11 20:59:08 -0600

Seen: 616 times

Last updated: Jun 17 '16