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

    <model name="model_pendulum">
      <pose>0.0 0.0 10.2 1.57079633 0.0 0.0</pose>
      <link name="link_pendulum_rod">
        <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
        <inertial>
          <pose>0.0 0.0 -10.0 0.0 0.0 0.0</pose>
          <inertia>
            <ixx>1e-1</ixx>
            <ixy>0.0</ixy>
            <ixz>0.0</ixz>
            <iyy>1e-1</iyy>
            <iyz>0.0</iyz>
            <izz>1e-1</izz>
          </inertia>
          <mass>5.0</mass>
        </inertial>
        <velocity_decay>
          <linear>0.0</linear>
          <angular>0.0</angular>
        </velocity_decay>
        <visual name="visual_cylinder">
          <pose>0.0 0.0 -5.0 0.0 0.0 0.0</pose>
          <geometry>
            <cylinder>
              <radius>0.05</radius>
              <length>10.0</length>
            </cylinder>
          </geometry>
          <material>
            <script><uri>file://media/materials/scripts/gazebo.material</uri><name>Gazebo/Green</name></script>
          </material>
        </visual>
        <collision name="collision_cylinder">
          <pose>0.0 0.0 -5.0 0.0 0.0 0.0</pose>
          <max_contacts>250</max_contacts>
          <geometry>
            <cylinder>
              <radius>0.05</radius>
              <length>10.0</length>
            </cylinder>
          </geometry>
        </collision>
        <gravity>true</gravity>
        <self_collide>true</self_collide>
        <kinematic>false</kinematic>
      </link>
      <joint name="joint_0" type="revolute">
        <parent>world</parent>
        <child>link_pendulum_rod</child>
        <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
        <axis>
          <xyz>1.0 0.0 0.0</xyz>
        </axis>
      </joint>
      <link name="link_pendulum_ball">
        <pose>0.0 0.0 -10.0 0.0 0.0 0.0</pose>
        <inertial>
          <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
          <inertia>
            <ixx>1e-1</ixx>
            <ixy>0.0</ixy>
            <ixz>0.0</ixz>
            <iyy>1e-1</iyy>
            <iyz>0.0</iyz>
            <izz>1e-1</izz>
          </inertia>
          <mass>5.0</mass>
        </inertial>
        <velocity_decay>
          <linear>0.0</linear>
          <angular>0.0</angular>
        </velocity_decay>
        <visual name="visual_sphere">
          <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
          <geometry>
            <sphere>
              <radius>0.1</radius>
            </sphere>
          </geometry>
          <material>
            <script><uri>file://media/materials/scripts/gazebo.material</uri><name>Gazebo/Red</name></script>
          </material>
        </visual>
        <collision name="collision_sphere">
          <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
          <max_contacts>250</max_contacts>
          <geometry>
            <sphere>
              <radius>0.1</radius>
            </sphere>
          </geometry>
        </collision>
        <gravity>true</gravity>
        <self_collide>true</self_collide>
        <kinematic>false</kinematic>
        <sensor name="imu_sensor" type="imu">
          <always_on>1</always_on>
          <plugin name="imu_sensor_plugin" filename="libImuSensorPlugin.so">
            <custom>1</custom>
          </plugin>
          <!-- We choose a high fps on purpose. The goal is to check the effect
            of lockstep. -->
          <update_rate>1000</update_rate>
        </sensor>
      </link>
      <joint name="joint_1" type="revolute">
        <parent>link_pendulum_rod</parent>
        <child>link_pendulum_ball</child>
        <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
        <axis>
          <limit>
            <lower>0</lower>
            <upper>0</upper>
            <effort>0</effort>
            <velocity>0</velocity>
          </limit>
          <xyz>0 0 1</xyz>
        </axis>
      </joint>
      <static>false</static>
    </model>
  </world>
</sdf>
