dynibo 0.5.2

Tree-structured robot kinematics and dynamics with runtime-size workspace APIs
Documentation
<?xml version="1.0"?>
<robot name="test_tree_7">
  <link name="base">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <mass value="0.8"/>
      <inertia ixx="0.02" ixy="0" ixz="0" iyy="0.02" iyz="0" izz="0.02"/>
    </inertial>
  </link>

  <link name="trunk">
    <inertial>
      <origin rpy="0 0 0" xyz="0 0 0.1"/>
      <mass value="1.0"/>
      <inertia ixx="0.01" ixy="0" ixz="0" iyy="0.01" iyz="0" izz="0.01"/>
    </inertial>
  </link>
  <joint name="trunk_joint" type="revolute">
    <parent link="base"/>
    <child link="trunk"/>
    <origin rpy="0 0 0" xyz="0 0 0.2"/>
    <axis xyz="0 0 1"/>
    <limit effort="100" lower="-3.141592653589793" upper="3.141592653589793" velocity="10"/>
  </joint>

  <link name="left_upper">
    <inertial>
      <origin rpy="0 0 0" xyz="0.1 0 0"/>
      <mass value="0.6"/>
      <inertia ixx="0.003" ixy="0" ixz="0" iyy="0.004" iyz="0" izz="0.005"/>
    </inertial>
  </link>
  <joint name="left_shoulder" type="revolute">
    <parent link="trunk"/>
    <child link="left_upper"/>
    <origin rpy="0 0 0" xyz="0 0.2 0.1"/>
    <axis xyz="0 1 0"/>
    <limit effort="100" lower="-3.141592653589793" upper="3.141592653589793" velocity="10"/>
  </joint>

  <link name="right_upper">
    <inertial>
      <origin rpy="0 0 0" xyz="0.1 0 0"/>
      <mass value="0.6"/>
      <inertia ixx="0.003" ixy="0" ixz="0" iyy="0.004" iyz="0" izz="0.005"/>
    </inertial>
  </link>
  <joint name="right_shoulder" type="revolute">
    <parent link="trunk"/>
    <child link="right_upper"/>
    <origin rpy="0 0 0" xyz="0 -0.2 0.1"/>
    <axis xyz="0 1 0"/>
    <limit effort="100" lower="-3.141592653589793" upper="3.141592653589793" velocity="10"/>
  </joint>

  <link name="left_lower">
    <inertial>
      <origin rpy="0 0 0" xyz="0.1 0 0"/>
      <mass value="0.4"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.004"/>
    </inertial>
  </link>
  <joint name="left_elbow" type="revolute">
    <parent link="left_upper"/>
    <child link="left_lower"/>
    <origin rpy="0 0 0" xyz="0.2 0 0"/>
    <axis xyz="1 0 0"/>
    <limit effort="100" lower="-3.141592653589793" upper="3.141592653589793" velocity="10"/>
  </joint>

  <link name="right_lower">
    <inertial>
      <origin rpy="0 0 0" xyz="0.1 0 0"/>
      <mass value="0.4"/>
      <inertia ixx="0.002" ixy="0" ixz="0" iyy="0.003" iyz="0" izz="0.004"/>
    </inertial>
  </link>
  <joint name="right_elbow" type="revolute">
    <parent link="right_upper"/>
    <child link="right_lower"/>
    <origin rpy="0 0 0" xyz="0.2 0 0"/>
    <axis xyz="1 0 0"/>
    <limit effort="100" lower="-3.141592653589793" upper="3.141592653589793" velocity="10"/>
  </joint>

  <link name="left_tool">
    <inertial>
      <origin rpy="0 0 0" xyz="0.05 0 0"/>
      <mass value="0.2"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <joint name="left_wrist" type="revolute">
    <parent link="left_lower"/>
    <child link="left_tool"/>
    <origin rpy="0 0 0" xyz="0.2 0 0"/>
    <axis xyz="0 0 1"/>
    <limit effort="100" lower="-3.141592653589793" upper="3.141592653589793" velocity="10"/>
  </joint>

  <link name="right_tool">
    <inertial>
      <origin rpy="0 0 0" xyz="0.05 0 0"/>
      <mass value="0.2"/>
      <inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001"/>
    </inertial>
  </link>
  <joint name="right_wrist" type="revolute">
    <parent link="right_lower"/>
    <child link="right_tool"/>
    <origin rpy="0 0 0" xyz="0.2 0 0"/>
    <axis xyz="0 0 1"/>
    <limit effort="100" lower="-3.141592653589793" upper="3.141592653589793" velocity="10"/>
  </joint>
</robot>