GPS-Denied Drone Landing Simulation

ArduPilot + ROS 2 + Gazebo (ARG) simulation for landing on a moving platform.

Quick Start (2 Terminals)

Terminal 1 - Gazebo:

./scripts/run_ardupilot_sim.sh runway

Terminal 2 - Controller:

./scripts/run_ardupilot_controller.sh

World Options

./scripts/run_ardupilot_sim.sh runway     # Default
./scripts/run_ardupilot_sim.sh warehouse  # Indoor
./scripts/run_ardupilot_sim.sh custom     # Custom landing pad
./scripts/run_ardupilot_sim.sh my_world   # gazebo/worlds/my_world.sdf

Installation

./setup/install_ubuntu.sh
./setup/install_ardupilot.sh
source ~/.bashrc

Project Structure

simulation/
├── config.py
├── src/
│   └── drone_controller.py   # Your algorithm
├── scripts/
│   ├── run_ardupilot_sim.sh
│   └── run_ardupilot_controller.sh
├── gazebo/
│   ├── worlds/               # Your worlds
│   └── models/               # Your models
├── setup/
└── docs/

3-Phase Mission

Phase Action
SEARCH Find QR code on rover
COMMAND Send commands to rover
LAND Land on rover

Documentation

Description
No description provided
Readme 632 KiB
Languages
Python 66.3%
Shell 25.4%
PowerShell 4.5%
Dockerfile 3.8%