<?xml version="1.0"?>
<robot name="wrap_module">
  <!-- base = servo body captured in the both-sides WRAP holder -->
  <link name="base_link">
    <visual><origin xyz="0 0 0" rpy="0 0 0"/>
      <geometry><mesh filename="st3215.stl" scale="0.001 0.001 0.001"/></geometry>
      <material name="servo"><color rgba="0.35 0.35 0.40 1"/></material></visual>
    <visual><origin xyz="0 0 0" rpy="0 0 0"/>
      <geometry><mesh filename="wrap_holder.stl" scale="0.001 0.001 0.001"/></geometry>
      <material name="holder"><color rgba="0.20 0.52 0.85 1"/></material></visual>
  </link>

  <!-- output: revolute about +Y through the real output axis (-25.5,0) mm -->
  <joint name="output" type="revolute">
    <parent link="base_link"/><child link="yoke_link"/>
    <origin xyz="-0.0255 0 0" rpy="0 0 0"/><axis xyz="0 1 0"/>
    <limit lower="-1.74" upper="1.74" effort="2.94" velocity="3.0"/>
  </joint>

  <!-- yoke grips horn + idler (both sides of the output) -->
  <link name="yoke_link">
    <visual><origin xyz="0.0255 0 0" rpy="0 0 0"/>
      <geometry><mesh filename="yoke_exact.stl" scale="0.001 0.001 0.001"/></geometry>
      <material name="yoke"><color rgba="0.85 0.60 0.20 1"/></material></visual>
  </link>
</robot>
