controller module is implemented in
agilib/src/controller/. There are different kinds of controllers implemented:
MPC: Model Predictive Controller. It uses acados with HPIPM solver to build an optimization problem that minimizes the distance between the designed reference and the online prediction.
geometric_controller: It implements a differential flatness based geometric controller.
PID: It implements a classical PID controller.
INDI: Inverse Nonlinear Dynamic Inversion controller. It’s primarily used for inner loop control (tracking body rates).