<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from /workspace/src/bcr_bot/urdf/bcr_bot.xacro | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="bcr_bot">
  <!--................................ XACRO CONSTANTS .............................. -->
  <!-- ............................... LOAD MACROS ................................. -->
  <material name="black">
    <color rgba="0.0 0.0 0.0 1.0"/>
  </material>
  <material name="blue">
    <color rgba="0.0 0.0 0.8 1.0"/>
  </material>
  <material name="green">
    <color rgba="0.0 0.8 0.0 1.0"/>
  </material>
  <material name="yellow">
    <color rgba="1.0 1.0 0.0 1.0"/>
  </material>
  <material name="dark_grey">
    <color rgba="0.2 0.2 0.2 1.0"/>
  </material>
  <material name="orange">
    <color rgba="1.0 0.4235294117647059 0.0392156862745098 1.0"/>
  </material>
  <material name="brown">
    <color rgba="0.5450980392156862 0.27058823529411763 0.07450980392156863 1.0"/>
  </material>
  <material name="red">
    <color rgba="0.8 0.0 0.0 1.0"/>
  </material>
  <material name="turquoise">
    <color rgba="0.25098039215686274 0.8784313725490196 0.8156862745098039 1.0"/>
  </material>
  <material name="purple">
    <color rgba="0.5019607843137255 0.0 0.5019607843137255 1.0"/>
  </material>
  <material name="white">
    <color rgba="1.0 1.0 1.0 1.0"/>
  </material>
  <material name="aluminium">
    <color rgba="0.5 0.5 0.5 1"/>
  </material>
  <material name="plastic">
    <color rgba="0.1 0.1 0.1 1"/>
  </material>
  <!--................................ INERTIA MATRICES .............................. -->
  <!-- ............................... TROLLEY WHEEL DEFINITION .............................. -->
  <!-- ................................ BASE LINK .................................. -->
  <link name="base_footprint"/>
  <link name="base_link"/>
  <joint name="base_joint" type="fixed">
    <parent link="base_footprint"/>
    <child link="base_link"/>
    <origin rpy="0 0 0.0" xyz="0.0 0 0.195"/>
  </joint>
  <link name="chassis_link">
    <collision>
      <origin rpy="0 0 0" xyz="0 0 -0.05"/>
      <geometry>
        <box size="0.9 0.64 0.19"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 -0.205"/>
      <geometry>
                          <mesh filename="file:///workspace/install/bcr_bot/share/bcr_bot/meshes/bcr_bot_mesh.dae" scale="1 1 1"/>
                                                    </geometry>>
    </visual>
    <inertial>
      <mass value="70"/>
      <inertia ixx="2.5999166666666667" ixy="0" ixz="0" iyy="4.935583333333334" iyz="0" izz="7.114333333333334"/>
    </inertial>
  </link>
  <joint name="chassis_joint" type="fixed">
    <parent link="base_link"/>
    <child link="chassis_link"/>
    <origin rpy="0 0 0.0" xyz="0.0 0 0"/>
  </joint>
  <!-- ................................ WHEELS ..................................... -->
  <link name="front_left_wheel">
    <collision>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.06"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.1"/>
      <inertia ixx="0.00014399999999999998" ixy="0" ixz="0" iyy="0.00014399999999999998" iyz="0" izz="0.00014399999999999998"/>
    </inertial>
    <mu>0.0</mu>
  </link>
  <joint name="front_left_wheel_joint" type="fixed">
    <parent link="base_link"/>
    <child link="front_left_wheel"/>
    <origin rpy="0 0 0" xyz="0.45 0.27 -0.155"/>
    <axis rpy="0 0 0" xyz="0 1 0"/>
  </joint>
  <gazebo reference="front_left_wheel">
    <material>Gazebo/Black</material>
  </gazebo>
  <link name="front_right_wheel">
    <collision>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.06"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.1"/>
      <inertia ixx="0.00014399999999999998" ixy="0" ixz="0" iyy="0.00014399999999999998" iyz="0" izz="0.00014399999999999998"/>
    </inertial>
    <mu>0.0</mu>
  </link>
  <joint name="front_right_wheel_joint" type="fixed">
    <parent link="base_link"/>
    <child link="front_right_wheel"/>
    <origin rpy="0 0 0" xyz="0.45 -0.27 -0.155"/>
    <axis rpy="0 0 0" xyz="0 1 0"/>
  </joint>
  <gazebo reference="front_right_wheel">
    <material>Gazebo/Black</material>
  </gazebo>
  <link name="back_left_wheel">
    <collision>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.06"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.1"/>
      <inertia ixx="0.00014399999999999998" ixy="0" ixz="0" iyy="0.00014399999999999998" iyz="0" izz="0.00014399999999999998"/>
    </inertial>
    <mu>0.0</mu>
  </link>
  <joint name="back_left_wheel_joint" type="fixed">
    <parent link="base_link"/>
    <child link="back_left_wheel"/>
    <origin rpy="0 0 0" xyz="-0.45 0.27 -0.155"/>
    <axis rpy="0 0 0" xyz="0 1 0"/>
  </joint>
  <gazebo reference="back_left_wheel">
    <material>Gazebo/Black</material>
  </gazebo>
  <link name="back_right_wheel">
    <collision>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <sphere radius="0.06"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.1"/>
      <inertia ixx="0.00014399999999999998" ixy="0" ixz="0" iyy="0.00014399999999999998" iyz="0" izz="0.00014399999999999998"/>
    </inertial>
    <mu>0.0</mu>
  </link>
  <joint name="back_right_wheel_joint" type="fixed">
    <parent link="base_link"/>
    <child link="back_right_wheel"/>
    <origin rpy="0 0 0" xyz="-0.45 -0.27 -0.155"/>
    <axis rpy="0 0 0" xyz="0 1 0"/>
  </joint>
  <gazebo reference="back_right_wheel">
    <material>Gazebo/Black</material>
  </gazebo>
  <link name="middle_left_wheel">
    <collision>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.05" radius="0.1"/>
      </geometry>
      <self_collide>false</self_collide>
    </collision>
    <inertial>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <mass value="1"/>
      <inertia ixx="0.002708333333333334" ixy="0" ixz="0" iyy="0.002708333333333334" iyz="0" izz="0.005000000000000001"/>
    </inertial>
    <mu>5.0</mu>
  </link>
  <joint name="middle_left_wheel_joint" type="continuous">
    <parent link="base_link"/>
    <child link="middle_left_wheel"/>
    <origin rpy="0 0 0" xyz="0 0.3 -0.11699999999999999"/>
    <axis rpy="0 0 0" xyz="0 1 0"/>
  </joint>
  <gazebo reference="middle_left_wheel">
    <material>Gazebo/Black</material>
  </gazebo>
  <link name="middle_right_wheel">
    <collision>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.05" radius="0.1"/>
      </geometry>
      <self_collide>false</self_collide>
    </collision>
    <inertial>
      <origin rpy="0 1.5707963267948966 1.5707963267948966" xyz="0 0 0"/>
      <mass value="1"/>
      <inertia ixx="0.002708333333333334" ixy="0" ixz="0" iyy="0.002708333333333334" iyz="0" izz="0.005000000000000001"/>
    </inertial>
    <mu>5.0</mu>
  </link>
  <joint name="middle_right_wheel_joint" type="continuous">
    <parent link="base_link"/>
    <child link="middle_right_wheel"/>
    <origin rpy="0 0 0" xyz="0 -0.3 -0.11699999999999999"/>
    <axis rpy="0 0 0" xyz="0 1 0"/>
  </joint>
  <gazebo reference="middle_right_wheel">
    <material>Gazebo/Black</material>
  </gazebo>
  <!-- ............................. 2D LIDAR ........................................ -->
  <!-- ............................. IMU ........................................ -->
  <link name="imu_frame"/>
  <joint name="imu_joint" type="fixed">
    <parent link="base_link"/>
    <child link="imu_frame"/>
    <origin rpy="0.0 0.0 0.0" xyz="0.0 0.0 0.08"/>
  </joint>
  <!-- ............................. CAMERA ........................................ -->
  <!-- .............................STEREO CAMERA ........................................ -->
  <!-- STEREO CAMERA -->
  <link name="stereo_camera">
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.07 0.3 0.09"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="file:///workspace/install/bcr_bot/share/bcr_bot/meshes/kinect/d415.dae"/>
      </geometry>
      <material name="black"/>
    </visual>
    <inertial>
      <mass value="0.01"/>
      <inertia ixx="8.175e-05" ixy="0" ixz="0" iyy="1.0833333333333335e-05" iyz="0" izz="7.908333333333334e-05"/>
    </inertial>
  </link>
  <joint name="stereo_camera_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0.45 0 0.027142857142857142"/>
    <parent link="base_link"/>
    <child link="stereo_camera"/>
  </joint>
  <link name="stereo_camera_optical"/>
  <joint name="stereo_camera_optical_joint" type="fixed">
    <origin rpy="-1.5707963267948966 0 -1.5707963267948966" xyz="0 0 0"/>
    <parent link="stereo_camera"/>
    <child link="stereo_camera_optical"/>
  </joint>
  <!-- ............................. ROOF ........................................ -->
  <link name="roof_link">
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <box size="0.9 0.64 0.015"/>
      </geometry>
    </collision>
    <inertial>
      <mass value="1"/>
      <inertia ixx="0.030018749999999997" ixy="0" ixz="0" iyy="0.08335208333333333" iyz="0" izz="0.11333333333333333"/>
    </inertial>
  </link>
  <joint name="roof joint" type="fixed">
    <parent link="chassis_link"/>
    <child link="roof_link"/>
    <origin rpy="0 0 0" xyz="0 0 0.16"/>
  </joint>
  <!-- ............................. CONVEYOR ........................................ -->
  <!-- ............................................................................... -->
</robot>
