93 lines
1.7 KiB
Markdown
93 lines
1.7 KiB
Markdown
# ArduPilot GPS-Denied Simulation
|
|
|
|
Realistic flight controller simulation without GPS.
|
|
|
|
## Quick Start (2 Terminals)
|
|
|
|
**Terminal 1:**
|
|
```bash
|
|
./scripts/run_ardupilot_sim.sh runway
|
|
```
|
|
|
|
**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_ardupilot.sh
|
|
source ~/.bashrc
|
|
```
|
|
|
|
## World Options
|
|
|
|
```bash
|
|
./scripts/run_ardupilot_sim.sh runway # Iris on runway (default)
|
|
./scripts/run_ardupilot_sim.sh warehouse # Iris in warehouse
|
|
./scripts/run_ardupilot_sim.sh zephyr # Zephyr plane
|
|
./scripts/run_ardupilot_sim.sh gimbal # Gimbal test
|
|
./scripts/run_ardupilot_sim.sh parachute # Parachute test
|
|
```
|
|
|
|
## GPS-Denied Configuration
|
|
|
|
In MAVProxy console:
|
|
|
|
```bash
|
|
param set ARMING_CHECK 0 # Disable pre-arm checks
|
|
mode stabilize # Manual with stabilization
|
|
arm throttle force # Force arm
|
|
```
|
|
|
|
## GPU Support
|
|
|
|
Auto-detects: NVIDIA > Intel > AMD > Software
|
|
|
|
Check your GPU:
|
|
```bash
|
|
glxinfo | grep "OpenGL renderer"
|
|
```
|
|
|
|
## MAVProxy Commands
|
|
|
|
```bash
|
|
mode stabilize # Manual mode
|
|
mode alt_hold # Altitude hold
|
|
arm throttle force # Arm motors
|
|
takeoff 5 # Takeoff 5m
|
|
mode land # Land
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### "No JSON sensor message"
|
|
|
|
Gazebo isn't sending data to SITL. Check:
|
|
1. Start Gazebo FIRST, then SITL
|
|
2. Plugin path is set:
|
|
```bash
|
|
echo $GZ_SIM_SYSTEM_PLUGIN_PATH | grep ardupilot
|
|
```
|
|
|
|
### Simulation laggy
|
|
|
|
Check GPU is being used (not software):
|
|
```bash
|
|
glxinfo | grep "OpenGL renderer"
|
|
# Should NOT show "llvmpipe"
|
|
```
|
|
|
|
### Can't arm
|
|
|
|
```bash
|
|
param set ARMING_CHECK 0
|
|
arm throttle force
|
|
```
|