<?xml version="1.0" ?>
<robot name="robot" version="1.0">
  <material name="tripod_color">
    <color rgba="0.21 0.21 0.21 1.0"/>
  </material>
  <gazebo reference="tripod">
    <material>Gazebo/DarkGrey</material>
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="rgbd_joint" type="fixed">
    <origin xyz="0.0 0.08 0.042" rpy="0.0 0.0 0.0"/>
    <parent link="tripod_plate"/>
    <child link="rgbd_link"/>
  </joint>
  <link name="rgbd_link"/>
  <gazebo reference="rgbd_link">
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="rgbd_rgb_joint" type="fixed">
    <origin xyz="1.5815052123018073e-16 -0.04499999999999978 -1.3136371308780028e-17" rpy="-1.94555201345484e-16 -1.209887535979662e-16 -2.2622542959708652e-17"/>
    <parent link="rgbd_link"/>
    <child link="rgbd_rgb_frame"/>
  </joint>
  <link name="rgbd_rgb_frame">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
      <mass value="0.00564"/>
      <inertia ixx="0.003881243" ixy="0.0" ixz="0.0" iyy="0.00049894" iyz="0.0" izz="0.003879257"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://rdbot_description/meshes/rgbd_camera/rgb.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="blue">
        <color rgba="0.25 0.41 0.88 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://rdbot_description/meshes/rgbd_camera/rgb.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <joint name="rgbd_rgb_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="rgbd_rgb_frame"/>
    <child link="rgbd_rgb_optical_frame"/>
  </joint>
  <link name="rgbd_rgb_optical_frame"/>
  <joint name="rgbd_depth_joint" type="fixed">
    <origin xyz="0.0005973968585424831 -0.015380148481809651 -0.017441207510956753" rpy="-0.0029237854975943164 -0.006553091195853718 -0.0038120834817505444"/>
    <parent link="rgbd_link"/>
    <child link="rgbd_depth_frame"/>
  </joint>
  <link name="rgbd_depth_frame">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
      <mass value="0.00564"/>
      <inertia ixx="0.003881243" ixy="0.0" ixz="0.0" iyy="0.00049894" iyz="0.0" izz="0.003879257"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://rdbot_description/meshes/rgbd_camera/depth.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="cyan">
        <color rgba="0.53 1.0 1.0 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://rdbot_description/meshes/rgbd_camera/depth.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <joint name="rgbd_depth_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="rgbd_depth_frame"/>
    <child link="rgbd_depth_optical_frame"/>
  </joint>
  <link name="rgbd_depth_optical_frame"/>
  <gazebo reference="rgbd_depth_frame">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Turquoise</material>
  </gazebo>
  <gazebo reference="rgbd_depth_frame">
    <sensor name="camera" type="depth">
      <always_on>true</always_on>
      <update_rate>10.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975511965976</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>640</width>
          <height>480</height>
        </image>
        <clip>
          <near>0.10</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="rgbd_depth_camera_controller">
        <cameraName>rgbd</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>10.0</updateRate>
        <imageTopicName>null</imageTopicName>
        <cameraInfoTopicName>null/camera_info</cameraInfoTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <frameName>rgbd_depth_optical_frame</frameName>
        <baseline>0.0</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>
  <gazebo reference="rgbd_rgb_frame">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Blue</material>
  </gazebo>
  <gazebo reference="rgbd_rgb_frame">
    <sensor name="camera" type="camera">
      <update_rate>10.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975511965976</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>1200</width>
          <height>800</height>
        </image>
        <clip>
          <near>0.10</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_camera.so" name="rgbd_rgb_camera_controller">
        <cameraName>rgbd</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <frameName>rgbd_rgb_optical_frame</frameName>
        <baseline>0.0</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>
      </plugin>
    </sensor>
  </gazebo>
  <link name="world"/>
  <link name="tripod">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="1.0"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://rdbot_description/meshes/tripod/tripod.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="tripod_color"/>
    </visual>
    <collision name="tripod_collision">
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://rdbot_description/meshes/tripod/tripod.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <joint name="world_to_tripod" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="world"/>
    <child link="tripod"/>
  </joint>
  <link name="tripod_plate">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="1.0"/>
      <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.04 0.05 0.015"/>
      </geometry>
      <material name="tripod_color"/>
    </visual>
    <collision name="tripod_collision">
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.04 0.05 0.015"/>
      </geometry>
    </collision>
  </link>
  <joint name="tripod_to_tripod_plate" type="fixed">
    <origin xyz="0.01 0.03 1.65" rpy="0.0 0.314 0.0"/>
    <parent link="tripod"/>
    <child link="tripod_plate"/>
  </joint>
</robot>