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

linking joints in URDF and/or Gazebo?

asked 2011-04-06 09:04:28 -0600

NStiurca gravatar image

updated 2014-01-28 17:09:29 -0600

ngrennan gravatar image

Is it possible to link joints in the robot description? Here is the setup I have in mind:

I have a robot with Ackermann (car-like) steering. Each of the two front wheels yaws about its own asix of rotation, but when one turns, so does the other. Is there any way to describe this sort of relationship between joints? I could set up a node which listens on some topic to which the steering angle is published to and then republish that angle as the angle of each of the two front wheels, but that feels like a hack.

I also want to be able to simulate this robot in Gazebo so any guidance on that front would be appreciated as well.

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted

answered 2011-04-06 20:38:26 -0600

AFAIK, directly describing relationships between joints is not possible in the current version of URDF. See this very informative mailinglist thread about the limitations of URDF, and this other one about the urdf joint mimic tag.

edit flag offensive delete link more

answered 2011-04-12 08:45:30 -0600

tfoote gravatar image

There are two releated Ackermann questions already which are what you want. I believe @martin_guenther s answer is the more direct answer to your question.

simulating ackermann in gazebo and planning with ackermann

edit flag offensive delete link more

answered 2011-04-13 16:55:28 -0600

Jim Rothrock gravatar image

I have written a Gazebo controller plug-in that implements Ackermann steering. I am going to distribute it in a package within the next few weeks. Pros: Simplifies URDF file, supports wheels that move vertically (because of shock absorbers) without a complex linkage. Con: Forces on one wheel are not transferred to the other, i.e. the wheels are driven by separate servos. I am going to try John's approach (four-bar linkage that incorporates a Gazebo joint), but have not yet done so.

edit flag offensive delete link more

Question Tools


Asked: 2011-04-06 09:04:28 -0600

Seen: 1,699 times

Last updated: Apr 13 '11