Gazebo | Ignition | Community
Ask Your Question

Force base_link to stay at 0

asked 2015-06-11 04:45:13 -0500

mehdi gravatar image

updated 2015-06-17 03:45:39 -0500

My robot has a disc with a radius of 1.25m in contact with the ground. Apparently this is not handled very well by the simulator and the robots drifts slowly with time. How to force base_link to stay at zero position? Is there a way to define as static a link only and not the whole robot?

I am using URDF and world frame doesn't seem to be usable there as parent frame.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2015-06-17 03:49:56 -0500

mehdi gravatar image

updated 2015-06-17 04:47:35 -0500

Following chapulina's answer, my URDF joint looks like this:

<link name="world"/>
<joint name="joint_base_world" type="fixed">
  <child link="base_link" />
  <parent link="world" />
  <origin xyz="0 0 0" />

An explicit definition of the world frame is necessary when using URDF's. This joint stabilizes my robot and makes it fixed at zero position.

edit flag offensive delete link more

answered 2015-06-11 12:49:33 -0500

chapulina gravatar image

You can create a joint between base_link and the world, here's an example.

Assuming your disk is rotating about its Z axis, it would look something like this:

<joint name="joint_base_world" type="revolute">
    <xyz>0 0 1</xyz>
edit flag offensive delete link more


Thanks, I edited my question to precise that I am using URDFs, the world frame doesn't seem to be recognized there.

mehdi gravatar imagemehdi ( 2015-06-17 03:45:05 -0500 )edit
Login/Signup to Answer

Question Tools


Asked: 2015-06-11 04:45:13 -0500

Seen: 195 times

Last updated: Jun 17 '15