<?xml version="1.0" ?>
<sdf version="1.5">
  <world name="default">
    <include>
      <uri>model://ground_plane</uri>
    </include>
    <include>
      <uri>model://sun</uri>
    </include>

    <model name="all_collide">
      <self_collide>true</self_collide>
      <link name="link">
        <pose>0 0 1.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link1">
        <pose>0 0 3.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link2">
        <pose>0 0 6.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>
    </model>

    <!-- Demonstrate that link self_collide overrides model self_collide-->
    <model name="some_collide">
      <pose>0 6 0 0 0 0</pose>
      <self_collide>true</self_collide>
      <link name="link">
        <self_collide>false</self_collide>
        <pose>0 0 1.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link1">
        <pose>-1.5 1.5 3.0 0 0 1.57</pose>
        <self_collide>false</self_collide>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link2">
        <pose>0 1.5 6.0 0 0 2.24</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>
    </model>

    <!-- Demonstrate backwards compatibility: default is no self-collisions-->
    <model name="no_collide">
      <pose>0 12 0 0 0 0</pose>
      <link name="link">
        <pose>0 0 1.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link1">
        <pose>0 0 3.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link2">
        <pose>0 0 6.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>
    </model>
    <!-- Demonstrate that self_collide=false produces same behavior as above-->
    <model name="explicit_no_collide">
      <self_collide>false</self_collide>
      <pose>0 15 0 0 0 0</pose>
      <link name="link">
        <pose>0 0 1.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link1">
        <pose>0 0 3.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>

      <link name="link2">
        <pose>0 0 6.0 0 0 0</pose>
        <inertial>
          <mass>1</mass>
          <inertia>
            <ixx>0.166667</ixx>
            <ixy>0</ixy>
            <ixz>0</ixz>
            <iyy>2.166667</iyy>
            <iyz>0</iyz>
            <izz>2.166667</izz>
          </inertia>
        </inertial>
        <collision name="collision">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </collision>
        <visual name="visual">
          <geometry>
            <box>
              <size>5 1 1</size>
            </box>
          </geometry>
        </visual>
      </link>
    </model>

  </world>
</sdf>
