<?xml version="1.0" ?>
<sdf version="1.7">
  <model name="test_model_with_frames">
    <frame name="F1">
      <pose>0 0 0 1.570796 0 0</pose>
    </frame>
    <frame name="F2">
      <pose relative_to="F1">0 0 0 0 0.785398 0</pose>
    </frame>
    <link name="L1">
      <pose relative_to="F1"/>
      <visual name="V1">
        <pose relative_to="F2"/>
        <geometry>
          <sphere>
            <radius>1</radius>
          </sphere>
        </geometry>
      </visual>
      <collision name="C1">
        <pose relative_to="__model__"/>
        <geometry>
          <sphere>
            <radius>1</radius>
          </sphere>
        </geometry>
      </collision>
    </link>
    <link name="L2">
      <pose relative_to="F1">1 0 0 0 0 0</pose>
    </link>
    <link name="L3">
      <pose relative_to="L2">0 1 0 0 0 0</pose>
    </link>
    <link name="L4">
      <pose relative_to="__model__">0 0 1 0 0 0</pose>
    </link>
    <joint name="J1" type="universal">
      <pose relative_to="L1"/>
      <parent>L1</parent>
      <child>L2</child>
      <axis>
        <xyz expressed_in="F2">0 0 1</xyz>
      </axis>
      <axis2>
        <xyz expressed_in="F2">1 0 0</xyz>
      </axis2>
    </joint>
    <joint name="J2" type="revolute">
      <pose relative_to="">0 0 1 0 0 0</pose>
      <parent>L2</parent>
      <child>L3</child>
      <axis>
        <xyz expressed_in="__model__">0 0 1</xyz>
      </axis>
    </joint>
    <joint name="J3" type="fixed">
      <pose relative_to="__model__">1 0 1 0 0 0</pose>
      <parent>L3</parent>
      <child>L4</child>
    </joint>
    <model name="M2">
      <pose relative_to="F1">1 0 0 0 0 0</pose>
      <link name="L5">
        <pose>1 0 0 0 0 0</pose>
      </link>
    </model>
  </model>
</sdf>
