156 lines
4.6 KiB
XML
156 lines
4.6 KiB
XML
<?xml version="1.0" ?>
|
|
<!--
|
|
Drone Landing Simulation - Gazebo World
|
|
|
|
This world contains:
|
|
- Ground plane with grid texture
|
|
- Landing pad (rover) at origin - can be moved via pose commands
|
|
- Drone spawned at 5m altitude
|
|
- Sun for lighting
|
|
-->
|
|
<sdf version="1.8">
|
|
<world name="drone_landing_world">
|
|
|
|
<!-- Physics configuration -->
|
|
<physics name="1ms" type="ignored">
|
|
<max_step_size>0.001</max_step_size>
|
|
<real_time_factor>1.0</real_time_factor>
|
|
</physics>
|
|
|
|
<!-- Required plugins -->
|
|
<plugin filename="ignition-gazebo-physics-system" name="ignition::gazebo::systems::Physics"/>
|
|
<plugin filename="ignition-gazebo-user-commands-system" name="ignition::gazebo::systems::UserCommands"/>
|
|
<plugin filename="ignition-gazebo-scene-broadcaster-system" name="ignition::gazebo::systems::SceneBroadcaster"/>
|
|
<plugin filename="ignition-gazebo-sensors-system" name="ignition::gazebo::systems::Sensors">
|
|
<render_engine>ogre2</render_engine>
|
|
</plugin>
|
|
<plugin filename="ignition-gazebo-imu-system" name="ignition::gazebo::systems::Imu"/>
|
|
|
|
<!-- Lighting -->
|
|
<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.5 0.1 -0.9</direction>
|
|
</light>
|
|
|
|
<!-- Ground Plane -->
|
|
<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.3 0.3 0.3 1</ambient>
|
|
<diffuse>0.7 0.7 0.7 1</diffuse>
|
|
<specular>0.01 0.01 0.01 1</specular>
|
|
</material>
|
|
</visual>
|
|
</link>
|
|
</model>
|
|
|
|
<!-- Landing Pad (Rover) - Non-static so it can be moved -->
|
|
<model name="landing_pad">
|
|
<static>false</static>
|
|
<pose>0 0 0.15 0 0 0</pose>
|
|
|
|
<!-- Pose publisher to track position -->
|
|
<plugin filename="ignition-gazebo-pose-publisher-system" name="ignition::gazebo::systems::PosePublisher">
|
|
<publish_link_pose>false</publish_link_pose>
|
|
<publish_model_pose>true</publish_model_pose>
|
|
<publish_nested_model_pose>false</publish_nested_model_pose>
|
|
<update_frequency>50</update_frequency>
|
|
</plugin>
|
|
|
|
<link name="base_link">
|
|
<inertial>
|
|
<mass>100.0</mass>
|
|
<inertia>
|
|
<ixx>10.0</ixx>
|
|
<iyy>10.0</iyy>
|
|
<izz>10.0</izz>
|
|
</inertia>
|
|
</inertial>
|
|
<collision name="collision">
|
|
<geometry>
|
|
<box>
|
|
<size>1.0 1.0 0.3</size>
|
|
</box>
|
|
</geometry>
|
|
</collision>
|
|
<visual name="visual">
|
|
<geometry>
|
|
<box>
|
|
<size>1.0 1.0 0.3</size>
|
|
</box>
|
|
</geometry>
|
|
<material>
|
|
<ambient>0.1 0.4 0.1 1</ambient>
|
|
<diffuse>0.2 0.6 0.2 1</diffuse>
|
|
<specular>0.1 0.1 0.1 1</specular>
|
|
</material>
|
|
</visual>
|
|
|
|
<!-- Landing pad "H" marker -->
|
|
<visual name="h_marker">
|
|
<pose>0 0 0.151 0 0 0</pose>
|
|
<geometry>
|
|
<box>
|
|
<size>0.6 0.1 0.001</size>
|
|
</box>
|
|
</geometry>
|
|
<material>
|
|
<ambient>1 1 1 1</ambient>
|
|
<diffuse>1 1 1 1</diffuse>
|
|
</material>
|
|
</visual>
|
|
<visual name="h_left">
|
|
<pose>-0.25 0 0.151 0 0 0</pose>
|
|
<geometry>
|
|
<box>
|
|
<size>0.1 0.6 0.001</size>
|
|
</box>
|
|
</geometry>
|
|
<material>
|
|
<ambient>1 1 1 1</ambient>
|
|
<diffuse>1 1 1 1</diffuse>
|
|
</material>
|
|
</visual>
|
|
<visual name="h_right">
|
|
<pose>0.25 0 0.151 0 0 0</pose>
|
|
<geometry>
|
|
<box>
|
|
<size>0.1 0.6 0.001</size>
|
|
</box>
|
|
</geometry>
|
|
<material>
|
|
<ambient>1 1 1 1</ambient>
|
|
<diffuse>1 1 1 1</diffuse>
|
|
</material>
|
|
</visual>
|
|
</link>
|
|
</model>
|
|
|
|
</world>
|
|
</sdf>
|