<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from wx250.urdf.xacro               | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="wx250">
  <material name="interbotix_black">
    <texture filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/interbotix_black.png"/>
  </material>
  <link name="root"/>
  <joint name="root_joint" type="fixed">
    <origin rpy="0.7853981 0 0" xyz="0 0 0"/>
    <parent link="root"/>
    <child link="wx250/base_link"/>
  </joint>
  <link name="wx250/base_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_1_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0.45"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_1_base.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="-0.0380446000 0.0006138920 0.0193354000"/>
      <mass value="0.538736"/>
      <inertia ixx="0.0021150000" ixy="-0.0000163500" ixz="0.0000006998" iyy="0.0006921000" iyz="0.0000464200" izz="0.0025240000"/>
    </inertial>
  </link>
  <joint name="waist" type="revolute">
    <axis xyz="0 0 1"/>
    <limit effort="10" lower="-3.141582653589793" upper="3.141582653589793" velocity="3.141592653589793"/>
    <origin rpy="0 0 0" xyz="0 0 0.072"/>
    <parent link="wx250/base_link"/>
    <child link="wx250/shoulder_link"/>
    <dynamics friction="0.1"/>
  </joint>
  <transmission name="trans_waist">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="waist">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="waist_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/shoulder_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 -0.003"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_2_shoulder.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 -0.003"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_2_shoulder.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="0.0000223482 0.0000414609 0.0066287000"/>
      <mass value="0.480879"/>
      <inertia ixx="0.0003790000" ixy="0.0000000022" ixz="-0.0000003561" iyy="0.0005557000" iyz="0.0000012245" izz="0.0005889000"/>
    </inertial>
  </link>
  <joint name="shoulder" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="20" lower="-1.8849555921538759" upper="1.9896753472735358" velocity="3.141592653589793"/>
    <origin rpy="0 0 0" xyz="0 0 0.03865"/>
    <parent link="wx250/shoulder_link"/>
    <child link="wx250/upper_arm_link"/>
    <dynamics friction="0.1"/>
  </joint>
  <transmission name="trans_shoulder">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="shoulder">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="shoulder_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/upper_arm_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_3_upper_arm.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_3_upper_arm.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="0.0171605000 0.0000002725 0.1913230000"/>
      <mass value="0.430811"/>
      <inertia ixx="0.0034630000" ixy="-0.0000000001" ixz="-0.0000000002" iyy="0.0035870000" iyz="0.0004272000" izz="0.0004566000"/>
    </inertial>
  </link>
  <joint name="elbow" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-2.1467549799530254" upper="1.6057029118347832" velocity="3.141592653589793"/>
    <origin rpy="0 0 0" xyz="0.04975 0 0.25"/>
    <parent link="wx250/upper_arm_link"/>
    <child link="wx250/forearm_link"/>
    <dynamics friction="0.1"/>
  </joint>
  <transmission name="trans_elbow">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="elbow">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="elbow_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/forearm_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_4_forearm.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_4_forearm.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="0.1534230000 -0.0001179685 -0.0004390000"/>
      <mass value="0.297673"/>
      <inertia ixx="0.0021760000" ixy="-0.0000030658" ixz="0.0000000000" iyy="0.0000575700" iyz="0.0000000000" izz="0.0021860000"/>
    </inertial>
  </link>
  <joint name="wrist_angle" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="5" lower="-1.7453292519943295" upper="2.1467549799530254" velocity="3.141592653589793"/>
    <origin rpy="0 0 0" xyz="0.25 0 0"/>
    <parent link="wx250/forearm_link"/>
    <child link="wx250/wrist_link"/>
    <dynamics friction="0.1"/>
  </joint>
  <transmission name="trans_wrist_angle">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="wrist_angle">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="wrist_angle_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/wrist_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_5_wrist.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_5_wrist.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="0.0423600000 -0.0000106630 0.0105770000"/>
      <mass value="0.084957"/>
      <inertia ixx="0.0000308200" ixy="0.0000000191" ixz="0.0000000023" iyy="0.0000282200" iyz="0.0000025481" izz="0.0000315200"/>
    </inertial>
  </link>
  <joint name="wrist_rotate" type="revolute">
    <axis xyz="1 0 0"/>
    <limit effort="1" lower="-3.141582653589793" upper="3.141582653589793" velocity="3.141592653589793"/>
    <origin rpy="0 0 0" xyz="0.065 0 0"/>
    <parent link="wx250/wrist_link"/>
    <child link="wx250/gripper_link"/>
    <dynamics friction="0.1"/>
  </joint>
  <transmission name="trans_wrist_rotate">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="wrist_rotate">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="wrist_rotate_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/gripper_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="-0.02 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_6_gripper.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="-0.02 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_6_gripper.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="0.0216310000 0.0000002516 0.0114100000"/>
      <mass value="0.072885"/>
      <inertia ixx="0.0000253700" ixy="0.0000000000" ixz="0.0000000000" iyy="0.0000183600" iyz="0.0000004340" izz="0.0000167400"/>
    </inertial>
  </link>
  <joint name="ee_arm" type="fixed">
    <axis xyz="1 0 0"/>
    <origin rpy="0 0 0" xyz="0.043 0 0"/>
    <parent link="wx250/gripper_link"/>
    <child link="wx250/ee_arm_link"/>
  </joint>
  <link name="wx250/ee_arm_link">
    <inertial>
      <mass value="0.001"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <joint name="gripper" type="continuous">
    <axis xyz="1 0 0"/>
    <limit effort="1" velocity="3.141592653589793"/>
    <origin rpy="0 0 0" xyz="0.0055 0 0"/>
    <parent link="wx250/ee_arm_link"/>
    <child link="wx250/gripper_prop_link"/>
    <dynamics friction="0.1"/>
  </joint>
  <transmission name="trans_gripper">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="gripper">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="gripper_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/gripper_prop_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="-0.0685 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_7_gripper_prop.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="-0.0685 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_7_gripper_prop.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="0.0008460000 -0.0000016817 0.0000420000"/>
      <mass value="0.00434"/>
      <inertia ixx="0.0000005923" ixy="0.0000000000" ixz="0.0000003195" iyy="0.0000011156" iyz="-0.0000000004" izz="0.0000005743"/>
    </inertial>
  </link>
  <!-- If the AR tag is being used, then add the AR tag mount -->
  <!-- If the gripper bar is being used, then also add the gripper bar -->
  <joint name="gripper_bar" type="fixed">
    <axis xyz="1 0 0"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="wx250/ee_arm_link"/>
    <child link="wx250/gripper_bar_link"/>
  </joint>
  <link name="wx250/gripper_bar_link">
    <visual>
      <origin rpy="0 0 1.5707963267948966" xyz="-0.063 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_8_gripper_bar.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 0 1.5707963267948966" xyz="-0.063 0 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_8_gripper_bar.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 1.5707963267948966" xyz="0.0096870000 0.0000008177 0.0049620000"/>
      <mass value="0.034199"/>
      <inertia ixx="0.0000074125" ixy="-0.0000000008" ixz="-0.0000000006" iyy="0.0000284300" iyz="-0.0000013889" izz="0.0000286000"/>
    </inertial>
  </link>
  <joint name="ee_bar" type="fixed">
    <axis xyz="1 0 0"/>
    <origin rpy="0 0 0" xyz="0.023 0 0"/>
    <parent link="wx250/gripper_bar_link"/>
    <child link="wx250/fingers_link"/>
  </joint>
  <link name="wx250/fingers_link">
    <inertial>
      <mass value="0.001"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <!-- If the gripper fingers are being used, add those as well -->
  <joint name="left_finger" type="prismatic">
    <axis xyz="0 1 0"/>
    <limit effort="5" lower="0.015" upper="0.037" velocity="1"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="wx250/fingers_link"/>
    <child link="wx250/left_finger_link"/>
    <dynamics friction="0.1"/>
  </joint>
  <transmission name="trans_left_finger">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="left_finger">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="left_finger_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/left_finger_link">
    <visual>
      <origin rpy="3.141592653589793 3.141592653589793 0" xyz="0 0.005 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_9_gripper_finger.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="3.141592653589793 3.141592653589793 0" xyz="0 0.005 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_9_gripper_finger.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="3.141592653589793 3.141592653589793 1.5707963267948966" xyz="0.0138160000 0.0000000000 0.0000000000"/>
      <mass value="0.016246"/>
      <inertia ixx="0.0000047310" ixy="-0.0000004560" ixz="0.0000000000" iyy="0.0000015506" iyz="0.0000000000" izz="0.0000037467"/>
    </inertial>
  </link>
  <joint name="right_finger" type="prismatic">
    <axis xyz="0 1 0"/>
    <limit effort="5" lower="-0.037" upper="-0.015" velocity="1"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="wx250/fingers_link"/>
    <child link="wx250/right_finger_link"/>
    <dynamics friction="0.1"/>
    <mimic joint="left_finger" multiplier="-1" offset="0"/>
  </joint>
  <transmission name="trans_right_finger">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_finger">
      <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="right_finger_motor">
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="wx250/right_finger_link">
    <visual>
      <origin rpy="0 3.141592653589793 0" xyz="0 -0.005 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_9_gripper_finger.stl" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="interbotix_black"/>
    </visual>
    <collision>
      <origin rpy="0 3.141592653589793 0" xyz="0 -0.005 0"/>
      <geometry>
        <mesh filename="package://ocs2_robotic_assets/resources/mobile_manipulator/interbotix_xsarm_descriptions/meshes/wx250_meshes/wx250_9_gripper_finger.stl" scale="0.001 0.001 0.001"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 3.141592653589793 1.5707963267948966" xyz="0.0138160000 0.0000000000  0.0000000000"/>
      <mass value="0.016246"/>
      <inertia ixx="0.0000047310" ixy="0.0000004560" ixz="0.0000000000" iyy="0.0000015506" iyz="0.0000000000" izz="0.0000037467"/>
    </inertial>
  </link>
  <joint name="ee_gripper" type="fixed">
    <axis xyz="1 0 0"/>
    <origin rpy="0 0 0" xyz="0.027575 0 0"/>
    <parent link="wx250/fingers_link"/>
    <child link="wx250/ee_gripper_link"/>
  </joint>
  <link name="wx250/ee_gripper_link">
    <inertial>
      <mass value="0.001"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
</robot>

