Docs Update

This commit is contained in:
2026-01-04 01:42:01 +00:00
parent 40286fa90c
commit edfed30fb1
9 changed files with 591 additions and 305 deletions

View 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>