Yuki
Yuki

Reputation: 139

Drake URDF: Single transmission with multiple joints

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

Answers (1)

Russ Tedrake
Russ Tedrake

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

Related Questions