<gazebo version="1.0">
  <world name="world_1">
    <scene>
      <ambient rgba="0.5 0.5 0.5 1.0"/>
      <background rgba="0.5 0.5 0.5 1.0">
        <sky material="Gazebo/CloudySky"/>
      </background>
      <shadows enabled="true" rgba="0.0 0.0 0.5 0.5" type="texture_gpu"/>
      <fog rgba="0.0 0.0 0.5 0.5" type="linear" start="2.0" end="10.0" density="0.5"/>
    </scene>

    <physics type="ode">
      <ode>
        <max_contacts>250</max_contacts>
        <solver type="quick" dt="0.001" iters="20" sor="1.3"/>
        <constraints cfm="0" erp="0.2" contact_max_correcting_vel="100.0" contact_surface_layer="0.0"/>
      </ode>
      <gravity xyz="0.0 0.0 -9.81"/>
    </physics>

    <model name="model_1" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <visual cast_shadows="true" name="visual_cylinder" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <cylinder radius="1.0" length="2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <visual cast_shadows="true" name="visual_sphere" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <sphere radius="0.5"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <visual cast_shadows="true" name="visual_plane" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <plane normal="0.0 0.0 1.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <visual cast_shadows="true" name="visual_image" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <image filename="test.png" scale="2.0" threshold="10" height="3.0" granularity="2"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <visual cast_shadows="true" name="visual_heightmap" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <heightmap filename="test.png" size="1.0 1.0 2.0" offset="0.0 0.0 0.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <visual cast_shadows="true" name="visual_mesh" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <mesh filename="test.dae" scale="1.0 1.0 2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0.0 0.0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

        <collision name="collision_cylinder" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <cylinder radius="1.0" length="2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

        <collision name="collision_sphere" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <sphere radius="0.5"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

        <collision name="collision_plane" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <plane normal="0.0 0.0 1.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

        <collision name="collision_image" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <image filename="test.png" scale="2.0" threshold="10" height="3.0" granularity="2"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

        <collision name="collision_heightmap" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <heightmap filename="test.png" size="1.0 1.0 2.0" offset="0.0 0.0 0.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

        <collision name="collision_mesh" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <mesh filename="test.dae" scale="1.0 1.0 2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>


        <sensor name="sensor_camera" always_on="true" update_rate="2.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <camera>
            <horizontal_fov angle="1.57"/>
            <image width="2560" height="1600" format="BAYER_BGGR8"/>
            <clip near="0.01" far="100.0"/>
            <save enabled="false" path="/tmp"/>
          </camera>
        </sensor>

        <sensor name="sensor_ray" always_on="true" update_rate="2.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <ray>
            <scan display="true">
              <horizontal samples="500" resolution="1.0" min_angle="-1.57" max_angle="1.57" />
              <vertical samples="300" resolution="1.0" min_angle="-1.57" max_angle="1.57" />
            </scan>
            <range min="0.01" max="30.0"/>
          </ray>
        </sensor>

        <sensor name="sensor_contact" always_on="true" update_rate="2.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <collision name="collision_box"/>
        </sensor>

      </link>

      <link name="link_2">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

      </link>

      <link name="link_3">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>

      </link>

      <joint name="joint_1" type="revolute">
        <parent link="link_1"/>
        <child link="link_2"/>
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <axis xyz="1.0 0.0 0.0">
          <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
          <dynamics damping="1.0" friction="0.0"/>
        </axis>
        <physics>
          <ode>
            <cfm>0.2</cfm>
            <bounce>0.0</bounce>
            <max_force>1000.0</max_force>
            <velocity>0.0</velocity>
            <fudge_factor>0.0</fudge_factor>
            <limit cfm="0" erp="0.1"/>
            <suspension cfm="1.0" erp="1.0"/>
          </ode>
        </physics>
      </joint>

    </model>

    <model name="model_2" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_box" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <box size="1.0 1.0 2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>
      </link>
    </model>

    <model name="model_3" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_cylinder" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <cylinder radius="1.0" length="2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_cylinder" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <cylinder radius="1.0" length="2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>
      </link>
    </model>

    <model name="model_4" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_sphere" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <sphere radius="0.5"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_sphere" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <sphere radius="0.5"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>
      </link>
    </model>

    <model name="model_5" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_plane" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <plane normal="0.0 0.0 1.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_plane" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <plane normal="0.0 0.0 1.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>
      </link>
    </model>

    <model name="model_6" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_image" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <image filename="test.png" scale="2.0" threshold="10" height="3.0" granularity="2"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_image" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <image filename="test.png" scale="2.0" threshold="10" height="3.0" granularity="2"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>
      </link>
    </model>

    <model name="model_7" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_heightmap" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <heightmap filename="test.png" size="1.0 1.0 2.0" offset="0.0 0.0 0.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_heightmap" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <heightmap filename="test.png" size="1.0 1.0 2.0" offset="0.0 0.0 0.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>
      </link>
    </model>

    <model name="model_8" static="false">

      <origin pose="0.0 0.0 1.0 0.0 0.0 0.0"/>

      <link name="link_1" self_collide="true" gravity="false" kinematic="false">
        <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
        <inertial mass="10.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <damping linear="0.0" angular="0.0" />
          <inertia ixx="1.0" ixy="0.0" ixz="0.0"
                   iyy="1.0" iyz="0.0"
                   izz="1.0"/>
        </inertial>

        <visual cast_shadows="true" name="visual_mesh" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <geometry>
            <mesh filename="test.dae" scale="1.0 1.0 2.0"/>
          </geometry>
          <material script="Gazebo/Green" normal_map="normal_map.png">
            <color rgba="0.03 0.5 0.5 1.0"/>
          </material>
        </visual>

        <collision name="collision_mesh" laser_retro="100.0">
          <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
          <max_contacts>250</max_contacts>
          <geometry>
            <mesh filename="test.dae" scale="1.0 1.0 2.0"/>
          </geometry>
          <surface>
            <friction>
              <ode mu="0.5" mu2="0.2" fdir1="1.0 0 0" slip1="0" slip2="0"/>
            </friction>
            <bounce restitution_coefficient="0" threshold="1000000.0"/>
            <contact>
              <ode soft_cfm="0" soft_erp="0.2" kp="1e15" kd="1e13" max_vel="100.0" min_depth="0.0001"/>
            </contact>
          </surface>
        </collision>
      </link>
    </model>

    <joint name="joint_2" type="prismatic">
      <parent link="model_1::link_2"/>
      <child  link="model_1::link_3"/>
      <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
      <axis xyz="1.0 0.0 0.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <physics>
        <ode>
          <cfm>0.2</cfm>
          <bounce>0.0</bounce>
          <max_force>1000.0</max_force>
          <velocity>0.0</velocity>
          <fudge_factor>0.0</fudge_factor>
          <limit cfm="0" erp="0.1"/>
          <suspension cfm="1.0" erp="1.0"/>
        </ode>
      </physics>
    </joint>

    <joint name="joint_3" type="revolute2">
      <parent link="model_2::link_1"/>
      <child  link="model_3::link_1"/>
      <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
      <axis xyz="1.0 0.0 0.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <axis2 xyz="0.0 0.0 1.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <physics>
        <ode>
          <cfm>0.2</cfm>
          <bounce>0.0</bounce>
          <max_force>1000.0</max_force>
          <velocity>0.0</velocity>
          <fudge_factor>0.0</fudge_factor>
          <limit cfm="0" erp="0.1"/>
          <suspension cfm="1.0" erp="1.0"/>
        </ode>
      </physics>
    </joint>

    <joint name="joint_4" type="ball">
      <parent link="model_3::link_1"/>
      <child  link="model_4::link_1"/>
      <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
      <axis xyz="1.0 0.0 0.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <axis2 xyz="0.0 0.0 1.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <physics>
        <ode>
          <cfm>0.2</cfm>
          <bounce>0.0</bounce>
          <max_force>1000.0</max_force>
          <velocity>0.0</velocity>
          <fudge_factor>0.0</fudge_factor>
          <limit cfm="0" erp="0.1"/>
          <suspension cfm="1.0" erp="1.0"/>
        </ode>
      </physics>
    </joint>

    <joint name="joint_5" type="universal">
      <parent link="model_4::link_1"/>
      <child  link="model_5::link_1"/>
      <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
      <axis xyz="1.0 0.0 0.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <axis2 xyz="0.0 0.0 1.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <physics>
        <ode>
          <cfm>0.2</cfm>
          <bounce>0.0</bounce>
          <max_force>1000.0</max_force>
          <velocity>0.0</velocity>
          <fudge_factor>0.0</fudge_factor>
          <limit cfm="0" erp="0.1"/>
          <suspension cfm="1.0" erp="1.0"/>
        </ode>
      </physics>
    </joint>

    <joint name="joint_6" type="piston">
      <parent link="model_5::link_1"/>
      <child  link="model_6::link_1"/>
      <origin pose="0.0 0.0 0.0 0.0 0.0 0.0"/>
      <axis xyz="1.0 0.0 0.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <axis2 xyz="0.0 0.0 1.0">
        <limit lower="-1.57" upper="1.57" effort="100" velocity="10"/>
        <dynamics damping="1.0" friction="0.0"/>
      </axis>
      <physics>
        <ode>
          <cfm>0.2</cfm>
          <bounce>0.0</bounce>
          <max_force>1000.0</max_force>
          <velocity>0.0</velocity>
          <fudge_factor>0.0</fudge_factor>
          <limit cfm="0" erp="0.1"/>
          <suspension cfm="1.0" erp="1.0"/>
        </ode>
      </physics>
    </joint>

    <light type="point" name="light_1" cast_shadows="true">
      <origin pose="0.0 0.0 10.0 0.0 0.0 0.0"/>
      <diffuse rgba="0.5 0.5 0.5 0.5"/>
      <attenuation range="1000.0" constant="0.01" quadratic="0.0001"/>
      <direction xyz="0 0 -1"/>
      <spot inner_angle="1.57" outer_angle="1.57" falloff="1.0" />
    </light>

    <light type="spot" name="light_2" cast_shadows="true">
      <origin pose="0.0 0.0 10.0 0.0 0.0 0.0"/>
      <diffuse rgba="0.5 0.5 0.5 0.5"/>
      <attenuation range="1000.0" constant="0.01" quadratic="0.0001"/>
      <direction xyz="0 0 -1"/>
      <spot inner_angle="1.57" outer_angle="1.57" falloff="1.0" />
    </light>

    <light type="directional" name="light_3" cast_shadows="true">
      <origin pose="0.0 0.0 10.0 0.0 0.0 0.0"/>
      <diffuse rgba="0.5 0.5 0.5 0.5"/>
      <attenuation range="1000.0" constant="0.01" quadratic="0.0001"/>
      <direction xyz="0 0 -1"/>
      <spot inner_angle="1.57" outer_angle="1.57" falloff="1.0" />
    </light>

    <plugin name="plugin_1" filename="libgazebo_ros_camera.so">
      <data name="sensor" value="model_1::sensor_camera" />
      <data name="alwaysOn" value="true" />
      <data name="updateRate" value="25.0" />
      <data name="imageTopicName" value="narrow_stereo/left/image_raw" />
      <data name="cameraInfoTopicName" value="narrow_stereo/left/camera_info" />
      <data name="frameName" value="narrow_stereo_optical_frame" />
      <data name="hackBaseline" value="0" />
      <data name="CxPrime" value="320.5" />
      <data name="Cx" value="320.5" />
      <data name="Cy" value="240.5" />
      <!-- image_width / (2*tan(hfov_radian /2)) -->
      <!-- 320 for wide and 772.55 for narrow stereo camera -->
      <data name="focal_length" value="772.55" />
      <data name="distortion_k1" value="0.0" />
      <data name="distortion_k2" value="0.0" />
      <data name="distortion_k3" value="0.0" />
      <data name="distortion_t1" value="0.0" />
      <data name="distortion_t2" value="0.0" />
    </plugin>

    <plugin name="plugin_2" filename="libgazebo_ros_laser.so">
      <data name="sensor" value="model_1::sensor_ray" />
      <data name="gaussianNoise" value="0.005" />
      <data name="alwaysOn" value="true" />
      <data name="updateRate" value="20" />
      <data name="topicName" value="base_scan" />
      <data name="frameName" value="base_laser_link" />
    </plugin>

    <plugin name="plugin_3" filename="libgazebo_ros_bumper.so">
      <data name="sensor" value="model_1::sensor_contact" />
      <data name="alwaysOn" value="true" />
      <data name="updateRate" value="100.0" />
      <data name="frameName" value="r_gripper_palm_link" />
      <data name="bumperTopicName" value="r_gripper_palm_bumper" />
    </plugin>

  </world>
</gazebo>
