For the applications I've come across with 4-bar-like structures, I republished the jointstate with the constrained angles set appropriately (thus the constrained_joints parameter in joint_state_publisher). However, I only used this for examining the model in rviz. Probably wouldn't work in Gazebo. -David!! On Fri, Oct 8, 2010 at 1:39 PM, John Hsu wrote: > 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 > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >