Files
RDC_Simulation/docs/gazebo.md
2026-01-04 00:24:46 +00:00

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.py is 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