<?xml version="1.0" ?>
<!-- =================================================================================== -->
<!-- |    This document was autogenerated by xacro from custom_jackal.urdf.xacro       | -->
<!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED                                 | -->
<!-- =================================================================================== -->
<robot name="jackal">
  <material name="dark_grey">
    <color rgba="0.2 0.2 0.2 1.0"/>
  </material>
  <material name="light_grey">
    <color rgba="0.4 0.4 0.4 1.0"/>
  </material>
  <material name="yellow">
    <color rgba="0.8 0.8 0.0 1.0"/>
  </material>
  <material name="black">
    <color rgba="0.15 0.15 0.15 1.0"/>
  </material>
  <link name="front_left_wheel_link">
    <visual>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/jackal-wheel.stl"/>
      </geometry>
      <material name="black"/>
    </visual>
    <collision>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.098"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.477"/>
      <inertia ixx="0.0013" ixy="0" ixz="0" iyy="0.0024" iyz="0" izz="0.0013"/>
    </inertial>
  </link>
  <gazebo reference="front_left_wheel_link">
    <material>Gazebo/DarkGrey</material>
    <selfCollide>false</selfCollide>
    <mu1 value="0.5"/>
    <mu2 value="0.5"/>
    <kp value="10000000.0"/>
    <kd value="1"/>
    <fdir1 value="1 0 0"/>
  </gazebo>
  <joint name="front_left_wheel" type="continuous">
    <parent link="chassis_link"/>
    <child link="front_left_wheel_link"/>
    <origin rpy="0 0 0" xyz="0.131 0.187795 0.0345"/>
    <axis xyz="0 1 0"/>
  </joint>

  <link name="front_right_wheel_link">
    <visual>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/jackal-wheel.stl"/>
      </geometry>
      <material name="black"/>
    </visual>
    <collision>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.098"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.477"/>
      <inertia ixx="0.0013" ixy="0" ixz="0" iyy="0.0024" iyz="0" izz="0.0013"/>
    </inertial>
  </link>
  <gazebo reference="front_right_wheel_link">
    <material>Gazebo/DarkGrey</material>
    <selfCollide>false</selfCollide>
    <mu1 value="0.5"/>
    <mu2 value="0.5"/>
    <kp value="10000000.0"/>
    <kd value="1"/>
    <fdir1 value="1 0 0"/>
  </gazebo>
  <joint name="front_right_wheel" type="continuous">
    <parent link="chassis_link"/>
    <child link="front_right_wheel_link"/>
    <origin rpy="0 0 0" xyz="0.131 -0.187795 0.0345"/>
    <axis xyz="0 1 0"/>
  </joint>

  <link name="rear_left_wheel_link">
    <visual>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/jackal-wheel.stl"/>
      </geometry>
      <material name="black"/>
    </visual>
    <collision>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.098"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.477"/>
      <inertia ixx="0.0013" ixy="0" ixz="0" iyy="0.0024" iyz="0" izz="0.0013"/>
    </inertial>
  </link>
  <gazebo reference="rear_left_wheel_link">
    <material>Gazebo/DarkGrey</material>
    <selfCollide>false</selfCollide>
    <mu1 value="0.5"/>
    <mu2 value="0.5"/>
    <kp value="10000000.0"/>
    <kd value="1"/>
    <fdir1 value="1 0 0"/>
  </gazebo>
  <joint name="rear_left_wheel" type="continuous">
    <parent link="chassis_link"/>
    <child link="rear_left_wheel_link"/>
    <origin rpy="0 0 0" xyz="-0.131 0.187795 0.0345"/>
    <axis xyz="0 1 0"/>
  </joint>

  <link name="rear_right_wheel_link">
    <visual>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <mesh filename="../meshes/jackal-wheel.stl"/>
      </geometry>
      <material name="black"/>
    </visual>
    <collision>
      <origin rpy="1.5707963267948966 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.04" radius="0.098"/>
      </geometry>
    </collision>
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.477"/>
      <inertia ixx="0.0013" ixy="0" ixz="0" iyy="0.0024" iyz="0" izz="0.0013"/>
    </inertial>
  </link>
  <gazebo reference="rear_right_wheel_link">
    <material>Gazebo/DarkGrey</material>
    <selfCollide>false</selfCollide>
    <mu1 value="0.5"/>
    <mu2 value="0.5"/>
    <kp value="10000000.0"/>
    <kd value="1"/>
    <fdir1 value="1 0 0"/>
  </gazebo>
  <joint name="rear_right_wheel" type="continuous">
    <parent link="chassis_link"/>
    <child link="rear_right_wheel_link"/>
    <origin rpy="0 0 0" xyz="-0.131 -0.187795 0.0345"/>
    <axis xyz="0 1 0"/>
  </joint>

  <link name="base_link"/>
  <joint name="base_link_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="base_link"/>
    <child link="chassis_link"/>
  </joint>
  <link name="chassis_link">
    <visual>
      <origin rpy="1.5707963267948966 0 1.5707963267948966" xyz="0 0 -0.0655"/>
      <geometry>
        <mesh filename="../meshes/jackal-base.stl"/>
      </geometry>
      <material name="dark_grey"/>
    </visual>
    <collision>
      <origin xyz="0 0 0.092"/>
      <geometry>
        <box size="0.42 0.31 0.184"/>
      </geometry>
    </collision>
    <inertial>
      <!-- Center of mass -->
      <origin rpy="0 0 0" xyz="0.012  0.002 0.067"/>
      <mass value="16.523"/>
      <!-- Moments of inertia: ( chassis without wheels ) -->
      <inertia ixx="0.3136" ixy="-0.0008" ixz="0.0164" iyy="0.3922" iyz="-0.0009" izz="0.4485"/>
    </inertial>
  </link>
  <link name="front_fender_link">
    <visual>
      <geometry>
        <mesh filename="../meshes/jackal-fender.stl"/>
      </geometry>
      <material name="yellow"/>
    </visual>
  </link>
  <joint name="front_fender_joint" type="fixed">
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <parent link="chassis_link"/>
    <child link="front_fender_link"/>
  </joint>
  <link name="rear_fender_link">
    <visual>
      <geometry>
        <mesh filename="../meshes/jackal-fender.stl"/>
      </geometry>
      <material name="yellow"/>
    </visual>
  </link>
  <joint name="rear_fender_joint" type="fixed">
    <origin rpy="0 0 3.141592653589793" xyz="0 0 0"/>
    <parent link="chassis_link"/>
    <child link="rear_fender_link"/>
  </joint>
  <!-- Default Internal IMU Link -->
  <link name="imu_link">
    <inertial>
      <mass value="0.001"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1e-09" ixy="0.0" ixz="0.0" iyy="1e-09" iyz="0.0" izz="1e-09"/>
    </inertial>
  </link>
  <joint name="imu_joint" type="fixed">
    <parent link="chassis_link"/>
    <child link="imu_link"/>
  </joint>
  <!-- Default NAVSAT Link -->
  <link name="navsat_link">
    <visual>
      <geometry>
        <cylinder length="0.016" radius="0.026"/>
      </geometry>
      <origin xyz="0 0 0.008"/>
      <material name="black"/>
    </visual>
  </link>
  <joint name="navsat_joint" type="fixed">
    <parent link="chassis_link"/>
    <child link="navsat_link"/>
    <origin xyz="-0.180 0.126 0.1815"/>
  </joint>
  <link name="mid_mount"/>
  <joint name="mid_mount_joint" type="fixed">
    <parent link="chassis_link"/>
    <child link="mid_mount"/>
    <origin xyz="0 0 0.184"/>
  </joint>
  <link name="rear_mount"/>
  <joint name="rear_mount_joint" type="fixed">
    <parent link="mid_mount"/>
    <child link="rear_mount"/>
    <origin xyz="-0.12 0 0"/>
  </joint>
  <link name="front_mount"/>
  <joint name="front_mount_joint" type="fixed">
    <parent link="mid_mount"/>
    <child link="front_mount"/>
    <origin xyz="0.12 0 0"/>
  </joint>

  <!-- Ouster Augment -->
  <link name="front_laser">
    <inertial>
      <mass value="0.33"/>
      <origin rpy="0 0 0" xyz="0 0 0.0365"/>
      <inertia ixx="0.000241148" ixy="0" ixz="0" iyy="0.000241148" iyz="0" izz="0.000264"/>
    </inertial>
    <collision>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <!-- z = 0.0365 -->
      <geometry>
        <cylinder length="0.073" radius="0.04"/>
      </geometry>
    </collision>
    <visual>
      <origin rpy="0 0 1.5707" xyz="0 0 0.0"/>
      <geometry>
        <mesh filename="../meshes/os1_64.dae"/>
      </geometry>
    </visual>
  </link>
  <joint name="front_laser_joint" type="fixed">
    <parent link="base_link"/>
    <child link="front_laser"/>
    <origin rpy="0 0 0" xyz="0.18 0.0 0.213"/>
    <!-- 0.03618 is the default height -->
  </joint>
 
</robot>

