RobotDescription

H1_2

UNITREE Robotics · licence BSD-3-Clause · source: github.com/unitreerobotics/unitree_ros @ 267182b85

What you are looking at is RobotDescription.from_urdf(original).to_urdf_string(): the reference implementation's re-serialisation of the original file, not the original file itself.

Loading the model…

drag to orbit · scroll to zoom · right-drag to pan

robot.urdf

<?xml version="1.0" encoding="UTF-8"?>
<!-- generated by bam_robot_descriptions (py backend), content dc1d79ce874a03f5 -->
<robot name="h1_2">
  <material name="dark">
    <color rgba="0.1 0.1 0.1 1.0" />
  </material>
  <link name="pelvis">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/pelvis.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <sphere radius="0.05" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.0004 3.7e-05 -0.046864" rpy="0.0 0.0 0.0" />
      <mass value="5.983" />
      <inertia ixx="0.049168411" ixy="-1.9869e-05" ixz="-4.846e-05" iyy="0.009025844" iyz="3.431e-06" izz="0.053155891" />
    </inertial>
  </link>
  <link name="left_hip_yaw_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_hip_yaw_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.02 0.0 0.0" rpy="0.0 1.5707963267948966 0.0" />
      <geometry>
        <cylinder length="0.02" radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 -0.026197 0.006647" rpy="0.0 0.0 0.0" />
      <mass value="2.829" />
      <inertia ixx="0.004553605" ixy="5e-09" ixz="8.17e-07" iyy="0.00568873" iyz="-0.000345157" izz="0.003548907" />
    </inertial>
  </link>
  <joint name="left_hip_yaw_joint" type="revolute">
    <origin xyz="0.0 0.0875 -0.1632" rpy="0.0 0.0 0.0" />
    <parent link="pelvis" />
    <child link="left_hip_yaw_link" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="200.0" velocity="23.0" lower="-0.43" upper="0.43" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_hip_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_hip_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 -0.2" rpy="0.0 0.0 0.0" />
      <geometry>
        <cylinder length="0.2" radius="0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.00781 -0.004724 -6.3e-05" rpy="0.0 0.0 0.0" />
      <mass value="2.92" />
      <inertia ixx="0.0055947" ixy="0.000143308" ixz="-1.1847e-05" iyy="0.003862581" iyz="-9.607e-06" izz="0.004450563" />
    </inertial>
  </link>
  <joint name="left_hip_pitch_joint" type="revolute">
    <origin xyz="0.0 0.0755 0.0" rpy="0.0 0.0 0.0" />
    <parent link="left_hip_yaw_link" />
    <child link="left_hip_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="200.0" velocity="23.0" lower="-3.14" upper="2.5" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_hip_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_hip_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.06 0.0" rpy="1.5707963267948966 0.0 0.0" />
      <geometry>
        <cylinder length="0.01" radius="0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.004171 -0.008576 -0.194509" rpy="0.0 0.0 0.0" />
      <mass value="4.962" />
      <inertia ixx="0.046305869" ixy="-0.000322626" ixz="-0.001199703" iyy="0.047955402" iyz="0.000288147" izz="0.008914518" />
    </inertial>
  </link>
  <joint name="left_hip_roll_joint" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="left_hip_pitch_link" />
    <child link="left_hip_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="200.0" velocity="23.0" lower="-0.43" upper="3.14" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_knee_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_knee_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 -0.2" rpy="0.0 0.0 0.0" />
      <geometry>
        <cylinder length="0.2" radius="0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.000179 0.000121 -0.168936" rpy="0.0 0.0 0.0" />
      <mass value="3.839" />
      <inertia ixx="0.039002363" ixy="-7.2364e-05" ixz="-0.000794506" iyy="0.039042376" iyz="-1.8663e-05" izz="0.005029829" />
    </inertial>
  </link>
  <joint name="left_knee_joint" type="revolute">
    <origin xyz="0.0 0.0 -0.4" rpy="0.0 0.0 0.0" />
    <parent link="left_hip_roll_link" />
    <child link="left_knee_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="300.0" velocity="14.0" lower="-0.12" upper="2.19" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_ankle_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_ankle_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_ankle_pitch_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.000294 0.0 -0.010794" rpy="0.0 0.0 0.0" />
      <mass value="0.102" />
      <inertia ixx="2.3944e-05" ixy="0.0" ixz="1.21e-07" iyy="2.1837e-05" iyz="0.0" izz="1.3414e-05" />
    </inertial>
  </link>
  <joint name="left_ankle_pitch_joint" type="revolute">
    <origin xyz="0.0 0.0 -0.4" rpy="0.0 0.0 0.0" />
    <parent link="left_knee_link" />
    <child link="left_ankle_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="60.0" velocity="9.0" lower="-0.897334" upper="0.523598" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_ankle_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_ankle_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_ankle_roll_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.029589 0.0 -0.015973" rpy="0.0 0.0 0.0" />
      <mass value="0.747" />
      <inertia ixx="0.00064883" ixy="0.0" ixz="0.00015838" iyy="0.003435339" iyz="0.0" izz="0.003583259" />
    </inertial>
  </link>
  <joint name="left_ankle_roll_joint" type="revolute">
    <origin xyz="0.0 0.0 -0.02" rpy="0.0 0.0 0.0" />
    <parent link="left_ankle_pitch_link" />
    <child link="left_ankle_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="40.0" velocity="9.0" lower="-0.261799" upper="0.261799" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_hip_yaw_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_hip_yaw_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.02 0.0 0.0" rpy="0.0 1.5707963267948966 0.0" />
      <geometry>
        <cylinder length="0.02" radius="0.01" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0 0.026197 0.006647" rpy="0.0 0.0 0.0" />
      <mass value="2.829" />
      <inertia ixx="0.004553605" ixy="-5e-09" ixz="8.17e-07" iyy="0.00568873" iyz="0.000345157" izz="0.003548907" />
    </inertial>
  </link>
  <joint name="right_hip_yaw_joint" type="revolute">
    <origin xyz="0.0 -0.0875 -0.1632" rpy="0.0 0.0 0.0" />
    <parent link="pelvis" />
    <child link="right_hip_yaw_link" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="200.0" velocity="23.0" lower="-0.43" upper="0.43" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_hip_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_hip_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 -0.2" rpy="0.0 0.0 0.0" />
      <geometry>
        <cylinder length="0.2" radius="0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.00781 0.004724 -6.3e-05" rpy="0.0 0.0 0.0" />
      <mass value="2.92" />
      <inertia ixx="0.0055947" ixy="-0.000143308" ixz="-1.1847e-05" iyy="0.003862581" iyz="9.607e-06" izz="0.004450563" />
    </inertial>
  </link>
  <joint name="right_hip_pitch_joint" type="revolute">
    <origin xyz="0.0 -0.0755 0.0" rpy="0.0 0.0 0.0" />
    <parent link="right_hip_yaw_link" />
    <child link="right_hip_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="200.0" velocity="23.0" lower="-3.14" upper="2.5" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_hip_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_hip_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 -0.06 0.0" rpy="1.5707963267948966 0.0 0.0" />
      <geometry>
        <cylinder length="0.01" radius="0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.004171 0.008576 -0.194509" rpy="0.0 0.0 0.0" />
      <mass value="4.962" />
      <inertia ixx="0.046305869" ixy="0.000322626" ixz="-0.001199703" iyy="0.047955402" iyz="-0.000288147" izz="0.008914518" />
    </inertial>
  </link>
  <joint name="right_hip_roll_joint" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="right_hip_pitch_link" />
    <child link="right_hip_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="200.0" velocity="23.0" lower="-3.14" upper="0.43" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_knee_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_knee_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 -0.2" rpy="0.0 0.0 0.0" />
      <geometry>
        <cylinder length="0.2" radius="0.02" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.000179 -0.000121 -0.168936" rpy="0.0 0.0 0.0" />
      <mass value="3.839" />
      <inertia ixx="0.039002363" ixy="7.2364e-05" ixz="-0.000794506" iyy="0.039042376" iyz="1.8663e-05" izz="0.005029829" />
    </inertial>
  </link>
  <joint name="right_knee_joint" type="revolute">
    <origin xyz="0.0 0.0 -0.4" rpy="0.0 0.0 0.0" />
    <parent link="right_hip_roll_link" />
    <child link="right_knee_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="300.0" velocity="14.0" lower="-0.12" upper="2.19" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_ankle_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_ankle_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_ankle_pitch_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.000294 0.0 -0.010794" rpy="0.0 0.0 0.0" />
      <mass value="0.102" />
      <inertia ixx="2.3944e-05" ixy="0.0" ixz="1.21e-07" iyy="2.1837e-05" iyz="0.0" izz="1.3414e-05" />
    </inertial>
  </link>
  <joint name="right_ankle_pitch_joint" type="revolute">
    <origin xyz="0.0 0.0 -0.4" rpy="0.0 0.0 0.0" />
    <parent link="right_knee_link" />
    <child link="right_ankle_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="60.0" velocity="9.0" lower="-0.897334" upper="0.523598" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_ankle_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_ankle_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_ankle_roll_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.029589 0.0 -0.015973" rpy="0.0 0.0 0.0" />
      <mass value="0.747" />
      <inertia ixx="0.00064883" ixy="0.0" ixz="0.00015838" iyy="0.003435339" iyz="0.0" izz="0.003583259" />
    </inertial>
  </link>
  <joint name="right_ankle_roll_joint" type="revolute">
    <origin xyz="0.0 0.0 -0.02" rpy="0.0 0.0 0.0" />
    <parent link="right_ankle_pitch_link" />
    <child link="right_ankle_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="40.0" velocity="9.0" lower="-0.261799" upper="0.261799" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="torso_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/torso_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.15" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.08 0.16 0.1" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.000489 0.002797 0.20484" rpy="0.0 0.0 0.0" />
      <mass value="17.789" />
      <inertia ixx="0.4873" ixy="-0.00053763" ixz="0.0020276" iyy="0.40963" iyz="-0.00074582" izz="0.12785" />
    </inertial>
  </link>
  <joint name="torso_joint" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="pelvis" />
    <child link="torso_link" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="200.0" velocity="23.0" lower="-2.35" upper="2.35" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_shoulder_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_shoulder_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_shoulder_pitch_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.003053 0.06042 -0.0059" rpy="0.0 0.0 0.0" />
      <mass value="1.327" />
      <inertia ixx="0.00058661" ixy="-2.0157e-05" ixz="2.985e-06" iyy="0.0003989" iyz="2.238e-05" izz="0.00052936" />
    </inertial>
  </link>
  <joint name="left_shoulder_pitch_joint" type="revolute">
    <origin xyz="0.0 0.14806 0.42333" rpy="0.2618 0.0 0.0" />
    <parent link="torso_link" />
    <child link="left_shoulder_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="40.0" velocity="9.0" lower="-3.14" upper="1.57" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_shoulder_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_shoulder_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_shoulder_roll_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.030932 -1e-06 -0.10609" rpy="0.0 0.0 0.0" />
      <mass value="1.393" />
      <inertia ixx="0.0018408" ixy="3.98e-07" ixz="-0.00048324" iyy="0.001934638" iyz="1.61e-07" izz="0.000617733" />
    </inertial>
  </link>
  <joint name="left_shoulder_roll_joint" type="revolute">
    <origin xyz="0.0342 0.061999 -0.0060011" rpy="-0.2618 0.0 0.0" />
    <parent link="left_shoulder_pitch_link" />
    <child link="left_shoulder_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="40.0" velocity="9.0" lower="-0.38" upper="3.4" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_shoulder_yaw_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_shoulder_yaw_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_shoulder_yaw_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.004583 0.001128 -0.001128" rpy="0.0 0.0 0.0" />
      <mass value="1.505" />
      <inertia ixx="0.004199" ixy="-1.7786e-05" ixz="0.00018372" iyy="0.0043139" iyz="9.278e-05" izz="0.00065755" />
    </inertial>
  </link>
  <joint name="left_shoulder_yaw_joint" type="revolute">
    <origin xyz="-0.0342 0.0 -0.1456" rpy="0.0 0.0 0.0" />
    <parent link="left_shoulder_roll_link" />
    <child link="left_shoulder_yaw_link" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="18.0" velocity="20.0" lower="-2.66" upper="3.01" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_elbow_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_elbow_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_elbow_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.077092 -0.028751 -0.009714" rpy="0.0 0.0 0.0" />
      <mass value="0.691" />
      <inertia ixx="0.000318491" ixy="0.000224554" ixz="6.62076e-05" iyy="0.000861224" iyz="-2.3329e-05" izz="0.000897899" />
    </inertial>
  </link>
  <joint name="left_elbow_joint" type="revolute">
    <origin xyz="0.006 0.0329 -0.182" rpy="0.0 0.0 0.0" />
    <parent link="left_shoulder_yaw_link" />
    <child link="left_elbow_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="18.0" velocity="20.0" lower="-0.95" upper="3.18" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_wrist_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_wrist_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_wrist_roll_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.035281 -0.00232 0.000337" rpy="0.0 0.0 0.0" />
      <mass value="0.683" />
      <inertia ixx="0.000313275" ixy="1.6521e-05" ixz="-2.501e-06" iyy="0.000310412" iyz="5.435e-06" izz="0.000345998" />
    </inertial>
  </link>
  <joint name="left_wrist_roll_joint" type="revolute">
    <origin xyz="0.121 -0.0329 -0.011" rpy="0.0 0.0 0.0" />
    <parent link="left_elbow_link" />
    <child link="left_wrist_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="19.0" velocity="31.4" lower="-3.01" upper="2.75" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_wrist_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_wrist_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/left_wrist_pitch_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.020395 3.6e-05 -0.002973" rpy="0.0 0.0 0.0" />
      <mass value="0.484" />
      <inertia ixx="7.1364e-05" ixy="3.08e-07" ixz="1.485e-06" iyy="6.9915e-05" iyz="-8.8e-08" izz="7.0702e-05" />
    </inertial>
  </link>
  <joint name="left_wrist_pitch_joint" type="revolute">
    <origin xyz="0.087 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="left_wrist_roll_link" />
    <child link="left_wrist_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="19.0" velocity="31.4" lower="-0.4625" upper="0.4625" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="left_wrist_yaw_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/wrist_yaw_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <inertial>
      <origin xyz="0.027967 9.6e-05 0.000739" rpy="0.0 0.0 0.0" />
      <mass value="0.124" />
      <inertia ixx="0.0001373" ixy="-1.71e-07" ixz="2.942e-06" iyy="0.000169998" iyz="-2.5e-08" izz="8.4808e-05" />
    </inertial>
  </link>
  <joint name="left_wrist_yaw_joint" type="revolute">
    <origin xyz="0.02 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="left_wrist_pitch_link" />
    <child link="left_wrist_yaw_link" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="19.0" velocity="31.4" lower="-1.27" upper="1.27" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_shoulder_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_shoulder_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_shoulder_pitch_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.003053 -0.06042 -0.0059" rpy="0.0 0.0 0.0" />
      <mass value="1.327" />
      <inertia ixx="0.00058661" ixy="2.0157e-05" ixz="2.985e-06" iyy="0.0003989" iyz="-2.238e-05" izz="0.00052936" />
    </inertial>
  </link>
  <joint name="right_shoulder_pitch_joint" type="revolute">
    <origin xyz="0.0 -0.14806 0.42333" rpy="-0.2618 0.0 0.0" />
    <parent link="torso_link" />
    <child link="right_shoulder_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="40.0" velocity="9.0" lower="-3.14" upper="1.57" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_shoulder_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_shoulder_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_shoulder_roll_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.030932 1e-06 -0.10609" rpy="0.0 0.0 0.0" />
      <mass value="1.393" />
      <inertia ixx="0.0018408" ixy="-3.98e-07" ixz="-0.00048324" iyy="0.001934638" iyz="-1.61e-07" izz="0.000617733" />
    </inertial>
  </link>
  <joint name="right_shoulder_roll_joint" type="revolute">
    <origin xyz="0.0342 -0.061999 -0.0060011" rpy="0.2618 0.0 0.0" />
    <parent link="right_shoulder_pitch_link" />
    <child link="right_shoulder_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="40.0" velocity="9.0" lower="-3.4" upper="0.38" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_shoulder_yaw_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_shoulder_yaw_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_shoulder_yaw_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.004583 -0.001128 -0.001128" rpy="0.0 0.0 0.0" />
      <mass value="1.505" />
      <inertia ixx="0.004199" ixy="1.7786e-05" ixz="0.00018372" iyy="0.0043139" iyz="-9.278e-05" izz="0.00065755" />
    </inertial>
  </link>
  <joint name="right_shoulder_yaw_joint" type="revolute">
    <origin xyz="-0.0342 0.0 -0.1456" rpy="0.0 0.0 0.0" />
    <parent link="right_shoulder_roll_link" />
    <child link="right_shoulder_yaw_link" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="18.0" velocity="20.0" lower="-3.01" upper="2.66" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_elbow_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_elbow_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_elbow_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.077092 0.028751 -0.009714" rpy="0.0 0.0 0.0" />
      <mass value="0.691" />
      <inertia ixx="0.000318491" ixy="-0.000224554" ixz="6.62076e-05" iyy="0.000861224" iyz="2.3329e-05" izz="0.000897899" />
    </inertial>
  </link>
  <joint name="right_elbow_joint" type="revolute">
    <origin xyz="0.006 -0.0329 -0.182" rpy="0.0 0.0 0.0" />
    <parent link="right_shoulder_yaw_link" />
    <child link="right_elbow_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="18.0" velocity="20.0" lower="-0.95" upper="3.18" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_wrist_roll_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_wrist_roll_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_wrist_roll_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.035281 -0.00232 0.000337" rpy="0.0 0.0 0.0" />
      <mass value="0.683" />
      <inertia ixx="0.000313275" ixy="1.6521e-05" ixz="-2.501e-06" iyy="0.000310412" iyz="5.435e-06" izz="0.000345998" />
    </inertial>
  </link>
  <joint name="right_wrist_roll_joint" type="revolute">
    <origin xyz="0.121 0.0329 -0.011" rpy="0.0 0.0 0.0" />
    <parent link="right_elbow_link" />
    <child link="right_wrist_roll_link" />
    <axis xyz="1.0 0.0 0.0" />
    <limit effort="19.0" velocity="31.4" lower="-2.75" upper="3.01" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_wrist_pitch_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_wrist_pitch_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/right_wrist_pitch_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.020395 3.6e-05 -0.002973" rpy="0.0 0.0 0.0" />
      <mass value="0.484" />
      <inertia ixx="7.1364e-05" ixy="3.08e-07" ixz="1.485e-06" iyy="6.9915e-05" iyz="-8.8e-08" izz="7.0702e-05" />
    </inertial>
  </link>
  <joint name="right_wrist_pitch_joint" type="revolute">
    <origin xyz="0.087 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="right_wrist_roll_link" />
    <child link="right_wrist_pitch_link" />
    <axis xyz="0.0 1.0 0.0" />
    <limit effort="19.0" velocity="31.4" lower="-0.4625" upper="0.4625" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="right_wrist_yaw_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/wrist_yaw_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <inertial>
      <origin xyz="0.027967 -9.6e-05 0.000739" rpy="0.0 0.0 0.0" />
      <mass value="0.124" />
      <inertia ixx="0.0001373" ixy="1.71e-07" ixz="2.942e-06" iyy="0.000169998" iyz="2.5e-08" izz="8.4808e-05" />
    </inertial>
  </link>
  <joint name="right_wrist_yaw_joint" type="revolute">
    <origin xyz="0.02 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="right_wrist_pitch_link" />
    <child link="right_wrist_yaw_link" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="19.0" velocity="31.4" lower="-1.27" upper="1.27" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <material name="white">
    <color rgba="1.0 1.0 1.0 1.0" />
  </material>
  <link name="logo_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/logo_link.STL" />
      </geometry>
      <material name="white" />
    </visual>
  </link>
  <joint name="logo_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
    <parent link="torso_link" />
    <child link="logo_link" />
  </joint>
  <link name="imu_link" />
  <joint name="imu_joint" type="fixed">
    <origin xyz="-0.04452 -0.01891 0.27756" rpy="0.0 0.0 0.0" />
    <parent link="torso_link" />
    <child link="imu_link" />
  </joint>
  <link name="camera_link" />
  <joint name="camera_joint" type="fixed">
    <origin xyz="0.11109 0.0175 0.68789" rpy="0.0 0.8859291283123216 0.0" />
    <parent link="torso_link" />
    <child link="camera_link" />
  </joint>
  <link name="lidar_link" />
  <joint name="lidar_joint" type="fixed">
    <origin xyz="0.04874 0.0 0.6798" rpy="0.0 0.24015730507441985 0.0" />
    <parent link="torso_link" />
    <child link="lidar_link" />
  </joint>
  <joint name="L_base_link_joint" type="fixed">
    <origin xyz="0.054 0.0 0.0" rpy="0.0 0.0 1.5707963267948966" />
    <parent link="left_wrist_yaw_link" />
    <child link="L_hand_base_link" />
  </joint>
  <link name="L_hand_base_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/L_hand_base_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/L_hand_base_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.002551 -0.066047 -0.0019357" rpy="0.0 0.0 0.0" />
      <mass value="0.14143" />
      <inertia ixx="0.0001234" ixy="2.1995e-06" ixz="-1.7694e-06" iyy="8.3835e-05" iyz="1.5968e-06" izz="7.7231e-05" />
    </inertial>
  </link>
  <link name="L_thumb_proximal_base">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link11_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link11_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0048817 0.00038782 -0.00722" rpy="0.0 0.0 0.0" />
      <mass value="0.0018869" />
      <inertia ixx="5.5158e-08" ixy="-1.1803e-08" ixz="-4.6743e-09" iyy="8.2164e-08" iyz="-1.3521e-09" izz="6.7434e-08" />
    </inertial>
  </link>
  <joint name="L_thumb_proximal_yaw_joint" type="revolute">
    <origin xyz="-0.01696 -0.0691 0.02045" rpy="1.5708 -1.5708 0.0" />
    <parent link="L_hand_base_link" />
    <child link="L_thumb_proximal_base" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="-0.1" upper="1.3" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_thumb_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link12_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link12_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.021936 -0.01279 -0.0080386" rpy="0.0 0.0 0.0" />
      <mass value="0.0066101" />
      <inertia ixx="1.5693e-06" ixy="7.8339e-07" ixz="8.5959e-10" iyy="1.7356e-06" iyz="1.0378e-09" izz="2.787e-06" />
    </inertial>
  </link>
  <joint name="L_thumb_proximal_pitch_joint" type="revolute">
    <origin xyz="0.0099867 0.0098242 -0.0089" rpy="-1.5708 0.0 0.16939" />
    <parent link="L_thumb_proximal_base" />
    <child link="L_thumb_proximal" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="-0.1" upper="0.6" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_thumb_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link13_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link13_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0095531 0.0016282 -0.0072002" rpy="0.0 0.0 0.0" />
      <mass value="0.0037844" />
      <inertia ixx="3.6981e-07" ixy="9.8603e-08" ixz="-2.8173e-12" iyy="3.2395e-07" iyz="-2.8028e-12" izz="4.6532e-07" />
    </inertial>
  </link>
  <joint name="L_thumb_intermediate_joint" type="revolute">
    <origin xyz="0.04407 -0.034553 -0.0008" rpy="0.0 0.0 0.0" />
    <parent link="L_thumb_proximal" />
    <child link="L_thumb_intermediate" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="0.8" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_thumb_distal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link14_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link14_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0092888 -0.004953 -0.0060033" rpy="0.0 0.0 0.0" />
      <mass value="0.003344" />
      <inertia ixx="1.3632e-07" ixy="5.6787e-08" ixz="-9.1939e-11" iyy="1.4052e-07" iyz="1.2145e-10" izz="2.0026e-07" />
    </inertial>
  </link>
  <joint name="L_thumb_distal_joint" type="revolute">
    <origin xyz="0.020248 -0.010156 -0.0012" rpy="0.0 0.0 0.0" />
    <parent link="L_thumb_intermediate" />
    <child link="L_thumb_distal" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.2" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_index_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link15_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link15_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0012971 -0.011934 -0.0059998" rpy="0.0 0.0 0.0" />
      <mass value="0.0042405" />
      <inertia ixx="6.6215e-07" ixy="1.8442e-08" ixz="1.3746e-12" iyy="2.1167e-07" iyz="-1.4773e-11" izz="6.9402e-07" />
    </inertial>
  </link>
  <joint name="L_index_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.13653 0.032268" rpy="-0.034907 0.0 0.0" />
    <parent link="L_hand_base_link" />
    <child link="L_index_proximal" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_index_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link16_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link16_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0021753 -0.019567 -0.005" rpy="0.0 0.0 0.0" />
      <mass value="0.0045682" />
      <inertia ixx="7.6284e-07" ixy="-8.063e-08" ixz="3.6797e-13" iyy="9.4308e-08" iyz="1.5743e-13" izz="7.8176e-07" />
    </inertial>
  </link>
  <joint name="L_index_intermediate_joint" type="revolute">
    <origin xyz="-0.0024229 -0.032041 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="L_index_proximal" />
    <child link="L_index_intermediate" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_middle_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link17_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link17_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0012971 -0.011934 -0.0059999" rpy="0.0 0.0 0.0" />
      <mass value="0.0042405" />
      <inertia ixx="6.6215e-07" ixy="1.8442e-08" ixz="1.2299e-12" iyy="2.1167e-07" iyz="-1.4484e-11" izz="6.9402e-07" />
    </inertial>
  </link>
  <joint name="L_middle_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.1371 0.01295" rpy="0.0 0.0 0.0" />
    <parent link="L_hand_base_link" />
    <child link="L_middle_proximal" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_middle_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link18_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link18_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.001921 -0.020796 -0.0049999" rpy="0.0 0.0 0.0" />
      <mass value="0.0050397" />
      <inertia ixx="9.5823e-07" ixy="-1.1425e-07" ixz="-2.4186e-12" iyy="1.0646e-07" iyz="3.6974e-12" izz="9.8385e-07" />
    </inertial>
  </link>
  <joint name="L_middle_intermediate_joint" type="revolute">
    <origin xyz="-0.0024229 -0.032041 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="L_middle_proximal" />
    <child link="L_middle_intermediate" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_ring_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link19_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link19_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0012971 -0.011934 -0.0059999" rpy="0.0 0.0 0.0" />
      <mass value="0.0042405" />
      <inertia ixx="6.6215e-07" ixy="1.8442e-08" ixz="9.6052e-13" iyy="2.1167e-07" iyz="-1.4124e-11" izz="6.9402e-07" />
    </inertial>
  </link>
  <joint name="L_ring_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.13691 -0.0062872" rpy="0.05236 0.0 0.0" />
    <parent link="L_hand_base_link" />
    <child link="L_ring_proximal" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_ring_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link20_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link20_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0021753 -0.019567 -0.005" rpy="0.0 0.0 0.0" />
      <mass value="0.0045682" />
      <inertia ixx="7.6285e-07" ixy="-8.0631e-08" ixz="3.3472e-14" iyy="9.4308e-08" iyz="-4.4773e-13" izz="7.8176e-07" />
    </inertial>
  </link>
  <joint name="L_ring_intermediate_joint" type="revolute">
    <origin xyz="-0.0024229 -0.032041 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="L_ring_proximal" />
    <child link="L_ring_intermediate" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_pinky_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link21_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link21_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0012971 -0.011934 -0.0059999" rpy="0.0 0.0 0.0" />
      <mass value="0.0042405" />
      <inertia ixx="6.6215e-07" ixy="1.8442e-08" ixz="1.0279e-12" iyy="2.1167e-07" iyz="-1.4277e-11" izz="6.9402e-07" />
    </inertial>
  </link>
  <joint name="L_pinky_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.13571 -0.025488" rpy="0.10472 0.0 0.0" />
    <parent link="L_hand_base_link" />
    <child link="L_pinky_proximal" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="L_pinky_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link22_L.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link22_L.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0024788 -0.016208 -0.0050001" rpy="0.0 0.0 0.0" />
      <mass value="0.0036036" />
      <inertia ixx="4.3923e-07" ixy="-4.1355e-08" ixz="1.2263e-12" iyy="7.0315e-08" iyz="3.1311e-12" izz="4.4881e-07" />
    </inertial>
  </link>
  <joint name="L_pinky_intermediate_joint" type="revolute">
    <origin xyz="-0.0024229 -0.032041 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="L_pinky_proximal" />
    <child link="L_pinky_intermediate" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <joint name="R_base_link_joint" type="fixed">
    <origin xyz="0.054 0.0 0.0" rpy="3.141592653589793 0.0 -1.5707963267948966" />
    <parent link="right_wrist_yaw_link" />
    <child link="R_hand_base_link" />
  </joint>
  <link name="R_hand_base_link">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/R_hand_base_link.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/R_hand_base_link.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.0025264 -0.066047 0.0019598" rpy="0.0 0.0 0.0" />
      <mass value="0.14143" />
      <inertia ixx="0.00012281" ixy="2.1711e-06" ixz="1.7709e-06" iyy="8.3832e-05" iyz="-1.6551e-06" izz="7.6663e-05" />
    </inertial>
  </link>
  <link name="R_thumb_proximal_base">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link11_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link11_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="-0.0048064 0.0009382 -0.00757" rpy="0.0 0.0 0.0" />
      <mass value="0.0018869" />
      <inertia ixx="5.816e-08" ixy="1.4539e-08" ixz="4.491e-09" iyy="7.9161e-08" iyz="-1.8727e-09" izz="6.7433e-08" />
    </inertial>
  </link>
  <joint name="R_thumb_proximal_yaw_joint" type="revolute">
    <origin xyz="-0.01696 -0.0691 -0.02045" rpy="1.5708 -1.5708 0.0" />
    <parent link="R_hand_base_link" />
    <child link="R_thumb_proximal_base" />
    <axis xyz="0.0 0.0 -1.0" />
    <limit effort="1.0" velocity="0.5" lower="-0.1" upper="1.3" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_thumb_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link12_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link12_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.021932 0.012785 -0.0080386" rpy="0.0 0.0 0.0" />
      <mass value="0.0066075" />
      <inertia ixx="1.5686e-06" ixy="-7.8296e-07" ixz="8.9143e-10" iyy="1.7353e-06" iyz="-1.0191e-09" izz="2.786e-06" />
    </inertial>
  </link>
  <joint name="R_thumb_proximal_pitch_joint" type="revolute">
    <origin xyz="-0.0088099 0.010892 -0.00925" rpy="1.5708 0.0 2.8587" />
    <parent link="R_thumb_proximal_base" />
    <child link="R_thumb_proximal" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="-0.1" upper="0.6" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_thumb_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link13_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link13_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0095544 -0.0016282 -0.0071997" rpy="0.0 0.0 0.0" />
      <mass value="0.0037847" />
      <inertia ixx="3.6981e-07" ixy="-9.8581e-08" ixz="-4.7469e-12" iyy="3.2394e-07" iyz="1.0939e-12" izz="4.6531e-07" />
    </inertial>
  </link>
  <joint name="R_thumb_intermediate_joint" type="revolute">
    <origin xyz="0.04407 0.034553 -0.0008" rpy="0.0 0.0 0.0" />
    <parent link="R_thumb_proximal" />
    <child link="R_thumb_intermediate" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="0.8" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_thumb_distal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link14_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link14_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0092888 0.0049529 -0.0060033" rpy="0.0 0.0 0.0" />
      <mass value="0.0033441" />
      <inertia ixx="1.3632e-07" ixy="-5.6788e-08" ixz="-9.2764e-11" iyy="1.4052e-07" iyz="-1.2283e-10" izz="2.0026e-07" />
    </inertial>
  </link>
  <joint name="R_thumb_distal_joint" type="revolute">
    <origin xyz="0.020248 0.010156 -0.0012" rpy="0.0 0.0 0.0" />
    <parent link="R_thumb_intermediate" />
    <child link="R_thumb_distal" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.2" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_index_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link15_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link15_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0012259 0.011942 -0.0060001" rpy="0.0 0.0 0.0" />
      <mass value="0.0042403" />
      <inertia ixx="6.6232e-07" ixy="-1.5775e-08" ixz="1.8515e-12" iyy="2.1146e-07" iyz="-5.0828e-12" izz="6.9398e-07" />
    </inertial>
  </link>
  <joint name="R_index_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.13653 -0.032268" rpy="-3.1067 0.0 0.0" />
    <parent link="R_hand_base_link" />
    <child link="R_index_proximal" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_index_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link16_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link16_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0019697 0.019589 -0.005" rpy="0.0 0.0 0.0" />
      <mass value="0.0045683" />
      <inertia ixx="7.6111e-07" ixy="8.7637e-08" ixz="-3.7751e-13" iyy="9.6076e-08" iyz="9.9444e-13" izz="7.8179e-07" />
    </inertial>
  </link>
  <joint name="R_index_intermediate_joint" type="revolute">
    <origin xyz="-0.0026138 0.032026 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="R_index_proximal" />
    <child link="R_index_intermediate" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_middle_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link17_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link17_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.001297 0.011934 -0.0060001" rpy="0.0 0.0 0.0" />
      <mass value="0.0042403" />
      <inertia ixx="6.6211e-07" ixy="-1.8461e-08" ixz="1.8002e-12" iyy="2.1167e-07" iyz="-6.6808e-12" izz="6.9397e-07" />
    </inertial>
  </link>
  <joint name="R_middle_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.1371 -0.01295" rpy="-3.1416 0.0 0.0" />
    <parent link="R_hand_base_link" />
    <child link="R_middle_proximal" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_middle_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link18_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link18_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.001921 0.020796 -0.005" rpy="0.0 0.0 0.0" />
      <mass value="0.0050396" />
      <inertia ixx="9.5822e-07" ixy="1.1425e-07" ixz="-2.4791e-12" iyy="1.0646e-07" iyz="5.9173e-12" izz="9.8384e-07" />
    </inertial>
  </link>
  <joint name="R_middle_intermediate_joint" type="revolute">
    <origin xyz="-0.0024229 0.032041 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="R_middle_proximal" />
    <child link="R_middle_intermediate" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_ring_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link19_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link19_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.001297 0.011934 -0.0060002" rpy="0.0 0.0 0.0" />
      <mass value="0.0042403" />
      <inertia ixx="6.6211e-07" ixy="-1.8461e-08" ixz="1.5793e-12" iyy="2.1167e-07" iyz="-6.6868e-12" izz="6.9397e-07" />
    </inertial>
  </link>
  <joint name="R_ring_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.13691 0.0062872" rpy="3.0892 0.0 0.0" />
    <parent link="R_hand_base_link" />
    <child link="R_ring_proximal" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_ring_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link20_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link20_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0021753 0.019567 -0.005" rpy="0.0 0.0 0.0" />
      <mass value="0.0045683" />
      <inertia ixx="7.6286e-07" ixy="8.0635e-08" ixz="-6.1562e-13" iyy="9.431e-08" iyz="5.8619e-13" izz="7.8177e-07" />
    </inertial>
  </link>
  <joint name="R_ring_intermediate_joint" type="revolute">
    <origin xyz="-0.0024229 0.032041 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="R_ring_proximal" />
    <child link="R_ring_intermediate" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_pinky_proximal">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link21_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link21_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.001297 0.011934 -0.0060001" rpy="0.0 0.0 0.0" />
      <mass value="0.0042403" />
      <inertia ixx="6.6211e-07" ixy="-1.8461e-08" ixz="1.6907e-12" iyy="2.1167e-07" iyz="-6.9334e-12" izz="6.9397e-07" />
    </inertial>
  </link>
  <joint name="R_pinky_proximal_joint" type="revolute">
    <origin xyz="0.00028533 -0.13571 0.025488" rpy="3.0369 0.0 0.0" />
    <parent link="R_hand_base_link" />
    <child link="R_pinky_proximal" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
  <link name="R_pinky_intermediate">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link22_R.STL" />
      </geometry>
      <material name="dark" />
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <mesh filename="meshes/link22_R.STL" />
      </geometry>
    </collision>
    <inertial>
      <origin xyz="0.0024748 0.016203 -0.0050031" rpy="0.0 0.0 0.0" />
      <mass value="0.0035996" />
      <inertia ixx="4.3913e-07" ixy="4.1418e-08" ixz="3.7168e-11" iyy="7.0247e-08" iyz="5.8613e-11" izz="4.4867e-07" />
    </inertial>
  </link>
  <joint name="R_pinky_intermediate_joint" type="revolute">
    <origin xyz="-0.0024229 0.032041 -0.001" rpy="0.0 0.0 0.0" />
    <parent link="R_pinky_proximal" />
    <child link="R_pinky_intermediate" />
    <axis xyz="0.0 0.0 1.0" />
    <limit effort="1.0" velocity="0.5" lower="0.0" upper="1.7" />
    <dynamics damping="0.0" friction="0.0" />
  </joint>
</robot>