control//controller design//trajectory tracking//differential flatness
Differential flatness is a property of some nonlinear systems whereby a set of outputs, the **flat outputs**, determines every state and every input as algebraic functions of those outputs and a finite number of their derivatives, with no integration; it is what lets a quadrotor's planner compute the exact attitude and thrust needed to fly a given path. Hand the system a smooth trajectory of its flat outputs and you get, in closed form, the states it will pass through and the inputs that produce them: the feedforward of trajectory tracking for free.
Differential flatness is a property of some nonlinear systems whereby a set of outputs, the flat outputs, determines every state and every input as algebraic functions of those outputs and a finite number of their derivatives, with no integration; it is what lets a quadrotor's planner compute the exact attitude and thrust needed to fly a given path. Hand the system a smooth trajectory of its flat outputs and you get, in closed form, the states it will pass through and the inputs that produce them: the feedforward of trajectory tracking for free.
For the planar drone the flat outputs are the horizontal and vertical positions xxx and zzz. Thrust must point along the total acceleration demanded plus gravity, which fixes both the tilt and the thrust:
θ=arctanx¨z¨+g,T=mx¨2+(z¨+g)2.\theta=\arctan\frac{\ddot x}{\ddot z+g},\qquad T=m\sqrt{\ddot x^{2}+(\ddot z+g)^{2}}.θ=arctanz¨+gx¨,T=mx¨2+(z¨+g)2.
Give the position trajectory and these two lines say how far to tilt and how hard to push at every instant. The torque then needs θ¨\ddot\thetaθ¨, and differentiating θ\thetaθ twice requires the fourth derivative of position, the snap; that is why planners make position trajectories smooth to that order.
It turns planning into curve fitting. Instead of searching over inputs and integrating the dynamics, a planner draws a smooth curve for the flat outputs and reads off everything else, which is fast enough to replan online.
It gives a feasibility check before takeoff. If the computed TTT exceeds what the motors give, or θ\thetaθ exceeds the allowed tilt, anywhere along the path, the trajectory cannot be flown; the check costs a few evaluations of the formulas above.
Feedback still has work to do. Flatness gives the nominal input for the model; wind, mass error and motor lag are corrected by state feedback on the deviation.
Not every system is flat, and finding the flat outputs is an art. Quadrotors (position and yaw), cars with trailers and many cranes are; the property comes from Fliess and colleagues (1995). The mathematics is foundational; its use in aggressive flight is standard in research and niche in products (minimum-snap trajectory).