<sdf version="1.4">
    <world name="default">
        <scene>
            <ambient>0.5 0.5 0.5 1.0</ambient>
            <background>0.5 0.5 0.5 1.0</background>
        </scene>
        <physics type="ode">
            <gravity>0.0 0.0 0.0</gravity>
            <ode>
                <solver>
                    <type>quick</type>
                    <iters>20</iters>
                    <sor>1.3</sor>
                </solver>
                <constraints>
                    <cfm>0</cfm>
                    <erp>0.2</erp>
                    <contact_max_correcting_vel>100.0</contact_max_correcting_vel>
                    <contact_surface_layer>0.0</contact_surface_layer>
                </constraints>
            </ode>
            <max_contacts>250</max_contacts>
            <max_step_size>0.001</max_step_size>
        </physics>
        <model name="model_1">
            <pose>0.0 0.0 2.0 0.0 0.0 0.0</pose>
            <link name="link_1">
                <pose>0.0 0.0 0.0 0.0 0.0 0.707</pose>
                <inertial>
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <inertia>
                        <ixx>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <box>
                            <size>0.05 0.05 0.05</size>
                        </box>
                    </geometry>
                    <material normal_map="normal_map.png">
                        <ambient>0.03 0.5 0.5 1.0</ambient>
                        <script>Gazebo/Red</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>100.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <box>
                            <size>0.05 0.05 0.05</size>
                        </box>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>100.0</laser_retro>
                </collision>
                <sensor name="laser_sensor" type="gpu_ray">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <ray>
                        <scan>
                            <horizontal>
                                <samples>640</samples>
                                <resolution>1</resolution>
                                <min_angle>-1.396263</min_angle>
                                <max_angle>1.396263</max_angle>
                            </horizontal>
                            <vertical>
                                <samples>1</samples>
                                <resolution>1</resolution>
                                <min_angle>0.0</min_angle>
                                <max_angle>0.0</max_angle>
                            </vertical>
                        </scan>
                        <range>
                            <min>0.080000000000000002</min>
                            <max>10.0</max>
                            <resolution>0.01</resolution>
                        </range>
                    </ray>
                    <!--
                    <plugin name="plugin_1" filename="libgazebo_ros_gpu_laser.so">
                        <alwaysOn>1</alwaysOn>
                        <updateRate>20.0</updateRate>
                        <gaussianNoise>0.0</gaussianNoise>
                        <imageTopicName>image</imageTopicName>
                        <topicName>laser_scan</topicName>
                        <frameName>/map</frameName>
                        <pointCloudCutoff>0.001</pointCloudCutoff>
                    </plugin>
                    -->
                    <always_on>true</always_on>
                    <visualize>true</visualize>
                    <update_rate>20.0</update_rate>
                    <topic>gpu_scan</topic>
                </sensor>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
        </model>
        <model name="model_2">
            <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
            <link name="link_1">
                <pose>3.0 0.0 2.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>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <box>
                            <size>1 2 2</size>
                        </box>
                    </geometry>
                    <material>
                        <ambient>0.5 0.03 0.03 1.0</ambient>
                        <script>Gazebo/Red</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>100.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <box>
                            <size>1 2 2</size>
                        </box>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>100.0</laser_retro>
                </collision>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
            <link name="link_2">
                <pose>3.0 -0.5 3.8 0.0 0.0 0.0</pose>
                <inertial>
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <inertia>
                        <ixx>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <box>
                            <size>3 0.5 0.5</size>
                        </box>
                    </geometry>
                    <material>
                        <ambient>0.03 0.5 0.03 1.0</ambient>
                        <script>Gazebo/Green</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>50.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <box>
                            <size>3 0.5 0.5</size>
                        </box>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>50.0</laser_retro>
                </collision>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
            <link name="link_3">
                <pose>0.0 3.0 2.0 0.0 0.0 0.7</pose>
                <inertial>
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <inertia>
                        <ixx>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <box>
                            <size>2 2 2</size>
                        </box>
                    </geometry>
                    <material>
                        <ambient>0.5 0.5 0.03 1.0</ambient>
                        <script>Gazebo/Yellow</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>1.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <box>
                            <size>2 2 2</size>
                        </box>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>100.0</laser_retro>
                </collision>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
            <link name="link_4">
                <pose>2.0 -2.0 2.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>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <cylinder>
                            <radius>1</radius>
                            <length>2</length>
                        </cylinder>
                    </geometry>
                    <material>
                        <ambient>0.5 0.03 0.5 1.0</ambient>
                        <script>Gazebo/Purple</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>70.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <cylinder>
                            <radius>1</radius>
                            <length>2</length>
                        </cylinder>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>100.0</laser_retro>
                </collision>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
            <link name="link_5">
                <pose>2.0 2.0 2.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>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <sphere>
                            <radius>1</radius>
                        </sphere>
                    </geometry>
                    <material>
                        <ambient>0.03 0.5 0.5 1.0</ambient>
                        <script>Gazebo/Turquoise</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>35.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <sphere>
                            <radius>1</radius>
                        </sphere>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>100.0</laser_retro>
                </collision>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
            <link name="link_6">
                <pose>-2.0 -2.0 2.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>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <sphere>
                            <radius>1</radius>
                        </sphere>
                    </geometry>
                    <material>
                        <ambient>0.03 0.03 0.5 1.0</ambient>
                        <script>Gazebo/Blue</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>35.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <sphere>
                            <radius>1</radius>
                        </sphere>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>100.0</laser_retro>
                </collision>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
            <link name="link_7">
                <pose>-1.5 0.0 2.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>1.0</ixx>
                        <ixy>0.0</ixy>
                        <ixz>0.0</ixz>
                        <iyy>1.0</iyy>
                        <iyz>0.0</iyz>
                        <izz>1.0</izz>
                    </inertia>
                    <mass>10.0</mass>
                </inertial>
                <visual name="visual_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <geometry>
                        <box>
                            <size>1 2 2</size>
                        </box>
                    </geometry>
                    <material>
                        <ambient>0.5 0.03 0.03 1.0</ambient>
                        <script>Gazebo/Red</script>
                    </material>
                    <cast_shadows>true</cast_shadows>
                    <laser_retro>150.0</laser_retro>
                </visual>
                <collision name="collision_box">
                    <pose>0.0 0.0 0.0 0.0 0.0 0.0</pose>
                    <max_contacts>250</max_contacts>
                    <geometry>
                        <box>
                            <size>1 2 2</size>
                        </box>
                    </geometry>
                    <surface>
                        <friction>
                            <ode>
                                <mu>0.5</mu>
                                <mu2>0.2</mu2>
                                <fdir1>1.0 0 0</fdir1>
                                <slip1>0</slip1>
                                <slip2>0</slip2>
                            </ode>
                        </friction>
                        <bounce>
                            <restitution_coefficient>0</restitution_coefficient>
                            <threshold>1000000.0</threshold>
                        </bounce>
                        <contact>
                            <ode>
                                <soft_cfm>0</soft_cfm>
                                <soft_erp>0.2</soft_erp>
                                <kp>1e15</kp>
                                <kd>1e13</kd>
                                <max_vel>100.0</max_vel>
                                <min_depth>0.0001</min_depth>
                            </ode>
                        </contact>
                    </surface>
                    <laser_retro>100.0</laser_retro>
                </collision>
                <gravity>false</gravity>
                <self_collide>true</self_collide>
                <kinematic>false</kinematic>
            </link>
        </model>
        <light type="point" name="light_1">
            <pose>0.0 0.0 10.0 0.0 0.0 0.0</pose>
            <diffuse>0.5 0.5 0.5 0.5</diffuse>
            <attenuation>
                <range>1000.0</range>
                <constant>0.01</constant>
                <quadratic>0.0001</quadratic>
            </attenuation>
            <direction>0 0 -1</direction>
            <spot>
                <inner_angle>1.57</inner_angle>
                <outer_angle>1.57</outer_angle>
                <falloff>1.0</falloff>
            </spot>
            <cast_shadows>true</cast_shadows>
        </light>
    </world>
</sdf>
