<?xml version="1.0" ?>
<robot name="liquid_transform_xyz" xmlns:xacro="http://www.ros.org/wiki/xacro">


  <xacro:macro name="liquid_transform_xyz" params="mesh_path:='' parent_link:='' station_name:='' device_name:='' x:=0 y:=0 z:=0 rx:=0 ry:=0 r:=0">

    <joint name="${station_name}${device_name}base_link_joint" type="fixed">
      <origin xyz="${x} ${y} ${z}" rpy="${rx} ${ry} ${r}" />
      <parent link="${parent_link}"/>
      <child link="${station_name}${device_name}device_link"/>
      <axis xyz="0 0 0"/>
    </joint>

    <link name="${station_name}${device_name}device_link"/>
    <joint name="${station_name}${device_name}device_link_joint" type="fixed">
      <origin xyz="0 0 0" rpy="0 0 0" />
      <parent link="${station_name}${device_name}device_link"/>
      <child link="${station_name}${device_name}base_link"/>
      <axis xyz="0 0 0"/>
    </joint>

    <!-- =================================================================================== -->
    <!-- |    This document was autogenerated by xacro from xyz.urdf                       | -->
    <!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
    <!-- =================================================================================== -->
    <!-- This URDF was automatically created by SolidWorks to URDF Exporter! Originally created by Stephen Brawner (brawner@gmail.com) 
         Commit Version: 1.6.0-4-g7f85cfe  Build Version: 1.6.7995.38578
         For more information, please see http://wiki.ros.org/sw_urdf_exporter -->
      <link name="${station_name}${device_name}base_link">
        <inertial>
          <origin rpy="0 0 0" xyz="0.15478184748283 0.171048654921622 0.119246989054835"/>
          <mass value="10.6178517218032"/>
          <inertia ixx="0.178863713357329" ixy="1.50019641847353E-05" ixz="1.35368730492005E-05" iyy="0.174395775755846" iyz="-9.90771939078091E-06" izz="0.34100152139765"/>
        </inertial>
        <visual>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/base_link.STL"/>
          </geometry>
          <material name="">
            <color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1"/>
          </material>
        </visual>
        <collision>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/base_link.STL"/>
          </geometry>
        </collision>
      </link>
      <link name="${station_name}${device_name}x_link">
        <inertial>
          <origin rpy="0 0 0" xyz="0.325214039540178 0.00943452607370124 0.0482611114301988"/>
          <mass value="2.10887387421016"/>
          <inertia ixx="0.0012305846984949" ixy="5.54649260270946E-07" ixz="3.84099347741331E-07" iyy="0.0349382006090243" iyz="-0.000103697818531446" izz="0.0354178972785773"/>
        </inertial>
        <visual>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/x_link.STL"/>
          </geometry>
          <material name="">
            <color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1"/>
          </material>
        </visual>
        <collision>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/x_link.STL"/>
          </geometry>
        </collision>
      </link>
      <joint name="${station_name}${device_name}x_joint" type="prismatic">
        <origin rpy="0 0 0" xyz="-0.141499999999982 0.334850000000045 0.357700036886815"/>
        <parent link="${station_name}${device_name}base_link"/>
        <child link="${station_name}${device_name}x_link"/>
        <axis xyz="0 1 0"/>
        <limit effort="50" lower="-0.3" upper="0" velocity="1"/>
      </joint>
      <link name="${station_name}${device_name}y_link">
        <inertial>
          <origin rpy="0 0 0" xyz="-1.50235389641123E-05 -0.00104302241099613 -0.0439486470514941"/>
          <mass value="0.57605998885478"/>
          <inertia ixx="0.00193021581150653" ixy="3.53777102560584E-08" ixz="2.57202248177777E-07" iyy="0.00224712797067005" iyz="-3.96170906880708E-07" izz="0.000419338880142789"/>
        </inertial>
        <visual>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/y_link.STL"/>
          </geometry>
          <material name="">
            <color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1"/>
          </material>
        </visual>
        <collision>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/y_link.STL"/>
          </geometry>
        </collision>
      </link>
      <joint name="${station_name}${device_name}y_joint" type="prismatic">
        <origin rpy="0 0 0" xyz="0.2855 -0.0330000368868711 0.0578"/>
        <parent link="${station_name}${device_name}x_link"/>
        <child link="${station_name}${device_name}y_link"/>
        <axis xyz="-1 0 0"/>
        <limit effort="50" lower="-0.25" upper="0.25" velocity="1"/>
      </joint>
      <link name="${station_name}${device_name}z_link">
        <inertial>
          <origin rpy="0 0 0" xyz="-1.07272060046598E-06 -0.00954902784618396 0.017834416924223"/>
          <mass value="0.199932032754258"/>
          <inertia ixx="0.000219989530768707" ixy="-7.50956522121896E-10" ixz="-1.265045524863E-07" iyy="0.000245054780375167" iyz="-3.76753893185657E-06" izz="4.29092763044732E-05"/>
        </inertial>
        <visual>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/z_link.STL"/>
          </geometry>
          <material name="">
            <color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1"/>
          </material>
        </visual>
        <collision>
          <origin rpy="0 0 0" xyz="0 0 0"/>
          <geometry>
            <mesh filename="file://${mesh_path}/devices/liquid_transform_xyz/meshes/z_link.STL"/>
          </geometry>
        </collision>
      </link>
      <joint name="${station_name}${device_name}z_joint" type="prismatic">
        <origin rpy="0 0 0" xyz="0.000950000000001387 -0.0737000000000002 0"/>
        <parent link="${station_name}${device_name}y_link"/>
        <child link="${station_name}${device_name}z_link"/>
        <axis xyz="0 0 1"/>
        <limit effort="50" lower="-0.2" upper="0" velocity="1"/>
      </joint>
      <link name="${station_name}${device_name}p_link">
        
      </link>
      <joint name="${station_name}${device_name}p_joint" type="fixed">
        <origin rpy="0 0 0" xyz="0 -0.0139999999999999 -0.10575"/>
        <parent link="${station_name}${device_name}z_link"/>
        <child link="${station_name}${device_name}p_link"/>
        <axis xyz="0 0 0"/>
      </joint>

  </xacro:macro>

</robot>