4b514f1dd91b0ebc3ff713affa5962118095e4b3
Drone Landing Simulation (GPS-Denied)
Land a drone on a moving platform using only relative sensors.
Quick Start
Standalone (1 Terminal)
source activate.sh
python standalone_simulation.py --pattern circular
Gazebo + ROS 2 (2 Terminals)
Terminal 1:
ros2 launch gazebo/launch/drone_landing.launch.py
Terminal 2:
source activate.sh
python run_gazebo.py --pattern circular
python camera_viewer.py # View camera
ArduPilot GPS-Denied (2 Terminals)
Terminal 1:
./scripts/run_ardupilot_sim.sh runway
# Options: runway, warehouse, zephyr
Terminal 2:
sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console
# GPS-denied mode:
param set ARMING_CHECK 0
mode stabilize
arm throttle force
Installation
./setup/install_ubuntu.sh
./setup/install_ardupilot.sh # Optional
source activate.sh
Files
| File | Description |
|---|---|
standalone_simulation.py |
All-in-one simulation |
run_gazebo.py |
Gazebo controllers |
scripts/run_ardupilot_sim.sh |
ArduPilot launcher (auto GPU) |
camera_viewer.py |
Camera feed window |
drone_controller.py |
Your landing algorithm |
config.py |
Configuration |
Sensors (GPS-Denied)
| Sensor | Data |
|---|---|
| IMU | Orientation, angular velocity |
| Altimeter | Altitude, vertical velocity |
| Camera | Downward image |
| Landing Pad | Relative position (when visible) |
Options
--pattern stationary, linear, circular, square, random
--speed Speed in m/s (default: 0.5)
Docs
Description
Languages
Python
66.3%
Shell
25.4%
PowerShell
4.5%
Dockerfile
3.8%