Flatness in systems theory is a system property that extends the notion of controllability from linear systems to nonlinear dynamical systems. A system that has the flatness property is called a flat system. Flat systems have a (fictitious) flat output, which can be used to explicitly express all states and inputs in terms of the flat output and a finite number of its derivatives.
A nonlinear system
x |
(t)=f(x(t),u(t)), x(0)=x0, u(t)\inRm, x(t)\inRn,Rank
\partialf(x,u) | |
\partialu |
=m
is flat, if there exists an output
y(t)=(y1(t),...,ym(t))
that satisfies the following conditions:
yi,i=1,...,m
xi,i=1,...,n
ui,i=1,...,m
(k) | |
u | |
i |
,k=1,...,\alphai
y=\Phi(x,u,
u |
,...,u(\alpha))
xi,i=1,...,n
ui,i=1,...,m
yi,i=1,...,m
(k) | |
y | |
i |
,i=1,...,m
y
\phi(y,y |
,y(\gamma))=0
If these conditions are satisfied at least locally, then the (possibly fictitious) output is called flat output, and the system is flat.
x |
(t)=Ax(t)+Bu(t), x(0)=x0
x,u
The flatness property is useful for both the analysis of and controller synthesis for nonlinear dynamical systems. It is particularly advantageous for solving trajectory planning problems and asymptotical setpoint following control.