<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from lbr4.robot.xacro               | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="lbr4" xmlns:xacro="http://www.ros.org/wiki/xacro">
    <mujoco>
        <compiler meshdir="./" balanceinertia="true"/>
    </mujoco>
  <!-- ========================================================================================== -->
  <material name="Green">
    <color rgba="0.0 0.8 0.0 1.0"/>
  </material>
  <material name="DarkGrey">
    <color rgba="0.3 0.3 0.3 1.0"/>
  </material>
  <material name="Grey2">
    <color rgba="0.9 0.9 0.9 1.0"/>
  </material>
  <material name="Red">
    <color rgba="0.8 0.5 0.5 1.0"/>
  </material>
  <material name="Orange">
    <color rgba="1.0 0.423529411765 0.196078431373 1.0"/>
  </material>
  <selfCollide>true</selfCollide>
  <link name="base_link">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="base.stl"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="base.stl"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="base_link">
    <material>Gazebo/Grey</material>
  </gazebo>
  <!-- joint between {parent} and arm_0_link -->
  <joint name="base_link_base" type="fixed">
    <origin rpy="0 0 0" xyz="0.0015 -0.0015 0.009"/>
    <parent link="base_link"/>
    <child link="lbr4_0_link"/>
  </joint>
  <link name="lbr4_0_link">
    <inertial>
      <origin rpy="0.503323678478 -0.189146421623 0.277526064738" xyz="0.0099787706820535227 -0.00048169854600738104 -0.25485509312792326"/>
      <mass value="1.5"/>
      <inertia ixx="0.00805112828804" ixy="0" ixz="0" iyy="0.00845152236845" iyz="0" izz="0.00863585824764"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link0.stl"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0.0515"/>
      <geometry>
        <cylinder length="0.103" radius="0.08"/>
      </geometry>
    </collision>
  </link>
  <!-- joint between arm_0_link and arm_1_link -->
  <joint name="lbr4_j0" type="revolute">
    <parent link="lbr4_0_link"/>
    <child link="lbr4_1_link"/>
    <origin rpy="0 0 0" xyz="0 0 0.103"/>
    <axis xyz="0 0 1"/>
    <dynamics damping="5"/>
    <limit effort="176" lower="-2.879" upper="2.879" velocity="1.91"/>
  </joint>
  <link name="lbr4_1_link">
    <inertial>
      <origin rpy="0.239538165056 0.00537995201801 0.0492155584082" xyz="2.1826998880744087e-05 -0.021623840412335664 -0.07915171924289198"/>
      <mass value="1.5"/>
      <inertia ixx="0.0129545076394" ixy="0" ixz="0" iyy="0.0128178432409" iyz="0" izz="0.00442072765916"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link1.stl"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0.017 0.135"/>
      <geometry>
        <box size="0.12 0.16 0.27"/>
      </geometry>
    </collision>
  </link>
  <!-- joint between arm_1_link and arm_2_link -->
  <joint name="lbr4_j1" type="revolute">
    <parent link="lbr4_1_link"/>
    <child link="lbr4_2_link"/>
    <dynamics damping="5"/>
    <origin rpy="0 0 0" xyz="0 -0.002 0.208"/>
    <axis xyz="0 -1 0"/>
    <limit effort="176" lower="-2.007" upper="2.007" velocity="1.91"/>
  </joint>
  <link name="lbr4_2_link">
    <inertial>
      <origin rpy="0.252444092172 -0.0167820344187 0.0575928285281" xyz="-0.0010097053542516513 0.028478464648332931 0.082033627936009448"/>
      <mass value="1.5"/>
      <inertia ixx="0.0132950018592" ixy="0" ixz="0" iyy="0.0131003199685" iyz="0" izz="0.0044657387969"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link2.stl"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 -0.017 0.075"/>
      <geometry>
        <box size="0.12 0.16 0.27"/>
      </geometry>
    </collision>
  </link>
  <!-- joint between arm_2_link and arm_3_link -->
  <joint name="lbr4_j2" type="revolute">
    <parent link="lbr4_2_link"/>
    <child link="lbr4_3_link"/>
    <dynamics damping="5"/>
    <origin rpy="0 0 0" xyz="0 0 0.1915"/>
    <axis xyz="0 0 1"/>
    <limit effort="100" lower="-2.879" upper="2.879" velocity="2.234"/>
  </joint>
  <link name="lbr4_3_link">
    <inertial>
      <origin rpy="-0.211279484805 -0.0186487662306 -0.00721347462905" xyz="-0.00068512472584392442 0.022787627643261723 -0.078806475454300237"/>
      <mass value="1.5"/>
      <inertia ixx="0.0127763513867" ixy="0" ixz="0" iyy="0.0128011372133" iyz="0" izz="0.0043627376553"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link3.stl"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 -0.017 0.135"/>
      <geometry>
        <box size="0.12 0.16 0.27"/>
      </geometry>
    </collision>
  </link>
  <!-- joint between arm_3_link and arm_4_link -->
  <joint name="lbr4_j3" type="revolute">
    <parent link="lbr4_3_link"/>
    <child link="lbr4_4_link"/>
    <dynamics damping="5"/>
    <origin rpy="0 0 0" xyz="0 0.002 0.2085"/>
    <axis xyz="0 1 0"/>
    <limit effort="100" lower="-2.007" upper="2.007" velocity="2.234"/>
  </joint>
  <link name="lbr4_4_link">
    <inertial>
      <origin rpy="0.259090664398 -0.00225330262131 0.0469419954367" xyz="-0.00025120620404353643 0.027040543208881447 0.082599870266635594"/>
      <mass value="1.5"/>
      <inertia ixx="0.0132276730313" ixy="0" ixz="0" iyy="0.0130734228464" iyz="0" izz="0.00439977729281"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link4.stl"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0.017 0.075"/>
      <geometry>
        <box size="0.12 0.16 0.27"/>
      </geometry>
    </collision>
  </link>
  <!-- joint between arm_4_link and arm_5_link -->
  <joint name="lbr4_j4" type="revolute">
    <parent link="lbr4_4_link"/>
    <child link="lbr4_5_link"/>
    <dynamics damping="5"/>
    <origin rpy="0 0 0" xyz="0 0 0.1915"/>
    <axis xyz="0 0 1"/>
    <limit effort="100" lower="-2.879" upper="2.879" velocity="3.56"/>
  </joint>
  <link name="lbr4_5_link">
    <inertial>
      <origin rpy="-0.399346437469 -0.0238815557936 0.011018430381" xyz="-7.2951660343995983e-05 0.034300558520003806 -0.082836449419419589"/>
      <mass value="1.5"/>
      <inertia ixx="0.0124407882151" ixy="0" ixz="0" iyy="0.0124710412724" iyz="0" izz="0.00438005667842"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link5.stl"/>
      </geometry>
      <material name="Orange"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0.017 0.13"/>
      <geometry>
        <box size="0.12 0.16 0.27"/>
      </geometry>
    </collision>
  </link>
  <!-- joint between arm_5_link and arm_6_link -->
  <joint name="lbr4_j5" type="revolute">
    <parent link="lbr4_5_link"/>
    <child link="lbr4_6_link"/>
    <dynamics damping="5"/>
    <origin rpy="0 0 0" xyz="0 0 0.199"/>
    <axis xyz="0 -1 0"/>
    <limit effort="38" lower="-2.007" upper="2.007" velocity="3.211"/>
  </joint>
  <link name="lbr4_6_link">
    <inertial>
      <origin rpy="0.0273247151986 -0.416007068876 -0.06463859276" xyz="0.0033265785100209406 -0.00025060639771109469 0.0006250581115164501"/>
      <mass value="0.75"/>
      <inertia ixx="0.00284169077177" ixy="0" ixz="0" iyy="0.00298256896714" iyz="0" izz="0.00296892557443"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link6.stl"/>
      </geometry>
      <material name="DarkGrey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.078"/>
      </geometry>
    </collision>
  </link>
  <!-- joint between arm_6_link and arm_7_link -->
  <joint name="lbr4_j6" type="revolute">
    <parent link="lbr4_6_link"/>
    <child link="lbr4_7_link"/>
    <dynamics damping="5"/>
    <origin rpy="0 0 0" xyz="0 0 0.078"/>
    <axis xyz="0 0 1"/>
    <limit effort="38" lower="-2.879" upper="2.879" velocity="3.21"/>
  </joint>
  <link name="lbr4_7_link">
    <inertial>
      <origin rpy="-0.00140457256351 -0.0113238487485 -0.621939623896" xyz="-1.0508863000830793e-05 0.00049391465901896074 0.062507829615577853"/>
      <mass value="0.075"/>
      <inertia ixx="5.81502716972e-05" ixy="0" ixz="0" iyy="5.84472283068e-05" iyz="0" izz="9.68983240391e-05"/>
    </inertial>
    <visual>
      <origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
      <geometry>
        <mesh filename="link7.stl"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.05 0.05 0.01"/>
      </geometry>
    </collision>
  </link>
  <!-- World -->
  <link name="world"/>
  <!-- ROS control plugin -->
  <gazebo>
    <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control"/>
  </gazebo>
  <!-- disable fixed linking to allow referencing joint 0 -->
  <gazebo reference="world_to_table_joint">
    <disableFixedJointLumping>true</disableFixedJointLumping>
  </gazebo>
  <gazebo reference="table_to_base_joint">
    <disableFixedJointLumping>true</disableFixedJointLumping>
  </gazebo>
  <!--
  <gazebo reference="base_link_base">
    <disableFixedJointLumping>true</disableFixedJointLumping>
  </gazebo>
  -->
  <gazebo reference="lbr4_mount_joint">
    <disableFixedJointLumping>true</disableFixedJointLumping>
  </gazebo>
  <gazebo reference="lbr4_j0">
    <disableFixedJointLumping>true</disableFixedJointLumping>
  </gazebo>
  <!-- Gazebo materials -->
  <gazebo reference="lbr4_0_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="lbr4_1_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="lbr4_2_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="lbr4_3_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="lbr4_4_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="lbr4_5_link">
    <material>Gazebo/Orange</material>
  </gazebo>
  <gazebo reference="lbr4_6_link">
    <material>Gazebo/Grey</material>
  </gazebo>
  <gazebo reference="lbr4_7_link">
    <material>Gazebo/Black</material>
  </gazebo>
  <transmission name="lbr4_trans0">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lbr4_j0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="lbr4_motor0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="lbr4_trans1">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lbr4_j1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="lbr4_motor1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="lbr4_trans2">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lbr4_j2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="lbr4_motor2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="lbr4_trans3">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lbr4_j3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="lbr4_motor3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="lbr4_trans4">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lbr4_j4">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="lbr4_motor4">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="lbr4_trans5">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lbr4_j5">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="lbr4_motor5">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="lbr4_trans6">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="lbr4_j6">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="lbr4_motor6">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <!-- ======================== BASE PARAMS ========================= -->
  <!-- ======================== FINGER PARAMS ======================== -->
  <!-- full height from joint to tip. when used,
       the radius of the finger tip sphere will be subtracted
       and one fixed link will be added for the tip. -->
  <!-- ========================= THUMB PARAMS ========================= -->
  <!-- ========================= LIMITS ========================= -->
  <!-- ============================================================================= -->
  <!-- BASE -->
  <material name="Black">
    <color rgba="0.2 0.2 0.2 1"/>
  </material>
  <material name="Grey">
    <color rgba="0.2 0.2 0.2 1"/>
  </material>
  <material name="White">
    <color rgba="1 1 1 1"/>
  </material>
  <link name="allegro_mount">
    <inertial>
      <mass value="0.05"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1e-4" ixy="0" ixz="0" iyy="1e-4" iyz="0" izz="1e-4"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="-0.0425 -0.0425 0"/>
      <geometry>
        <mesh filename="allegro_mount.stl"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.0425 -0.0425 0"/>
      <geometry>
        <mesh filename="allegro_mount.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="allegro_mount_joint" type="fixed">
    <origin rpy="0 1.57 0" xyz="0.065 0 0.0275"/>
    <parent link="allegro_mount"/>
    <child link="palm_link"/>
  </joint>
  <link name="palm_link">
    <inertial>
      <mass value="0.4154"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1e-4" ixy="0" ixz="0" iyy="1e-4" iyz="0" izz="1e-4"/>
    </inertial>
    <visual>
      <geometry>
        <mesh filename="base_link.STL"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0 "/>
      <material name="Black"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.009300 0 -0.0475"/>
      <geometry>
        <box size="0.0408 0.1130 0.095"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="palm_link">
    <material value="Gazebo/Black"/>
  </gazebo>
  <!-- ============================================================================= -->
  <!-- FINGERS -->
  <!-- RIGHT HAND due to which finger is number 0 -->
  <!-- for LEFT HAND switch the sign of the **offset_origin_y** and **finger_angle_r** parameters-->
  <!-- [LINK 0, 4, 8] -->
  <link name="index_link_0">
    <visual>
      <geometry>
        <mesh filename="link_0.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0164"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.0082"/>
    </collision>
    <inertial>
      <mass value="0.0119"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1.01666658333e-06" ixy="0.0" ixz="0.0" iyy="6.47677333333e-07" iyz="0.0" izz="1.01666658333e-06"/>
    </inertial>
  </link>
  <gazebo reference="index_link_0">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="index_joint_0" type="revolute">
    <axis xyz="0 0 1"/>
    <limit effort="15" lower="-0.59" upper="0.57" velocity="7"/>
    <parent link="palm_link"/>
    <child link="index_link_0"/>
    <origin rpy="-0.08726646255 0 0" xyz="0 0.0435 -0.001542"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 1, 5, 9] -->
  <link name="index_link_1">
    <visual>
      <geometry>
        <mesh filename="link_1.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.054"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.027"/>
    </collision>
    <inertial>
      <mass value="0.065"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="7.95654166667e-05" ixy="1.7199e-05" ixz="8.75875e-06" iyy="2.47088833333e-05" iyz="2.413125e-05" izz="7.95654166667e-05"/>
    </inertial>
  </link>
  <gazebo reference="index_link_1">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="index_joint_1" type="revolute">
    <limit effort="15" lower="-0.296" upper="1.71" velocity="7"/>
    <axis xyz="0 1 0"/>
    <parent link="index_link_0"/>
    <child link="index_link_1"/>
    <origin xyz="0 0 0.0164"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 2, 6, 10]-->
  <link name="index_link_2">
    <visual>
      <geometry>
        <mesh filename="link_2.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0384"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.0192"/>
    </collision>
    <inertial>
      <mass value="0.0355"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="2.63979183333e-05" ixy="6.67968e-06" ixz="4.783625e-06" iyy="1.34948516667e-05" iyz="9.372e-06" izz="2.63979183333e-05"/>
    </inertial>
  </link>
  <gazebo reference="index_link_2">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="index_joint_2" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.274" upper="1.809" velocity="7"/>
    <parent link="index_link_1"/>
    <child link="index_link_2"/>
    <origin xyz="0 0 0.054"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 3, 7, 11] -->
  <link name="index_link_3">
    <visual>
      <geometry>
        <mesh filename="link_3.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0267"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.01335"/>
    </collision>
    <inertial>
      <mass value="0.0096"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="4.701248e-06" ixy="1.255968e-06" ixz="1.2936e-06" iyy="3.649312e-06" iyz="1.7622e-06" izz="4.701248e-06"/>
    </inertial>
  </link>
  <gazebo reference="index_link_3">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="index_joint_3" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.327" upper="1.718" velocity="7"/>
    <parent link="index_link_2"/>
    <child link="index_link_3"/>
    <origin xyz="0 0 0.0384"/>
    <dynamics damping="10" friction="0"/>
  </joint>
  <!-- [FINGER TIP] -->
  <link name="index_tip">
    <visual>
      <geometry>
        <mesh filename="link_3.0_tip.STL"/>
      </geometry>
      <material name="White"/>
    </visual>
    <collision>
      <geometry>
        <sphere radius="0.012"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.0168"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="9.68e-07" ixy="0" ixz="0" iyy="9.68e-07" iyz="0" izz="9.68e-07"/>
    </inertial>
  </link>
  <joint name="index_tip_joint" type="fixed">
    <parent link="index_link_3"/>
    <child link="index_tip"/>
    <origin rpy="0 0 0" xyz="0 0 0.0267"/>
  </joint>
  <!-- [LINK 0, 4, 8] -->
  <link name="middle_link_0">
    <visual>
      <geometry>
        <mesh filename="link_0.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0164"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.0082"/>
    </collision>
    <inertial>
      <mass value="0.0119"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1.01666658333e-06" ixy="0.0" ixz="0.0" iyy="6.47677333333e-07" iyz="0.0" izz="1.01666658333e-06"/>
    </inertial>
  </link>
  <gazebo reference="middle_link_0">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="middle_joint_0" type="revolute">
    <axis xyz="0 0 1"/>
    <limit effort="15" lower="-0.59" upper="0.57" velocity="7"/>
    <parent link="palm_link"/>
    <child link="middle_link_0"/>
    <origin rpy="0.0 0 0" xyz="0 0 0.0007"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 1, 5, 9] -->
  <link name="middle_link_1">
    <visual>
      <geometry>
        <mesh filename="link_1.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.054"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.027"/>
    </collision>
    <inertial>
      <mass value="0.065"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="7.95654166667e-05" ixy="1.7199e-05" ixz="8.75875e-06" iyy="2.47088833333e-05" iyz="2.413125e-05" izz="7.95654166667e-05"/>
    </inertial>
  </link>
  <gazebo reference="middle_link_1">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="middle_joint_1" type="revolute">
    <limit effort="15" lower="-0.296" upper="1.71" velocity="7"/>
    <axis xyz="0 1 0"/>
    <parent link="middle_link_0"/>
    <child link="middle_link_1"/>
    <origin xyz="0 0 0.0164"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 2, 6, 10]-->
  <link name="middle_link_2">
    <visual>
      <geometry>
        <mesh filename="link_2.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0384"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.0192"/>
    </collision>
    <inertial>
      <mass value="0.0355"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="2.63979183333e-05" ixy="6.67968e-06" ixz="4.783625e-06" iyy="1.34948516667e-05" iyz="9.372e-06" izz="2.63979183333e-05"/>
    </inertial>
  </link>
  <gazebo reference="middle_link_2">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="middle_joint_2" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.274" upper="1.809" velocity="7"/>
    <parent link="middle_link_1"/>
    <child link="middle_link_2"/>
    <origin xyz="0 0 0.054"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 3, 7, 11] -->
  <link name="middle_link_3">
    <visual>
      <geometry>
        <mesh filename="link_3.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0267"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.01335"/>
    </collision>
    <inertial>
      <mass value="0.0096"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="4.701248e-06" ixy="1.255968e-06" ixz="1.2936e-06" iyy="3.649312e-06" iyz="1.7622e-06" izz="4.701248e-06"/>
    </inertial>
  </link>
  <gazebo reference="middle_link_3">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="middle_joint_3" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.327" upper="1.718" velocity="7"/>
    <parent link="middle_link_2"/>
    <child link="middle_link_3"/>
    <origin xyz="0 0 0.0384"/>
    <dynamics damping="10" friction="0"/>
  </joint>
  <!-- [FINGER TIP] -->
  <link name="middle_tip">
    <visual>
      <geometry>
        <mesh filename="link_3.0_tip.STL"/>
      </geometry>
      <material name="White"/>
    </visual>
    <collision>
      <geometry>
        <sphere radius="0.012"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.0168"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="9.68e-07" ixy="0" ixz="0" iyy="9.68e-07" iyz="0" izz="9.68e-07"/>
    </inertial>
  </link>
  <joint name="middle_tip_joint" type="fixed">
    <parent link="middle_link_3"/>
    <child link="middle_tip"/>
    <origin rpy="0 0 0" xyz="0 0 0.0267"/>
  </joint>
  <!-- [LINK 0, 4, 8] -->
  <link name="ring_link_0">
    <visual>
      <geometry>
        <mesh filename="link_0.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0164"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.0082"/>
    </collision>
    <inertial>
      <mass value="0.0119"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1.01666658333e-06" ixy="0.0" ixz="0.0" iyy="6.47677333333e-07" iyz="0.0" izz="1.01666658333e-06"/>
    </inertial>
  </link>
  <gazebo reference="ring_link_0">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="ring_joint_0" type="revolute">
    <axis xyz="0 0 1"/>
    <limit effort="15" lower="-0.59" upper="0.57" velocity="7"/>
    <parent link="palm_link"/>
    <child link="ring_link_0"/>
    <origin rpy="0.08726646255 0 0" xyz="0 -0.0435 -0.001542"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 1, 5, 9] -->
  <link name="ring_link_1">
    <visual>
      <geometry>
        <mesh filename="link_1.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.054"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.027"/>
    </collision>
    <inertial>
      <mass value="0.065"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="7.95654166667e-05" ixy="1.7199e-05" ixz="8.75875e-06" iyy="2.47088833333e-05" iyz="2.413125e-05" izz="7.95654166667e-05"/>
    </inertial>
  </link>
  <gazebo reference="ring_link_1">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="ring_joint_1" type="revolute">
    <limit effort="15" lower="-0.296" upper="1.71" velocity="7"/>
    <axis xyz="0 1 0"/>
    <parent link="ring_link_0"/>
    <child link="ring_link_1"/>
    <origin xyz="0 0 0.0164"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 2, 6, 10]-->
  <link name="ring_link_2">
    <visual>
      <geometry>
        <mesh filename="link_2.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0384"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.0192"/>
    </collision>
    <inertial>
      <mass value="0.0355"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="2.63979183333e-05" ixy="6.67968e-06" ixz="4.783625e-06" iyy="1.34948516667e-05" iyz="9.372e-06" izz="2.63979183333e-05"/>
    </inertial>
  </link>
  <gazebo reference="ring_link_2">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="ring_joint_2" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.274" upper="1.809" velocity="7"/>
    <parent link="ring_link_1"/>
    <child link="ring_link_2"/>
    <origin xyz="0 0 0.054"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 3, 7, 11] -->
  <link name="ring_link_3">
    <visual>
      <geometry>
        <mesh filename="link_3.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0267"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.01335"/>
    </collision>
    <inertial>
      <mass value="0.0096"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="4.701248e-06" ixy="1.255968e-06" ixz="1.2936e-06" iyy="3.649312e-06" iyz="1.7622e-06" izz="4.701248e-06"/>
    </inertial>
  </link>
  <gazebo reference="ring_link_3">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="ring_joint_3" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.327" upper="1.718" velocity="7"/>
    <parent link="ring_link_2"/>
    <child link="ring_link_3"/>
    <origin xyz="0 0 0.0384"/>
    <dynamics damping="10" friction="0"/>
  </joint>
  <!-- [FINGER TIP] -->
  <link name="ring_tip">
    <visual>
      <geometry>
        <mesh filename="link_3.0_tip.STL"/>
      </geometry>
      <material name="White"/>
    </visual>
    <collision>
      <geometry>
        <sphere radius="0.012"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.0168"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="9.68e-07" ixy="0" ixz="0" iyy="9.68e-07" iyz="0" izz="9.68e-07"/>
    </inertial>
  </link>
  <joint name="ring_tip_joint" type="fixed">
    <parent link="ring_link_3"/>
    <child link="ring_tip"/>
    <origin rpy="0 0 0" xyz="0 0 0.0267"/>
  </joint>
  <!-- THUMB -->
  <!-- [LINK 12] -->
  <link name="thumb_link_0">
    <visual>
      <geometry>
        <mesh filename="link_12.0_right.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0358 0.034 0.0455"/>
      </geometry>
      <origin rpy="0 0 0" xyz="-0.0179 0.009 0.0145"/>
    </collision>
    <inertial>
      <mass value="0.0176"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1.89273333333e-5" ixy="7.16716e-06" ixz="5.35568e-06" iyy="1.43008213333e-05" iyz="6.8068e-06" izz="1.89273333333e-05"/>
    </inertial>
  </link>
  <gazebo reference="thumb_link_0">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="thumb_joint_0" type="revolute">
    <axis xyz="-1 0 0"/>
    <limit effort="15" lower="0.363" upper="1.62" velocity="7"/>
    <parent link="palm_link"/>
    <child link="thumb_link_0"/>
    <!--origin rpy="0 -1.65806278845 -1.5707963259" xyz="-0.0182 0.019333 -0.045987"/-->
    <origin rpy="0 -1.65806278845 -1.417963259" xyz="-0.0182 0.022333 -0.045987"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 13] -->
  <link name="thumb_link_1">
    <visual>
      <geometry>
        <mesh filename="link_13.0.STL"/>
      </geometry>
      <material name="Black"/>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0177"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.00885"/>
    </collision>
    <inertial>
      <mass value="0.0119"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="4.24250866667e-06" ixy="1.032087e-06" ixz="1.603525e-06" iyy="4.52362633333e-06" iyz="1.44808125e-06" izz="4.24250866667e-06"/>
    </inertial>
  </link>
  <gazebo reference="thumb_link_1">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="thumb_joint_1" type="revolute">
    <axis xyz="0 0 1"/>
    <limit effort="15" lower="-0.205" upper="1.263" velocity="7"/>
    <parent link="thumb_link_0"/>
    <child link="thumb_link_1"/>
    <origin xyz="-0.027 0.005 0.0399"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 14] -->
  <link name="thumb_link_2">
    <visual>
      <geometry>
        <mesh filename="link_14.0.STL"/>
      </geometry>
      <material name="Black">
      </material>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0514"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.0257"/>
    </collision>
    <inertial>
      <mass value="0.038"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="4.30439933333e-05" ixy="9.57068e-06" ixz="5.1205e-06" iyy="1.44451933333e-05" iyz="1.342825e-05" izz="4.30439933333e-05"/>
    </inertial>
  </link>
  <gazebo reference="thumb_link_2">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="thumb_joint_2" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.289" upper="1.744" velocity="7"/>
    <parent link="thumb_link_1"/>
    <child link="thumb_link_2"/>
    <origin xyz="0 0 0.0177"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [LINK 15] -->
  <link name="thumb_link_3">
    <visual>
      <geometry>
        <mesh filename="link_15.0.STL"/>
      </geometry>
      <material name="Black">
      </material>
    </visual>
    <collision>
      <geometry>
        <box size="0.0196 0.0275 0.0423"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0.02115"/>
    </collision>
    <inertial>
      <mass value="0.0388"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="3.29223173333e-05" ixy="8.042076e-06" ixz="5.2283e-06" iyy="1.47493026667e-5" iyz="1.1283525e-5" izz="3.29223173333e-05"/>
    </inertial>
  </link>
  <gazebo reference="thumb_link_3">
    <material value="Gazebo/Black"/>
  </gazebo>
  <joint name="thumb_joint_3" type="revolute">
    <axis xyz="0 1 0"/>
    <limit effort="15" lower="-0.262" upper="1.819" velocity="7"/>
    <parent link="thumb_link_2"/>
    <child link="thumb_link_3"/>
    <origin xyz="0 0 0.0514"/>
    <dynamics damping="1" friction="0"/>
  </joint>
  <!-- [FINGER TIP] -->
  <link name="thumb_tip">
    <visual>
      <geometry>
        <mesh filename="link_15.0_tip.STL"/>
      </geometry>
      <material name="White"/>
    </visual>
    <collision>
      <geometry>
        <sphere radius="0.012"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </collision>
    <inertial>
      <mass value="0.0168"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="9.68e-07" ixy="0" ixz="0" iyy="9.68e-07" iyz="0" izz="9.68e-07"/>
    </inertial>
  </link>
  <joint name="thumb_tip_joint" type="fixed">
    <parent link="thumb_link_3"/>
    <child link="thumb_tip"/>
    <origin rpy="0 0 0" xyz="0 0 0.0423"/>
  </joint>
  <!-- ============================================================================= -->
  <!-- THUMB MACRO -->
  <!-- END THUMB MACRO -->
  <!-- THREE FINGER MACRO -->
  <!-- [[END]] THREE FINGER MACRO -->
  <klampt freeze_root_link="1" package_root="../" use_vis_geom="1">
    <link name="index_link_0" servoD="15" servoI="0" servoP="600"/>
    <link name="index_link_1" servoD="20" servoI="0" servoP="600"/>
    <link name="index_link_2" servoD="15" servoI="0" servoP="600"/>
    <link name="index_link_3" servoD="15" servoI="0" servoP="1000"/>
    <link name="middle_link_0" servoD="15" servoI="0" servoP="600"/>
    <link name="middle_link_1" servoD="20" servoI="0" servoP="600"/>
    <link name="middle_link_2" servoD="15" servoI="0" servoP="600"/>
    <link name="middle_link_3" servoD="15" servoI="0" servoP="1000"/>
    <link name="ring_link_0" servoD="15" servoI="0" servoP="600"/>
    <link name="ring_link_1" servoD="20" servoI="0" servoP="600"/>
    <link name="ring_link_2" servoD="15" servoI="0" servoP="600"/>
    <link name="ring_link_3" servoD="15" servoI="0" servoP="1000"/>
    <link name="thumb_link_0" servoD="30" servoI="0" servoP="1000"/>
    <link name="thumb_link_1" servoD="20" servoI="0" servoP="1000"/>
    <link name="thumb_link_2" servoD="20" servoI="0" servoP="1000"/>
    <link name="thumb_link_3" servoD="15" servoI="0" servoP="1000"/>
  </klampt>
  <transmission name="allegro_index_j0">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="index_joint_0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_index_motor0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_index_j1">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="index_joint_1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_index_motor1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_index_j2">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="index_joint_2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_index_motor2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_index_j3">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="index_joint_3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_index_motor3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_middle_j0">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="middle_joint_0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_middle_motor0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_middle_j1">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="middle_joint_1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_middle_motor1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_middle_j2">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="middle_joint_2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_middle_motor2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_middle_j3">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="middle_joint_3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_middle_motor3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_ring_j0">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="ring_joint_0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_ring_motor0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_ring_j1">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="ring_joint_1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_ring_motor1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_ring_j2">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="ring_joint_2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_ring_motor2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_ring_j3">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="ring_joint_3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_ring_motor3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_thumb_j0">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="thumb_joint_0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_thumb_motor0">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_thumb_j1">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="thumb_joint_1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_thumb_motor1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_thumb_j2">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="thumb_joint_2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_thumb_motor2">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="allegro_thumb_j3">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="thumb_joint_3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="allegro_thumb_motor3">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
      <mechanicalReduction>1</mechanicalReduction>
    </actuator>
  </transmission>
  <gazebo reference="allegro_mount_joint">
    <disableFixedJointLumping>true</disableFixedJointLumping>
  </gazebo>
  <gazebo reference="lbr4_mount">
    <material>Gazebo/Grey</material>
  </gazebo>
  <link name="lbr4_mount">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.199"/>
      <inertia ixx="0.000104475" ixy="0.0" ixz="0.0" iyy="0.000104475" iyz="0.0" izz="0.0002014875"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kuka_mount.stl"/>
      </geometry>
      <material name="Grey"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="kuka_mount.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="lb4_mount_joint" type="fixed">
    <origin rpy="-3.14159265359 0 0" xyz="0.0009 0.0009 0.015"/>
    <parent link="lbr4_7_link"/>
    <child link="lbr4_mount"/>
  </joint>
  <joint name="lbr4_allegro" type="fixed">
    <parent link="lbr4_mount"/>
    <child link="allegro_mount"/>
    <origin rpy="0 1.57 0" xyz="-0.0425 0 -0.0425"/>
  </joint>
  <link name="table_link">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="200"/>
      <inertia ixx="0.1" ixy="0" ixz="0" iyy="0.1" iyz="0" izz="0.1"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.61 0.9125 0.59"/>
      </geometry>
      <material name="table_color">
        <color rgba="0.823529411765 0.666666666667 0.470588235294 1.0"/>
      </material>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.61 0.9125 0.59"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="table_link">
    <material>Gazebo/WoodPallet</material>
  </gazebo>
  <joint name="world_to_table_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.295"/>
    <parent link="world"/>
    <child link="table_link"/>
  </joint>
  <joint name="table_to_base_joint" type="fixed">
    <origin rpy="0 0 1.57" xyz="0 0 0.305"/>
    <parent link="table_link"/>
    <child link="base_link"/>
  </joint>
</robot>
