Docs Update
This commit is contained in:
225
gazebo/worlds/iris_camera.sdf
Normal file
225
gazebo/worlds/iris_camera.sdf
Normal file
@@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!--
|
||||
ArduPilot Iris Drone with Camera - GPS-Denied Simulation
|
||||
|
||||
This world includes:
|
||||
- Iris quadcopter with downward camera
|
||||
- ArduPilot plugin for SITL
|
||||
- Landing pad for targeting
|
||||
|
||||
Usage:
|
||||
gz sim -v4 -r iris_camera.sdf
|
||||
sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console
|
||||
-->
|
||||
<sdf version="1.9">
|
||||
<world name="iris_camera_world">
|
||||
|
||||
<!-- Physics optimized for real-time -->
|
||||
<physics name="1ms" type="ode">
|
||||
<max_step_size>0.001</max_step_size>
|
||||
<real_time_factor>1.0</real_time_factor>
|
||||
<real_time_update_rate>1000</real_time_update_rate>
|
||||
</physics>
|
||||
|
||||
<!-- GPU rendering plugins -->
|
||||
<plugin filename="gz-sim-physics-system" name="gz::sim::systems::Physics"/>
|
||||
<plugin filename="gz-sim-sensors-system" name="gz::sim::systems::Sensors">
|
||||
<render_engine>ogre2</render_engine>
|
||||
</plugin>
|
||||
<plugin filename="gz-sim-user-commands-system" name="gz::sim::systems::UserCommands"/>
|
||||
<plugin filename="gz-sim-scene-broadcaster-system" name="gz::sim::systems::SceneBroadcaster"/>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- Sky -->
|
||||
<scene>
|
||||
<ambient>0.4 0.4 0.4 1</ambient>
|
||||
<background>0.7 0.7 0.9 1</background>
|
||||
<shadows>true</shadows>
|
||||
</scene>
|
||||
|
||||
<!-- Ground plane with texture -->
|
||||
<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.5 0.5 0.5 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
</model>
|
||||
|
||||
<!-- Landing Pad (Green with H marker) -->
|
||||
<model name="landing_pad">
|
||||
<static>false</static>
|
||||
<pose>0 0 0.02 0 0 0</pose>
|
||||
<link name="pad_link">
|
||||
<inertial>
|
||||
<mass>50</mass>
|
||||
</inertial>
|
||||
<collision name="collision">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>1.5 1.5 0.04</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
<visual name="visual">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>1.5 1.5 0.04</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<material>
|
||||
<ambient>0.1 0.6 0.1 1</ambient>
|
||||
<diffuse>0.2 0.8 0.2 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
<!-- H marker -->
|
||||
<visual name="h_marker">
|
||||
<pose>0 0 0.025 0 0 0</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.1 0.6 0.01</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<material>
|
||||
<ambient>1 1 1 1</ambient>
|
||||
<diffuse>1 1 1 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
<visual name="h_marker_cross">
|
||||
<pose>0 0 0.025 0 0 1.5708</pose>
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.1 0.3 0.01</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<material>
|
||||
<ambient>1 1 1 1</ambient>
|
||||
<diffuse>1 1 1 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
|
||||
<!-- Velocity control for moving pad -->
|
||||
<plugin filename="gz-sim-velocity-control-system"
|
||||
name="gz::sim::systems::VelocityControl">
|
||||
<topic>/landing_pad/cmd_vel</topic>
|
||||
</plugin>
|
||||
</model>
|
||||
|
||||
<!-- Iris Drone with Camera -->
|
||||
<include>
|
||||
<uri>model://iris_with_ardupilot</uri>
|
||||
<name>iris</name>
|
||||
<pose>0 0 0.195 0 0 0</pose>
|
||||
</include>
|
||||
|
||||
<!-- If iris model doesn't exist, create simple drone -->
|
||||
<model name="camera_drone">
|
||||
<pose>0 2 0.5 0 0 0</pose>
|
||||
<link name="base_link">
|
||||
<inertial>
|
||||
<mass>1.5</mass>
|
||||
<inertia>
|
||||
<ixx>0.029</ixx>
|
||||
<iyy>0.029</iyy>
|
||||
<izz>0.055</izz>
|
||||
</inertia>
|
||||
</inertial>
|
||||
|
||||
<collision name="collision">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.4 0.4 0.1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
</collision>
|
||||
|
||||
<visual name="body">
|
||||
<geometry>
|
||||
<box>
|
||||
<size>0.4 0.4 0.1</size>
|
||||
</box>
|
||||
</geometry>
|
||||
<material>
|
||||
<ambient>0.2 0.2 0.2 1</ambient>
|
||||
<diffuse>0.3 0.3 0.3 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
|
||||
<!-- Downward Camera -->
|
||||
<sensor name="camera" type="camera">
|
||||
<pose>0 0 -0.05 0 1.5708 0</pose>
|
||||
<always_on>true</always_on>
|
||||
<update_rate>30</update_rate>
|
||||
<camera>
|
||||
<horizontal_fov>1.047</horizontal_fov>
|
||||
<image>
|
||||
<width>640</width>
|
||||
<height>480</height>
|
||||
<format>R8G8B8</format>
|
||||
</image>
|
||||
<clip>
|
||||
<near>0.1</near>
|
||||
<far>100</far>
|
||||
</clip>
|
||||
</camera>
|
||||
<topic>/drone/camera</topic>
|
||||
</sensor>
|
||||
|
||||
<!-- IMU -->
|
||||
<sensor name="imu" type="imu">
|
||||
<always_on>true</always_on>
|
||||
<update_rate>250</update_rate>
|
||||
<topic>/drone/imu</topic>
|
||||
</sensor>
|
||||
</link>
|
||||
|
||||
<!-- Velocity control -->
|
||||
<plugin filename="gz-sim-velocity-control-system"
|
||||
name="gz::sim::systems::VelocityControl">
|
||||
<topic>/drone/cmd_vel</topic>
|
||||
</plugin>
|
||||
|
||||
<!-- Odometry -->
|
||||
<plugin filename="gz-sim-odometry-publisher-system"
|
||||
name="gz::sim::systems::OdometryPublisher">
|
||||
<odom_topic>/drone/odometry</odom_topic>
|
||||
<odom_frame>world</odom_frame>
|
||||
<robot_base_frame>camera_drone</robot_base_frame>
|
||||
</plugin>
|
||||
</model>
|
||||
|
||||
</world>
|
||||
</sdf>
|
||||
Reference in New Issue
Block a user