Files
RDC_Simulation/README.md
2026-01-04 01:42:01 +00:00

85 lines
1.7 KiB
Markdown

# Drone Landing Simulation (GPS-Denied)
Land a drone on a moving platform using only relative sensors.
## Quick Start
### Standalone (1 Terminal)
```bash
source activate.sh
python standalone_simulation.py --pattern circular
```
### Gazebo + ROS 2 (2 Terminals)
**Terminal 1:**
```bash
ros2 launch gazebo/launch/drone_landing.launch.py
```
**Terminal 2:**
```bash
source activate.sh
python run_gazebo.py --pattern circular
python camera_viewer.py # View camera
```
### ArduPilot GPS-Denied (2 Terminals)
**Terminal 1:**
```bash
./scripts/run_ardupilot_sim.sh camera
```
**Terminal 2:**
```bash
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
```bash
./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
```bash
--pattern stationary, linear, circular, square, random
--speed Speed in m/s (default: 0.5)
```
## Docs
- [Installation](docs/installation.md)
- [Architecture](docs/architecture.md)
- [ArduPilot](docs/ardupilot.md)
- [Gazebo](docs/gazebo.md)