<?xml version='1.0' encoding='utf-8'?>
<robot name="linear_rail">
  <link name="world" />
  <joint name="world_up" type="fixed">
    <parent link="world" />
    <child link="base_link" />
    <origin xyz="0 0 0" rpy="1.5708 0 0" />
  </joint>
  <link name="base_link">
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="rail.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mrail.stl0 0 0">
        <color rgba="0.55 0.57 0.62 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="motor_end.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mmotor_end.stl0 0 0">
        <color rgba="0.3 0.6 0.45 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="idler_end.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="midler_end.stl0 0 0">
        <color rgba="0.3 0.6 0.45 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="leadscrew.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mleadscrew.stl0 0 0">
        <color rgba="0.78 0.74 0.5 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="coupler.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mcoupler.stl0 0 0">
        <color rgba="0.85 0.45 0.12 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.0255 0.02 -0.105" rpy="1.5708 0 0" />
      <geometry>
        <mesh filename="holder_fillet.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mholder_fillet.stl0.0255 0.02 -0.105">
        <color rgba="0.2 0.52 0.85 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.0255 0.02 -0.105" rpy="1.5708 0 0" />
      <geometry>
        <mesh filename="st3215.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mst3215.stl0.0255 0.02 -0.105">
        <color rgba="0.34 0.34 0.4 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0.0255 0.02 -0.105" rpy="1.5708 0 0" />
      <geometry>
        <mesh filename="yoke_fillet.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="myoke_fillet.stl0.0255 0.02 -0.105">
        <color rgba="0.85 0.6 0.2 1" />
      </material>
    </visual>
  </link>
  <link name="carriage">
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="carriage.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mcarriage.stl0 0 0">
        <color rgba="0.55 0.57 0.62 1" />
      </material>
    </visual>
    <visual>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <mesh filename="leadnut.stl" scale="0.001 0.001 0.001" />
      </geometry>
      <material name="mleadnut.stl0 0 0">
        <color rgba="0.85 0.45 0.12 1" />
      </material>
    </visual>
  </link>
  <joint name="carriage_slide" type="prismatic">
    <parent link="base_link" />
    <child link="carriage" />
    <origin xyz="0 0 0" rpy="0 0 0" />
    <axis xyz="0 0 1" />
    <limit lower="-0.06" upper="0.06" effort="100" velocity="1" />
  </joint>
</robot>