CONTROL ARCHITECTURE
Inside the black box. Exploring the PIDs, Navigators, and Mixer strategies that keep your vehicle in the air.
System Design
The Control Stack: From Stick to Prop
When you move the sticks on your radio, you aren't moving the servos directly. You are feeding a request into the top of a complex "Cascade Control...
AC_WPNav - The Navigator
The Waypoint Navigator (`AC_WPNav`) is responsible for generating the "Perfect Path" for the drone to fly. It does **not** fly the drone directly. ...
AC_PosControl - The XYZ Controller
The Position Controller (`AC_PosControl`) is the "Middle Manager" of the flight stack. It takes orders from the Navigator ("Go to [10, 20, 5]") and...
AC_AttitudeControl - The Angle Controller
The Attitude Controller is responsible for determining **how fast the vehicle should rotate** to achieve a desired **Orientation** (Roll, Pitch, Ya...
AC_AttitudeControl - The Rate Loops
The Rate Controller is the "Inner Loop" of the flight stack. It runs at the full loop rate (400Hz+) and is responsible for stabilizing the vehicle ...
AP_Motors - The Matrix & Mixer
The Motor Mixer (`AP_MotorsMatrix`) is the bottom layer of the control stack. It takes the normalized Torque (Roll/Pitch/Yaw) and Thrust (Throttle)...