[ros-users] Closed kinematic chains in ros/gazebo

John Hsu johnhsu at willowgarage.com
Fri Oct 8 18:39:43 UTC 2010


Hi Andrew,

Can you provide some more detail about the robot you're simulating and your
application?

To model the closed loop chain in the PR2 gripper, I hid an additional joint
constraint in <gazebo> extension for each gripper so we are effectively
solving the dynamics of a closed 4-bar linkage in ODE.  The implementation
is far from pretty but that's what I had to do to get around the urdf
tree-structure requirement.  For urdf-2.0, we plan on adding graph
support<https://code.ros.org/trac/ros-pkg/ticket/4263>,
but that's in the discussion stage.

As for joint mimic, ODE internally does not support dynamic joint mimicking
right now, it's something on my todo list, but may take a while, pending
priority of the functionality.

Without a specific context for your simulation, I might suggest trying the
same trick I did for the PR2 gripper first by hiding the additional
"loop-closing" joint in gazebo extensions, and the physics engine can take
care of the implicit joint mimicking behavior due to closed loop
constraints.

Note that using the set_link_state service call for partial robot will most
likely disrupt dynamics of the entire of the system.

I cc'd the list in case someone else has more experiences with similar
problems.
John

On Fri, Oct 8, 2010 at 8:24 AM, Andrew Mor <abm760 at gmail.com> wrote:

> John,
>
> I was wondering if there was a straightforward way of constraining the
> orientation of a joint within the urdf framework?  I looked through the
> archives of the mailing list and the pr2_gripper code, and nothing is really
> popping out at me.  We have a simple 4 bar mechanism where the side bars are
> both the same size and the top is the same as the bottom, so the side links
> are always parallel as is the top to the bottom.  I was hoping to use the
> mimic tag from within my controller to set the joint_state_ position to be
> equal to the other joint, but position_ is read-only.  Is there another way
> to get around this without constructing a custom transmission?
>
> I had thought about calling the /gazebo/set_link_state service and that is
> still my backup plan before writing a transmission.
>
> Would this be better to send to the ros-users list?
>
> Thanks
>
> Andrew Mor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20101008/2dd8803c/attachment-0002.html>


More information about the ros-users mailing list