<?xml version="1.0"?>
<!-- This urdf was hand-hacked specifically to catch mass matrix calculation
     errors caused by flawed optimization over fixed (weld) joints as
     introduced in PR #13933. Several revolute joints connecting heavy bodies
     have been replaced with fixed joints (commented with "REPLACED" below),
     and mesh geometries have been removed for simplicity.
     See multibody_plant_mass_matrix_test.cc. That test fails
     violently using this file with the #13933 bug in place, but works
     fine after the fix in #13953.
     TODO(sherm1) Use the original file plus a patch or in-memory editing
                  rather than this complete copy (issue #13954). -->
<robot xmlns:drake="http://drake.mit.edu" xmlns:xacro="http://www.ros.org/wiki/xacro" name="atlas">
  <link name="l_clav">
    <inertial>
      <mass value="4.466"/>
      <origin rpy="0 0 0" xyz="0 0 -0.084"/>
      <inertia ixx="0.011" ixy="0" ixz="0" iyy="0.009" iyz="0.004" izz="0.004"/>
    </inertial>
  </link>
  <link name="l_foot">
    <inertial>
      <mass value="2.410"/>
      <origin rpy="0 0 0" xyz="0.027 0 -0.067"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.007" iyz="0" izz="0.008"/>
    </inertial>
    <collision>
      <origin rpy="0 0 0" xyz="-0.0876 0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="-0.0876 0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.0876 -0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="-0.0876 -0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.1728 0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0.1728 0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.1728 -0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0.1728 -0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.0426 0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="-0.0426 0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.0426 -0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="-0.0426 -0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
  </link>
  <link name="l_hand">
    <inertial>
      <mass value="0.5839"/>
      <origin rpy="0 0 0" xyz="0.00016 -0.08159 0.00002"/>
      <inertia ixx="0.000388" ixy="0" ixz="0" iyy="0.000477" iyz="0" izz="0.000379"/>
    </inertial>
  </link>
  <link name="l_larm">
    <inertial>
      <mass value="3.248"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="0.00265" ixy="0" ixz="0" iyy="0.00446" iyz="0" izz="0.00446"/>
    </inertial>
  </link>
  <link name="l_lfarm">
    <inertial>
      <mass value="0.648"/>
      <origin rpy="0 0 0" xyz="0.00017 -0.02515 0.00163"/>
      <inertia ixx="0.000764" ixy="0" ixz="0" iyy="0.000429" iyz="0" izz="0.000825"/>
    </inertial>
  </link>
  <link name="l_lglut">
    <inertial>
      <mass value="0.898"/>
      <origin rpy="0 0 0" xyz="0.0133341 0.0170484 -0.0312052"/>
      <inertia ixx="0.000691326" ixy="-2.24344e-05" ixz="2.50508e-06" iyy="0.00126856" iyz="0.000137862" izz="0.00106487"/>
    </inertial>
  </link>
  <link name="l_lleg">
    <inertial>
      <mass value="4.515"/>
      <origin rpy="0 0 0" xyz="0.001 0 -0.187"/>
      <inertia ixx="0.077" ixy="0" ixz="-0.003" iyy="0.076" iyz="0" izz="0.01"/>
    </inertial>
  </link>
  <link name="l_scap">
    <inertial>
      <mass value="3.899"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="0.00319" ixy="0" ixz="0" iyy="0.00583" iyz="0" izz="0.00583"/>
    </inertial>
  </link>
  <link name="l_talus">
    <inertial>
      <mass value="0.125"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1.01674e-05" ixy="0" ixz="0" iyy="8.42775e-06" iyz="0" izz="1.30101e-05"/>
    </inertial>
  </link>
  <link name="l_uarm">
    <inertial>
      <mass value="4.386"/>
      <origin rpy="0 0 0" xyz="0 0.065 0"/>
      <inertia ixx="0.00656" ixy="0" ixz="0" iyy="0.00358" iyz="0" izz="0.00656"/>
    </inertial>
  </link>
  <link name="l_ufarm">
    <inertial>
      <mass value="2.4798"/>
      <origin rpy="0 0 0" xyz="0.00015 0.08296 0.00037"/>
      <inertia ixx="0.012731" ixy="0" ixz="0" iyy="0.002857" iyz="0" izz="0.011948"/>
    </inertial>
  </link>
  <link name="l_uglut">
    <inertial>
      <mass value="1.959"/>
      <origin rpy="0 0 0" xyz="0.00529262 -0.00344732 0.00313046"/>
      <inertia ixx="0.00074276" ixy="-3.79607e-08" ixz="-2.79549e-05" iyy="0.000688179" iyz="-3.2735e-08" izz="0.00041242"/>
    </inertial>
  </link>
  <link name="l_uleg">
    <inertial>
      <mass value="8.204"/>
      <origin rpy="0 0 0" xyz="0 0 -0.21"/>
      <inertia ixx="0.09" ixy="0" ixz="0" iyy="0.09" iyz="0" izz="0.02"/>
    </inertial>
    <!-- to cover the logo shield -->
    <!-- inside strut -->
    <!-- outside strut -->
  </link>
  <link name="ltorso">
    <inertial>
      <mass value="2.270"/>
      <origin rpy="0 0 0" xyz="-0.0112984 -3.15366e-06 0.0746835"/>
      <inertia ixx="0.0039092" ixy="-5.04491e-08" ixz="-0.000342157" iyy="0.00341694" iyz="4.87119e-07" izz="0.00174492"/>
    </inertial>
  </link>
  <link name="mtorso">
    <inertial>
      <mass value="0.799"/>
      <origin rpy="0 0 0" xyz="-0.00816266 -0.0131245 0.0305974"/>
      <inertia ixx="0.000454181" ixy="-6.10764e-05" ixz="3.94009e-05" iyy="0.000483282" iyz="5.27463e-05" izz="0.000444215"/>
    </inertial>
  </link>
  <link name="pelvis">
    <inertial>
      <mass value="9.509"/>
      <origin rpy="0 0 0" xyz="0.0111 0 0.0271"/>
      <inertia ixx="0.1244" ixy="0.0008" ixz="-0.0007" iyy="0.0958" iyz="-0.0005" izz="0.1167"/>
    </inertial>
  </link>
  <link name="r_clav">
    <inertial>
      <mass value="4.466"/>
      <origin rpy="0 0 0" xyz="0 0 -0.084"/>
      <inertia ixx="0.011" ixy="0" ixz="0" iyy="0.009" iyz="0.004" izz="0.004"/>
    </inertial>
  </link>
  <link name="r_foot">
    <inertial>
      <mass value="2.41"/>
      <origin rpy="0 0 0" xyz="0.027 0 -0.067"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.007" iyz="0" izz="0.008"/>
    </inertial>
    <collision>
      <origin rpy="0 0 0" xyz="-0.0876 0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="-0.0876 0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="-0.0876 -0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="-0.0876 -0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.1728 0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0.1728 0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.1728 -0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0.1728 -0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0426 0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0.0426 0.0626 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0426 -0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0.0426 -0.066 -0.07645"/>
      <geometry>
        <sphere radius="0.01"/>
      </geometry>
    </visual>
  </link>
  <link name="r_hand">
    <inertial>
      <mass value="0.5839"/>
      <origin rpy="0 0 0" xyz="0.00016 -0.08159 0.00002"/>
      <inertia ixx="0.000388" ixy="0" ixz="0" iyy="0.000477" iyz="0" izz="0.000379"/>
    </inertial>
  </link>
  <link name="r_larm">
    <inertial>
      <mass value="3.248"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="0.00265" ixy="0" ixz="0" iyy="0.00446" iyz="0" izz="0.00446"/>
    </inertial>
  </link>
  <link name="r_lfarm">
    <inertial>
      <mass value="0.648"/>
      <origin rpy="0 0 0" xyz="0.00017 -0.02515 0.00163"/>
      <inertia ixx="0.000764" ixy="0" ixz="0" iyy="0.000429" iyz="0" izz="0.000825"/>
    </inertial>
  </link>
  <link name="r_lglut">
    <inertial>
      <mass value="0.898"/>
      <origin rpy="0 0 0" xyz="0.0133341 -0.0170484 -0.0312052"/>
      <inertia ixx="0.000691326" ixy="2.24344e-05" ixz="2.50508e-06" iyy="0.00126856" iyz="-0.000137862" izz="0.00106487"/>
    </inertial>
  </link>
  <link name="r_lleg">
    <inertial>
      <mass value="4.515"/>
      <origin rpy="0 0 0" xyz="0.001 0 -0.187"/>
      <inertia ixx="0.077" ixy="-0" ixz="-0.003" iyy="0.076" iyz="-0" izz="0.01"/>
    </inertial>
  </link>
  <link name="r_scap">
    <inertial>
      <mass value="3.899"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="0.00319" ixy="0" ixz="0" iyy="0.00583" iyz="0" izz="0.00583"/>
    </inertial>
  </link>
  <link name="r_talus">
    <inertial>
      <mass value="0.125"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1.01674e-05" ixy="0" ixz="0" iyy="8.42775e-06" iyz="0" izz="1.30101e-05"/>
    </inertial>
  </link>
  <link name="r_uarm">
    <inertial>
      <mass value="4.386"/>
      <origin rpy="0 0 0" xyz="0 0.065 0"/>
      <inertia ixx="0.00656" ixy="0" ixz="0" iyy="0.00358" iyz="0" izz="0.00656"/>
    </inertial>
  </link>
  <link name="r_ufarm">
    <inertial>
      <mass value="2.4798"/>
      <origin rpy="0 0 0" xyz="0.00015 0.08296 0.00037"/>
      <inertia ixx="0.012731" ixy="0" ixz="0" iyy="0.002857" iyz="0" izz="0.011948"/>
    </inertial>
  </link>
  <link name="r_uglut">
    <inertial>
      <mass value="1.959"/>
      <origin rpy="0 0 0" xyz="0.00529262 0.00344732 0.00313046"/>
      <inertia ixx="0.00074276" ixy="3.79607e-08" ixz="-2.79549e-05" iyy="0.000688179" iyz="3.2735e-08" izz="0.00041242"/>
    </inertial>
  </link>
  <link name="r_uleg">
    <inertial>
      <mass value="8.204"/>
      <origin rpy="0 0 0" xyz="0 0 -0.21"/>
      <inertia ixx="0.09" ixy="0" ixz="0" iyy="0.09" iyz="0" izz="0.02"/>
    </inertial>
    <!-- to cover the logo shield -->
    <!-- inside strut -->
    <!-- outside strut -->
  </link>
  <link name="utorso">
    <inertial>
      <mass value="84.409"/>
      <origin rpy="0 0 0" xyz="-0.0622 0.0023 0.3157"/>
      <inertia ixx="1.577" ixy="-0.032" ixz="0.102" iyy="1.602" iyz="0.047" izz="0.565"/>
    </inertial>
  </link>
  <!-- REPLACED revolute with fixed for test purposes. -->
  <joint name="back_bkx" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05"/>
    <parent link="mtorso"/>
    <child link="utorso"/>
  </joint>
  <joint name="back_bky" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0.162"/>
    <axis xyz="0 1 0"/>
    <parent link="ltorso"/>
    <child link="mtorso"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="445" lower="-0.219388" upper="0.538783" velocity="9"/>
  </joint>
  <!-- REPLACED revolute with fixed for test purposes. -->
  <joint name="back_bkz" type="fixed">
    <origin rpy="0 0 0" xyz="-0.0125 0 0"/>
    <parent link="pelvis"/>
    <child link="ltorso"/>
  </joint>
  <joint name="l_arm_elx" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.119 0.0092"/>
    <axis xyz="-1.0 -0.0 -0.0"/>
    <parent link="l_uarm"/>
    <child link="l_larm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="112" lower="0" upper="2.35619" velocity="12"/>
  </joint>
  <joint name="l_arm_ely" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.187 -0.016"/>
    <axis xyz="-0.0 -1.0 -0.0"/>
    <parent link="l_scap"/>
    <child link="l_uarm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="63" lower="0" upper="3.14159" velocity="12"/>
  </joint>
  <joint name="l_arm_shx" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.11 -0.245"/>
    <axis xyz="-1.0 -0.0 -0.0"/>
    <parent link="l_clav"/>
    <child link="l_scap"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="99" lower="-1.5708" upper="1.5708" velocity="12"/>
  </joint>
  <joint name="l_arm_shz" type="revolute">
    <origin rpy="0 0 3.14159265359" xyz="0.1406 0.2256 0.4776"/>
    <axis xyz="0 0 1"/>
    <parent link="utorso"/>
    <child link="l_clav"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="87" lower="-1.5708" upper="0.785398" velocity="12"/>
  </joint>
  <joint name="l_arm_mwx" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="1 0 0"/>
    <parent link="l_ufarm"/>
    <child link="l_lfarm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="25" lower="-1.7628" upper="1.7628" velocity="10"/>
  </joint>
  <joint name="l_arm_uwy" type="revolute">
    <origin rpy="0 3.14159265359 0" xyz="0 -0.29955 -0.00921"/>
    <axis xyz="-0.0 -1.0 -0.0"/>
    <parent link="l_larm"/>
    <child link="l_ufarm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="25" lower="-3.011" upper="3.011" velocity="10"/>
  </joint>
  <joint name="l_arm_lwy" type="revolute">
    <origin rpy="0 3.14159265359 0" xyz="0 0 0"/>
    <axis xyz="-0.0 -1.0 -0.0"/>
    <parent link="l_lfarm"/>
    <child link="l_hand"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="25" lower="-2.9671" upper="2.9671" velocity="10"/>
  </joint>
  <joint name="l_leg_akx" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="1 0 0"/>
    <parent link="l_talus"/>
    <child link="l_foot"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="360" lower="-0.8" upper="0.8" velocity="12"/>
  </joint>
  <joint name="l_leg_aky" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 -0.422"/>
    <axis xyz="0 1 0"/>
    <parent link="l_lleg"/>
    <child link="l_talus"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="740" lower="-1" upper="0.7" velocity="12"/>
  </joint>
  <joint name="l_leg_hpx" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="1 0 0"/>
    <parent link="l_uglut"/>
    <child link="l_lglut"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="530" lower="-0.523599" upper="0.523599" velocity="12"/>
  </joint>
  <joint name="l_leg_hpy" type="revolute">
    <origin rpy="0 0 0" xyz="0.05 0.0225 -0.066"/>
    <axis xyz="0 1 0"/>
    <parent link="l_lglut"/>
    <child link="l_uleg"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="840" lower="-1.61234" upper="0.65764" velocity="12"/>
  </joint>
  <joint name="l_leg_hpz" type="revolute">
    <origin rpy="0 0 0" xyz="0 0.089 0"/>
    <axis xyz="0 0 1"/>
    <parent link="pelvis"/>
    <child link="l_uglut"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="275" lower="-0.174358" upper="0.786794" velocity="12"/>
  </joint>
  <joint name="l_leg_kny" type="revolute">
    <origin rpy="0 0 0" xyz="-0.05 0 -0.374"/>
    <axis xyz="0 1 0"/>
    <parent link="l_uleg"/>
    <child link="l_lleg"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="890" lower="0" upper="2.35637" velocity="12"/>
  </joint>
  <joint name="neck_ay" type="revolute">
    <origin rpy="0 0 0" xyz="0.2546 0 0.6215"/>
    <axis xyz="0 1 0"/>
    <parent link="utorso"/>
    <child link="head"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="25" lower="-0.602139" upper="1.14319" velocity="6.28"/>
  </joint>
  <joint name="r_arm_elx" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.119 0.0092"/>
    <axis xyz="1 0 0"/>
    <parent link="r_uarm"/>
    <child link="r_larm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="112" lower="-2.35619" upper="0" velocity="12"/>
  </joint>
  <joint name="r_arm_ely" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.187 -0.016"/>
    <axis xyz="0 1 0"/>
    <parent link="r_scap"/>
    <child link="r_uarm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="63" lower="0" upper="3.14159" velocity="12"/>
  </joint>
  <joint name="r_arm_shx" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.11 -0.245"/>
    <axis xyz="1 0 0"/>
    <parent link="r_clav"/>
    <child link="r_scap"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="99" lower="-1.5708" upper="1.5708" velocity="12"/>
  </joint>
  <joint name="r_arm_shz" type="revolute">
    <origin rpy="0 0 0" xyz="0.1406 -0.2256 0.4776"/>
    <axis xyz="0 0 1"/>
    <parent link="utorso"/>
    <child link="r_clav"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="87" lower="-0.785398" upper="1.5708" velocity="12"/>
  </joint>
  <joint name="r_arm_mwx" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="1 0 0"/>
    <parent link="r_ufarm"/>
    <child link="r_lfarm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="25" lower="-1.7628" upper="1.7628" velocity="10"/>
  </joint>
  <joint name="r_arm_uwy" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.29955 -0.00921"/>
    <axis xyz="0 1 0"/>
    <parent link="r_larm"/>
    <child link="r_ufarm"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="25" lower="-3.011" upper="3.011" velocity="10"/>
  </joint>
  <joint name="r_arm_lwy" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="0 1 0"/>
    <parent link="r_lfarm"/>
    <child link="r_hand"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="25" lower="-2.9671" upper="2.9671" velocity="10"/>
  </joint>
  <joint name="r_leg_akx" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="1 0 0"/>
    <parent link="r_talus"/>
    <child link="r_foot"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="360" lower="-0.8" upper="0.8" velocity="12"/>
  </joint>
  <joint name="r_leg_aky" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 -0.422"/>
    <axis xyz="0 1 0"/>
    <parent link="r_lleg"/>
    <child link="r_talus"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="740" lower="-1" upper="0.7" velocity="12"/>
  </joint>
  <joint name="r_leg_hpx" type="revolute">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <axis xyz="1 0 0"/>
    <parent link="r_uglut"/>
    <child link="r_lglut"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="530" lower="-0.523599" upper="0.523599" velocity="12"/>
  </joint>
  <joint name="r_leg_hpy" type="revolute">
    <origin rpy="0 0 0" xyz="0.05 -0.0225 -0.066"/>
    <axis xyz="0 1 0"/>
    <parent link="r_lglut"/>
    <child link="r_uleg"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="840" lower="-1.61234" upper="0.65764" velocity="12"/>
  </joint>
  <joint name="r_leg_hpz" type="revolute">
    <origin rpy="0 0 0" xyz="0 -0.089 0"/>
    <axis xyz="0 0 1"/>
    <parent link="pelvis"/>
    <child link="r_uglut"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="275" lower="-0.786794" upper="0.174358" velocity="12"/>
  </joint>
  <joint name="r_leg_kny" type="revolute">
    <origin rpy="0 0 0" xyz="-0.05 0 -0.374"/>
    <axis xyz="0 1 0"/>
    <parent link="r_uleg"/>
    <child link="r_lleg"/>
    <dynamics damping="0.1" friction="0"/>
    <limit effort="890" lower="0" upper="2.35637" velocity="12"/>
  </joint>
  <link name="r_situational_awareness_camera_link">
    <inertial>
      <mass value="0.1"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.01 0.01 0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.01 0.01 0.01"/>
      </geometry>
    </collision>
  </link>
  <joint name="r_situational_awareness_camera_joint" type="fixed">
    <parent link="utorso"/>
    <child link="r_situational_awareness_camera_link"/>
    <!-- SA camera mounted above the multisense head -->
    <origin rpy="0 0 -1.309" xyz="0.155 -0.121 0.785"/>
  </joint>
  <joint name="r_situational_awareness_camera_optical_frame_joint" type="fixed">
    <origin rpy="-1.5708 0.0 -1.5708" xyz="0 0 0"/>
    <parent link="r_situational_awareness_camera_link"/>
    <child link="r_situational_awareness_camera_optical_frame"/>
  </joint>
  <link name="r_situational_awareness_camera_optical_frame"/>
  <link name="l_situational_awareness_camera_link">
    <inertial>
      <mass value="0.1"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.01 0.01 0.01"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.01 0.01 0.01"/>
      </geometry>
    </collision>
  </link>
  <joint name="l_situational_awareness_camera_joint" type="fixed">
    <parent link="utorso"/>
    <child link="l_situational_awareness_camera_link"/>
    <!-- SA camera mounted above the multisense head -->
    <origin rpy="0 0 1.309" xyz="0.155 0.121 0.785"/>
  </joint>
  <joint name="l_situational_awareness_camera_optical_frame_joint" type="fixed">
    <origin rpy="-1.5708 0.0 -1.5708" xyz="0 0 0"/>
    <parent link="l_situational_awareness_camera_link"/>
    <child link="l_situational_awareness_camera_optical_frame"/>
  </joint>
  <link name="l_situational_awareness_camera_optical_frame"/>
  <frame link="l_foot" name="l_foot_sole" rpy="0 0 0" xyz="0.0426  0.0017 -0.07645"/>
  <frame link="r_foot" name="r_foot_sole" rpy="0 0 0" xyz="0.0426 -0.0017 -0.07645"/>
  <frame link="l_foot" name="l_foot_toe" rpy="0 0 0" xyz="0.1728 0.0017 -0.07645"/>
  <frame link="r_foot" name="r_foot_toe" rpy="0 0 0" xyz="0.1728 -0.0017 -0.07645"/>
  <drake:collision_filter_group name="feet">
    <drake:member link="l_foot"/>
    <drake:member link="r_foot"/>
    <drake:ignored_collision_filter_group name="feet"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="core">
    <drake:member link="utorso"/>
    <drake:member link="pelvis"/>
    <drake:ignored_collision_filter_group name="core"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="ignore_core">
    <drake:member link="r_scap"/>
    <drake:member link="l_scap"/>
    <drake:member link="r_clav"/>
    <drake:member link="l_clav"/>
    <drake:ignored_collision_filter_group name="core"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="r_uleg">
    <drake:member link="r_uglut"/>
    <drake:member link="r_lglut"/>
    <drake:member link="r_uleg"/>
    <drake:ignored_collision_filter_group name="core"/>
    <drake:ignored_collision_filter_group name="r_uleg"/>
    <drake:ignored_collision_filter_group name="l_uleg"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="l_uleg">
    <drake:member link="l_uglut"/>
    <drake:member link="l_lglut"/>
    <drake:member link="l_uleg"/>
    <drake:ignored_collision_filter_group name="core"/>
    <drake:ignored_collision_filter_group name="l_uleg"/>
    <drake:ignored_collision_filter_group name="l_uleg"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="r_leg">
    <drake:member link="r_lleg"/>
    <drake:member link="r_talus"/>
    <drake:member link="r_foot"/>
    <drake:ignored_collision_filter_group name="r_leg"/>
    <drake:ignored_collision_filter_group name="r_uleg"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="l_leg">
    <drake:member link="l_lleg"/>
    <drake:member link="l_talus"/>
    <drake:member link="l_foot"/>
    <drake:ignored_collision_filter_group name="l_leg"/>
    <drake:ignored_collision_filter_group name="l_uleg"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="r_arm">
    <drake:member link="r_clav"/>
    <drake:member link="r_scap"/>
    <drake:member link="r_uarm"/>
    <drake:member link="r_larm"/>
    <drake:member link="r_ufarm"/>
    <drake:member link="r_lfarm"/>
    <drake:member link="r_hand"/>
    <drake:ignored_collision_filter_group name="r_arm"/>
  </drake:collision_filter_group>
  <drake:collision_filter_group name="l_arm">
    <drake:member link="l_clav"/>
    <drake:member link="l_scap"/>
    <drake:member link="l_uarm"/>
    <drake:member link="l_larm"/>
    <drake:member link="l_ufarm"/>
    <drake:member link="l_lfarm"/>
    <drake:member link="l_hand"/>
    <drake:ignored_collision_filter_group name="l_arm"/>
  </drake:collision_filter_group>
  <link name="head">
    <inertial>
      <origin rpy="0 0 0" xyz="-0.075493 3.3383E-05 0.02774"/>
      <mass value="1.4199"/>
      <inertia ixx="0.0039688" ixy="-1.5797E-06" ixz="-0.00089293" iyy="0.0041178" iyz="-6.8415E-07" izz="0.0035243"/>
    </inertial>
  </link>
  <link name="pre_spindle"/>
  <joint name="pre_spindle_joint" type="fixed">
    <axis xyz="0 1 0"/>
    <origin rpy="0 0 0" xyz="-0.0446 0 0.0880"/>
    <parent link="head"/>
    <child link="pre_spindle"/>
  </joint>
  <link name="pre_spindle_cal_x"/>
  <link name="pre_spindle_cal_y"/>
  <link name="pre_spindle_cal_z"/>
  <link name="pre_spindle_cal_roll"/>
  <link name="pre_spindle_cal_pitch"/>
  <link name="pre_spindle_cal_yaw"/>
  <joint name="pre_spindle_cal_x_joint" type="fixed">
    <parent link="pre_spindle"/>
    <child link="pre_spindle_cal_x"/>
    <axis xyz="1 0 0"/>
    <limit effort="0.0" lower="-0.5" upper="0.5" velocity="0.0"/>
  </joint>
  <joint name="pre_spindle_cal_y_joint" type="fixed">
    <parent link="pre_spindle_cal_x"/>
    <child link="pre_spindle_cal_y"/>
    <axis xyz="0 1 0"/>
    <limit effort="0.0" lower="-0.5" upper="0.5" velocity="0.0"/>
  </joint>
  <joint name="pre_spindle_cal_z_joint" type="fixed">
    <parent link="pre_spindle_cal_y"/>
    <child link="pre_spindle_cal_z"/>
    <axis xyz="0 0 1"/>
    <limit effort="0.0" lower="-0.5" upper="0.5" velocity="0.0"/>
  </joint>
  <joint name="pre_spindle_cal_roll_joint" type="fixed">
    <parent link="pre_spindle_cal_z"/>
    <child link="pre_spindle_cal_roll"/>
    <axis xyz="1 0 0"/>
  </joint>
  <joint name="pre_spindle_cal_pitch_joint" type="fixed">
    <parent link="pre_spindle_cal_roll"/>
    <child link="pre_spindle_cal_pitch"/>
    <axis xyz="0 1 0"/>
  </joint>
  <joint name="pre_spindle_cal_yaw_joint" type="fixed">
    <parent link="pre_spindle_cal_pitch"/>
    <child link="pre_spindle_cal_yaw"/>
    <axis xyz="0 0 1"/>
  </joint>
  <joint name="hokuyo_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="pre_spindle_cal_yaw"/>
    <child link="post_spindle"/>
    <axis xyz="1 0 0"/>
  </joint>
  <link name="post_spindle"/>
  <link name="post_spindle_cal_x"/>
  <link name="post_spindle_cal_y"/>
  <link name="post_spindle_cal_z"/>
  <link name="post_spindle_cal_roll"/>
  <link name="post_spindle_cal_pitch"/>
  <joint name="post_spindle_cal_x_joint" type="fixed">
    <parent link="post_spindle"/>
    <child link="post_spindle_cal_x"/>
    <axis xyz="1 0 0"/>
    <limit effort="0.0" lower="-0.5" upper="0.5" velocity="0.0"/>
  </joint>
  <joint name="post_spindle_cal_y_joint" type="fixed">
    <parent link="post_spindle_cal_x"/>
    <child link="post_spindle_cal_y"/>
    <axis xyz="0 1 0"/>
    <limit effort="0.0" lower="-0.5" upper="0.5" velocity="0.0"/>
  </joint>
  <joint name="post_spindle_cal_z_joint" type="fixed">
    <parent link="post_spindle_cal_y"/>
    <child link="post_spindle_cal_z"/>
    <axis xyz="0 0 1"/>
    <limit effort="0.0" lower="-0.5" upper="0.5" velocity="0.0"/>
  </joint>
  <joint name="post_spindle_cal_roll_joint" type="fixed">
    <parent link="post_spindle_cal_z"/>
    <child link="post_spindle_cal_roll"/>
    <axis xyz="1 0 0"/>
  </joint>
  <joint name="post_spindle_cal_pitch_joint" type="fixed">
    <parent link="post_spindle_cal_roll"/>
    <child link="post_spindle_cal_pitch"/>
    <axis xyz="0 1 0"/>
  </joint>
  <joint name="post_spindle_cal_yaw_joint" type="fixed">
    <parent link="post_spindle_cal_pitch"/>
    <child link="hokuyo_link"/>
    <axis xyz="0 0 1"/>
  </joint>
  <link name="hokuyo_link">
    <inertial>
      <origin rpy="0 0 0" xyz="0.012428 0.0004084 -0.0041835"/>
      <mass value="0.057664"/>
      <inertia ixx="3.7174E-05" ixy="4.9927E-08" ixz="1.1015E-05" iyy="4.2412E-05" iyz="-9.8165E-09" izz="4.167E-05"/>
    </inertial>
    <visual>
      <origin rpy="-0.314 0 0" xyz="0.045 -0.0261018277 -0.08342369"/>
      <material name="">
        <color rgba="0.72941 0.35686 0.023529 1"/>
      </material>
    </visual>
  </link>
  <joint name="head_hokuyo_fixed_joint" type="fixed">
    <axis xyz="0 1 0"/>
    <origin rpy="0 0 0" xyz="0.03 0 0.015"/>
    <parent link="hokuyo_link"/>
    <child link="head_hokuyo_frame"/>
  </joint>
  <link name="head_hokuyo_frame">
    <inertial>
      <mass value="0.01"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
    </inertial>
  </link>
  <gazebo reference="head_hokuyo_frame">
    <sensor name="head_hokuyo_sensor" type="ray">
      <visualize>false</visualize>
      <update_rate>40</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>720</samples>
            <resolution>1</resolution>
            <min_angle>-1.570796</min_angle>
            <max_angle>1.570796</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.10</min>
          <max>30.0</max>
          <resolution>0.01</resolution>
        </range>
      </ray>
      <plugin filename="libgazebo_ros_laser.so" name="gazebo_ros_head_hokuyo_controller">
        <gaussianNoise>0.005</gaussianNoise>
        <alwaysOn>true</alwaysOn>
        <updateRate>40</updateRate>
        <topicName>/scan</topicName>
        <frameName>head_hokuyo_frame</frameName>
      </plugin>
    </sensor>
  </gazebo>
  <joint name="left_camera_frame_joint" type="fixed">
    <!-- optical frame collocated with tilting DOF -->
    <origin xyz="0.0 0.035 -0.002"/>
    <parent link="head"/>
    <child link="left_camera_frame"/>
  </joint>
  <link name="left_camera_frame">
    <inertial>
      <mass value="0.1"/>
      <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>
  <joint name="left_camera_optical_frame_joint" type="fixed">
    <origin rpy="-1.5708 0.0 -1.5708" xyz="0 0 0"/>
    <parent link="left_camera_frame"/>
    <child link="left_camera_optical_frame"/>
  </joint>
  <link name="left_camera_optical_frame"/>
  <gazebo reference="left_camera_frame">
    <sensor name="left_camera_sensor" type="camera">
      <!-- update rate based on spec sheet for 2mp 15fps -->
      <update_rate>15.0</update_rate>
      <camera>
        <!-- hfov based on spec sheet, 80 degrees X 45 degrees -->
        <!-- for resolution of 2048 x 1088, we have non-unity aspect ratio -->
        <!-- but gazebo will violate the vertical fov for now to keep aspect ratio of 1 -->
        <horizontal_fov>1.3962634</horizontal_fov>
        <image>
          <width>2048</width>
          <height>1088</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.02</near>
          <far>100</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_camera.so" name="left_camera_controller">
        <alwaysOn>true</alwaysOn>
        <!-- update rate based on spec sheet for 2mp 15fps -->
        <updateRate>15.0</updateRate>
        <cameraName>multisense/left</cameraName>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>left_camera_optical_frame</frameName>
        <hackBaseline>0.0</hackBaseline>
        <distortionK1>0.0</distortionK1>
        <distortionK2>0.0</distortionK2>
        <distortionK3>0.0</distortionK3>
        <distortionT1>0.0</distortionT1>
        <distortionT2>0.0</distortionT2>
      </plugin>
    </sensor>
  </gazebo>
  <joint name="right_camera_frame_joint" type="fixed">
    <origin xyz="0.0 -0.035 -0.002"/>
    <parent link="head"/>
    <child link="right_camera_frame"/>
  </joint>
  <link name="right_camera_frame">
    <inertial>
      <mass value="0.1"/>
      <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>
  <joint name="right_camera_optical_frame_joint" type="fixed">
    <origin rpy="-1.5708 0.0 -1.5708" xyz="0 0 0"/>
    <parent link="right_camera_frame"/>
    <child link="right_camera_optical_frame"/>
  </joint>
  <link name="right_camera_optical_frame"/>
  <gazebo reference="right_camera_frame">
    <sensor name="right_camera_sensor" type="camera">
      <!-- update rate based on spec sheet for 2mp 15fps -->
      <update_rate>15.0</update_rate>
      <camera>
        <!-- hfov based on spec sheet, 80 degrees X 45 degrees -->
        <!-- for resolution of 2048 x 1088, we have non-unity aspect ratio -->
        <!-- but gazebo will violate the vertical fov for now to keep aspect ratio of 1 -->
        <horizontal_fov>1.3962634</horizontal_fov>
        <image>
          <width>2048</width>
          <height>1088</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.02</near>
          <far>100</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_camera.so" name="right_camera_controller">
        <alwaysOn>true</alwaysOn>
        <!-- update rate based on spec sheet for 2mp 15fps -->
        <updateRate>15.0</updateRate>
        <cameraName>multisense/right</cameraName>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>left_camera_optical_frame</frameName>
        <hackBaseline>0.07</hackBaseline>
        <distortionK1>0.0</distortionK1>
        <distortionK2>0.0</distortionK2>
        <distortionK3>0.0</distortionK3>
        <distortionT1>0.0</distortionT1>
        <distortionT2>0.0</distortionT2>
      </plugin>
    </sensor>
  </gazebo>
  <joint name="center_top_led_frame_joint" type="fixed">
    <origin xyz="0.01125 0.0 0.0105"/>
    <parent link="head"/>
    <child link="center_top_led_frame"/>
  </joint>
  <link name="center_top_led_frame">
    <inertial>
      <mass value="0.1"/>
      <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>
  <joint name="center_bottom_led_frame_joint" type="fixed">
    <origin xyz="0.01125 0.0 -0.0155"/>
    <parent link="head"/>
    <child link="center_bottom_led_frame"/>
  </joint>
  <link name="center_bottom_led_frame">
    <inertial>
      <mass value="0.1"/>
      <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>
  <joint name="left_led_frame_joint" type="fixed">
    <origin rpy="0 -0.15 0.53" xyz="-0.01443 0.07452 0.050346"/>
    <parent link="head"/>
    <child link="left_led_frame"/>
  </joint>
  <link name="left_led_frame">
    <inertial>
      <mass value="0.1"/>
      <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>
  <joint name="right_led_frame_joint" type="fixed">
    <origin rpy="0 -0.15 -0.53" xyz="-0.01443 -0.07452 0.050346"/>
    <parent link="head"/>
    <child link="right_led_frame"/>
  </joint>
  <link name="right_led_frame">
    <inertial>
      <mass value="0.1"/>
      <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>
  <gazebo reference="r_foot">
    <!-- contact sensor -->
    <sensor name="r_foot_contact_sensor" type="contact">
      <update_rate>1000.0</update_rate>
      <always_on>1</always_on>
      <contact>
        <topic>/r_foot_contact</topic>
      </contact>
    </sensor>
  </gazebo>
  <gazebo reference="l_foot">
    <!-- contact sensor -->
    <sensor name="l_foot_contact_sensor" type="contact">
      <update_rate>1000.0</update_rate>
      <always_on>1</always_on>
      <contact>
        <topic>/l_foot_contact</topic>
      </contact>
    </sensor>
  </gazebo>
  <transmission name="head_hokuyo_trans" type="pr2_mechanism_model/SimpleTransmission">
    <joint name="hokuyo_joint"/>
    <actuator name="hokuyo_motor"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="back_bkz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <joint name="back_bkz"/>
    <actuator name="back_bkz_motor"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="back_bky_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="back_bky_motor"/>
    <joint name="back_bky"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="back_bkx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="back_bkx_motor"/>
    <joint name="back_bkx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_arm_elx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_elx_motor"/>
    <joint name="l_arm_elx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_arm_ely_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_ely_motor"/>
    <joint name="l_arm_ely"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_arm_mwx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_mwx_motor"/>
    <joint name="l_arm_mwx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_arm_shx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_shx_motor"/>
    <joint name="l_arm_shx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_arm_shz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_shz_motor"/>
    <joint name="l_arm_shz"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_arm_uwy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_uwy_motor"/>
    <joint name="l_arm_uwy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_arm_lwy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_lwy_motor"/>
    <joint name="l_arm_lwy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_kny_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_kny_motor"/>
    <joint name="l_leg_kny"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_akx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_akx_motor"/>
    <joint name="l_leg_akx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_hpy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_hpy_motor"/>
    <joint name="l_leg_hpy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_hpx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_hpx_motor"/>
    <joint name="l_leg_hpx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_aky_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_aky_motor"/>
    <joint name="l_leg_aky"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_hpz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_hpz_motor"/>
    <joint name="l_leg_hpz"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="neck_ay_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="neck_ay_motor"/>
    <joint name="neck_ay"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_arm_elx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_elx_motor"/>
    <joint name="r_arm_elx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_arm_ely_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_ely_motor"/>
    <joint name="r_arm_ely"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_arm_mwx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_mwx_motor"/>
    <joint name="r_arm_mwx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_arm_shx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_shx_motor"/>
    <joint name="r_arm_shx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_arm_shz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_shz_motor"/>
    <joint name="r_arm_shz"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_arm_uwy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_uwy_motor"/>
    <joint name="r_arm_uwy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_arm_lwy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_lwy_motor"/>
    <joint name="r_arm_lwy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_kny_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_kny_motor"/>
    <joint name="r_leg_kny"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_akx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_akx_motor"/>
    <joint name="r_leg_akx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_hpy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_hpy_motor"/>
    <joint name="r_leg_hpy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_hpx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_hpx_motor"/>
    <joint name="r_leg_hpx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_aky_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_aky_motor"/>
    <joint name="r_leg_aky"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_hpz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_hpz_motor"/>
    <joint name="r_leg_hpz"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <link name="l_hand_force_torque">
    <inertial>
      <mass value="0.1"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.01 0.01 0.01"/>
      </geometry>
    </visual>
  </link>
  <joint name="l_hand_force_torque_joint" type="fixed">
    <origin rpy="0 0 3.141592" xyz="0 -0.1245 0"/>
    <parent link="l_hand"/>
    <child link="l_hand_force_torque"/>
  </joint>
  <link name="r_hand_force_torque">
    <inertial>
      <mass value="0.1"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.00001" ixy="0" ixz="0" iyy="0.00001" iyz="0" izz="0.00001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.01 0.01 0.01"/>
      </geometry>
    </visual>
  </link>
  <joint name="r_hand_force_torque_joint" type="fixed">
    <origin rpy="0 0 3.141592" xyz="0 -0.1245 0"/>
    <parent link="r_hand"/>
    <child link="r_hand_force_torque"/>
  </joint>
  <!-- Set the initial hand position and orientation by changing 'rpy' and 'xyz'
  to mach the values in your actual robot. -->
  <link name="left_palm">
  </link>
  <joint name="left_palm_joint" type="fixed">
    <parent link="l_hand_force_torque"/>
    <child link="left_palm"/>
  </joint>
  <link name="right_palm">
  </link>
  <joint name="right_palm_joint" type="fixed">
    <parent link="r_hand_force_torque"/>
    <child link="right_palm"/>
  </joint>
  <joint name="l_hand_face_joint" type="fixed">
    <origin rpy="0.0 0.0 0.0" xyz="0 0.12 0"/>
    <parent link="l_hand_force_torque"/>
    <child link="l_hand_face"/>
  </joint>
  <link name="l_hand_face"/>
  <joint name="l_hand_gripper_joint" type="fixed">
    <origin rpy="0.0 0.0 0.0" xyz="0 0.18 0"/>
    <parent link="l_hand_force_torque"/>
    <child link="l_hand_gripper"/>
  </joint>
  <link name="l_hand_gripper"/>
  <link name="l_hand_camera_link"/>
  <joint name="l_hand_camera_joint" type="fixed">
    <parent link="l_hand_force_torque"/>
    <child link="l_hand_camera_link"/>
    <!-- new camera has no inward angle, placeholder is still here in case it is later tilted-->
    <origin rpy=" -1.57079 0  1.5708" xyz="-0.09892  0.01431 0.0"/>
  </joint>
  <joint name="l_hand_camera_optical_frame_joint" type="fixed">
    <origin rpy="-1.57079 0.0 -1.57079" xyz="0 0 0"/>
    <parent link="l_hand_camera_link"/>
    <child link="l_hand_camera_optical_frame"/>
  </joint>
  <link name="l_hand_camera_optical_frame"/>
  <gazebo reference="l_hand_camera_link">
    <sensor name="l_hand_camera_sensor" type="camera">
      <update_rate>10.0</update_rate>
      <camera name="l_hand_camera">
        <!-- m.antone estimate of 2.8mm tamron lense fov -->
        <horizontal_fov>1.7281</horizontal_fov>
        <image>
          <width>1280</width>
          <height>1024</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.02</near>
          <far>100</far>
        </clip>
        <noise>
          <type>gaussian</type>
          <!-- Noise is sampled independently per pixel on each frame.
               That pixel's noise value is added to each of its color
               channels, which at that point lie in the range [0,1].
               The stddev value of 0.007 is based on experimental data
               from a camera in a Sandia hand pointed at a static scene
               in a couple of different lighting conditions.  -->
          <mean>0.0</mean>
          <stddev>0.007</stddev>
        </noise>
      </camera>
      <plugin filename="libgazebo_ros_camera.so" name="l_hand_camera_controller">
        <alwaysOn>true</alwaysOn>
        <updateRate>0.0</updateRate>
        <cameraName>robotiq_hands/l_hand_camera</cameraName>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>l_hand_camera_optical_frame</frameName>
        <hackBaseline>0.07</hackBaseline>
        <distortionK1>0.0</distortionK1>
        <distortionK2>0.0</distortionK2>
        <distortionK3>0.0</distortionK3>
        <distortionT1>0.0</distortionT1>
        <distortionT2>0.0</distortionT2>
      </plugin>
    </sensor>
  </gazebo>
  <joint name="r_hand_face_joint" type="fixed">
    <origin rpy="0.0 0.0 0.0" xyz="0 0.12 0"/>
    <parent link="r_hand_force_torque"/>
    <child link="r_hand_face"/>
  </joint>
  <link name="r_hand_face"/>
  <joint name="r_hand_gripper_joint" type="fixed">
    <origin rpy="0.0 0.0 0.0" xyz="0 0.18 0"/>
    <parent link="r_hand_force_torque"/>
    <child link="r_hand_gripper"/>
  </joint>
  <link name="r_hand_gripper"/>
  <link name="r_hand_camera_link"/>
  <joint name="r_hand_camera_joint" type="fixed">
    <parent link="r_hand_force_torque"/>
    <child link="r_hand_camera_link"/>
    <!-- new camera has no inward angle, placeholder is still here in case it is later tilted-->
    <origin rpy=" 1.57079 0  1.5708" xyz="0.09892  0.01431 0.0"/>
  </joint>
  <joint name="r_hand_camera_optical_frame_joint" type="fixed">
    <origin rpy="-1.57079 0.0 -1.57079" xyz="0 0 0"/>
    <parent link="r_hand_camera_link"/>
    <child link="r_hand_camera_optical_frame"/>
  </joint>
  <link name="r_hand_camera_optical_frame"/>
  <gazebo reference="r_hand_camera_link">
    <sensor name="r_hand_camera_sensor" type="camera">
      <update_rate>10.0</update_rate>
      <camera name="r_hand_camera">
        <!-- m.antone estimate of 2.8mm tamron lense fov -->
        <horizontal_fov>1.7281</horizontal_fov>
        <image>
          <width>1280</width>
          <height>1024</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.02</near>
          <far>100</far>
        </clip>
        <noise>
          <type>gaussian</type>
          <!-- Noise is sampled independently per pixel on each frame.
               That pixel's noise value is added to each of its color
               channels, which at that point lie in the range [0,1].
               The stddev value of 0.007 is based on experimental data
               from a camera in a Sandia hand pointed at a static scene
               in a couple of different lighting conditions.  -->
          <mean>0.0</mean>
          <stddev>0.007</stddev>
        </noise>
      </camera>
      <plugin filename="libgazebo_ros_camera.so" name="r_hand_camera_controller">
        <alwaysOn>true</alwaysOn>
        <updateRate>0.0</updateRate>
        <cameraName>robotiq_hands/r_hand_camera</cameraName>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>r_hand_camera_optical_frame</frameName>
        <hackBaseline>0.07</hackBaseline>
        <distortionK1>0.0</distortionK1>
        <distortionK2>0.0</distortionK2>
        <distortionK3>0.0</distortionK3>
        <distortionT1>0.0</distortionT1>
        <distortionT2>0.0</distortionT2>
      </plugin>
    </sensor>
  </gazebo>
</robot>
