Ardupilot Install Script Fix 2

This commit is contained in:
2026-01-04 00:49:28 +00:00
parent 23c619c4dd
commit 40286fa90c
4 changed files with 170 additions and 260 deletions

View File

@@ -1,17 +1,17 @@
# Drone Landing Simulation (GPS-Denied)
A GPS-denied drone landing simulation with multiple backends. Land a drone on a moving platform using only relative sensors (IMU, altimeter, camera).
Land a drone on a moving platform using only relative sensors (IMU, altimeter, camera).
## Quick Start
### Standalone Mode (No ROS 2 - Any Platform)
### Standalone (1 Terminal - Any Platform)
```bash
source activate.sh
python standalone_simulation.py --pattern circular --speed 0.3
python standalone_simulation.py --pattern circular
```
### Gazebo + ROS 2 (Linux/WSL2)
### Gazebo + ROS 2 (2 Terminals)
**Terminal 1:**
```bash
@@ -22,86 +22,64 @@ ros2 launch gazebo/launch/drone_landing.launch.py
```bash
source activate.sh
python run_gazebo.py --pattern circular
python camera_viewer.py # Optional: view camera feed
```
### ArduPilot SITL (Realistic Flight Controller)
### ArduPilot SITL (2 Terminals)
**Terminal 1:**
```bash
source ~/ardu_ws/install/setup.bash
ros2 launch ardupilot_gz_bringup iris_runway.launch.py
gz sim -v4 -r ~/ardupilot_gazebo/worlds/iris_runway.sdf
```
**Terminal 2:**
```bash
mavproxy.py --console --map --master=:14550
sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console
```
## Installation
```bash
# Ubuntu/Debian (includes ROS 2 + Gazebo)
# Ubuntu/Debian
./setup/install_ubuntu.sh
# With ArduPilot SITL
# ArduPilot SITL (optional)
./setup/install_ardupilot.sh
# Activate environment
source activate.sh
```
| Platform | Install Script |
|----------|---------------|
| Ubuntu/Debian | `./setup/install_ubuntu.sh` |
| ArduPilot SITL | `./setup/install_ardupilot.sh` |
| Arch Linux | `./setup/install_arch.sh` |
| macOS | `./setup/install_macos.sh` |
| Windows | `.\setup\install_windows.ps1` |
## Files
| File | Description |
|------|-------------|
| `standalone_simulation.py` | **All-in-one** (no ROS 2) |
| `standalone_simulation.py` | All-in-one simulation |
| `run_gazebo.py` | Gazebo controllers |
| `run_ardupilot.py` | ArduPilot launcher |
| `camera_viewer.py` | Drone camera window |
| `drone_controller.py` | **Your landing algorithm** |
| `camera_viewer.py` | Drone camera window |
| `config.py` | Configuration |
## Sensors Available
## Sensors
| Sensor | Data |
|--------|------|
| IMU | Orientation (roll, pitch, yaw), angular velocity |
| IMU | Orientation, angular velocity |
| Altimeter | Altitude, vertical velocity |
| Velocity | Estimated velocity (x, y, z) |
| Camera | Downward-facing image |
| Landing Pad | Relative position when visible |
| Camera | 320x240 downward image |
| Landing Pad | Relative position (when visible) |
## Configuration
Edit `config.py` to customize:
- Drone/rover positions
- Controller gains (Kp, Kd)
- Camera settings
- Landing thresholds
## Command Line Options
## Options
```bash
# Movement patterns
--pattern, -p stationary, linear, circular, square, random
--speed, -s Speed in m/s (default: 0.5)
--amplitude, -a Amplitude in meters (default: 2.0)
```
## Documentation
| Document | Description |
|----------|-------------|
| [Installation](docs/installation.md) | Full setup guide |
| [Installation](docs/installation.md) | Setup guide |
| [Architecture](docs/architecture.md) | System overview |
| [ArduPilot](docs/ardupilot.md) | ArduPilot SITL guide |
| [Gazebo](docs/gazebo.md) | Gazebo guide |
| [ArduPilot](docs/ardupilot.md) | ArduPilot SITL |
| [Drone Guide](docs/drone_guide.md) | Algorithm guide |