<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from create_circles_kinect.urdf.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<!--
    - Base      : create
    - Stacks    : circles
    - 3d Sensor : kinect
-->
<robot name="turtlebot" xmlns:xacro="http://ros.org/wiki/xacro">
  <!-- 
    These properties must be observed by any machine
    that wants to be defined as a turtlebot. Refer
    to the REP for more details.
    
    http://www.ros.org/reps/rep-0119.html
   -->
  <!-- 
    These properties must be observed by any machine
    that wants to be defined as a turtlebot. Refer
    to the REP for more details.
    
    http://www.ros.org/reps/rep-0119.html
   -->
  <material name="Green">
    <color rgba="0.0 0.8 0.0 1.0"/>
  </material>
  <!-- base_footprint is a fictitious link(frame) that is on the ground right below base_link origin, navigation stack depends on this frame -->
  <link name="base_footprint">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.001 0.001 0.001"/>
      </geometry>
      <material name="Green"/>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0.017"/>
      <geometry>
        <box size="0.001 0.001 0.001"/>
      </geometry>
    </collision>
  </link>
  <link name="base_link">
    <inertial>
      <mass value="2"/>
      <origin xyz="0 0 0.0"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.5"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0.0308"/>
      <geometry>
        <mesh filename="package://create_description/meshes/create_body.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0308"/>
      <geometry>
        <cylinder length="0.0611632" radius="0.16495"/>
      </geometry>
    </collision>
  </link>
  <link name="wall_sensor_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="left_cliff_sensor_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="right_cliff_sensor_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <link name="leftfront_cliff_sensor_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
  </link>
  <link name="rightfront_cliff_sensor_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <joint name="base_footprint_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.017"/>
    <parent link="base_footprint"/>
    <child link="base_link"/>
  </joint>
  <joint name="base_wall_sensor_joint" type="fixed">
    <origin rpy="0 0 -1.0" xyz="0.09 -0.120 0.042"/>
    <parent link="base_link"/>
    <child link="wall_sensor_link"/>
  </joint>
  <joint name="base_left_cliff_sensor_joint" type="fixed">
    <origin rpy="0 1.57079 0" xyz="0.07 0.14 0.01"/>
    <parent link="base_link"/>
    <child link="left_cliff_sensor_link"/>
  </joint>
  <joint name="base_right_cliff_sensor_joint" type="fixed">
    <origin rpy="0 1.57079 0" xyz="0.07 -0.14 0.01"/>
    <parent link="base_link"/>
    <child link="right_cliff_sensor_link"/>
  </joint>
  <joint name="base_leftfront_cliff_sensor_joint" type="fixed">
    <origin rpy="0 1.57079 0" xyz="0.15 0.04 0.01"/>
    <parent link="base_link"/>
    <child link="leftfront_cliff_sensor_link"/>
  </joint>
  <joint name="base_rightfront_cliff_sensor_joint" type="fixed">
    <origin rpy="0 1.57079 0" xyz="0.15 -0.04 0.01"/>
    <parent link="base_link"/>
    <child link="rightfront_cliff_sensor_link"/>
  </joint>
  <link name="left_wheel_link">
    <inertial>
      <origin xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
    <visual>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.023" radius="0.033"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.023" radius="0.033"/>
      </geometry>
    </collision>
  </link>
  <joint name="left_wheel_joint" type="continuous">
    <origin rpy="0 0 0" xyz="0 0.13 0.015"/>
    <parent link="base_link"/>
    <child link="left_wheel_link"/>
    <axis xyz="0 1 0"/>
  </joint>
  <link name="right_wheel_link">
    <inertial>
      <origin xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
    <visual>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.023" radius="0.033"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.023" radius="0.033"/>
      </geometry>
    </collision>
  </link>
  <joint name="right_wheel_joint" type="continuous">
    <origin rpy="0 0 0" xyz="0 -0.13 0.015"/>
    <parent link="base_link"/>
    <child link="right_wheel_link"/>
    <axis xyz="0 1 0"/>
  </joint>
  <link name="rear_wheel_link">
    <inertial>
      <origin xyz="0 0 0"/>
      <mass value="0.001"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.015"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.015"/>
      </geometry>
    </collision>
  </link>
  <!-- fixed because there's no transmission -->
  <joint name="rear_castor_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.13 0 0.0"/>
    <parent link="base_link"/>
    <child link="rear_wheel_link"/>
    <axis xyz="0 1 0"/>
  </joint>
  <link name="front_wheel_link">
    <inertial>
      <origin xyz="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
    <visual>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.018"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 1.5707 1.5707" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.018"/>
      </geometry>
    </collision>
  </link>
  <!-- fixed because there's no transmission -->
  <joint name="front_castor_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0.13 0 0.0"/>
    <parent link="base_link"/>
    <child link="front_wheel_link"/>
    <axis xyz="0 1 0"/>
  </joint>
  <joint name="gyro_joint" type="fixed">
    <axis xyz="0 1 0"/>
    <origin rpy="0 0 0" xyz="0 0 0.04"/>
    <parent link="base_link"/>
    <child link="gyro_link"/>
  </joint>
  <link name="gyro_link">
    <inertial>
      <mass value="0.001"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.000001" iyz="0" izz="0.0001"/>
    </inertial>
  </link>
  <joint name="laser_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.065 0 0.075"/>
    <parent link="base_link"/>
    <child link="laser"/>
  </joint>
  <link name="laser">
    <visual>
      <geometry>
        <box size="0.02 0.035 0.002"/>
      </geometry>
      <material name="Green"/>
    </visual>
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
  </link>
  <gazebo>
    <plugin filename="libgazebo_ros_create.so" name="create_controller">
      <alwaysOn>true</alwaysOn>
      <node_namespace>turtlebot_node</node_namespace>
      <left_wheel_joint>left_wheel_joint</left_wheel_joint>
      <right_wheel_joint>right_wheel_joint</right_wheel_joint>
      <front_castor_joint>front_castor_joint</front_castor_joint>
      <rear_castor_joint>rear_castor_joint</rear_castor_joint>
      <wheel_separation>.260</wheel_separation>
      <wheel_diameter>0.066</wheel_diameter>
      <base_geom>base_footprint_collision_base_link</base_geom>
      <updateRate>40</updateRate>
      <torque>1.0</torque>
    </plugin>
  </gazebo>
  <gazebo reference="left_wheel_link">
    <mu1>1.0</mu1>
    <mu2>1.0</mu2>
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <minDepth>0.001</minDepth>
    <maxVel>1.0</maxVel>
  </gazebo>
  <gazebo reference="right_wheel_link">
    <mu1>1.0</mu1>
    <mu2>1.0</mu2>
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <minDepth>0.001</minDepth>
    <maxVel>1.0</maxVel>
  </gazebo>
  <gazebo reference="rear_wheel_link">
    <mu1>0.0</mu1>
    <mu2>0.0</mu2>
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <minDepth>0.001</minDepth>
    <maxVel>1.0</maxVel>
  </gazebo>
  <gazebo reference="front_wheel_link">
    <mu1>0.0</mu1>
    <mu2>0.0</mu2>
    <kp>1000000.0</kp>
    <kd>100.0</kd>
    <minDepth>0.001</minDepth>
    <maxVel>1.0</maxVel>
  </gazebo>
  <gazebo reference="wall_sensor_link">
    <sensor name="wall_sensor" type="ray">
      <always_on>true</always_on>
      <update_rate>20.0</update_rate>
      <pose>0 0 0 0 0 0</pose>
      <visualize>false</visualize>
      <ray>
        <scan>
          <horizontal>
            <samples>1</samples>
            <resolution>1</resolution>
            <min_angle>0</min_angle>
            <max_angle>0</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.0160</min>
          <max>0.04</max>
          <resolution>0.1</resolution>
        </range>
      </ray>
    </sensor>
  </gazebo>
  <gazebo reference="left_cliff_sensor_link">
    <sensor name="left_cliff_sensor" type="ray">
      <always_on>true</always_on>
      <update_rate>20.0</update_rate>
      <pose>0 0 0 0 0 0</pose>
      <visualize>false</visualize>
      <ray>
        <scan>
          <horizontal>
            <samples>1</samples>
            <resolution>1</resolution>
            <min_angle>0</min_angle>
            <max_angle>0</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.01</min>
          <max>0.04</max>
          <resolution>0.1</resolution>
        </range>
      </ray>
    </sensor>
  </gazebo>
  <gazebo reference="right_cliff_sensor_link">
    <sensor name="right_cliff_sensor" type="ray">
      <always_on>true</always_on>
      <update_rate>20.0</update_rate>
      <pose>0 0 0 0 0 0</pose>
      <visualize>false</visualize>
      <ray>
        <scan>
          <horizontal>
            <samples>1</samples>
            <resolution>1</resolution>
            <min_angle>0</min_angle>
            <max_angle>0</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.01</min>
          <max>0.04</max>
          <resolution>0.1</resolution>
        </range>
      </ray>
    </sensor>
  </gazebo>
  <gazebo reference="leftfront_cliff_sensor_link">
    <sensor name="leftfront_cliff_sensor" type="ray">
      <always_on>true</always_on>
      <update_rate>20.0</update_rate>
      <pose>0 0 0 0 0 0</pose>
      <visualize>false</visualize>
      <ray>
        <scan>
          <horizontal>
            <samples>1</samples>
            <resolution>1</resolution>
            <min_angle>0</min_angle>
            <max_angle>0</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.01</min>
          <max>0.04</max>
          <resolution>0.1</resolution>
        </range>
      </ray>
    </sensor>
  </gazebo>
  <gazebo reference="rightfront_cliff_sensor_link">
    <sensor name="rightfront_cliff_sensor" type="ray">
      <always_on>true</always_on>
      <update_rate>20.0</update_rate>
      <pose>0 0 0 0 0 0</pose>
      <visualize>false</visualize>
      <ray>
        <scan>
          <horizontal>
            <samples>1</samples>
            <resolution>1</resolution>
            <min_angle>0</min_angle>
            <max_angle>0</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.01</min>
          <max>0.04</max>
          <resolution>0.1</resolution>
        </range>
      </ray>
    </sensor>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_ros_imu.so" name="imu_controller">
      <alwaysOn>true</alwaysOn>
      <updateRate>30</updateRate>
      <bodyName>gyro_link</bodyName>
      <topicName>imu/data</topicName>
      <serviceName>imu/is_calibrated</serviceName>
      <gaussianNoise>2.89e-06</gaussianNoise>
      <xyzOffsets>0 0 0</xyzOffsets>
      <rpyOffsets>0 0 0</rpyOffsets>
    </plugin>
  </gazebo>
  <joint name="spacer_0_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.00254 0.1114679 0.062992"/>
    <parent link="base_link"/>
    <child link="spacer_0_link"/>
  </joint>
  <link name="spacer_0_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02403-125_Spacer.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.003175" radius=".0127"/>
      </geometry>
    </collision>
  </link>
  <joint name="spacer_1_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.00254 -0.1114679 0.062992"/>
    <parent link="base_link"/>
    <child link="spacer_1_link"/>
  </joint>
  <link name="spacer_1_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02403-125_Spacer.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.003175" radius=".0127"/>
      </geometry>
    </collision>
  </link>
  <joint name="spacer_2_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.07239 -0.1114679 0.062992"/>
    <parent link="base_link"/>
    <child link="spacer_2_link"/>
  </joint>
  <link name="spacer_2_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02403-125_Spacer.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.003175" radius=".0127"/>
      </geometry>
    </collision>
  </link>
  <joint name="spacer_3_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.07239 0.1114679 0.062992"/>
    <parent link="base_link"/>
    <child link="spacer_3_link"/>
  </joint>
  <link name="spacer_3_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02403-125_Spacer.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.003175" radius=".0127"/>
      </geometry>
    </collision>
  </link>
  <joint name="plate_0_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.04334 0  0.06775704"/>
    <parent link="base_link"/>
    <child link="plate_0_link"/>
  </joint>
  <link name="plate_0_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/plate_0_logo.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.233502 0.314845 0.006401"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_0_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0.0676402 0.1314196 0.0709803"/>
    <parent link="base_link"/>
    <child link="standoff_2in_0_link"/>
  </joint>
  <link name="standoff_2in_0_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_1_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0.0676402 -0.1314196 0.0709803"/>
    <parent link="base_link"/>
    <child link="standoff_2in_1_link"/>
  </joint>
  <link name="standoff_2in_1_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_2_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.052832 -0.1314196 0.0709803"/>
    <parent link="base_link"/>
    <child link="standoff_2in_2_link"/>
  </joint>
  <link name="standoff_2in_2_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_3_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.052832 0.1314196 0.0709803"/>
    <parent link="base_link"/>
    <child link="standoff_2in_3_link"/>
  </joint>
  <link name="standoff_2in_3_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="plate_1_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0.04068 0 0.05715"/>
    <parent link="plate_0_link"/>
    <child link="plate_1_link"/>
  </joint>
  <link name="plate_1_link">
    <inertial>
      <mass value="0.1"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.01" ixy="0.0" ixz="0.0" iyy="0.01" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/plate_1_logo.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.314856 0.314856 0.006401"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_4_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_0_link"/>
    <child link="standoff_2in_4_link"/>
  </joint>
  <link name="standoff_2in_4_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_5_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_1_link"/>
    <child link="standoff_2in_5_link"/>
  </joint>
  <link name="standoff_2in_5_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_6_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_2_link"/>
    <child link="standoff_2in_6_link"/>
  </joint>
  <link name="standoff_2in_6_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_2in_7_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_3_link"/>
    <child link="standoff_2in_7_link"/>
  </joint>
  <link name="standoff_2in_7_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04552-2000-RA_Turtlebot_M-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.0635" radius="0.0381"/>
      </geometry>
    </collision>
  </link>
  <joint name="plate_2_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.0572008"/>
    <parent link="plate_1_link"/>
    <child link="plate_2_link"/>
  </joint>
  <link name="plate_2_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/plate_1_logo.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.314856 0.314856 0.006401"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_kinect_0_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.1024382 0.098 0.0032004"/>
    <parent link="plate_2_link"/>
    <child link="standoff_kinect_0_link"/>
  </joint>
  <link name="standoff_kinect_0_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04556-RA_Kinect_Standoff_Assy.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.008585" radius="0.001111"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_kinect_1_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.1024382 -0.098 0.0032004"/>
    <parent link="plate_2_link"/>
    <child link="standoff_kinect_1_link"/>
  </joint>
  <link name="standoff_kinect_1_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-04556-RA_Kinect_Standoff_Assy.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.008585" radius="0.001111"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_8in_0_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_4_link"/>
    <child link="standoff_8in_0_link"/>
  </joint>
  <link name="standoff_8in_0_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02421-8000-RA_Turtlebot_F-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.2032" radius="0.011113"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_8in_1_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_5_link"/>
    <child link="standoff_8in_1_link"/>
  </joint>
  <link name="standoff_8in_1_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02421-8000-RA_Turtlebot_F-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.2032" radius="0.011113"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_8in_2_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_6_link"/>
    <child link="standoff_8in_2_link"/>
  </joint>
  <link name="standoff_8in_2_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02421-8000-RA_Turtlebot_F-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.2032" radius="0.011113"/>
      </geometry>
    </collision>
  </link>
  <joint name="standoff_8in_3_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0.05715"/>
    <parent link="standoff_2in_7_link"/>
    <child link="standoff_8in_3_link"/>
  </joint>
  <link name="standoff_8in_3_link">
    <inertial>
      <mass value="0.001"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/68-02421-8000-RA_Turtlebot_F-F_Standoff.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <cylinder length="0.2032" radius="0.011113"/>
      </geometry>
    </collision>
  </link>
  <joint name="plate_3_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.01316 0 0.2063496"/>
    <parent link="plate_2_link"/>
    <child link="plate_3_link"/>
  </joint>
  <link name="plate_3_link">
    <inertial>
      <mass value="0.01"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/>
    </inertial>
    <visual>
      <origin rpy="0 0 0" xyz=" 0 0 0 "/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/stacks/circles/plate_2_logo.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.288 0.315 0.006401"/>
      </geometry>
    </collision>
  </link>
  <joint name="camera_rgb_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.087 -0.0125 0.287"/>
    <parent link="base_link"/>
    <child link="camera_rgb_frame"/>
  </joint>
  <link name="camera_rgb_frame"/>
  <joint name="camera_rgb_optical_joint" type="fixed">
    <origin rpy="-1.57079632679 0 -1.57079632679" xyz="0 0 0"/>
    <parent link="camera_rgb_frame"/>
    <child link="camera_rgb_optical_frame"/>
  </joint>
  <link name="camera_rgb_optical_frame"/>
  <joint name="camera_joint" type="fixed">
    <origin rpy="0 0 0" xyz="-0.031 0.0125 -0.016"/>
    <parent link="camera_rgb_frame"/>
    <child link="camera_link"/>
  </joint>
  <link name="camera_link">
    <visual>
      <origin rpy="0 0 1.57079632679" xyz="0 0 0"/>
      <geometry>
        <mesh filename="package://turtlebot_description/meshes/sensors/kinect.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin rpy="0 0 0" xyz="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.07271 0.27794 0.073"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="0.564"/>
      <origin xyz="0 0 0"/>
      <inertia ixx="0.003881243" ixy="0.0" ixz="0.0" iyy="0.000498940" iyz="0.0" izz="0.003879257"/>
    </inertial>
  </link>
  <!-- The fixed joints & links below are usually published by static_transformers launched by the OpenNi launch 
         files. However, for Gazebo simulation we need them, so we add them here.
         (Hence, don't publish them additionally!) -->
  <joint name="camera_depth_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0.025 0"/>
    <parent link="camera_rgb_frame"/>
    <child link="camera_depth_frame"/>
  </joint>
  <link name="camera_depth_frame"/>
  <joint name="camera_depth_optical_joint" type="fixed">
    <origin rpy="-1.57079632679 0 -1.57079632679" xyz="0 0 0"/>
    <parent link="camera_depth_frame"/>
    <child link="camera_depth_optical_frame"/>
  </joint>
  <link name="camera_depth_optical_frame"/>
  <gazebo reference="camera_link">
    <sensor name="camera" type="depth">
      <always_on>true</always_on>
      <update_rate>20.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975512</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>640</width>
          <height>480</height>
        </image>
        <clip>
          <near>0.05</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="kinect_camera_controller">
        <cameraName>camera</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>10</updateRate>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <frameName>camera_depth_optical_frame</frameName>
        <baseline>0.1</baseline>
        <distortion_k1>0.0</distortion_k1>
        <distortion_k2>0.0</distortion_k2>
        <distortion_k3>0.0</distortion_k3>
        <distortion_t1>0.0</distortion_t1>
        <distortion_t2>0.0</distortion_t2>
        <pointCloudCutoff>0.4</pointCloudCutoff>
      </plugin>
    </sensor>
  </gazebo>
</robot>
