<robot name="robot">
  <!-- links -->
  <link name="root_body">
    <inertial>
      <origin xyz="0 0 0.5" rpy="0 0 0"/>
      <mass value="1"/>
      <inertia ixx="100"  ixy="0"  ixz="0" iyy="100" iyz="0" izz="100" />
    </inertial>
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.2 0.2 0.4" />
      </geometry>
      <material name="Cyan">
        <color rgba="1.0 1.0 1.0 1.0"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0"/>
      <geometry>
        <cylinder radius="1" length="0.5"/>
      </geometry>
    </collision>
  </link>

  <!-- left arm -->
  <link name="l_shoulder1">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.1" />
      </geometry>
      <material name="Cyan">
        <color rgba="0 1.0 1.0 1.0"/>
      </material>
    </visual>
  </link>
  <link name="l_shoulder2">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.1" />
      </geometry>
      <material name="Cyan">
        <color rgba="1.0 1.0 0.0 1.0"/>
      </material>
    </visual>
  </link>
  <link name="l_shoulder3">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.2" />
      </geometry>
      <material name="Cyan">
        <color rgba="0.5 0.5 0.2 1.0"/>
      </material>
    </visual>
  </link>
  <link name="l_elbow1">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.2" />
      </geometry>
      <material name="Cyan">
        <color rgba="0.8 0.2 0.2 1.0"/>
      </material>
    </visual>
  </link>
  <link name="l_wrist1">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.15 0.1" />
      </geometry>
      <material name="Cyan">
        <color rgba="1.0 0.0 0.0 1.0"/>
      </material>
    </visual>
  </link>
  <link name="l_wrist2">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.05 0.08 0.15" />
      </geometry>
      <material name="Cyan">
        <color rgba="0.0 0.0 1.0 1.0"/>
      </material>
    </visual>
  </link>

  <!-- right arm -->
  <link name="r_shoulder1">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.1" />
      </geometry>
      <material name="Cyan">
        <color rgba="0 1.0 1.0 1.0"/>
      </material>
    </visual>
  </link>
  <link name="r_shoulder2">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.1" />
      </geometry>
      <material name="Cyan">
        <color rgba="1.0 1.0 0.0 1.0"/>
      </material>
    </visual>
  </link>
  <link name="r_shoulder3">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.2" />
      </geometry>
      <material name="Cyan">
        <color rgba="0.5 0.5 0.2 1.0"/>
      </material>
    </visual>
  </link>
  <link name="r_elbow1">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.1 0.2" />
      </geometry>
      <material name="Cyan">
        <color rgba="0.8 0.2 0.2 1.0"/>
      </material>
    </visual>
  </link>
  <link name="r_wrist1">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.1 0.15 0.1" />
      </geometry>
      <material name="Cyan">
        <color rgba="1.0 0.0 0.0 1.0"/>
      </material>
    </visual>
  </link>
  <link name="r_wrist2">
    <visual>
      <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
      <geometry>
        <box size="0.05 0.08 0.15" />
      </geometry>
      <material name="Cyan">
        <color rgba="0.0 0.0 1.0 1.0"/>
      </material>
    </visual>
  </link>


  <!-- joints -->
  <!-- left arm -->
  <joint name="l_shoulder_yaw" type="revolute">
    <origin xyz="0.0 0.2 0.2" />
    <parent link="root" />
    <child link="l_shoulder1" />
    <axis xyz="0 0 1" />
    <limit lower="-3" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="l_shoulder_pitch" type="revolute">
    <origin xyz="0.0 0.1 0.0" />
    <parent link="l_shoulder1" />
    <child link="l_shoulder2" />
    <axis xyz="0 1 0" />
    <limit lower="-3" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="l_shoulder_roll" type="revolute">
    <origin xyz="0.0 0.1 0.0" />
    <parent link="l_shoulder2" />
    <child link="l_shoulder3" />
    <axis xyz="1 0 0" />
    <limit lower="-2" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="l_elbow_pitch" type="revolute">
    <origin xyz="0.0 0.0 -0.2" />
    <parent link="l_shoulder3" />
    <child link="l_elbow1" />
    <axis xyz="0 1 0" />
    <limit lower="-2" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="l_wrist_yaw" type="revolute">
    <origin xyz="0.0 0.0 -0.2" />
    <parent link="l_elbow1" />
    <child link="l_wrist1" />
    <axis xyz="0 0 1" />
    <limit lower="-2" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="l_wrist_pitch" type="revolute">
    <origin xyz="0.0 0.0 -0.2" />
    <parent link="l_wrist1" />
    <child link="l_wrist2" />
    <axis xyz="0 1 0" />
    <limit lower="-2" upper="3.0" effort="0" velocity="1.0"/>
  </joint>

  <!-- right arm -->
  <joint name="r_shoulder_yaw" type="revolute">
    <origin xyz="0.0 -0.2 0.2" />
    <parent link="root" />
    <child link="r_shoulder1" />
    <axis xyz="0 0 1" />
    <limit lower="-3" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="r_shoulder_pitch" type="revolute">
    <origin xyz="0.0 -0.1 0.0" />
    <parent link="r_shoulder1" />
    <child link="r_shoulder2" />
    <axis xyz="0 1 0" />
    <limit lower="-3" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="r_shoulder_roll" type="revolute">
    <origin xyz="0.0 -0.1 0.0" />
    <parent link="r_shoulder2" />
    <child link="r_shoulder3" />
    <axis xyz="1 0 0" />
    <limit lower="-2" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="r_elbow_pitch" type="revolute">
    <origin xyz="0.0 0.0 -0.2" />
    <parent link="r_shoulder3" />
    <child link="r_elbow1" />
    <axis xyz="0 1 0" />
    <limit lower="-2" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="r_wrist_yaw" type="revolute">
    <origin xyz="0.0 0.0 -0.2" />
    <parent link="r_elbow1" />
    <child link="r_wrist1" />
    <axis xyz="0 0 1" />
    <limit lower="-2" upper="1.0" effort="0" velocity="1.0"/>
  </joint>
  <joint name="r_wrist_pitch" type="revolute">
    <origin xyz="0.0 0.0 -0.2" />
    <parent link="r_wrist1" />
    <child link="r_wrist2" />
    <axis xyz="0 1 0" />
    <limit lower="-2" upper="3.0" effort="0" velocity="1.0"/>
  </joint>
</robot>
