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 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, 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 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 >