<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from /home/jrivero/code/drcsim_default/ros/atlas_description/robots/atlas.urdf.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="atlas">
  <link name="l_clav">
    <inertial>
      <mass value="2.369"/>
      <origin rpy="0 -0 0" xyz="0.014 0.058 0.029"/>
      <inertia ixx="0.004" ixy="0.001" ixz="0" iyy="0.006" iyz="0" izz="0.007"/>
    </inertial>
    <visual>
      <origin rpy="1.04719755 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_clav.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5707963267949 0" xyz="0 0.0697 0.0261"/>
      <geometry>
        <cylinder length="0.1525" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="1.0472 0 0" xyz="-0.005 -0.0074 -0.0538"/>
      <geometry>
        <box size="0.13 0.15 0.05"/>
      </geometry>
    </collision>
  </link>
  <link name="l_farm">
    <inertial>
      <mass value="0.981"/>
      <origin rpy="0 -0 0" xyz="0 0.041 0"/>
      <inertia ixx="0.003" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.003"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 -0.06 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_farm.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5708 0" xyz="0.0 0.065 0.004"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 0.015 -0.002"/>
      <geometry>
        <box size="0.135 0.1 0.045"/>
      </geometry>
    </collision>
  </link>
  <link name="l_foot">
    <inertial>
      <mass value="0.867"/>
      <origin rpy="0 -0 0" xyz="0.027 0 -0.067"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_foot.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <!-- bottom -->
    <collision group="default">
      <origin rpy="0 0 0" xyz="0.048 0 -0.056119"/>
      <geometry>
        <box size="0.26 0.124887 0.05"/>
      </geometry>
    </collision>
    <!-- ankle FIXME: adding this collision body destabilizes robot, shouldn't
        <collision group="other">
          <origin xyz="0.0 0 -0.0528735" rpy="0 0 0"/>
          <geometry>
            <cylinder radius="0.0373" length="0.037827"/>
          </geometry>
        </collision>
        -->
  </link>
  <link name="l_hand">
    <inertial>
      <mass value="2.263"/>
      <origin rpy="0 -0 0" xyz="0 0.093 0"/>
      <inertia ixx="0.01" ixy="0" ixz="0" iyy="0.002" iyz="0" izz="0.01"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_hand.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.001 0.1 0.01"/>
      <geometry>
        <cylinder length="0.05" radius="0.03"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 0.05 0.01"/>
      <geometry>
        <box size="0.13 0.09 0.07"/>
      </geometry>
    </collision>
  </link>
  <link name="l_larm">
    <inertial>
      <mass value="2.148"/>
      <origin rpy="0 -0 0" xyz="-0.003 0.099 -0.014"/>
      <inertia ixx="0.005" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.006"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_larm.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.001 0.127 0.00"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 0.051 0.0"/>
      <geometry>
        <box size="0.135 0.15 0.06"/>
      </geometry>
    </collision>
  </link>
  <link name="l_lglut">
    <inertial>
      <mass value="0.803"/>
      <origin rpy="0 -0 0" xyz="0.0133341 0.0170484 -0.0312052"/>
      <inertia ixx="0.0453457" ixy="-2.24344e-05" ixz="2.50508e-06" iyy="0.0174182" iyz="0.000137862" izz="0.0071591"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_lglut.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.049968 0.022488 -0.0501165"/>
      <geometry>
        <cylinder length="0.060306" radius="0.02009687"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.12" radius="0.02"/>
      </geometry>
    </collision>
  </link>
  <link name="l_lleg">
    <inertial>
      <mass value="4.367"/>
      <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>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_lleg.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 0.10 0" xyz="0.02 0.00295 -0.18"/>
      <geometry>
        <cylinder length="0.40" radius="0.07"/>
      </geometry>
    </collision>
  </link>
  <link name="l_scap">
    <inertial>
      <mass value="2.707"/>
      <origin rpy="0 -0 0" xyz="-0.002 0.108 0"/>
      <inertia ixx="0.01" ixy="0" ixz="0" iyy="0.005" iyz="0" izz="0.013"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_scap.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.001 0.12651 0.01521"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 0.05 0.016"/>
      <geometry>
        <box size="0.15 0.15 0.06"/>
      </geometry>
    </collision>
  </link>
  <link name="l_talus">
    <inertial>
      <mass value="0.867"/>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_talus.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.029542" radius="0.010181"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="1.5707963267949 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.010059" radius="0.010348"/>
      </geometry>
    </collision>
  </link>
  <link name="l_uarm">
    <inertial>
      <mass value="1.881"/>
      <origin rpy="0 -0 0" xyz="0.007 0.114 0.008"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.003"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_uarm.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5708 0" xyz="0.001 0.111 0.0"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 1.5707963267949 0" xyz="0.001 0.043 0.01"/>
      <geometry>
        <box size="0.04 0.07 0.13"/>
      </geometry>
    </collision>
  </link>
  <link name="l_uglut">
    <inertial>
      <mass value="1.51622"/>
      <origin rpy="0 -0 0" xyz="0.00529262 -0.00344732 0.00313046"/>
      <inertia ixx="0.0327037" ixy="-3.79607e-08" ixz="-2.79549e-05" iyy="0.0174182" iyz="-3.2735e-08" izz="0.0071591"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_uglut.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.078396" radius="0.019096"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.080842" radius="0.019841"/>
      </geometry>
    </collision>
  </link>
  <link name="l_uleg">
    <inertial>
      <mass value="7.227"/>
      <origin rpy="0 -0 0" xyz="0 0 -0.21"/>
      <inertia ixx="0.0453457" ixy="0" ixz="0" iyy="0.09" iyz="0" izz="0.0071591"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/l_uleg.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 0 0" xyz="-0.0179 0.02085 -0.13"/>
      <geometry>
        <cylinder length="0.10" radius="0.1"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 -0.3 0" xyz="-0.03 0.01 -0.23"/>
      <geometry>
        <cylinder length="0.15" radius="0.07"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0.3 0" xyz="-0.005 0.01 -0.23"/>
      <geometry>
        <cylinder length="0.15" radius="0.07"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="-0.25 0 0" xyz="-0.02 0.03 -0.23"/>
      <geometry>
        <cylinder length="0.15" radius="0.07"/>
      </geometry>
    </collision>
  </link>
  <link name="ltorso">
    <inertial>
      <mass value="1.62729"/>
      <origin rpy="0 -0 0" xyz="-0.0112984 -3.15366e-06 0.0746835"/>
      <inertia ixx="0.0646646" ixy="-5.04491e-08" ixz="-0.000342157" iyy="0.050298" iyz="4.87119e-07" izz="0.10973"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/ltorso.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <!-- this part is completely internal
        <collision group="default">
          <origin rpy="0 0 0" xyz="0 0 0.039762"/>
          <geometry>
            <cylinder radius="0.025918" length="0.076922"/>
          </geometry>
        </collision>
        <collision group="other">
          <origin rpy="1.5707963267949 0 0" xyz="0 0.0250065 0.09025"/>
          <geometry>
            <cylinder radius="0.014828" length="0.020367"/>
          </geometry>
        </collision>
        <collision group="other">
          <origin rpy="1.5707963267949 0 0" xyz="0 -0.0248895 0.09025"/>
          <geometry>
            <cylinder radius="0.014828" length="0.020169"/>
          </geometry>
        </collision>
        -->
  </link>
  <link name="mtorso">
    <inertial>
      <mass value="3.8068"/>
      <origin rpy="0 -0 0" xyz="-0.00816266 -0.0131245 0.0305974"/>
      <inertia ixx="0.1975" ixy="-6.10764e-05" ixz="3.94009e-05" iyy="0.544742" iyz="5.27463e-05" izz="0.10973"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/mtorso.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.03" radius="0.017"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 1.5707963267949 0" xyz="0.0285 0 0.05"/>
      <geometry>
        <cylinder length="0.02" radius="0.015"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 1.5707963267949 0" xyz="-0.0285 0 0.05"/>
      <geometry>
        <cylinder length="0.02" radius="0.015"/>
      </geometry>
    </collision>
  </link>
  <link name="pelvis">
    <inertial>
      <mass value="12.54638"/>
      <origin rpy="0 -0 0" xyz="0.0111 0 0.0271"/>
      <inertia ixx="0.0327037" ixy="0.0008" ixz="-0.0007" iyy="0.0174182" iyz="-0.0005" izz="0.118059"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/pelvis.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.046 0.0 -0.02"/>
      <geometry>
        <cylinder length="0.06" radius="0.11"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="1.5707963267949 0 0" xyz="-0.03 0.0 -0.02"/>
      <geometry>
        <cylinder length="0.06" radius="0.11"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.01 0.042 0.09"/>
      <geometry>
        <cylinder length="0.05" radius="0.16"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.01 -0.042 0.09"/>
      <geometry>
        <cylinder length="0.05" radius="0.16"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="-0.1 0 -0.05"/>
      <geometry>
        <box size="0.1 0.15 0.2"/>
      </geometry>
    </collision>
  </link>
  <link name="r_clav">
    <inertial>
      <mass value="2.369"/>
      <origin rpy="0 -0 0" xyz="0.014 -0.058 0.029"/>
      <inertia ixx="0.004" ixy="-0.001" ixz="0" iyy="0.006" iyz="0" izz="0.007"/>
    </inertial>
    <visual>
      <origin rpy="-1.04719755 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_clav.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5707963267949 0" xyz="0 -0.0697 0.0261"/>
      <geometry>
        <cylinder length="0.1525" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="-1.0472 0 0" xyz="-0.005 0.0074 -0.0538"/>
      <geometry>
        <box size="0.13 0.15 0.05"/>
      </geometry>
    </collision>
  </link>
  <link name="r_farm">
    <inertial>
      <mass value="0.981"/>
      <origin rpy="0 -0 0" xyz="0 -0.041 0"/>
      <inertia ixx="0.003" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.003"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0.06 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_farm.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5708 0" xyz="0.0 -0.065 0.004"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 -0.015 -0.002"/>
      <geometry>
        <box size="0.135 0.1 0.045"/>
      </geometry>
    </collision>
  </link>
  <link name="r_foot">
    <inertial>
      <mass value="0.867"/>
      <origin rpy="0 -0 0" xyz="0.027 0 -0.067"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_foot.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <!-- bottom -->
    <collision group="default">
      <origin rpy="0 0 0" xyz="0.048 0 -0.056119"/>
      <geometry>
        <box size="0.26 0.124887 0.05"/>
      </geometry>
    </collision>
    <!-- ankle FIXME: adding this collision body destabilizes robot, shouldn't
        <collision group="other">
          <origin xyz="0.0 0 -0.0528735" rpy="0 0 0"/>
          <geometry>
            <cylinder radius="0.0373" length="0.037827"/>
          </geometry>
        </collision>
        -->
  </link>
  <link name="r_hand">
    <inertial>
      <mass value="2.263"/>
      <origin rpy="0 -0 0" xyz="0 -0.093 0"/>
      <inertia ixx="0.01" ixy="0" ixz="0" iyy="0.002" iyz="0" izz="0.01"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_hand.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.001 -0.1 0.01"/>
      <geometry>
        <cylinder length="0.05" radius="0.03"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 -0.05 0.01"/>
      <geometry>
        <box size="0.13 0.09 0.07"/>
      </geometry>
    </collision>
  </link>
  <link name="r_larm">
    <inertial>
      <mass value="2.148"/>
      <origin rpy="0 -0 0" xyz="-0.003 -0.099 -0.014"/>
      <inertia ixx="0.005" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.006"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_larm.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.001 -0.127 0.00"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 -0.051 0.0"/>
      <geometry>
        <box size="0.135 0.15 0.06"/>
      </geometry>
    </collision>
  </link>
  <link name="r_lglut">
    <inertial>
      <mass value="0.803"/>
      <origin rpy="0 -0 0" xyz="0.0133341 -0.0170484 -0.0312052"/>
      <inertia ixx="0.0453457" ixy="2.24344e-05" ixz="2.50508e-06" iyy="0.0174182" iyz="-0.000137862" izz="0.0071591"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_lglut.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.049968 -0.022488 -0.0501165"/>
      <geometry>
        <cylinder length="0.060306" radius="0.02009687"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.12" radius="0.02"/>
      </geometry>
    </collision>
  </link>
  <link name="r_lleg">
    <inertial>
      <mass value="4.367"/>
      <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>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_lleg.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 0.10 0" xyz="0.02 -0.00295 -0.18"/>
      <geometry>
        <cylinder length="0.40" radius="0.07"/>
      </geometry>
    </collision>
  </link>
  <link name="r_scap">
    <inertial>
      <mass value="2.707"/>
      <origin rpy="0 -0 0" xyz="-0.002 -0.108 0"/>
      <inertia ixx="0.01" ixy="0" ixz="0" iyy="0.005" iyz="0" izz="0.013"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_scap.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="1.5707963267949 0 0" xyz="0.001 -0.12651 0.01521"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.001 -0.05 0.016"/>
      <geometry>
        <box size="0.15 0.15 0.06"/>
      </geometry>
    </collision>
  </link>
  <link name="r_talus">
    <inertial>
      <mass value="0.867"/>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.00350421" iyz="0" izz="0.00400651"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_talus.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.029542" radius="0.010181"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="1.5707963267949 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.010059" radius="0.010348"/>
      </geometry>
    </collision>
  </link>
  <link name="r_uarm">
    <inertial>
      <mass value="1.881"/>
      <origin rpy="0 -0 0" xyz="0.007 -0.114 0.008"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.003"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_uarm.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5708 0" xyz="0.001 -0.111 0.0"/>
      <geometry>
        <cylinder length="0.125" radius="0.045"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 1.5707963267949 0" xyz="0.001 -0.043 0.01"/>
      <geometry>
        <box size="0.04 0.07 0.13"/>
      </geometry>
    </collision>
  </link>
  <link name="r_uglut">
    <inertial>
      <mass value="1.51622"/>
      <origin rpy="0 -0 0" xyz="0.00529262 0.00344732 0.00313046"/>
      <inertia ixx="0.0327037" ixy="3.79607e-08" ixz="-2.79549e-05" iyy="0.0174182" iyz="3.2735e-08" izz="0.0071591"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_uglut.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 1.5707963267949 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.078396" radius="0.019096"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.080842" radius="0.019841"/>
      </geometry>
    </collision>
  </link>
  <link name="r_uleg">
    <inertial>
      <mass value="7.227"/>
      <origin rpy="0 -0 0" xyz="0 0 -0.21"/>
      <inertia ixx="0.0453457" ixy="0" ixz="0" iyy="0.09" iyz="0" izz="0.0071591"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/r_uleg.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 0 0" xyz="-0.0179 -0.02085 -0.13"/>
      <geometry>
        <cylinder length="0.10" radius="0.1"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 -0.3 0" xyz="-0.03 -0.01 -0.23"/>
      <geometry>
        <cylinder length="0.15" radius="0.07"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0.3 0" xyz="-0.005 -0.01 -0.23"/>
      <geometry>
        <cylinder length="0.15" radius="0.07"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0.25 0 0" xyz="-0.02 -0.03 -0.23"/>
      <geometry>
        <cylinder length="0.15" radius="0.07"/>
      </geometry>
    </collision>
  </link>
  <link name="utorso">
    <inertial>
      <mass value="15.2272"/>
      <origin rpy="0 -0 0" xyz="0.02 -0.001 0.211"/>
      <inertia ixx="0.395" ixy="0" ixz="0.083" iyy="0.544742" iyz="-0.003" izz="0.10973"/>
    </inertial>
    <visual>
      <origin rpy="0 -0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://atlas/meshes/utorso.dae" scale="1 1 1"/>
      </geometry>
    </visual>
    <collision group="default">
      <origin rpy="0 -0 0" xyz="0.0446 0 0.1869"/>
      <geometry>
        <box size="0.3188 0.24 0.3162"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="-0.5236 0 0" xyz="0.024 0.16 0.18"/>
      <geometry>
        <cylinder length="0.22375" radius="0.0363"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0.5236 0 0" xyz="0.024 -0.16 0.18"/>
      <geometry>
        <cylinder length="0.22375" radius="0.0363"/>
      </geometry>
    </collision>
  </link>
  <joint name="back_lbz" type="revolute">
    <origin rpy="0 -0 0" xyz="-0.0125 0 0"/>
    <axis xyz="0 0 1"/>
    <parent link="pelvis"/>
    <child link="ltorso"/>
    <dynamics damping="10" friction="0"/>
    <limit effort="124.016" lower="-0.610865" upper="0.610865" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.6109" soft_upper_limit="10.6109"/>
  </joint>
  <joint name="back_mby" type="revolute">
    <origin rpy="0 -0 0" xyz="0 0 0.09"/>
    <axis xyz="0 1 0"/>
    <parent link="ltorso"/>
    <child link="mtorso"/>
    <dynamics damping="10" friction="0"/>
    <limit effort="206.843" lower="-1.2" upper="1.28" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.2" soft_upper_limit="11.28"/>
  </joint>
  <joint name="back_ubx" type="revolute">
    <origin rpy="0 -0 0" xyz="0 0 0.05"/>
    <axis xyz="1 0 0"/>
    <parent link="mtorso"/>
    <child link="utorso"/>
    <dynamics damping="10" friction="0"/>
    <limit effort="94.91" lower="-0.790809" upper="0.790809" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.7908" soft_upper_limit="10.7908"/>
  </joint>
  <joint name="l_arm_elx" type="revolute">
    <origin rpy="0 -0 0" xyz="0 0.121 0.013"/>
    <axis xyz="1 0 0"/>
    <parent link="l_uarm"/>
    <child link="l_larm"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="114" lower="0" upper="2.35619" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="12.3562"/>
  </joint>
  <joint name="l_arm_ely" type="revolute">
    <origin rpy="0 -0 0" xyz="0 0.185 0"/>
    <axis xyz="0 1 0"/>
    <parent link="l_scap"/>
    <child link="l_uarm"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="114" lower="0" upper="3.14159" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="13.1416"/>
  </joint>
  <joint name="l_arm_mwx" type="revolute">
    <origin rpy="0 -0 0" xyz="0 0.058 0"/>
    <axis xyz="1 0 0"/>
    <parent link="l_farm"/>
    <child link="l_hand"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="60" lower="-0.436" upper="1.571" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.436" soft_upper_limit="11.571"/>
  </joint>
  <joint name="l_arm_shx" type="revolute">
    <origin rpy="0 -0 0" xyz="0 0.075 0.036"/>
    <axis xyz="1 0 0"/>
    <parent link="l_clav"/>
    <child link="l_scap"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="170" lower="-1.39626" upper="1.74533" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.3963" soft_upper_limit="11.7453"/>
  </joint>
  <joint name="l_arm_usy" type="revolute">
    <origin rpy="0 -0 0" xyz="0.024 0.221 0.289"/>
    <axis xyz="0 0.5 0.866025"/>
    <parent link="utorso"/>
    <child link="l_clav"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="212" lower="-1.9635" upper="1.9635" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.9635" soft_upper_limit="11.9635"/>
  </joint>
  <joint name="l_arm_uwy" type="revolute">
    <origin rpy="0 -0 0" xyz="0 0.188 -0.013"/>
    <axis xyz="0 1 0"/>
    <parent link="l_larm"/>
    <child link="l_farm"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="114" lower="-1.571" upper="1.571" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.571" soft_upper_limit="11.571"/>
  </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="1.0" friction="0"/>
    <limit effort="400" lower="0" upper="2.45" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="12.45"/>
  </joint>
  <joint name="l_leg_lax" 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="1.0" friction="0"/>
    <limit effort="90" lower="-0.436" upper="0.436" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.436" soft_upper_limit="10.436"/>
  </joint>
  <joint name="l_leg_lhy" type="revolute">
    <origin rpy="0 -0 0" xyz="0.05 0 -0.05"/>
    <axis xyz="0 1 0"/>
    <parent link="l_lglut"/>
    <child link="l_uleg"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="260" lower="-1.75" upper="0.524" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.75" soft_upper_limit="10.524"/>
  </joint>
  <joint name="l_leg_mhx" 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="1.0" friction="0"/>
    <limit effort="180" lower="-0.47" upper="0.495" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.47" soft_upper_limit="10.495"/>
  </joint>
  <joint name="l_leg_uay" 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="1.0" friction="0"/>
    <limit effort="220" lower="-0.9" upper="0.698" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.698" soft_upper_limit="10.698"/>
  </joint>
  <joint name="l_leg_uhz" 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="1.0" friction="0"/>
    <limit effort="110" lower="-0.32" upper="1.14" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.32" soft_upper_limit="11.14"/>
  </joint>
  <joint name="neck_ay" type="revolute">
    <!-- per slides on sensor head kinematics 2013-02-13 -->
    <origin rpy="0 -0 0" xyz="0.21672 0 0.53796"/>
    <axis xyz="0 1 0"/>
    <parent link="utorso"/>
    <child link="head"/>
    <dynamics damping="1.0" friction="0"/>
    <!-- per slides on sensor head kinematics 2012-12-14 -->
    <limit effort="5" lower="-0.610865238" upper="1.13446401" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.610865238" soft_upper_limit="11.13446401"/>
  </joint>
  <joint name="r_arm_elx" type="revolute">
    <origin rpy="0 -0 0" xyz="0 -0.121 0.013"/>
    <axis xyz="1 0 0"/>
    <parent link="r_uarm"/>
    <child link="r_larm"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="114" lower="-2.35619" upper="0" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-12.3562" soft_upper_limit="10"/>
  </joint>
  <joint name="r_arm_ely" type="revolute">
    <origin rpy="0 -0 0" xyz="0 -0.185 0"/>
    <axis xyz="0 1 0"/>
    <parent link="r_scap"/>
    <child link="r_uarm"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="114" lower="0" upper="3.14159" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="13.1416"/>
  </joint>
  <joint name="r_arm_mwx" type="revolute">
    <origin rpy="0 -0 0" xyz="0 -0.058 0"/>
    <axis xyz="1 0 0"/>
    <parent link="r_farm"/>
    <child link="r_hand"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="60" lower="-1.571" upper="0.436" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.571" soft_upper_limit="10.436"/>
  </joint>
  <joint name="r_arm_shx" type="revolute">
    <origin rpy="0 -0 0" xyz="0 -0.075 0.036"/>
    <axis xyz="1 0 0"/>
    <parent link="r_clav"/>
    <child link="r_scap"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="170" lower="-1.74533" upper="1.39626" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.7453" soft_upper_limit="11.3963"/>
  </joint>
  <joint name="r_arm_usy" type="revolute">
    <origin rpy="0 -0 0" xyz="0.024 -0.221 0.289"/>
    <axis xyz="0 0.5 -0.866025"/>
    <parent link="utorso"/>
    <child link="r_clav"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="212" lower="-1.9635" upper="1.9635" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.9635" soft_upper_limit="11.9635"/>
  </joint>
  <joint name="r_arm_uwy" type="revolute">
    <origin rpy="0 -0 0" xyz="0 -0.188 -0.013"/>
    <axis xyz="0 1 0"/>
    <parent link="r_larm"/>
    <child link="r_farm"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="114" lower="-1.571" upper="1.571" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.571" soft_upper_limit="11.571"/>
  </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="1.0" friction="0"/>
    <limit effort="400" lower="0" upper="2.45" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10" soft_upper_limit="12.45"/>
  </joint>
  <joint name="r_leg_lax" 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="1.0" friction="0"/>
    <limit effort="90" lower="-0.436" upper="0.436" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.436" soft_upper_limit="10.436"/>
  </joint>
  <joint name="r_leg_lhy" type="revolute">
    <origin rpy="0 -0 0" xyz="0.05 0 -0.05"/>
    <axis xyz="0 1 0"/>
    <parent link="r_lglut"/>
    <child link="r_uleg"/>
    <dynamics damping="1.0" friction="0"/>
    <limit effort="260" lower="-1.745" upper="0.524" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.745" soft_upper_limit="10.524"/>
  </joint>
  <joint name="r_leg_mhx" 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="1.0" friction="0"/>
    <limit effort="180" lower="-0.495" upper="0.47" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.495" soft_upper_limit="10.47"/>
  </joint>
  <joint name="r_leg_uay" 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="1.0" friction="0"/>
    <limit effort="220" lower="-0.9" upper="0.698" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-10.698" soft_upper_limit="10.698"/>
  </joint>
  <joint name="r_leg_uhz" 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="1.0" friction="0"/>
    <limit effort="110" lower="-1.14" upper="0.32" velocity="12"/>
    <safety_controller k_position="100" k_velocity="100" soft_lower_limit="-11.14" soft_upper_limit="10.32"/>
  </joint>
  <gazebo>
    <!-- robot model offset -->
    <pose>0 0 0.93 0 0 0</pose>
  </gazebo>
  <gazebo>
    <plugin filename="libAtlasPlugin.so" name="atlas_plugin"/>
    <plugin filename="libgazebo_ros_joint_trajectory.so" name="joint_trajectory_plugin">
      <topicName>joint_trajectory</topicName>
      <updateRate>1000.0</updateRate>
    </plugin>
    <!--
    <plugin filename="libgazebo_ros_controller_manager.so" name="gazebo_ros_controller_manager">
      <alwaysOn>true</alwaysOn>
      <updateRate>1000.0</updateRate>
    </plugin>
    -->
  </gazebo>
  <link name="imu_link">
    <inertial>
      <mass value="0.1"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </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="imu_joint" type="fixed">
    <parent link="pelvis"/>
    <child link="imu_link"/>
    <origin rpy="0 0 0" xyz="0.05991527603 0 -0.01415"/>
  </joint>
  <gazebo reference="imu_link">
    <!-- this is expected to be reparented to pelvis with appropriate offset
         when imu_link is reduced by fixed joint reduction -->
    <!-- todo: this is working with gazebo 1.4, need to write a unit test -->
    <sensor name="imu_sensor" type="imu">
      <always_on>1</always_on>
      <update_rate>1000.0</update_rate>
      <imu>
        <noise>
          <type>gaussian</type>
          <!-- Noise parameters from Boston Dynamics
               (http://gazebosim.org/wiki/Sensor_noise):
                 rates (rad/s): mean=0, stddev=2e-4
                 accels (m/s/s): mean=0, stddev=1.7e-2
                 rate bias (rad/s): 5e-6 - 1e-5
                 accel bias (m/s/s): 1e-1
               Experimentally, simulation provide rates with noise of
               about 1e-3 rad/s and accels with noise of about 1e-1 m/s/s.
               So we don't expect to see the noise unless number of inner iterations
               are increased.

               We will add bias.  In this model, bias is sampled once for rates
               and once for accels at startup; the sign (negative or positive)
               of each bias is then switched with equal probability.  Thereafter,
               the biases are fixed additive offsets.  We choose
               bias means and stddevs to produce biases close to the provided
               data. -->
          <rate>
            <mean>0.0</mean>
            <stddev>2e-4</stddev>
            <bias_mean>0.0000075</bias_mean>
            <bias_stddev>0.0000008</bias_stddev>
          </rate>
          <accel>
            <mean>0.0</mean>
            <stddev>1.7e-2</stddev>
            <bias_mean>0.1</bias_mean>
            <bias_stddev>0.001</bias_stddev>
          </accel>
        </noise>
      </imu>
    </sensor>
  </gazebo>
  <gazebo reference="l_arm_mwx">
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="r_arm_mwx">
    <provideFeedback>1</provideFeedback>
  </gazebo>
  <gazebo reference="l_leg_lax">
    <provideFeedback>1</provideFeedback>
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_leg_lax">
    <provideFeedback>1</provideFeedback>
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_foot">
    <!-- kp and kd for rubber -->
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <mu1>1.5</mu1>
    <mu2>1.5</mu2>
    <fdir1>1 0 0</fdir1>
    <maxVel>1.0</maxVel>
    <minDepth>0.00</minDepth>
  </gazebo>
  <gazebo reference="l_foot">
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <mu1>1.5</mu1>
    <mu2>1.5</mu2>
    <fdir1>1 0 0</fdir1>
    <maxVel>1.0</maxVel>
    <minDepth>0.00</minDepth>
  </gazebo>
  <gazebo reference="l_clav">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_farm">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_hand">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_larm">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_lglut">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_lleg">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_scap">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_talus">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_uarm">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_uglut">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="l_uleg">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="ltorso">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="mtorso">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="pelvis">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_clav">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_farm">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_hand">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_larm">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_lglut">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_lleg">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_scap">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_talus">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_uarm">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_uglut">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="r_uleg">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo reference="utorso">
    <mu1>0.9</mu1>
    <mu2>0.9</mu2>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_ros_p3d.so" name="gazebo_ros_p3d">
      <bodyName>pelvis</bodyName>
      <topicName>/ground_truth_odom</topicName>
      <alwaysOn>true</alwaysOn>
      <updateRate>100.0</updateRate>
    </plugin>
  </gazebo>
  <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>
        <collision>r_foot_collision</collision>
        <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>
        <collision>l_foot_collision</collision>
        <topic>/l_foot_contact</topic>
      </contact>
    </sensor>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_ros_force.so" name="gazebo_ros_force">
      <bodyName>pelvis</bodyName>
      <topicName>/atlas/apply_pelvis_force</topicName>
    </plugin>
  </gazebo>
  <gazebo reference="back_lbz">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="back_mby">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="back_ubx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_arm_elx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_arm_ely">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_arm_mwx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_arm_shx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_arm_usy">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_arm_uwy">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_leg_kny">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_leg_lhy">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_leg_mhx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_leg_uay">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="l_leg_uhz">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="neck_ay">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_arm_elx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_arm_ely">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_arm_mwx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_arm_shx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_arm_usy">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_arm_uwy">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_leg_kny">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_leg_lhy">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_leg_mhx">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_leg_uay">
    <cfmDamping>1</cfmDamping>
  </gazebo>
  <gazebo reference="r_leg_uhz">
    <cfmDamping>1</cfmDamping>
  </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_lbz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <joint name="back_lbz"/>
    <actuator name="back_lbz_motor"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="back_mby_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="back_mby_motor"/>
    <joint name="back_mby"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="back_ubx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="back_ubx_motor"/>
    <joint name="back_ubx"/>
    <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_usy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_arm_usy_motor"/>
    <joint name="l_arm_usy"/>
    <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_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_lax_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_lax_motor"/>
    <joint name="l_leg_lax"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_lhy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_lhy_motor"/>
    <joint name="l_leg_lhy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_mhx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_mhx_motor"/>
    <joint name="l_leg_mhx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_uay_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_uay_motor"/>
    <joint name="l_leg_uay"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="l_leg_uhz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="l_leg_uhz_motor"/>
    <joint name="l_leg_uhz"/>
    <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_usy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_arm_usy_motor"/>
    <joint name="r_arm_usy"/>
    <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_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_lax_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_lax_motor"/>
    <joint name="r_leg_lax"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_lhy_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_lhy_motor"/>
    <joint name="r_leg_lhy"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_mhx_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_mhx_motor"/>
    <joint name="r_leg_mhx"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_uay_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_uay_motor"/>
    <joint name="r_leg_uay"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <transmission name="r_leg_uhz_trans" type="pr2_mechanism_model/SimpleTransmission">
    <actuator name="r_leg_uhz_motor"/>
    <joint name="r_leg_uhz"/>
    <mechanicalReduction>1</mechanicalReduction>
  </transmission>
  <link name="head">
    <inertial>
      <origin rpy="0 0 0" xyz="-0.075493 3.3383E-05 0.02774"/>
      <mass value="1.41984"/>
      <!--<inertia iyy="0.0041178" ixy="-1.5797E-06" iyz="-6.8415E-07" ixx="0.0039688" ixz="-0.00089293" izz="0.0035243" />-->
      <inertia ixx="0.0036053766" ixy="-1.5797E-06" ixz="-0.00089293" iyy="0.002080106" iyz="-6.8415E-07" izz="0.001782985"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://multisense_sl_description/meshes/head.dae"/>
      </geometry>
      <material name="">
        <color rgba="0.9098 0.44314 0.031373 1"/>
      </material>
    </visual>
    <collision group="default">
      <origin rpy="0 0 0" xyz="-0.0503 0 -0.00195"/>
      <geometry>
        <box size="0.1311 0.12 0.0591"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="-0.093 0 0.0868"/>
      <geometry>
        <box size="0.0468 0.12 0.1184"/>
      </geometry>
    </collision>
  </link>
  <link name="hokuyo_link">
    <inertial>
      <origin rpy="0 0 0" xyz="0.012428 0.0004084 -0.0041835"/>
      <mass value="0.057654"/>
      <!--<inertia iyy="4.2412E-05" ixy="4.9927E-08" iyz="-9.8165E-09" ixx="3.7174E-05" ixz="1.1015E-05" izz="4.167E-05" />-->
      <!-- distribute iyy and izz equally between head and hokuyo_link given it's constrainted anyways -->
      <!-- tweak ixx of hokuyo so it's larger, 1/10th of head ixx. -->
      <inertia ixx="0.0004005974" ixy="4.9927E-08" ixz="1.1015E-05" iyy="0.002080106" iyz="-9.8165E-09" izz="0.001782985"/>
    </inertial>
    <visual>
      <!--origin xyz="0.065774 -0.001163 -0.08809" rpy="0 0 0" /-->
      <!--origin xyz="0.045 -0.001163 -0.08809" rpy="-0.314 0 0" /-->
      <origin rpy="-0.314 0 0" xyz="0.045 -0.0261018277 -0.08342369"/>
      <geometry>
        <mesh filename="package://multisense_sl_description/meshes/head_camera.dae"/>
      </geometry>
      <material name="">
        <color rgba="0.72941 0.35686 0.023529 1"/>
      </material>
    </visual>
    <collision group="default">
      <origin rpy="0 0 0" xyz="0.01885 0 -0.02119"/>
      <geometry>
        <box size="0.08 0.06 0.04238"/>
      </geometry>
    </collision>
    <collision group="other">
      <origin rpy="0 0 0" xyz="0.03 0 0.0235"/>
      <geometry>
        <cylinder length="0.047" radius="0.024425"/>
      </geometry>
    </collision>
  </link>
  <joint name="hokuyo_joint" type="continuous">
    <origin rpy="0 0 0" xyz="-0.0446 0 0.0880"/>
    <parent link="head"/>
    <child link="hokuyo_link"/>
    <axis xyz="1 0 0"/>
    <dynamics damping="0.01" friction="0"/>
  </joint>
  <joint name="head_hokuyo_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="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin rpy="0 0 0" xyz="0.042428 0.0004084 0.0108165"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </inertial>
  </link>
  <gazebo reference="head_hokuyo_frame">
    <sensor name="head_hokuyo_sensor" type="gpu_ray">
      <pose>0 0 0 0 0 0</pose>
      <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>
        <noise>
          <type>gaussian</type>
          <!-- Noise parameters based on published spec for Hokuyo laser
               achieving "+-30mm" accuracy at range < 10m.  A mean of 0.0m and
               stddev of 0.01m will put 99.7% of samples within 0.03m of the true
               reading. -->
          <mean>0.0</mean>
          <stddev>0.01</stddev>
        </noise>
      </ray>
      <plugin filename="libgazebo_ros_gpu_laser.so" name="gazebo_ros_head_hokuyo_controller">
        <topicName>/multisense_sl/laser/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="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin xyz="-0.075493 0.035033383 0.02574"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </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="stereo_camera" type="multicamera">
      <!-- see MultiSenseSLPlugin.h for available modes -->
      <update_rate>30.0</update_rate>
      <camera name="left">
        <!-- Spec sheet says 80deg X 45deg @ 1024x544pix.  Based on feedback
             from teams, we're instead doing 80deg X 80deg @ 800x800pix. -->
        <horizontal_fov>1.3962634</horizontal_fov>
        <image>
          <width>800</width>
          <height>800</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.02</near>
          <far>300</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>
      <camera name="right">
        <pose>0 -0.07 0 0 0 0</pose>
        <!-- Spec sheet says 80deg X 45deg @ 1024x544pix.  Based on feedback
             from teams, we're instead doing 80deg X 80deg @ 800x800pix. -->
        <horizontal_fov>1.3962634</horizontal_fov>
        <image>
          <width>800</width>
          <height>800</height>
          <format>R8G8B8</format>
        </image>
        <clip>
          <near>0.02</near>
          <far>300</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_multicamera.so" name="stereo_camera_controller">
        <alwaysOn>true</alwaysOn>
        <updateRate>0.0</updateRate>
        <cameraName>multisense_sl/camera</cameraName>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>left_camera_optical_frame</frameName>
        <!--<rightFrameName>right_camera_optical_frame</rightFrameName>-->
        <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="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="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin xyz="-0.075493 -0.034966617 0.02574"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </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"/>
  <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="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin rpy="0 0 0" xyz="-0.064243 0.000033383 0.03824"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </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="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin rpy="0 0 0" xyz="-0.064243 0.000033383 0.01224"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </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="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin rpy="0 -0.15 0.53" xyz="-0.089923 0.074553383 0.078086"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </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="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin rpy="0 -0.15 -0.53" xyz="-0.089923 -0.074486617 0.07908"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </inertial>
  </link>
  <gazebo>
    <plugin filename="libMultiSenseSLPlugin.so" name="multisense_plugin"/>
  </gazebo>
  <link name="head_imu_link">
    <inertial>
      <mass value="1e-5"/>
      <!-- collocate with parent link and remove mass from it -->
      <origin rpy="0 0 0" xyz="-0.122993 0.035033383 0.02774"/>
      <inertia ixx="1e-6" ixy="0" ixz="0" iyy="1e-6" iyz="0" izz="1e-6"/>
    </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="head_imu_joint" type="fixed">
    <parent link="head"/>
    <child link="head_imu_link"/>
    <!-- putting it at the same z-level as the stereo -->
    <origin rpy="0 0 0" xyz="-0.0475 0.035 0.0"/>
  </joint>
  <gazebo reference="head_imu_link">
    <!-- this is expected to be reparented to head with appropriate offset
         when head_imu_link is reduced by fixed joint reduction -->
    <!-- todo: this is working with gazebo 1.4, need to write a unit test -->
    <sensor name="head_imu_sensor" type="imu">
      <always_on>1</always_on>
      <update_rate>1000.0</update_rate>
      <imu>
        <noise>
          <type>gaussian</type>
          <!-- Noise parameters from Boston Dynamics
               (http://gazebosim.org/wiki/Sensor_noise):
                 rates (rad/s): mean=0, stddev=2e-4
                 accels (m/s/s): mean=0, stddev=1.7e-2
                 rate bias (rad/s): 5e-6 - 1e-5
                 accel bias (m/s/s): 1e-1
               Experimentally, simulation provide rates with noise of
               about 1e-3 rad/s and accels with noise of about 1e-1 m/s/s.
               So we don't expect to see the noise unless number of inner iterations
               are increased.

               We will add bias.  In this model, bias is sampled once for rates
               and once for accels at startup; the sign (negative or positive)
               of each bias is then switched with equal probability.  Thereafter,
               the biases are fixed additive offsets.  We choose
               bias means and stddevs to produce biases close to the provided
               data. -->
          <rate>
            <mean>0.0</mean>
            <stddev>2e-4</stddev>
            <bias_mean>0.0000075</bias_mean>
            <bias_stddev>0.0000008</bias_stddev>
          </rate>
          <accel>
            <mean>0.0</mean>
            <stddev>1.7e-2</stddev>
            <bias_mean>0.1</bias_mean>
            <bias_stddev>0.001</bias_stddev>
          </accel>
        </noise>
      </imu>
    </sensor>
  </gazebo>
</robot>

