The flight controller (FC) is the brains-of-the-motors layer of the drone — it reads IMU, runs the inner-loop attitude controller at ~400 Hz, fuses sensor data into a position/velocity estimate via EKF3, and translates higher-level commands (from MAVROS, RC, or the RL policy) into motor PWMs.
For our build we use ArduPilot ArduCopter on a Pixhawk-class FC. Key pages here:
- ArduCopter params (indoor) — line-by-line breakdown of
indoor.parmfor SITL without GPS. The single most useful page if you’re bringing up the stack. - EKF3 multi-sensor fusion — how the EKF combines rangefinder + optical flow + IMU for GPS-denied indoor navigation.
- Fence parameters — altitude / radius safety limits.
- PID tuning — see the drone-flip troubleshooting page for the usual failure modes.
Contents
Auto-generated from child entries during build (update-indexes.mjs).