<?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>
  <joint name="rgb_left_joint" type="fixed">
    <origin xyz="0.0150000000000003 3.472994034570021e-17 0.012000000000000162" rpy="0.0 -0.0 0.0"/>
    <parent link="tripod_left_support"/>
    <child link="rgb_left_link"/>
  </joint>
  <link name="rgb_left_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://rlbot_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://rlbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="rgb_left_link">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Red</material>
  </gazebo>
  <joint name="rgb_left_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="rgb_left_link"/>
    <child link="rgb_left_optical_frame"/>
  </joint>
  <link name="rgb_left_optical_frame"/>
  <gazebo reference="rgb_left_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="rgb_left_rgb_camera_controller">
        <cameraName>rgb_left</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>rgb_left_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="lidar_right_base_mount_joint" type="fixed">
    <origin xyz="0.014151622878044732 0.00488483722921291 0.009903018729878196" rpy="0.004973232513417487 0.0002563926828057827 0.4998642711786157"/>
    <parent link="tripod_right_support"/>
    <child link="lidar_right_base_link"/>
  </joint>
  <link name="lidar_right_base_link">
    <inertial>
      <origin xyz="0.0 0.0 0.03585" rpy="0 0 0"/>
      <mass value="0.83"/>
      <inertia ixx="0.000908059425" ixy="0.0" ixz="0.0" iyy="0.000908059425" iyz="0.0" izz="0.0011049624"/>
    </inertial>
    <visual>
      <geometry>
        <mesh filename="package://rlbot_description/meshes/vlp16/vlp16_base_1.stl"/>
      </geometry>
      <material name="blue">
        <color rgba="0.0 0.0 1.0 1.0"/>
      </material>
    </visual>
    <visual>
      <geometry>
        <mesh filename="package://rlbot_description/meshes/vlp16/vlp16_base_2.stl"/>
      </geometry>
      <material name="blue">
        <color rgba="0.0 0.0 1.0 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.03585" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.0516" length="0.0717"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="lidar_right_base_link">
    <material>Gazebo/Blue</material>
  </gazebo>
  <joint name="lidar_right_base_scan_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0377" rpy="0.0 0.0 0.0"/>
    <parent link="lidar_right_base_link"/>
    <child link="lidar_right"/>
  </joint>
  <link name="lidar_right">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
      <mass value="0.01"/>
      <inertia ixx="1e-07" ixy="0.0" ixz="0.0" iyy="1e-07" iyz="0.0" izz="1e-07"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 -0.0377" rpy="0 0 0"/>
      <geometry>
        <mesh filename="package://rlbot_description/meshes/vlp16/vlp16_scan.dae"/>
      </geometry>
      <material name="blue">
        <color rgba="0.0 0.0 1.0 1.0"/>
      </material>
    </visual>
    <collision>
      <geometry>
        <sphere radius="0.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="lidar_right">
    <sensor name="lidar_right-vlp16" type="ray">
      <pose>0 0 0 0 0 0</pose>
      <visualize>false</visualize>
      <update_rate>10</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>1875</samples>
            <resolution>1</resolution>
            <min_angle>-3.141592653589793</min_angle>
            <max_angle>3.141592653589793</max_angle>
          </horizontal>
          <vertical>
            <samples>16</samples>
            <resolution>1</resolution>
            <min_angle>-0.2617993877991494</min_angle>
            <max_angle> 0.2617993877991494</max_angle>
          </vertical>
        </scan>
        <range>
          <min>0.3</min>
          <max>131.0</max>
          <resolution>0.001</resolution>
        </range>
        <noise>
          <type>gaussian</type>
          <mean>0.0</mean>
          <stddev>0.0</stddev>
        </noise>
      </ray>
      <plugin filename="libgazebo_ros_velodyne_laser.so" name="gazebo_ros_laser_controller">
        <topicName>/lidar_right/points</topicName>
        <frameName>lidar_right</frameName>
        <organize_cloud>False</organize_cloud>
        <min_range>0.9</min_range>
        <max_range>130.0</max_range>
        <gaussianNoise>0.008</gaussianNoise>
      </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://rlbot_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://rlbot_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.4 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.15 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>
  <link name="tripod_left_support"/>
  <joint name="tripod_plate_to_tripod_left_support" type="fixed">
    <origin xyz="0.0 0.18 0.0075" rpy="0.0 0.0 0.0"/>
    <parent link="tripod_plate"/>
    <child link="tripod_left_support"/>
  </joint>
  <link name="tripod_right_support"/>
  <joint name="tripod_plate_to_tripod_right_support" type="fixed">
    <origin xyz="0.0 -0.18 0.0075" rpy="0.0 0.0 0.0"/>
    <parent link="tripod_plate"/>
    <child link="tripod_right_support"/>
  </joint>
</robot>