<?xml version="1.0" ?>
<robot name="robot" version="1.0">
  <material name="Orange">
    <color rgba="1.0 0.4 0.0 1.0"/>
  </material>
  <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>
  <material name="grey">
    <color rgba="0.3 0.3 0.3 1.0"/>
  </material>
  <link name="world"/>
  <link name="table"/>
  <joint name="world_to_table" type="fixed">
    <origin xyz="-1.0 0.0 0.0" rpy="0.0 0.0 1.5707963267948966"/>
    <parent link="world"/>
    <child link="table"/>
  </joint>
  <link name="tabletop_table">
    <inertial>
      <origin xyz="0.0 0.0 -0.015" 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.015" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="1.0 1.0 0.015"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision name="base_link_collision">
      <origin xyz="0.0 0.0 -0.015" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="1.0 1.0 0.015"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="tabletop_table">
    <material>Gazebo/DarkGrey</material>
    <mu1>50.0</mu1>
    <mu2>50.0</mu2>
    <kp>1000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="table_to_tabletop_table" type="fixed">
    <origin xyz="0.0 0.0 0.795" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="tabletop_table"/>
  </joint>
  <link name="leg1_table">
    <inertial>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <mass value="1.0"/>
      <inertia ixx="0.1" ixy="0.0" ixz="0.0" iyy="0.1" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.78"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.3975" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.779"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg1_table">
    <material>Gazebo/DarkGrey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="table_to_leg1" type="fixed">
    <origin xyz="-0.48 0.48 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="leg1_table"/>
  </joint>
  <link name="leg2_table">
    <inertial>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <mass value="1.0"/>
      <inertia ixx="0.1" ixy="0.0" ixz="0.0" iyy="0.1" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.78"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.3975" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.779"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg2_table">
    <material>Gazebo/DarkGrey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="table_to_leg2" type="fixed">
    <origin xyz="0.48 0.48 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="leg2_table"/>
  </joint>
  <link name="leg3_table">
    <inertial>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <mass value="1.0"/>
      <inertia ixx="0.1" ixy="0.0" ixz="0.0" iyy="0.1" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.78"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.3975" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.779"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg3_table">
    <material>Gazebo/DarkGrey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="table_to_leg3" type="fixed">
    <origin xyz="0.48 -0.48 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="leg3_table"/>
  </joint>
  <link name="leg4_table">
    <inertial>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <mass value="1.0"/>
      <inertia ixx="0.1" ixy="0.0" ixz="0.0" iyy="0.1" iyz="0.0" izz="0.01"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.3815" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.78"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.3975" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.779"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg4_table">
    <material>Gazebo/DarkGrey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="table_to_leg4" type="fixed">
    <origin xyz="-0.48 -0.48 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="leg4_table"/>
  </joint>
  <link name="ring">
    <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://mrbot_description/meshes/ring/ring.stl" scale="0.005 0.005 0.01"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision name="ring_collision">
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://mrbot_description/meshes/ring/ring.stl" scale="0.005 0.005 0.01"/>
      </geometry>
    </collision>
  </link>
  <joint name="table_to_ring" type="fixed">
    <origin xyz="0.0 0.0 1.8" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="ring"/>
  </joint>
  <joint name="camera_1_joint" type="fixed">
    <origin xyz="0.23000000000000004 2.3739266067821028e-17 -4.416547576924586e-16" rpy="-3.1415926535897842 1.5415926535897935 -3.1415926535897842"/>
    <parent link="ring"/>
    <child link="camera_1_link"/>
  </joint>
  <link name="camera_1_link">
    <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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="red">
        <color rgba="0.9 0.0 0.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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="camera_1_link">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Red</material>
  </gazebo>
  <joint name="camera_1_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_1_link"/>
    <child link="camera_1_optical_frame"/>
  </joint>
  <link name="camera_1_optical_frame"/>
  <gazebo reference="camera_1_link">
    <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="camera_1_rgb_camera_controller">
        <cameraName>camera_1</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>camera_1_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>
  <joint name="camera_2_joint" type="fixed">
    <origin xyz="-0.2410058261557562 -0.00024671113272244197 0.0396720347138019" rpy="0.024134182874690168 1.5491570560074588 0.013846755257009636"/>
    <parent link="ring"/>
    <child link="camera_2_link"/>
  </joint>
  <link name="camera_2_link">
    <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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="green">
        <color rgba="0.0 0.9 0.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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="camera_2_link">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Green</material>
  </gazebo>
  <joint name="camera_2_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_2_link"/>
    <child link="camera_2_optical_frame"/>
  </joint>
  <link name="camera_2_optical_frame"/>
  <gazebo reference="camera_2_link">
    <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="camera_2_rgb_camera_controller">
        <cameraName>camera_2</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>camera_2_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>
  <joint name="camera_3_joint" type="fixed">
    <origin xyz="-0.0008595403353080869 0.23982377449734393 -0.02001070228158876" rpy="3.131111663486976 1.542488691634155 3.1309202923975885"/>
    <parent link="ring"/>
    <child link="camera_3_link"/>
  </joint>
  <link name="camera_3_link">
    <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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="blue">
        <color rgba="0.0 0.0 0.9 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="camera_3_link">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Blue</material>
  </gazebo>
  <joint name="camera_3_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_3_link"/>
    <child link="camera_3_optical_frame"/>
  </joint>
  <link name="camera_3_optical_frame"/>
  <gazebo reference="camera_3_link">
    <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="camera_3_rgb_camera_controller">
        <cameraName>camera_3</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>camera_3_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>
  <joint name="camera_4_joint" type="fixed">
    <origin xyz="-0.0012561788933161714 -0.24034320452896488 0.029886278344994868" rpy="3.131828446855116 1.5427077188090235 3.131643550689016"/>
    <parent link="ring"/>
    <child link="camera_4_link"/>
  </joint>
  <link name="camera_4_link">
    <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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="yellow">
        <color rgba="1.0 1.0 0.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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="camera_4_link">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Yellow</material>
  </gazebo>
  <joint name="camera_4_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_4_link"/>
    <child link="camera_4_optical_frame"/>
  </joint>
  <link name="camera_4_optical_frame"/>
  <gazebo reference="camera_4_link">
    <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="camera_4_rgb_camera_controller">
        <cameraName>camera_4</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>camera_4_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>
  <joint name="camera_5_joint" type="fixed">
    <origin xyz="0.018803694640189845 -0.010076340130009968 -0.020298747618986677" rpy="3.1310293027425655 1.54295861515889 3.130805422901926"/>
    <parent link="ring"/>
    <child link="camera_5_link"/>
  </joint>
  <link name="camera_5_link">
    <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://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="pink">
        <color rgba="1.0 0.0 0.8 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://mrbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="camera_5_link">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Pink</material>
  </gazebo>
  <joint name="camera_5_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_5_link"/>
    <child link="camera_5_optical_frame"/>
  </joint>
  <link name="camera_5_optical_frame"/>
  <gazebo reference="camera_5_link">
    <sensor name="camera" type="camera">
      <update_rate>10.0</update_rate>
      <camera>
        <horizontal_fov>0.6981317007977318</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="camera_5_rgb_camera_controller">
        <cameraName>camera_5</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>camera_5_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>
</robot>