1.5 KiB
1.5 KiB
Gazebo Simulation Guide
Quick Start (2 Terminals)
Terminal 1 - Gazebo:
ros2 launch gazebo/launch/drone_landing.launch.py
Terminal 2 - Controllers:
source activate.sh
python run_gazebo.py --pattern circular
Command Options
python run_gazebo.py --pattern circular --speed 0.5
Options:
--pattern, -p stationary, linear, circular, square, random
--speed, -s Rover speed in m/s (default: 0.5)
--amplitude, -a Movement radius (default: 2.0)
--no-rover Disable rover controller
View Camera
python camera_viewer.py --topic /drone/camera
Sensors
| Sensor | Description |
|---|---|
| IMU | Orientation, angular velocity |
| Altimeter | Altitude, vertical velocity |
| Velocity | Estimated velocity (x, y, z) |
| Camera | Downward-facing image |
| Landing Pad | Relative position |
ROS 2 Topics
| Topic | Direction |
|---|---|
/cmd_vel |
Your commands → Drone |
/drone/telemetry |
Sensors → You |
/drone/camera |
Camera → You |
/rover/telemetry |
Rover position |
Headless Mode (WSL2)
# Server only (no GUI)
ign gazebo -s gazebo/worlds/drone_landing.sdf
Troubleshooting
Drone falls:
- Check
run_gazebo.pyis running - Check topic:
ros2 topic echo /drone/cmd_vel
Rover doesn't move:
- Check topic:
ros2 topic echo /rover/cmd_vel
Model not found:
export GZ_SIM_RESOURCE_PATH=$PWD/gazebo/models:$GZ_SIM_RESOURCE_PATH