<?xml version="1.0" ?>
<robot name="fixed_joint_reduction_test_odel">

  <link name="world"/>

  <joint name="jointw0" type="continuous">
    <origin rpy="0 0 1.57079632679" xyz="0 0 1.0"/>
    <axis xyz="1 0 0"/>  <!-- in child (link1) frame -->
    <parent link="world"/>
    <child link="link0"/>
  </joint>

  <link name="link0">
    <inertial>
      <mass value="1000"/>
      <origin rpy="0 0 0" xyz="0 0 -0.5"/>
      <inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/>
    </inertial>
    <collision>
      <geometry>
        <box size="0.1 0.1 1.0"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 -0.5"/>
    </collision>
    <visual>
      <geometry>
        <box size="0.1 0.1 1.0"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 -0.5"/>
    </visual>
  </link>

  <joint name="joint01" type="continuous">
    <origin rpy="0 0 1.57079632679" xyz="0 0 -1"/>
    <axis xyz="1 0 0"/>  <!-- in child (link1) frame -->
    <parent link="link0"/>
    <child link="link1"/>
  </joint>

  <link name="link1">
    <inertial>
      <mass value="100"/>
      <origin rpy="1 3 4" xyz="0 -1.5 0"/>
      <inertia ixx="2" ixy="0" ixz="0" iyy="3" iyz="0" izz="4"/>
    </inertial>
    <collision>
      <geometry>
        <box size="0.2 3.0 0.2"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 -1.5 0"/>
    </collision>
    <visual>
      <geometry>
        <box size="0.2 3.0 0.2"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 -1.5 0"/>
    </visual>
  </link>

  <joint name="joint12" type="revolute">
    <origin rpy="-1.57079632679 0 -1.57079632679" xyz="0 -3.0 0.0"/>
    <axis xyz="0 1 0"/>  <!-- in child (link1) frame -->
    <limit lower="0" upper="0" velocity="1000" effort="10000"/>
    <parent link="link1"/>
    <child link="link2"/>
  </joint>

  <link name="link2">
    <inertial>
      <mass value="200"/>
      <origin rpy="2 -3 -1.57079632679" xyz="0.2 0.4 1.0"/>
      <inertia ixx="5" ixy="0" ixz="0" iyy="6" iyz="0" izz="7"/>
    </inertial>
    <collision>
      <geometry>
        <box size="0.3 0.3 2.0"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 1.0"/>
    </collision>
    <visual>
      <geometry>
        <box size="0.3 0.3 2.0"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 1.0"/>
    </visual>
  </link>

  <joint name="joint23" type="revolute">
    <origin rpy="-1.57079632679 0 -1.57079632679" xyz="-0.5 0.5 2.5"/>
    <axis xyz="0 1 0"/>  <!-- in child (link1) frame -->
    <limit lower="0" upper="0" velocity="1000" effort="10000"/>
    <parent link="link2"/>
    <child link="link3"/>
  </joint>

  <link name="link3">
    <inertial>
      <mass value="400"/>
      <origin rpy="2 3 4" xyz="0.1 0.2 0.3"/>
      <inertia ixx="8" ixy="0" ixz="0" iyy="9" iyz="0" izz="10"/>
    </inertial>
    <collision>
      <geometry>
        <box size="0.3 0.4 0.5"/>
      </geometry>
      <origin rpy="2 3 4" xyz="0.1 0.2 0.3"/>
    </collision>
    <visual>
      <geometry>
        <box size="0.3 0.4 0.5"/>
      </geometry>
      <origin rpy="2 3 4" xyz="0.1 0.2 0.3"/>
    </visual>
  </link>

  <joint name="joint01a" type="continuous">
    <origin rpy="0 0 1.57079632679" xyz="0 0 -1"/>
    <axis xyz="1 0 0"/>  <!-- in child (link1) frame -->
    <parent link="link0"/>
    <child link="link1a"/>
  </joint>

  <link name="link1a">
    <inertial>
      <mass value="100"/>
      <origin rpy="1 3 4" xyz="0 -1.5 0"/>
      <inertia ixx="2" ixy="0" ixz="0" iyy="3" iyz="0" izz="4"/>
    </inertial>
    <collision>
      <geometry>
        <box size="0.2 3.0 0.2"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 -1.5 0"/>
    </collision>
    <visual>
      <geometry>
        <box size="0.2 3.0 0.2"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 -1.5 0"/>
    </visual>
  </link>

  <joint name="joint12a" type="fixed">
    <origin rpy="-1.57079632679 0 -1.57079632679" xyz="0 -3.0 0.0"/>
    <axis xyz="0 1 0"/>  <!-- in child (link1) frame -->
    <limit lower="0" upper="0" velocity="1000" effort="10000"/>
    <parent link="link1a"/>
    <child link="link2a"/>
  </joint>

  <link name="link2a">
    <inertial>
      <mass value="200"/>
      <origin rpy="2 -3 -1.57079632679" xyz="0.2 0.4 1.0"/>
      <inertia ixx="5" ixy="0" ixz="0" iyy="6" iyz="0" izz="7"/>
    </inertial>
    <collision>
      <geometry>
        <box size="0.3 0.3 2.0"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 1.0"/>
    </collision>
    <visual>
      <geometry>
        <box size="0.3 0.3 2.0"/>
      </geometry>
      <origin rpy="0 0 0" xyz="0 0 1.0"/>
    </visual>
  </link>

  <joint name="joint23a" type="fixed">
    <origin rpy="-1.57079632679 0 -1.57079632679" xyz="-0.5 0.5 2.5"/>
    <axis xyz="0 1 0"/>  <!-- in child (link1) frame -->
    <limit lower="0" upper="0" velocity="1000" effort="10000"/>
    <parent link="link2a"/>
    <child link="link3a"/>
  </joint>

  <link name="link3a">
    <inertial>
      <mass value="400"/>
      <origin rpy="2 3 4" xyz="0.1 0.2 0.3"/>
      <inertia ixx="8" ixy="0" ixz="0" iyy="9" iyz="0" izz="10"/>
    </inertial>
    <collision>
      <geometry>
        <box size="0.3 0.4 0.5"/>
      </geometry>
      <origin rpy="2 3 4" xyz="0.1 0.2 0.3"/>
    </collision>
    <visual>
      <geometry>
        <box size="0.3 0.4 0.5"/>
      </geometry>
      <origin rpy="2 3 4" xyz="0.1 0.2 0.3"/>
    </visual>
  </link>

</robot>
