c5b208c91abc3ae77e75757b9efa2f369411d7e0
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
ArduPilot GPS-Denied (2 Terminals)
Terminal 1 - Gazebo:
./scripts/run_ardupilot_sim.sh runway
Terminal 2 - Controller:
./scripts/run_ardupilot_controller.sh
Installation
./setup/install_ubuntu.sh
./setup/install_ardupilot.sh # Optional for ArduPilot
source activate.sh
Files
| File | Description |
|---|---|
drone_controller.py |
Your landing algorithm (used everywhere) |
standalone_simulation.py |
PyBullet simulation |
run_gazebo.py |
Gazebo + ROS 2 interface |
run_ardupilot.py |
ArduPilot + MAVLink interface |
config.py |
Configuration settings |
camera_viewer.py |
Camera feed window |
Sensors (GPS-Denied)
| Sensor | Data |
|---|---|
| IMU | Orientation, angular velocity |
| Altimeter | Altitude, vertical velocity |
| Camera | Downward image |
| Landing Pad | Relative position (when visible) |
Documentation
Description
Languages
Python
66.3%
Shell
25.4%
PowerShell
4.5%
Dockerfile
3.8%