Reputation: 139
I currently am working on a URDF file that has multiple long cylinders that are placed in parallel. Each cylinder rotates on a different shaft, but I would like the cylinders to move together.
My problem is, drake does not recognize multiple joints on a single transmission parameter. It only moves the first joint that was specified under the transmission parameter in the URDF file. (There is no warning or seg-faults)
Is there a specific way to control all the cylinders using one transmission?
<transmission name="cylinder_transmission">
<robotNamespace>/robot</robotNamespace>
<type>transmission_interface/SimpleTransmission</type>
<joint name="cylinder_joint_1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<joint name="cylinder_joint_2">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<joint name="cylinder_joint_3">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<joint name="cylinder_joint_4">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="motor_3">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
Thank you
Upvotes: 0
Views: 253
Reputation: 5533
I would think that you want to have a single joint (with your single transmission), but then would attach multiple geometries to the single child link?
Upvotes: 0