2026-01-04 01:42:01 +00:00
2026-01-04 01:42:01 +00:00
2026-01-04 01:42:01 +00:00
2026-01-04 01:42:01 +00:00
2026-01-04 00:49:28 +00:00
2026-01-04 01:42:01 +00:00
2026-01-04 00:24:46 +00:00
2026-01-04 00:24:46 +00:00
2026-01-04 00:24:46 +00:00
2025-12-31 23:50:26 +00:00
2026-01-04 00:24:46 +00:00
2026-01-02 07:53:44 +00:00
2026-01-04 00:24:46 +00:00
2026-01-04 01:42:01 +00:00
2026-01-04 00:24:46 +00:00
2026-01-02 06:50:31 +00:00
2026-01-04 00:24:46 +00:00
2026-01-01 01:08:30 +00:00
2026-01-01 01:08:30 +00:00
2026-01-02 07:07:51 +00:00
2026-01-02 07:07:51 +00:00

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 camera

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
No description provided
Readme 632 KiB
Languages
Python 66.3%
Shell 25.4%
PowerShell 4.5%
Dockerfile 3.8%