<?xml version="1.0" ?>
<robot name="larcc" version="1.0">
  <material name="Yellow">
    <color rgba="1.0 1.0 0.0 1.0"/>
  </material>
  <material name="Orange">
    <color rgba="1.0 0.4 0.0 1.0"/>
  </material>
  <material name="grey">
    <color rgba="0.7 0.7 0.7 1.0"/>
  </material>
  <link name="world"/>
  <link name="table"/>
  <joint name="world_to_table" type="fixed">
    <origin xyz="0.1 0.95 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="0.9 1.25 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="0.9 1.25 0.015"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="tabletop_table">
    <material>Gazebo/Grey</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/Grey</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.43 0.605 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/Grey</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.43 0.605 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/Grey</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.43 -0.605 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/Grey</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.43 -0.605 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="leg4_table"/>
  </joint>
  <link name="gantry"/>
  <joint name="world_to_gantry" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="world"/>
    <child link="gantry"/>
  </joint>
  <link name="gantry_gantry">
    <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>
  </link>
  <gazebo reference="gantry_gantry">
    <material>Gazebo/Grey</material>
    <mu1>50.0</mu1>
    <mu2>50.0</mu2>
    <kp>1000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="gantry_to_gantry_gantry" type="fixed">
    <origin xyz="0.0 0.0 2.29" rpy="0.0 0.0 0.0"/>
    <parent link="gantry"/>
    <child link="gantry_gantry"/>
  </joint>
  <link name="leg1_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_2200.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.045 0.045 1.1" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.09 0.09 2.2"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg1_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="gantry_to_leg1" type="fixed">
    <origin xyz="-1.91 1.4 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="gantry"/>
    <child link="leg1_gantry"/>
  </joint>
  <link name="leg2_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_2200.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.045 0.045 1.1" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.09 0.09 2.2"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg2_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="gantry_to_leg2" type="fixed">
    <origin xyz="2.0 1.4 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="gantry"/>
    <child link="leg2_gantry"/>
  </joint>
  <link name="leg3_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_2200.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.045 0.045 1.1" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.09 0.09 2.2"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg3_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="gantry_to_leg3" type="fixed">
    <origin xyz="2.0 -1.49 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="gantry"/>
    <child link="leg3_gantry"/>
  </joint>
  <link name="leg4_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_2200.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.045 0.045 1.1" rpy="0.0 0.0 0.0"/>
      <geometry>
        <box size="0.09 0.09 2.2"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg4_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="gantry_to_leg4" type="fixed">
    <origin xyz="-1.91 -1.49 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="gantry"/>
    <child link="leg4_gantry"/>
  </joint>
  <link name="bigbeam1_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 1.5707963267948966 0.0"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_5000.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="2.5 0.045 -0.045" rpy="0.0 1.5707963267948966 0.0"/>
      <geometry>
        <box size="0.09 0.09 5.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="bigbeam1_leg1_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="leg1_gantry_to_bigbeam1" type="fixed">
    <origin xyz="-0.5 0.0 2.29" rpy="0.0 0.0 0.0"/>
    <parent link="leg1_gantry"/>
    <child link="bigbeam1_gantry"/>
  </joint>
  <link name="bigbeam2_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 1.5707963267948966 0.0"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_5000.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="2.5 0.045 -0.045" rpy="0.0 1.5707963267948966 0.0"/>
      <geometry>
        <box size="0.09 0.09 5.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="bigbeam2_leg4_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="leg4_gantry_to_bigbeam2" type="fixed">
    <origin xyz="-0.5 0.0 2.29" rpy="0.0 0.0 0.0"/>
    <parent link="leg4_gantry"/>
    <child link="bigbeam2_gantry"/>
  </joint>
  <link name="smallbeam1_bigbeam1_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_3800.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="-0.045 1.9 -0.045" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <box size="0.09 0.09 3.8"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="smallbeam1_bigbeam1_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="bigbeam1_gantry_to_smallbeam1" type="fixed">
    <origin xyz="0.59 -3.3449999999999998 0.09" rpy="0.0 0.0 0.0"/>
    <parent link="bigbeam1_gantry"/>
    <child link="smallbeam1_bigbeam1_gantry"/>
  </joint>
  <link name="smallbeam2_bigbeam1_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_90x90_3800.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="-0.045 1.9 -0.045" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <box size="0.09 0.09 3.8"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="smallbeam2_bigbeam1_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="bigbeam1_gantry_to_smallbeam2" type="fixed">
    <origin xyz="4.5 -3.3449999999999998 0.09" rpy="0.0 0.0 0.0"/>
    <parent link="bigbeam1_gantry"/>
    <child link="smallbeam2_bigbeam1_gantry"/>
  </joint>
  <link name="rectangularbeam1_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_45x90_3000.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="-0.045 1.5 -0.0225" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <box size="0.045 0.09 3.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="rectangularbeam1_bigbeam1_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="bigbeam1_gantry_to_rectangularbeam1" type="fixed">
    <origin xyz="1.455 -2.8 0.0" rpy="0.0 1.5707963267948966 0.0"/>
    <parent link="bigbeam1_gantry"/>
    <child link="rectangularbeam1_gantry"/>
  </joint>
  <link name="rectangularbeam2_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_45x90_3000.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="-0.045 1.5 -0.0225" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <box size="0.045 0.09 3.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="rectangularbeam2_bigbeam1_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="bigbeam1_gantry_to_rectangularbeam2" type="fixed">
    <origin xyz="2.455 -2.8 0.0" rpy="0.0 1.5707963267948966 0.0"/>
    <parent link="bigbeam1_gantry"/>
    <child link="rectangularbeam2_gantry"/>
  </joint>
  <link name="rectangularbeam3_gantry">
    <inertial>
      <origin xyz="0.0 0.0 1.1440000000000001" 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.0" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/minitec_45x90_3000.STL" scale="0.001 0.001 0.001"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="-0.045 1.5 -0.0225" rpy="0.0 1.5707963267948966 1.5707963267948966"/>
      <geometry>
        <box size="0.045 0.09 3.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="rectangularbeam3_bigbeam1_gantry">
    <material>Gazebo/Grey</material>
    <mu1>1000.0</mu1>
    <mu2>1000.0</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <joint name="bigbeam1_gantry_to_rectangularbeam3" type="fixed">
    <origin xyz="3.455 -2.8 0.0" rpy="0.0 1.5707963267948966 0.0"/>
    <parent link="bigbeam1_gantry"/>
    <child link="rectangularbeam3_gantry"/>
  </joint>
  <transmission name="shoulder_pan_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="shoulder_pan_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="shoulder_pan_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="shoulder_lift_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="shoulder_lift_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="shoulder_lift_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="elbow_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="elbow_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="elbow_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="wrist_1_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="wrist_1_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="wrist_1_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="wrist_2_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="wrist_2_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="wrist_2_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="wrist_3_trans">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="wrist_3_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="wrist_3_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <link name="base_link"/>
  <link name="base_link_inertia">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="4.0"/>
      <inertia ixx="0.0061063308908" ixy="0.0" ixz="0.0" iyy="0.0061063308908" iyz="0.0" izz="0.01125"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/visual/base.dae"/>
      </geometry>
      <material name="LightGrey">
        <color rgba="0.7 0.7 0.7 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/collision/base.stl"/>
      </geometry>
    </collision>
  </link>
  <link name="shoulder_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="7.778"/>
      <inertia ixx="0.03147431257693659" ixy="0.0" ixz="0.0" iyy="0.03147431257693659" iyz="0.0" izz="0.021875624999999996"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/visual/shoulder.dae"/>
      </geometry>
      <material name="LightGrey">
        <color rgba="0.7 0.7 0.7 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/collision/shoulder.stl"/>
      </geometry>
    </collision>
  </link>
  <link name="upper_arm_link">
    <inertial>
      <origin xyz="-0.306 0.0 0.175" rpy="0.0 1.5707963267948966 0.0"/>
      <mass value="12.93"/>
      <inertia ixx="0.42175380379841093" ixy="0.0" ixz="0.0" iyy="0.42175380379841093" iyz="0.0" izz="0.03636562499999999"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.1762" rpy="1.5707963267948966 0.0 -1.5707963267948966"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/visual/upperarm.dae"/>
      </geometry>
      <material name="LightGrey">
        <color rgba="0.7 0.7 0.7 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.1762" rpy="1.5707963267948966 0.0 -1.5707963267948966"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/collision/upperarm.stl"/>
      </geometry>
    </collision>
  </link>
  <link name="forearm_link">
    <inertial>
      <origin xyz="-0.285775 0.0 0.0393" rpy="0.0 1.5707963267948966 0.0"/>
      <mass value="3.87"/>
      <inertia ixx="0.11079302548902206" ixy="0.0" ixz="0.0" iyy="0.11079302548902206" iyz="0.0" izz="0.010884375"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0393" rpy="1.5707963267948966 0.0 -1.5707963267948966"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/visual/forearm.dae"/>
      </geometry>
      <material name="LightGrey">
        <color rgba="0.7 0.7 0.7 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0393" rpy="1.5707963267948966 0.0 -1.5707963267948966"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/collision/forearm.stl"/>
      </geometry>
    </collision>
  </link>
  <link name="wrist_1_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="1.96"/>
      <inertia ixx="0.005108247956699999" ixy="0.0" ixz="0.0" iyy="0.005108247956699999" iyz="0.0" izz="0.005512499999999999"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 -0.135" rpy="1.5707963267948966 0.0 0.0"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/visual/wrist1.dae"/>
      </geometry>
      <material name="LightGrey">
        <color rgba="0.7 0.7 0.7 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 -0.135" rpy="1.5707963267948966 0.0 0.0"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/collision/wrist1.stl"/>
      </geometry>
    </collision>
  </link>
  <link name="wrist_2_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="1.96"/>
      <inertia ixx="0.005108247956699999" ixy="0.0" ixz="0.0" iyy="0.005108247956699999" iyz="0.0" izz="0.005512499999999999"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 -0.12" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/visual/wrist2.dae"/>
      </geometry>
      <material name="LightGrey">
        <color rgba="0.7 0.7 0.7 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 -0.12" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/collision/wrist2.stl"/>
      </geometry>
    </collision>
  </link>
  <link name="wrist_3_link">
    <inertial>
      <origin xyz="0.0 0.0 -0.025" rpy="0.0 0.0 0.0"/>
      <mass value="0.202"/>
      <inertia ixx="0.00014434577559500002" ixy="0.0" ixz="0.0" iyy="0.00014434577559500002" iyz="0.0" izz="0.00020452500000000002"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 -0.1168" rpy="1.5707963267948966 0.0 0.0"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/visual/wrist3.dae"/>
      </geometry>
      <material name="LightGrey">
        <color rgba="0.7 0.7 0.7 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 -0.1168" rpy="1.5707963267948966 0.0 0.0"/>
      <geometry>
        <mesh filename="package://ur_description/meshes/ur10e/collision/wrist3.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="base_link-base_link_inertia" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793"/>
    <parent link="base_link"/>
    <child link="base_link_inertia"/>
  </joint>
  <joint name="shoulder_pan_joint" type="revolute">
    <origin xyz="0.0 0.0 0.1807" rpy="0.0 0.0 0.0"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="base_link_inertia"/>
    <child link="shoulder_link"/>
    <limit effort="330.0" lower="-3.141592653589793" upper="3.141592653589793" velocity="2.0943951023931953"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <joint name="shoulder_lift_joint" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="1.570796327 0.0 0.0"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="shoulder_link"/>
    <child link="upper_arm_link"/>
    <limit effort="330.0" lower="-1.8325957145940461" upper="0.0" velocity="2.0943951023931953"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <joint name="elbow_joint" type="revolute">
    <origin xyz="-0.6127 0.0 0.0" rpy="0.0 0.0 0.0"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="upper_arm_link"/>
    <child link="forearm_link"/>
    <limit effort="150.0" lower="-3.141592653589793" upper="3.141592653589793" velocity="3.141592653589793"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <joint name="wrist_1_joint" type="revolute">
    <origin xyz="-0.57155 0.0 0.17415" rpy="0.0 0.0 0.0"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="forearm_link"/>
    <child link="wrist_1_link"/>
    <limit effort="56.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <joint name="wrist_2_joint" type="revolute">
    <origin xyz="0.0 -0.11985 -2.458164590756244e-11" rpy="1.570796327 0.0 0.0"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="wrist_1_link"/>
    <child link="wrist_2_link"/>
    <limit effort="56.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <joint name="wrist_3_joint" type="revolute">
    <origin xyz="0.0 0.11655 -2.390480459346185e-11" rpy="1.570796326589793 3.141592653589793 3.141592653589793"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="wrist_2_link"/>
    <child link="wrist_3_link"/>
    <limit effort="56.0" lower="-6.283185307179586" upper="6.283185307179586" velocity="3.141592653589793"/>
    <dynamics damping="0.0" friction="0.0"/>
  </joint>
  <link name="base"/>
  <joint name="base_link-base_fixed_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 3.141592653589793"/>
    <parent link="base_link"/>
    <child link="base"/>
  </joint>
  <link name="flange"/>
  <joint name="wrist_3-flange" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 -1.5707963267948966 -1.5707963267948966"/>
    <parent link="wrist_3_link"/>
    <child link="flange"/>
  </joint>
  <link name="tool0"/>
  <joint name="flange-tool0" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="1.5707963267948966 0.0 1.5707963267948966"/>
    <parent link="flange"/>
    <child link="tool0"/>
  </joint>
  <gazebo reference="shoulder_link">
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="upper_arm_link">
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="forearm_link">
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="wrist_1_link">
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="wrist_3_link">
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="wrist_2_link">
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="ee_link">
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_ros_control.so" name="ros_control">
    </plugin>
  </gazebo>
  <joint name="tabletop_table_to_ur10e" type="fixed">
    <origin xyz="0.0 0.0 0.001" rpy="0.0 0.0 0.0"/>
    <parent link="tabletop_table"/>
    <child link="base_link"/>
  </joint>
  <joint name="lidar_1_base_mount_joint" type="fixed">
    <origin xyz="0.13344877924622048 1.4809605995171666 0.018546347884298132" rpy="-1.6352167739446541 0.26118375439118546 -1.3069841099644255"/>
    <parent link="rectangularbeam3_gantry"/>
    <child link="lidar_1_base_link"/>
  </joint>
  <link name="lidar_1_base_link">
    <inertial>
      <origin xyz="0.0 0.0 0.03585" rpy="0.0 0.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://velodyne_description/meshes/VLP16_base_1.dae"/>
      </geometry>
    </visual>
    <visual>
      <geometry>
        <mesh filename="package://velodyne_description/meshes/VLP16_base_2.dae"/>
      </geometry>
    </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>
  <joint name="lidar_1_base_scan_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0377" rpy="0.0 0.0 0.0"/>
    <parent link="lidar_1_base_link"/>
    <child link="lidar_1"/>
  </joint>
  <link name="lidar_1">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.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.0 0.0"/>
      <geometry>
        <mesh filename="package://velodyne_description/meshes/VLP16_scan.dae"/>
      </geometry>
    </visual>
  </link>
  <gazebo reference="lidar_1">
    <sensor name="lidar_1-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_1/velodyne_points</topicName>
        <frameName>lidar_1</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>
  <joint name="lidar_2_base_mount_joint" type="fixed">
    <origin xyz="0.055899396538734 2.29645037651062 -0.021081686019897516" rpy="-1.5838383865967984 -0.010889059518626735 -0.9922356621236011"/>
    <parent link="rectangularbeam2_gantry"/>
    <child link="lidar_2_base_link"/>
  </joint>
  <link name="lidar_2_base_link">
    <inertial>
      <origin xyz="0.0 0.0 0.03585" rpy="0.0 0.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://velodyne_description/meshes/VLP16_base_1.dae"/>
      </geometry>
    </visual>
    <visual>
      <geometry>
        <mesh filename="package://velodyne_description/meshes/VLP16_base_2.dae"/>
      </geometry>
    </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>
  <joint name="lidar_2_base_scan_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0377" rpy="0.0 0.0 0.0"/>
    <parent link="lidar_2_base_link"/>
    <child link="lidar_2"/>
  </joint>
  <link name="lidar_2">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.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.0 0.0"/>
      <geometry>
        <mesh filename="package://velodyne_description/meshes/VLP16_scan.dae"/>
      </geometry>
    </visual>
  </link>
  <gazebo reference="lidar_2">
    <sensor name="lidar_2-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_2/velodyne_points</topicName>
        <frameName>lidar_2</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>
  <joint name="lidar_3_base_mount_joint" type="fixed">
    <origin xyz="-0.033626727124202574 1.3698982024040391 0.017222734197124247" rpy="-1.6988130035668254 0.015651981600719976 -1.1176823242283045"/>
    <parent link="rectangularbeam1_gantry"/>
    <child link="lidar_3_base_link"/>
  </joint>
  <link name="lidar_3_base_link">
    <inertial>
      <origin xyz="0.0 0.0 0.03585" rpy="0.0 0.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://velodyne_description/meshes/VLP16_base_1.dae"/>
      </geometry>
    </visual>
    <visual>
      <geometry>
        <mesh filename="package://velodyne_description/meshes/VLP16_base_2.dae"/>
      </geometry>
    </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>
  <joint name="lidar_3_base_scan_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0377" rpy="0.0 0.0 0.0"/>
    <parent link="lidar_3_base_link"/>
    <child link="lidar_3"/>
  </joint>
  <link name="lidar_3">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.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.0 0.0"/>
      <geometry>
        <mesh filename="package://velodyne_description/meshes/VLP16_scan.dae"/>
      </geometry>
    </visual>
  </link>
  <gazebo reference="lidar_3">
    <sensor name="lidar_3-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_3/velodyne_points</topicName>
        <frameName>lidar_3</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>
  <joint name="hand_camera_joint" type="fixed">
    <origin xyz="-0.02 -0.06 -0.065" rpy="3.141592653589793 0.0 0.0"/>
    <parent link="flange"/>
    <child link="hand_camera_link"/>
  </joint>
  <link name="hand_camera_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="0.564"/>
      <inertia ixx="0.003881243" ixy="0.0" ixz="0.0" iyy="0.00049894" iyz="0.0" izz="0.003879257"/>
    </inertial>
    <visual>
      <origin xyz="-0.03 -0.06 0.0" rpy="3.141592653589793 0.0 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/sensors/astra2.dae" scale="0.48 0.66 0.5"/>
      </geometry>
    </visual>
  </link>
  <gazebo reference="hand_camera_link">
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="hand_camera_rgb_joint" type="fixed">
    <origin xyz="0.0 -0.045 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="hand_camera_link"/>
    <child link="hand_camera_rgb_frame"/>
  </joint>
  <link name="hand_camera_rgb_frame"/>
  <joint name="hand_camera_rgb_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="hand_camera_rgb_frame"/>
    <child link="hand_camera_rgb_optical_frame"/>
  </joint>
  <link name="hand_camera_rgb_optical_frame"/>
  <joint name="hand_camera_depth_joint" type="fixed">
    <origin xyz="0.0 -0.02 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="hand_camera_link"/>
    <child link="hand_camera_depth_frame"/>
  </joint>
  <link name="hand_camera_depth_frame"/>
  <joint name="hand_camera_depth_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="hand_camera_depth_frame"/>
    <child link="hand_camera_depth_optical_frame"/>
  </joint>
  <link name="hand_camera_depth_optical_frame"/>
  <gazebo reference="hand_camera_depth_frame">
    <sensor name="camera" type="depth">
      <always_on>true</always_on>
      <update_rate>8.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975511965976</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>1280</width>
          <height>800</height>
        </image>
        <clip>
          <near>0.10</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="hand_camera_camera_controller">
        <cameraName>hand_camera</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <frameName>hand_camera_rgb_optical_frame</frameName>
        <baseline>0.1</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>
  <joint name="camera_1_joint" type="fixed">
    <origin xyz="3.0240257385111415 -0.026672258873455028 -0.07897988939311346" rpy="-0.07170053463333016 0.45385825610727676 -1.5258481301227038"/>
    <parent link="bigbeam1_gantry"/>
    <child link="camera_1_link"/>
  </joint>
  <link name="camera_1_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="0.01"/>
      <inertia ixx="4.9000000000000005e-06" ixy="0.0" ixz="0.0" iyy="4.9000000000000005e-06" iyz="0.0" izz="4.9000000000000005e-06"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://hector_sensors_description/meshes/kinect_camera/kinect_camera_simple.dae"/>
      </geometry>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://hector_sensors_description/meshes/kinect_camera/kinect_camera_simple.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="camera_1_depth_joint" type="fixed">
    <origin xyz="0.0 -0.02 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_1_link"/>
    <child link="camera_1_depth_frame"/>
  </joint>
  <link name="camera_1_depth_frame"/>
  <joint name="camera_1_depth_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_1_depth_frame"/>
    <child link="camera_1_depth_optical_frame"/>
  </joint>
  <link name="camera_1_depth_optical_frame"/>
  <joint name="camera_1_rgb_joint" type="fixed">
    <origin xyz="0.0 -0.0125 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_1_link"/>
    <child link="camera_1_rgb_frame"/>
  </joint>
  <link name="camera_1_rgb_frame"/>
  <joint name="camera_1_rgb_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_1_rgb_frame"/>
    <child link="camera_1_rgb_optical_frame"/>
  </joint>
  <link name="camera_1_rgb_optical_frame"/>
  <gazebo reference="camera_1_depth_frame">
    <sensor name="camera_1" type="depth">
      <update_rate>20</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="camera_1_camera_controller">
        <imageTopicName>null</imageTopicName>
        <cameraInfoTopicName>null/camera_info</cameraInfoTopicName>
        <depthImageTopicName>camera_1/depth/image_raw</depthImageTopicName>
        <depthImageCameraInfoTopicName>camera_1/depth/camera_info</depthImageCameraInfoTopicName>
        <pointCloudTopicName>camera_1/depth/points</pointCloudTopicName>
        <frameName>camera_1_depth_optical_frame</frameName>
      </plugin>
    </sensor>
  </gazebo>
  <gazebo reference="camera_1_rgb_frame">
    <sensor name="camera_1" type="camera">
      <update_rate>20.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_camera.so" name="camera_1}_rgb_camera_controller">
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>camera_1/rgb/image_raw</imageTopicName>
        <cameraInfoTopicName>camera_1/rgb/camera_info</cameraInfoTopicName>
        <frameName>camera_1_rgb_optical_frame</frameName>
      </plugin>
    </sensor>
  </gazebo>
  <joint name="camera_2_joint" type="fixed">
    <origin xyz="-0.13737231335368835 2.599783868460333 -0.1539403425822352" rpy="0.149766968837248 0.4132941863153037 -2.286698280515208"/>
    <parent link="smallbeam2_bigbeam1_gantry"/>
    <child link="camera_2_link"/>
  </joint>
  <link name="camera_2_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="0.564"/>
      <inertia ixx="0.003881243" ixy="0.0" ixz="0.0" iyy="0.00049894" iyz="0.0" izz="0.003879257"/>
    </inertial>
    <visual>
      <origin xyz="-0.03 -0.06 0.0" rpy="3.141592653589793 0.0 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/sensors/astra2.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
  </link>
  <gazebo reference="camera_2_link">
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="camera_2_rgb_joint" type="fixed">
    <origin xyz="0.0 -0.045 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_2_link"/>
    <child link="camera_2_rgb_frame"/>
  </joint>
  <link name="camera_2_rgb_frame"/>
  <joint name="camera_2_rgb_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_2_rgb_frame"/>
    <child link="camera_2_rgb_optical_frame"/>
  </joint>
  <link name="camera_2_rgb_optical_frame"/>
  <joint name="camera_2_depth_joint" type="fixed">
    <origin xyz="0.0 -0.02 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_2_link"/>
    <child link="camera_2_depth_frame"/>
  </joint>
  <link name="camera_2_depth_frame"/>
  <joint name="camera_2_depth_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_2_depth_frame"/>
    <child link="camera_2_depth_optical_frame"/>
  </joint>
  <link name="camera_2_depth_optical_frame"/>
  <gazebo reference="camera_2_depth_frame">
    <sensor name="camera" type="depth">
      <always_on>true</always_on>
      <update_rate>8.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975511965976</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>1280</width>
          <height>800</height>
        </image>
        <clip>
          <near>0.10</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="camera_2_camera_controller">
        <cameraName>camera_2</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <frameName>camera_2_rgb_optical_frame</frameName>
        <baseline>0.1</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>
  <joint name="camera_4_joint" type="fixed">
    <origin xyz="-0.0988272343114887 2.319321121387816 0.15783679775703396" rpy="-0.2146482104845831 0.5743707553133551 -0.7237674553507792"/>
    <parent link="smallbeam1_bigbeam1_gantry"/>
    <child link="camera_4_link"/>
  </joint>
  <link name="camera_4_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="0.564"/>
      <inertia ixx="0.003881243" ixy="0.0" ixz="0.0" iyy="0.00049894" iyz="0.0" izz="0.003879257"/>
    </inertial>
    <visual>
      <origin xyz="-0.03 -0.06 0.0" rpy="3.141592653589793 0.0 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/sensors/astra2.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
  </link>
  <gazebo reference="camera_4_link">
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="camera_4_rgb_joint" type="fixed">
    <origin xyz="0.0 -0.045 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_4_link"/>
    <child link="camera_4_rgb_frame"/>
  </joint>
  <link name="camera_4_rgb_frame"/>
  <joint name="camera_4_rgb_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_4_rgb_frame"/>
    <child link="camera_4_rgb_optical_frame"/>
  </joint>
  <link name="camera_4_rgb_optical_frame"/>
  <joint name="camera_4_depth_joint" type="fixed">
    <origin xyz="0.0 -0.02 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_4_link"/>
    <child link="camera_4_depth_frame"/>
  </joint>
  <link name="camera_4_depth_frame"/>
  <joint name="camera_4_depth_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_4_depth_frame"/>
    <child link="camera_4_depth_optical_frame"/>
  </joint>
  <link name="camera_4_depth_optical_frame"/>
  <gazebo reference="camera_4_depth_frame">
    <sensor name="camera" type="depth">
      <always_on>true</always_on>
      <update_rate>8.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975511965976</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>1280</width>
          <height>800</height>
        </image>
        <clip>
          <near>0.10</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="camera_4_camera_controller">
        <cameraName>camera_4</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <frameName>camera_4_rgb_optical_frame</frameName>
        <baseline>0.1</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>
  <joint name="camera_3_joint" type="fixed">
    <origin xyz="2.568176716173717 -0.06969178039739032 -0.06782740049876416" rpy="0.08375079328212283 0.5866338304886156 -1.5081420226350255"/>
    <parent link="bigbeam1_gantry"/>
    <child link="camera_3_link"/>
  </joint>
  <link name="camera_3_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="0.564"/>
      <inertia ixx="0.003881243" ixy="0.0" ixz="0.0" iyy="0.00049894" iyz="0.0" izz="0.003879257"/>
    </inertial>
    <visual>
      <origin xyz="-0.03 -0.06 0.0" rpy="3.141592653589793 0.0 1.5707963267948966"/>
      <geometry>
        <mesh filename="package://larcc_description/meshes/sensors/astra2.dae" scale="1.0 1.0 1.0"/>
      </geometry>
    </visual>
  </link>
  <gazebo reference="camera_3_link">
    <selfCollide>false</selfCollide>
  </gazebo>
  <joint name="camera_3_rgb_joint" type="fixed">
    <origin xyz="0.0 -0.045 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_3_link"/>
    <child link="camera_3_rgb_frame"/>
  </joint>
  <link name="camera_3_rgb_frame"/>
  <joint name="camera_3_rgb_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_3_rgb_frame"/>
    <child link="camera_3_rgb_optical_frame"/>
  </joint>
  <link name="camera_3_rgb_optical_frame"/>
  <joint name="camera_3_depth_joint" type="fixed">
    <origin xyz="0.0 -0.02 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="camera_3_link"/>
    <child link="camera_3_depth_frame"/>
  </joint>
  <link name="camera_3_depth_frame"/>
  <joint name="camera_3_depth_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="camera_3_depth_frame"/>
    <child link="camera_3_depth_optical_frame"/>
  </joint>
  <link name="camera_3_depth_optical_frame"/>
  <gazebo reference="camera_3_depth_frame">
    <sensor name="camera" type="depth">
      <always_on>true</always_on>
      <update_rate>8.0</update_rate>
      <camera>
        <horizontal_fov>1.0471975511965976</horizontal_fov>
        <image>
          <format>B8G8R8</format>
          <width>1280</width>
          <height>800</height>
        </image>
        <clip>
          <near>0.10</near>
          <far>8.0</far>
        </clip>
      </camera>
      <plugin filename="libgazebo_ros_openni_kinect.so" name="camera_3_camera_controller">
        <cameraName>camera_3</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>rgb/image_raw</imageTopicName>
        <depthImageTopicName>depth/image_raw</depthImageTopicName>
        <pointCloudTopicName>depth/points</pointCloudTopicName>
        <cameraInfoTopicName>rgb/camera_info</cameraInfoTopicName>
        <depthImageCameraInfoTopicName>depth/camera_info</depthImageCameraInfoTopicName>
        <frameName>camera_3_rgb_optical_frame</frameName>
        <baseline>0.1</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>
</robot>