INDI BASED FLIGHT CONTROL
The Flight Controller is what controls the propellers to make the drone fly the way it should. It uses the information from the State Estimator to determine what the drone is doing, and calculates the best propeller speeds to make the drone do what it should be doing.
A drone is a highly nonlinear system with very fast dynamics. Virtually all drone flight controllers use the conventional PID (Proportional Integral Derivative) type of linear control. This type of controller results in a relatively slow response, as the linearized model is no longer valid for aggressive maneuvers. For the application of wind disturbance rejection a faster nonlinear controller is required to keep the reaction time and the effect of disturbance on the drone minimal. A minimal displacement is crucial for executing a precision maneuver such as, for example, landing on a wind turbine blade even in a turbulent environment.
Alternatively, Nonlinear Dynamic Inversion (NDI) is a nonlinear control method aiming for precise and aggressive control by inverting the nonlinear dynamics and imposing linear dynamics on the system. However, NDI is notorious for the dependency on extremely accurate model parameters describing the nonlinear system. For this reason, it lacks the necessary robustness for wind disturbance rejection and unmodeled internal dynamics, which are difficult to model.
Our Flight Controller uses a technique based on Incremental Nonlinear Dynamic Inversion (INDI): A novel method designed at TU Delft that overcomes the robustness issues of NDI by reducing the dependency on an accurate system model while still allowing for a precise and fast response. Its combination of fast sensor update rates and a nonlinear control law allows for precise and aggressive maneuvers. The use of acceleration measurements allows the control law to capture unmodeled dynamics, such as gust wind disturbances, and effectively cancel these without any modeling assumptions.