<?xml version="1.0" ?>
<robot name="scara" 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>
  <material name="Pink">
    <color rgba="1.0 0.0 0.8 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="0.9 1.9 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.9 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.43 0.9299999999999999 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.43 0.9299999999999999 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.43 -0.9299999999999999 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.43 -0.9299999999999999 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table"/>
    <child link="leg4_table"/>
  </joint>
  <link name="table_small"/>
  <joint name="tabletop_table_to_table_small" type="fixed">
    <origin xyz="0.0 0.7 0.001" rpy="0.0 0.0 0.0"/>
    <parent link="tabletop_table"/>
    <child link="table_small"/>
  </joint>
  <link name="tabletop_table_small">
    <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.6 0.4 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.6 0.4 0.015"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="tabletop_table_small">
    <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_small_to_tabletop_table_small" type="fixed">
    <origin xyz="0.0 0.0 0.35" rpy="0.0 0.0 0.0"/>
    <parent link="table_small"/>
    <child link="tabletop_table_small"/>
  </joint>
  <link name="leg1_table_small">
    <inertial>
      <origin xyz="0.0 0.0 0.15899999999999997" 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.15899999999999997" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33499999999999996"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.175" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33399999999999996"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg1_table_small">
    <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_small_to_leg1" type="fixed">
    <origin xyz="-0.27999999999999997 0.18000000000000002 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table_small"/>
    <child link="leg1_table_small"/>
  </joint>
  <link name="leg2_table_small">
    <inertial>
      <origin xyz="0.0 0.0 0.15899999999999997" 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.15899999999999997" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33499999999999996"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.175" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33399999999999996"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg2_table_small">
    <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_small_to_leg2" type="fixed">
    <origin xyz="0.27999999999999997 0.18000000000000002 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table_small"/>
    <child link="leg2_table_small"/>
  </joint>
  <link name="leg3_table_small">
    <inertial>
      <origin xyz="0.0 0.0 0.15899999999999997" 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.15899999999999997" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33499999999999996"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.175" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33399999999999996"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg3_table_small">
    <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_small_to_leg3" type="fixed">
    <origin xyz="0.27999999999999997 -0.18000000000000002 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table_small"/>
    <child link="leg3_table_small"/>
  </joint>
  <link name="leg4_table_small">
    <inertial>
      <origin xyz="0.0 0.0 0.15899999999999997" 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.15899999999999997" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33499999999999996"/>
      </geometry>
      <material name="grey"/>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.175" rpy="0.0 0.0 0.0"/>
      <geometry>
        <cylinder radius="0.02" length="0.33399999999999996"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="leg4_table_small">
    <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_small_to_leg4" type="fixed">
    <origin xyz="-0.27999999999999997 -0.18000000000000002 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="table_small"/>
    <child link="leg4_table_small"/>
  </joint>
  <link name="base_link"/>
  <joint name="tabletop_table_to_robot" type="fixed">
    <origin xyz="0.0 -0.1 0.0001" rpy="0.0 0.0 -1.57"/>
    <parent link="tabletop_table_small"/>
    <child link="base_link"/>
  </joint>
  <material name="yellow">
    <color rgba="0.88 0.69 0.0 1.0"/>
  </material>
  <material name="dark_grey">
    <color rgba="0.4 0.4 0.4 1.0"/>
  </material>
  <material name="black">
    <color rgba="0.0 0.0 0.0 1.0"/>
  </material>
  <link name="base_link_inertia">
    <inertial>
      <origin xyz="-0.0727 0.0048 0.0922" rpy="0.0 0.0 0.0"/>
      <mass value="25.0"/>
      <inertia ixx="0.1338" ixy="0.001" ixz="0.006" iyy="0.224" iyz="0.0001" izz="0.2082"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.001"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/base.stl"/>
      </geometry>
      <material name="black"/>
    </visual>
    <collision name="base_link_collision">
      <origin xyz="0.0 0.0 0.001" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/base.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="base_link_to_base_link_inertia" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
    <parent link="base_link"/>
    <child link="base_link_inertia"/>
  </joint>
  <link name="upper_arm_link">
    <inertial>
      <origin xyz="0.1944 -0.001 0.0301" rpy="0.0 0.0 0.0"/>
      <mass value="1.5"/>
      <inertia ixx="0.0021" ixy="-0.0" ixz="0.0006" iyy="0.0178" iyz="0.0" izz="0.019"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/upper_arm.stl"/>
      </geometry>
      <material name="yellow"/>
    </visual>
    <collision name="upper_arm_collision">
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/upper_arm.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="j1_joint" type="revolute">
    <origin xyz="0.0 0.0 0.182" rpy="0.0 0.0 -0.010299416941399108"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="base_link_inertia"/>
    <child link="upper_arm_link"/>
    <limit effort="100.0" lower="-2.5" upper="2.5" velocity="4.5"/>
  </joint>
  <link name="forearm_link">
    <inertial>
      <origin xyz="0.1511 0.0006 0.0958" rpy="0.0 0.0 0.0"/>
      <mass value="2.5"/>
      <inertia ixx="0.0089" ixy="0.0" ixz="0.0012" iyy="0.0268" iyz="-0.0" izz="0.0231"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/forearm.stl"/>
      </geometry>
      <material name="yellow"/>
    </visual>
    <collision name="upper_arm_collision">
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/forearm.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="j2_joint" type="revolute">
    <origin xyz="0.35 0.0 0.022" rpy="0.0 0.0 -0.00919048876378264"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="upper_arm_link"/>
    <child link="forearm_link"/>
    <limit effort="100.0" lower="-2.5" upper="2.5" velocity="4.5"/>
  </joint>
  <link name="wrist_link">
    <inertial>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <mass value="0.5"/>
      <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
    </inertial>
  </link>
  <joint name="j3_joint" type="prismatic">
    <origin xyz="0.3 0.0 0.08026213928768594" rpy="0.0 3.14 0.0"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="forearm_link"/>
    <child link="wrist_link"/>
    <limit effort="100.0" lower="0.05" upper="0.265" velocity="4.5"/>
  </joint>
  <link name="end_effector_link">
    <inertial>
      <origin xyz="-0.0002 -0.0 -0.2209" rpy="0.0 0.0 0.0"/>
      <mass value="0.5"/>
      <inertia ixx="0.0029" ixy="-0.0" ixz="0.0" iyy="0.0029" iyz="-0.0" izz="0.0"/>
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/end_effector.stl"/>
      </geometry>
      <material name="dark_grey"/>
    </visual>
    <collision name="upper_arm_collision">
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/fanuc_scara/end_effector.stl"/>
      </geometry>
    </collision>
  </link>
  <joint name="j4_joint" type="revolute">
    <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0001100108021200975"/>
    <axis xyz="0.0 0.0 1.0"/>
    <parent link="wrist_link"/>
    <child link="end_effector_link"/>
    <limit effort="100.0" lower="-3.14" upper="3.14" velocity="4.5"/>
  </joint>
  <joint name="rgb_hand_joint" type="fixed">
    <origin xyz="-0.02499999999999958 -4.4407398237684393e-16 0.019999999999999848" rpy="2.477546070824732e-16 -1.3659098493868664 3.2745163385026164e-16"/>
    <parent link="end_effector_link"/>
    <child link="rgb_hand_link"/>
  </joint>
  <link name="rgb_hand_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://spjbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
      <material name="blue">
        <color rgba="0.0 0.4 0.95 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
      <geometry>
        <mesh filename="package://spjbot_description/meshes/rgb_camera/rgb_camera.stl" scale="1.0 1.0 1.0"/>
      </geometry>
    </collision>
  </link>
  <gazebo reference="rgb_hand_link">
    <selfCollide>false</selfCollide>
    <material>Gazebo/Blue</material>
  </gazebo>
  <joint name="rgb_hand_optical_joint" type="fixed">
    <origin xyz="0.0 0.0 0.0" rpy="-1.5707963267948966 0.0 -1.5707963267948966"/>
    <parent link="rgb_hand_link"/>
    <child link="rgb_hand_optical_frame"/>
  </joint>
  <link name="rgb_hand_optical_frame"/>
  <gazebo reference="rgb_hand_link">
    <sensor name="camera" type="camera">
      <update_rate>10.0</update_rate>
      <camera>
        <horizontal_fov>1.3962634015954636</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_hand_rgb_camera_controller">
        <cameraName>rgb_hand</cameraName>
        <alwaysOn>true</alwaysOn>
        <updateRate>0</updateRate>
        <imageTopicName>image_raw</imageTopicName>
        <cameraInfoTopicName>camera_info</cameraInfoTopicName>
        <frameName>rgb_hand_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>
  <gazebo reference="base_link">
    <material>Gazebo/Black</material>
    <mu1>1000</mu1>
    <mu2>1000</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
    <plugin name="gazebo_ros_control">
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <gazebo reference="base_link_inertia">
    <material>Gazebo/Black</material>
    <mu1>1000</mu1>
    <mu2>1000</mu2>
    <kp>10000000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="upper_arm_link">
    <material>Gazebo/DarkYellow</material>
    <mu1>1000</mu1>
    <mu2>1000</mu2>
    <kp>1000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="forearm_link">
    <material>Gazebo/DarkYellow</material>
    <mu1>1000</mu1>
    <mu2>1000</mu2>
    <kp>1000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="wrist_link">
    <material>Gazebo/DarkYellow</material>
    <mu1>1000</mu1>
    <mu2>1000</mu2>
    <kp>1000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo reference="end_effector_link">
    <material>Gazebo/Grey</material>
    <mu1>1000</mu1>
    <mu2>1000</mu2>
    <kp>1000.0</kp>
    <kd>1.0</kd>
    <selfCollide>true</selfCollide>
  </gazebo>
  <gazebo>
    <plugin filename="libgazebo_ros_control.so" name="gazebo_ros_control">
      <robotNamespace>/</robotNamespace>
    </plugin>
  </gazebo>
  <transmission name="trans_j1_joint">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="j1_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="j1_joint_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="trans_j2_joint">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="j2_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="j2_joint_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="trans_j3_joint">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="j3_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="j3_joint_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
  <transmission name="trans_j4_joint">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="j4_joint">
      <hardwareInterface>hardware_interface/PositionJointInterface</hardwareInterface>
    </joint>
    <actuator name="j4_joint_motor">
      <mechanicalReduction>1.0</mechanicalReduction>
    </actuator>
  </transmission>
</robot>