<sdf version="1.6">
    <world name="default">
        <physics name="1ms" type="ignored">
            <max_step_size>0.001</max_step_size>
            <real_time_factor>1.0</real_time_factor>
        </physics>
        <plugin name='ignition::gazebo::systems::Physics' filename='ignition-gazebo-physics-system'/>
        <plugin name='ignition::gazebo::systems::UserCommands' filename='ignition-gazebo-user-commands-system'/>
        <plugin name='ignition::gazebo::systems::SceneBroadcaster' filename='ignition-gazebo-scene-broadcaster-system'/>
        <plugin name='ignition::gazebo::systems::Contact' filename='ignition-gazebo-contact-system'/>
    
          <light type="directional" name="sun">
            <cast_shadows>true</cast_shadows>
            <pose>0 0 10 0 0 0</pose>
            <diffuse>0.8 0.8 0.8 1</diffuse>
            <specular>0.2 0.2 0.2 1</specular>
            <attenuation>
                <range>1000</range>
                <constant>0.9</constant>
                <linear>0.01</linear>
                <quadratic>0.001</quadratic>
            </attenuation>
            <direction>-0.1 0.1 -0.9  </direction>
        </light>
        
        <actor name="actor_walking">
            <plugin name="ignition::gazebo::ActorSystem" filename="$(find ign_actor_plugin)/libign_actor_plugin.so">
                <x>2</x>
                <y>2</y>
                <rot>180</rot>
            </plugin>
            <skin>
                <filename>$(find ign_actor_plugin)/animation/standing_walk.dae</filename>
                <scale>1.0</scale>
            </skin>
            
            <animation name='standing_walk'>
                <filename>$(find ign_actor_plugin)/animation/standing_walk.dae</filename>
            </animation>
            <animation name='standing_extend_arm'>
                <filename>$(find ign_actor_plugin)/animation/standing_extend_arm.dae</filename>
            </animation>
            <animation name='standing_retract_arm'>
                  <filename>$(find ign_actor_plugin)/animation/standing_retract_arm.dae</filename>
            </animation>
            <animation name='standing_to_low'>
                <filename>$(find ign_actor_plugin)/animation/standing_to_low.dae</filename>
            </animation>
            
            <animation name='low_to_standing'>
                <filename>$(find ign_actor_plugin)/animation/low_to_standing.dae</filename>
            </animation>
            <animation name='low_grab'>
                  <filename>$(find ign_actor_plugin)/animation/low_grab.dae</filename>
            </animation>
            <animation name='low_inspect'>
                <filename>$(find ign_actor_plugin)/animation/low_inspect.dae</filename>
            </animation>
            <animation name='low_put_back'>
                  <filename>$(find ign_actor_plugin)/animation/low_put_back.dae</filename>
            </animation>
        </actor>
        
        <model name="room">
            <static>true</static> 
            <link name="room">
                <visual name="visual">
                    <geometry>
                        <mesh>
                            <uri>file://$(find ign_world)/model/room.stl</uri>
                        </mesh>
                    </geometry>
                    <material>
                        <ambient>0.8 0.8 0.8 1</ambient>
                        <diffuse>0.8 0.8 0.8 1</diffuse>
                        <specular>0.8 0.8 0.8 1</specular>
                    </material>
                </visual>
            </link>
        </model>
        
        <model name="ground_plane">
            <static>true</static>
            <link name="link">
                <collision name="collision">
                    <geometry>
                          <plane>
                              <normal>0 0 1</normal>
                              <size>100 100</size>
                          </plane>
                    </geometry>
                </collision>
                <visual name="visual">
                    <geometry>
                        <plane>
                            <normal>0 0 1</normal>
                            <size>100 100</size>
                        </plane>
                    </geometry>
                    <material>
                        <ambient>0.8 0.8 0.8 1</ambient>
                        <diffuse>0.8 0.8 0.8 1</diffuse>
                        <specular>0.8 0.8 0.8 1</specular>
                    </material>
                </visual>
            </link>
        </model>
    </world>
</sdf>  