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

1.8 KiB

ArduPilot GPS-Denied Simulation

Realistic flight controller simulation without GPS.

Quick Start (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_ardupilot.sh
source ~/.bashrc

Installs: ArduPilot SITL, Gazebo, ardupilot_gazebo plugin, MAVProxy

GPS-Denied Configuration

In MAVProxy console:

# Disable all pre-arm checks
param set ARMING_CHECK 0

# GPS-free flight modes
mode stabilize      # Manual with stabilization
mode alt_hold       # Altitude hold
mode guided_nogps   # Guided without GPS

GPU Support

The launcher auto-detects your GPU:

GPU Status
NVIDIA Best performance
Intel integrated Good for laptops
AMD Good performance
Software Works but slow

Camera Feed

In Gazebo GUI

Click camera icon → Select drone camera

Using camera_viewer

ros2 run ros_gz_bridge parameter_bridge /drone/camera@sensor_msgs/msg/Image[gz.msgs.Image
python camera_viewer.py --topic /drone/camera

World Options

./scripts/run_ardupilot_sim.sh runway   # Default
./scripts/run_ardupilot_sim.sh camera   # With camera

MAVProxy Commands

mode stabilize     # Manual mode
mode guided_nogps  # Autonomous (no GPS)
arm throttle force # Arm motors
takeoff 5          # Takeoff 5m
mode land          # Land

Troubleshooting

Simulation laggy

glxinfo | grep "OpenGL renderer"
# Should show GPU, not "llvmpipe"

Can't arm

param set ARMING_CHECK 0
arm throttle force

No camera

Use ./scripts/run_ardupilot_sim.sh camera for camera world.