<?xml version="1.0" encoding="utf-8"?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from svh-standalone.urdf.xacro      | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="svh">
  <link name="world"/>
  <joint name="world_joint" type="fixed">
    <parent link="world"/>
    <child link="base_link"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.0"/>
  </joint>
  <link name="base_link"/>
  <!-- RIGHT HAND = 1, LEFT HAND = -1 -->
  <!-- BASE_LINE LINKS -->
  <joint name="right_hand_base_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="base_link"/>
    <child link="right_hand_base_link"/>
  </joint>
  <link name="right_hand_base_link">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/base10.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/base10.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.57743"/>
      <origin xyz="0.0 -2.3e-05 0.139371"/>
      <inertia ixx="0.04725" ixy="-0.0" ixz="-0.0" iyy="0.04717" iyz="0.0" izz="0.07606"/>
    </inertial>
  </link>
  <link name="right_hand_d">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="right_hand_h">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="right_hand_d2">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <!-- LENGTH NOT FOUND IN DATASHEET! GUESSED!!! -->
  <link name="right_hand_e1">
    <visual>
      <origin rpy="0 0 0" xyz="0 0.01313 0"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/h10.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0.01313 0"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/h10.dae" scale="1 1 1"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <!-- LENGTH NOT FOUND IN DATASHEET! GUESSED!!! -->
  <link name="right_hand_e2">
    <visual>
      <origin xyz="-0.0007 0 -0.01002"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/h11.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="-0.0007 0 -0.01002"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/h11.dae" scale="1 1 1"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.46184"/>
      <origin xyz="0.145071 -0.037868 0.323449"/>
      <inertia ixx="0.01908" ixy="-0.00121" ixz="-0.00011" iyy="0.01704" iyz="0.00277" izz="0.00862"/>
    </inertial>
  </link>
  <!-- LENGTH NOT FOUND IN DATASHEET! GUESSED!!! -->
  <link name="right_hand_e3">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="right_hand_e">
    </link>
  <!-- LENGTH NOT FOUND IN DATASHEET! GUESSED, BUT POSITION CALCULATED: E4 = D-G-F!!! -->
  <link name="right_hand_e4">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <!-- LENGTH NOT FOUND IN DATASHEET! GUESSED, BUT POSITION CALCULATED: E5 = D-G!!! -->
  <link name="right_hand_e5">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <!-- THUMB LINKS -->
  <link name="right_hand_z">
    <visual>
      <origin xyz="0 0 0.02442"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d10.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0.02442"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d10.dae" scale="1 1 1"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.0739"/>
      <origin xyz="0.0 0.002024 0.178636"/>
      <inertia ixx="0.00103" ixy="-0.0" ixz="-0.0" iyy="0.00165" iyz="4e-05" izz="0.00111"/>
    </inertial>
  </link>
  <link name="right_hand_virtual_a">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="right_hand_a">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d11.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d11.dae" scale="1 1 1"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.41222"/>
      <origin xyz="0.240205 0.010733 0.00019"/>
      <inertia ixx="0.00413" ixy="0.00073" ixz="-0.0" iyy="0.01679" iyz="0.0" izz="0.01796"/>
    </inertial>
  </link>
  <link name="right_hand_b">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d12.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d12.dae" scale="1 1 1"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.08224"/>
      <origin xyz="0.123157 -0.008382 -2.7e-05"/>
      <inertia ixx="0.00089" ixy="5e-05" ixz="0.0" iyy="0.00139" iyz="0.0" izz="0.00103"/>
    </inertial>
  </link>
  <link name="right_hand_c">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d13.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/d13.dae" scale="1 1 1"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.06198"/>
      <origin xyz="0.113729 0.01094 0.0"/>
      <inertia ixx="0.00025" ixy="-0.0" ixz="-0.0" iyy="0.00051" iyz="0.0" izz="0.00052"/>
    </inertial>
  </link>
  <!-- INDEX FINGER LINKS -->
  <link name="right_hand_virtual_l">
    <visual>
      <origin xyz="0 0 0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f10.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f10.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.02383"/>
      <origin xyz="0.003634 0.000206 -0.09885"/>
      <inertia ixx="0.00021" ixy="-0.0" ixz="-1e-05" iyy="0.00011" iyz="-0.0" izz="0.00019"/>
    </inertial>
  </link>
  <link name="right_hand_l">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f11.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f11.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.13003"/>
      <origin xyz="0.261673 0.003521 0.0"/>
      <inertia ixx="0.00051" ixy="-3e-05" ixz="0.0" iyy="0.00335" iyz="-0.0" izz="0.00344"/>
    </inertial>
  </link>
  <link name="right_hand_p">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f12.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f12.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.03264"/>
      <origin xyz="0.1384 -0.004609 0.0"/>
      <inertia ixx="0.00016" ixy="-0.0" ixz="0.0" iyy="0.00031" iyz="-0.0" izz="0.00024"/>
    </inertial>
  </link>
  <link name="right_hand_t">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f13.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f13.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.0324"/>
      <origin xyz="0.102924 0.000592 0.0"/>
      <inertia ixx="9e-05" ixy="-1e-05" ixz="-0.0" iyy="0.00017" iyz="0.0" izz="0.00017"/>
    </inertial>
  </link>
  <!-- MIDDLE FINGER LINKS -->
  <link name="right_hand_virtual_k">
    <visual>
      <origin xyz="0 0 0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f20.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f20.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.02377"/>
      <origin xyz="0.003357 -8e-06 -0.099643"/>
      <inertia ixx="0.00021" ixy="-0.0" ixz="-1e-05" iyy="0.00011" iyz="0.0" izz="0.00019"/>
    </inertial>
  </link>
  <link name="right_hand_k">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f21.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f21.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.13474"/>
      <origin xyz="0.271122 0.00413 0.0"/>
      <inertia ixx="0.00052" ixy="-3e-05" ixz="-0.0" iyy="0.0037" iyz="-0.0" izz="0.0038"/>
    </inertial>
  </link>
  <link name="right_hand_o">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f22.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f22.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.0422"/>
      <origin xyz="0.16683 -0.003774 0.0"/>
      <inertia ixx="0.0002" ixy="0.0" ixz="-0.0" iyy="0.00047" iyz="0.0" izz="0.0004"/>
    </inertial>
  </link>
  <link name="right_hand_s">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f23.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f23.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.03239"/>
      <origin xyz="0.102794 0.00042 0.0"/>
      <inertia ixx="9e-05" ixy="-1e-05" ixz="0.0" iyy="0.00017" iyz="0.0" izz="0.00017"/>
    </inertial>
  </link>
  <!-- RING FINGER LINKS -->
  <link name="right_hand_virtual_j">
    <visual>
      <origin xyz="0 0 -0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f30.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 -0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f30.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.02377"/>
      <origin xyz="0.003805 0.000386 0.100079"/>
      <inertia ixx="0.00021" ixy="0.0" ixz="1e-05" iyy="0.00011" iyz="-0.0" izz="0.00019"/>
    </inertial>
  </link>
  <link name="right_hand_j">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f31.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f31.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.1377"/>
      <origin xyz="0.258283 -0.00154 0.0"/>
      <inertia ixx="0.00055" ixy="0.00018" ixz="-0.0" iyy="0.00411" iyz="0.0" izz="0.00426"/>
    </inertial>
  </link>
  <link name="right_hand_n">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f32.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f32.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.04207"/>
      <origin xyz="0.166851 -0.00362 0.0"/>
      <inertia ixx="0.00019" ixy="0.0" ixz="-0.0" iyy="0.00047" iyz="0.0" izz="0.0004"/>
    </inertial>
  </link>
  <link name="right_hand_r">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f33.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f33.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.03229"/>
      <origin xyz="0.102676 0.000301 0.0"/>
      <inertia ixx="9e-05" ixy="-1e-05" ixz="0.0" iyy="0.00017" iyz="-0.0" izz="0.00017"/>
    </inertial>
  </link>
  <!-- LITTLE FINGER LINKS -->
  <link name="right_hand_virtual_i">
    <visual>
      <origin xyz="0 0 -0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f40.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="0 0 -0.01321"/>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f40.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.02377"/>
      <origin xyz="0.003653 4.4e-05 0.100085"/>
      <inertia ixx="0.00021" ixy="0.0" ixz="1e-05" iyy="0.00011" iyz="-0.0" izz="0.00019"/>
    </inertial>
  </link>
  <link name="right_hand_i">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f41.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f41.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.12544"/>
      <origin xyz="0.232293 0.00622 0.0"/>
      <inertia ixx="0.00049" ixy="6e-05" ixz="-0.0" iyy="0.00316" iyz="0.0" izz="0.00328"/>
    </inertial>
  </link>
  <link name="right_hand_m">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f42.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f42.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.02488"/>
      <origin xyz="0.119665 -0.009328 0.0"/>
      <inertia ixx="0.00013" ixy="-0.0" ixz="-0.0" iyy="0.00023" iyz="0.0" izz="0.00016"/>
    </inertial>
  </link>
  <link name="right_hand_q">
    <visual>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f43.dae"/>
      </geometry>
    </visual>
    <collision>
      <geometry>
        <mesh filename="description/schunk_svh_description/meshes/f43.dae"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.03234"/>
      <origin xyz="0.102896 0.000307 0.0"/>
      <inertia ixx="9e-05" ixy="-1e-05" ixz="-0.0" iyy="0.00017" iyz="0.0" izz="0.00017"/>
    </inertial>
  </link>
  <joint name="right_hand_Thumb_Flexion" type="revolute">
    <parent link="right_hand_virtual_a"/>
    <child link="right_hand_a"/>
    <limit effort="1000.0" lower="0.0" upper="0.9704" velocity="1"/>
    <origin rpy="0 0 -0.9704" xyz="0 0 0"/>
    <axis xyz="0 0 1"/>
  </joint>
  <joint name="right_hand_Thumb_Helper" type="fixed">
    <parent link="right_hand_z"/>
    <child link="right_hand_virtual_a"/>
    <origin rpy="0 -1.5707 3.1416" xyz="0 0 0.04596"/>
  </joint>
  <!-- BASE_LINE JOINTS -->
  <joint name="right_hand_Thumb_Opposition" type="revolute">
    <parent link="right_hand_e1"/>
    <child link="right_hand_z"/>
    <limit effort="1000.0" lower="0.0" upper="0.9879" velocity="1"/>
    <origin rpy="0 0.2618 1.571" xyz="-0.0169 0.02626 0"/>
    <axis xyz="0 0 -1"/>
  </joint>
  <!-- JOINT NOT FOR BASE_LINE. BUT WRITTEN DOWN HERE FOR BETTER UX -->
  <joint name="right_hand_f1" type="fixed">
    <parent link="right_hand_e1"/>
    <child link="right_hand_d"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
  </joint>
  <joint name="right_hand_f2" type="fixed">
    <parent link="right_hand_d"/>
    <child link="right_hand_h"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
  </joint>
  <joint name="right_hand_f3" type="fixed">
    <parent link="right_hand_h"/>
    <child link="right_hand_d2"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
  </joint>
  <joint name="right_hand_f4" type="fixed">
    <parent link="right_hand_base_link"/>
    <child link="right_hand_e1"/>
    <origin rpy="0 0 0" xyz="0 -0.01313 0"/>
  </joint>
  <!-- J5 JOINTS is set to fixed temporarily due to defective DH algo -->
  <joint name="right_hand_j5" type="fixed">
    <parent link="right_hand_e1"/>
    <child link="right_hand_e2"/>
    <!--limit effort="1000.0" lower="0.0" upper="0.98786" velocity="1"/-->
    <origin rpy="0 0 0" xyz="0.0184 0.006 0.0375"/>
    <!--axis xyz="0 0 ${side*(1)}"/-->
    <!--mimic joint="${name}_Thumb_Opposition" multiplier="1" offset="0"/-->
  </joint>
  <joint name="right_hand_f5" type="fixed">
    <parent link="right_hand_e2"/>
    <child link="right_hand_e3"/>
    <origin rpy="0 0 0" xyz="0 -0.0060 0"/>
  </joint>
  <joint name="right_hand_f6" type="fixed">
    <parent link="right_hand_e3"/>
    <child link="right_hand_e"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
  </joint>
  <joint name="right_hand_f7" type="fixed">
    <parent link="right_hand_e"/>
    <child link="right_hand_e4"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
  </joint>
  <joint name="right_hand_f8" type="fixed">
    <parent link="right_hand_e"/>
    <child link="right_hand_e5"/>
    <origin rpy="0 0 0" xyz="0 0 0"/>
  </joint>
  <!-- THUMB JOINTS -->
  <joint name="right_hand_j3" type="revolute">
    <parent link="right_hand_a"/>
    <child link="right_hand_b"/>
    <limit effort="1000.0" lower="0.0" upper="0.98506" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.0485 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Thumb_Flexion" multiplier="1.01511" offset="0"/>
  </joint>
  <joint name="right_hand_j4" type="revolute">
    <parent link="right_hand_b"/>
    <child link="right_hand_c"/>
    <limit effort="1000.0" lower="0.0" upper="1.406" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.030 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Thumb_Flexion" multiplier="1.44889" offset="0"/>
  </joint>
  <!-- INDEX FINGER JOINTS -->
  <joint name="right_hand_Index_Finger_Distal" type="revolute">
    <parent link="right_hand_l"/>
    <child link="right_hand_p"/>
    <limit effort="1000.0" lower="0" upper="1.334" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.04804 0 0"/>
    <axis xyz="0 0 1"/>
  </joint>
  <joint name="right_hand_Index_Finger_Proximal" type="revolute">
    <parent link="right_hand_virtual_l"/>
    <child link="right_hand_l"/>
    <limit effort="1000.0" lower="0.0" upper="0.79849" velocity="1"/>
    <origin rpy="-1.5707 0 0" xyz="0 0 0"/>
    <axis xyz="0 0 1"/>
  </joint>
  <!-- JOINT Finger_Spread in BASE_LINE section for better UX -->
  <joint name="right_hand_j14" type="revolute">
    <parent link="right_hand_p"/>
    <child link="right_hand_t"/>
    <limit effort="1000.0" lower="0" upper="1.394" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.026 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Index_Finger_Distal" multiplier="1.0450" offset="0"/>
  </joint>
  <!-- MIDDLE FINGER JOINTS -->
  <joint name="right_hand_Middle_Finger_Proximal" type="revolute">
    <parent link="right_hand_virtual_k"/>
    <child link="right_hand_k"/>
    <limit effort="1000.0" lower="0.0" upper="0.79849" velocity="1"/>
    <origin rpy="-1.5707 0 0" xyz="0 0 0"/>
    <axis xyz="0 0 1"/>
  </joint>
  <joint name="right_hand_Middle_Finger_Distal" type="revolute">
    <parent link="right_hand_k"/>
    <child link="right_hand_o"/>
    <limit effort="1000.0" lower="0" upper="1.334" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.05004 0 0"/>
    <axis xyz="0 0 1"/>
  </joint>
  <joint name="right_hand_j15" type="revolute">
    <parent link="right_hand_o"/>
    <child link="right_hand_s"/>
    <limit effort="1000.0" lower="0" upper="1.334" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.032 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Middle_Finger_Distal" multiplier="1.0454" offset="0"/>
  </joint>
  <!-- RING FINGER JOINTS -->
  <joint name="right_hand_Ring_Finger" type="revolute">
    <parent link="right_hand_virtual_j"/>
    <child link="right_hand_j"/>
    <limit effort="1000.0" lower="0.0" upper="0.98175" velocity="1"/>
    <origin rpy="1.5707 0 0" xyz="0 0 0"/>
    <axis xyz="0 0 1"/>
  </joint>
  <joint name="right_hand_j12" type="revolute">
    <parent link="right_hand_j"/>
    <child link="right_hand_n"/>
    <limit effort="1000.0" lower="0" upper="1.334" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.05004 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Ring_Finger" multiplier="1.3588" offset="0"/>
  </joint>
  <joint name="right_hand_j16" type="revolute">
    <parent link="right_hand_n"/>
    <child link="right_hand_r"/>
    <limit effort="1000.0" lower="0" upper="1.395" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.032 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Ring_Finger" multiplier="1.42093" offset="0"/>
  </joint>
  <!-- PINKY JOINTS -->
  <joint name="right_hand_Pinky" type="revolute">
    <parent link="right_hand_virtual_i"/>
    <child link="right_hand_i"/>
    <limit effort="1000.0" lower="0.0" upper="0.98175" velocity="1"/>
    <origin rpy="1.5707 0 0" xyz="0 0 0"/>
    <axis xyz="0 0 1"/>
  </joint>
  <joint name="right_hand_j13" type="revolute">
    <parent link="right_hand_i"/>
    <child link="right_hand_m"/>
    <limit effort="1000.0" lower="0" upper="1.334" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.04454 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Pinky" multiplier="1.35880" offset="0"/>
  </joint>
  <joint name="right_hand_j17" type="revolute">
    <parent link="right_hand_m"/>
    <child link="right_hand_q"/>
    <limit effort="1000.0" lower="0" upper="1.3971" velocity="1"/>
    <origin rpy="0 0 0" xyz="0.022 0 0"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Pinky" multiplier="1.42307" offset="0"/>
  </joint>
  <joint name="right_hand_index_spread" type="revolute">
    <parent link="right_hand_d2"/>
    <child link="right_hand_virtual_l"/>
    <limit effort="1000.0" lower="0.0" upper="0.28833" velocity="1"/>
    <origin rpy="0 -1.5707 1.5707" xyz="-0.025 0 0.110"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Finger_Spread" multiplier="0.5" offset="0"/>
  </joint>
  <joint name="right_hand_middle_spread_dummy" type="fixed">
    <parent link="right_hand_d"/>
    <child link="right_hand_virtual_k"/>
    <origin rpy="0 -1.5707 1.5707" xyz="0 0 0.110"/>
  </joint>
  <joint name="right_hand_ring_spread" type="revolute">
    <parent link="right_hand_e5"/>
    <child link="right_hand_virtual_j"/>
    <limit effort="1000.0" lower="0.0" upper="0.28833" velocity="1"/>
    <origin rpy="-1.5707 -1.5707 0" xyz="0.003855 0 0.0655"/>
    <axis xyz="0 0 1"/>
    <mimic joint="right_hand_Finger_Spread" multiplier="0.5" offset="0"/>
  </joint>
  <joint name="right_hand_Finger_Spread" type="revolute">
    <parent link="right_hand_e4"/>
    <child link="right_hand_virtual_i"/>
    <limit effort="1000.0" lower="0.0" upper="0.5829" velocity="1"/>
    <origin rpy="-1.5707 -1.5707 0" xyz="0.025355 0 0.056"/>
    <axis xyz="0 0 1"/>
  </joint>
  <transmission name="right_hand_Thumb_Opposition_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Thumb_Opposition">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Thumb_Opposition_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Thumb_Flexion_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Thumb_Flexion">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Thumb_Flexion_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Index_Finger_Proximal_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Index_Finger_Proximal">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Index_Finger_Proximal_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Index_Finger_Distal_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Index_Finger_Distal">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Index_Finger_Distal_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Middle_Finger_Proximal_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Middle_Finger_Proximal">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Middle_Finger_Proximal_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Middle_Finger_Distal_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Middle_Finger_Distal">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Middle_Finger_Distal_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Finger_Spread_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Finger_Spread">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Finger_Spread_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Pinky_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Pinky">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Pinky_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <transmission name="right_hand_Ring_Finger_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="right_hand_Ring_Finger">
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </joint>
    <actuator name="right_hand_Ring_Finger_motor">
      <mechanicalReduction>1</mechanicalReduction>
      <!-- <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface> -->
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
      <!-- <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> -->
    </actuator>
  </transmission>
  <gazebo>
    <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
      <legacyModeNS>false</legacyModeNS>
      <robotNamespace>/</robotNamespace>
      <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j3_mimic_joint_plugin">
      <joint>right_hand_Thumb_Flexion</joint>
      <mimicJoint>right_hand_j3</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.01511</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j4_mimic_joint_plugin">
      <joint>right_hand_Thumb_Flexion</joint>
      <mimicJoint>right_hand_j4</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.44889</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j14_mimic_joint_plugin">
      <joint>right_hand_Index_Finger_Distal</joint>
      <mimicJoint>right_hand_j14</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.045</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j15_mimic_joint_plugin">
      <joint>right_hand_Middle_Finger_Distal</joint>
      <mimicJoint>right_hand_j15</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.0454</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j12_mimic_joint_plugin">
      <joint>right_hand_Ring_Finger</joint>
      <mimicJoint>right_hand_j12</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.3588</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j16_mimic_joint_plugin">
      <joint>right_hand_Ring_Finger</joint>
      <mimicJoint>right_hand_j16</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.42093</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j13_mimic_joint_plugin">
      <joint>right_hand_Pinky</joint>
      <mimicJoint>right_hand_j13</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.3588</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_j17_mimic_joint_plugin">
      <joint>right_hand_Pinky</joint>
      <mimicJoint>right_hand_j17</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>1.42307</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_index_spread_mimic_joint_plugin">
      <joint>right_hand_Finger_Spread</joint>
      <mimicJoint>right_hand_index_spread</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>0.5</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo>
    <plugin filename="libroboticsgroup_upatras_gazebo_mimic_joint_plugin.so" name="right_hand_ring_spread_mimic_joint_plugin">
      <joint>right_hand_Finger_Spread</joint>
      <mimicJoint>right_hand_ring_spread</mimicJoint>
      <!-- if set to true, PID parameters from "/gazebo_ros_control/pid_gains/${mimic_joint}" are loaded -->
      <hasPID/>
      <multiplier>0.5</multiplier>
      <offset>0</offset>
      <sensitiveness>0.0</sensitiveness>
      <!-- if absolute difference between setpoint and process value is below this threshold, do nothing; 0.0 = disable [rad] -->
      <maxEffort>100.0</maxEffort>
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
</robot>

