# User:Jean-Jacques Slotine/Proposed/Differentially flat systems

Differentially flat control systems form a sub-class of non-linear control systems, for which motion planning and trajectory tracking are explicit.

They are related to integrable under-determined systems in the sense of Monge, Darboux, Goursat, Hilbert and Cartan. Underlying geometric properties associated to a transformation group were first described by Hilbert. It corresponds to equivalence by dynamic feedback (\cite{fliess-et-al-ijc95,fliess-et-al-ieee99}).

Deciding if a control system is non flat in a finite number of steps is an open-problem. However, this approach may be extended to infinite dimensional systems.

In the sequel, all functions are assumed differentiable enough ($$C^k$$ with $$k$$ large enough).

## Definition and examples

### State-space representation

Consider the explicit system $\tag{1} \frac{dx}{dt}= f(x,u)$

with $$x=(x_1,\ldots,x_n)$$ the state vector of dimension $$n$$ and with $$u=(u_1,\ldots,u_m)$$ the control input of dimension $$m\ .$$ This system is said differentially flat if, and only if, exist $$m$$ independent scalar functions $$h=(h_1,\ldots,h_m)$$ depending on $$x$$ and a finite number of $$u$$ derivatives, $$h(x,u,u^{(1)}, \ldots, u^{(\alpha)})$$ such that, if we set $\tag{2} y=h(x,u,u^{(1)}, \ldots, u^{(\alpha)})$

the integral curves of (1) identically satisfy $\tag{3} x = \Gamma(y,\ldots, y^{(\beta)}), \quad u = \Lambda(y,\ldots,y^{(\beta+1)})$

for some $$\beta$$ larger than $$0\ ,$$ namely are computable without integration of (1). Here $$u^{(\alpha)}$$ is the vector $$(u_1^{(\alpha_1)}, \ldots, u_m^{(\alpha_m)})$$ where $$u_k^{(\alpha_k)}$$ stands for the $$k$$-th time derivative of $$u_k$$ and $$\alpha=(\alpha_1,\ldots,\alpha_m)\ .$$ Note that $$\alpha \geq r$$ means that each $$\alpha_k \geq r \ ,$$ $$\alpha+1$$ stands for $$(\alpha_1+1, \ldots, \alpha_m+1)$$ and $$\alpha=-1$$ means that $$h$$ depends only on $$x$$ (same convention for $$y^{(\beta)}$$).

The functions $$\Gamma$$ and $$\Lambda$$ are obtained via differentiation and algebraic manipulations of $$f$$ and $$h\ .$$ The quantity $$y$$ is called a flat output or a linearizing output. Otherwise stated, if we take any smooth enough time function $$t\mapsto y(t)$$ then the time functions $$t\mapsto x(t)$$ and $$t\mapsto u(t)$$ deduced from $$\Gamma$$ and $$\Lambda$$ automatically satisfy the state-space equation (1). As noticed by Monge in  \cite{monge-memorial1784}, this means that (3) provides the general solution of the under-determined system with $$n$$ equations $$\frac{dx}{dt} = f(x,u)$$ and $$n+m$$ variables $$(x,u)\ .$$ Notice that we recover (1) via elimination of the arbitrary smooth time-function $$y$$ from (3).

Another interpretation of this definition is that the differential-algebraic system (1)-(2) of index exceeding one (see Differential-algebraic equations), where $$y$$ is known and $$(x,u)$$ are unknown, can be solved without integration via (3).

Let us take the example of the non-holonomic car with $$x=(x_1,x_2,x_3)$$ and $$u=(u_1,u_2)\ :$$ $\tag{4} \frac{dx_1}{dt}= u_1 \cos x_3, \quad \frac{dx_2}{dt}= u_1 \sin x_3, \quad \frac{dx_3}{dt}= \frac{u_1}{l} \tan u_2$

with $$l>0$$ a parameter (length). A flat output is $$y=(x_1,x_2)$$ ($$\alpha=-1\ ,$$ $$h_1(x)=x_1$$ and $$h_2(x)=x_2$$) and (3) admits the following form (forward motion with $$u_1>0$$). $\tag{5} \begin{array}{l} x_1=y_1, \quad x_2=y_2, \quad x_3 = \arg\left( y_1^{(1)} + y_2^{(1)} \sqrt{-1} \right) \\ u_1= \sqrt{\left(y_1^{(1)}\right)^2+\left(y_2^{(1)}\right)^2} , \quad u_2 =\arctan \left( l \frac{y_1^{(2)}y_2^{(1)} - y_2^{(2)}y_1^{(1)} } {\left(\left(y_1^{(1)}\right)^2+\left(y_2^{(1)}\right)^2\right)^{\frac{3}{2}}} \right) . \end{array}$

This relation admits a direct geometric interpretation if we consider the curve followed by the point of coordinates $$(y_1,y_2)\ :$$ $$x_3$$ is the direction of its tangent, $$u_1$$ its velocity and $$u_2= \arctan( l \kappa)$$ where $$\kappa$$ is its curvature.

Note that the vector $$(x_{1}, x_{2}, x_{3}, u_{1}, u_{2})$$ in (5) may be viewed as the output of the so-called trivial system $y_{1}^{(2)}=v_{1}, \quad y_{2}^{(2)}=v_{2}$ with auxiliary inputs $$v_{1}, v_{2}\ .$$

It is important to remark that the dimension of the state-space system (4) is 3 whereas the dimension of the associated trivial system is 4, though (5) establishes a smooth one-to-one mapping between two manifolds having different dimensions, which is apparently a paradox. This paradox disappears if we remark that (5) establishes in fact a smooth one-to-one mapping between the manifold of jets of infinite order of global coordinates $$(x_{1}, x_{2}, x_{3}, u_{1}, u_{2}, \dot{u}_{1}, \dot{u}_{2}, \ddot{u}_{1}, \ddot{u}_{2}, \ldots)$$ and the other manifold of jets of infinite order of global coordinates $$(y_{1}, y_{2}, \dot{y}_{1}, \dot{y}_{2}, \ddot{y}_{1}, \ddot{y}_{2}, \ldots)\ .$$ This is why the geometric approach of manifolds of jets of infinite order and Lie-Bäcklund equivalence may be adopted to rigorously deal with differential flatness (see \cite{fliess-et-al-ieee99,pomet-varsovie93,NRM98:jco}).

### Descriptor systems

Consider the implicit control system associated to the descriptor form $\tag{6} F\left(z,z^{(1)},\ldots,z^{(\mu)},u,\ldots,u^{(\nu)}\right)=0$

with derivation indexes $$\mu,\nu \geq 0\ ,$$ $$z=(z_1,\ldots, z_n)\ ,$$ $$u=(u_1,\ldots,u_m)$$ and $$F=(F_1,\ldots,F_n)\ .$$ This system is said differentially flat if, and only if, exist $$m$$ independent scalar functions $$h=(h_1,\ldots,h_m)$$ depending on a finite number of time derivatives of $$z$$ and $$u\ ,$$ $$h(z,\ldots,z^{(\alpha_z)},u,\ldots, u^{(\alpha_u)})$$ with derivation orders $$\alpha_z,\alpha_u \geq -1$$ such that the differential-algebraic system of index exceeding one (see Differential-algebraic equations) $\tag{7} F\left(z,z^{(1)},\ldots,z^{(\mu)},u,\ldots,u^{(\nu)}\right)=0, \quad y=h(z,\ldots,z^{(\alpha_z)},u,\ldots, u^{(\alpha_u)})$

where $$y$$ is known and $$(z,u)$$ are unknown, can be solved without integration via formulae of the form $\tag{8} z = \Gamma(y,\ldots, y^{(\beta_z)}), \quad u = \Lambda(y,\ldots,y^{(\beta_u)})$

where the derivation orders $$\beta_z$$ and $$\beta_u$$ are larger than $$0\ .$$

Consider the 2-D crane example with $$z=(z_1,z_2,z_3)$$ and $$u=(u_1,u_2)$$ governed by the descriptor form $m z_1^{(2)}+z_3 \frac{z_1-u_1}{u_2} =0 ,\quad m z_2^{(2)} +z_3 \frac{z_2}{u_2} - m g=0 ,\quad (z_1-u_1)^2+ (z_2)^2 -(u_2)^2 =0$ with $$m$$ and $$g$$ positive parameters (mass and gravity acceleration). A flat output is $$y=(z_1,z_2)\ ,$$ the functions $$\Lambda$$ and $$\Gamma$$ associated to (8) being here: $\begin{array}{l} z_{1}=y_{1}, \quad z_{2}=y_{2}, \quad z_{3} = m \sqrt{ \left(y_{1}^{(2)}\right) + \left(y_{2}^{(2)}-g\right)^2} \\ u_{1}= y_{1}+\left(\frac{y_{1}^{(2)}}{y_{2}^{(2)}-g}\right) y_{2} , \quad u_{2} =y_{2} \sqrt{1 +\left(\frac{y_{1}^{(2)}}{y_{2}^{(2)}-g}\right)^2 } . \end{array}$

### A short catalogue of flat systems

For a more complete list of differentially flat examples see \cite{martin-et-al-caltech03,sira-agarwal:book04}.

The car with $$n$$-trailers. This well-known flat system is illustrated on Figure 1. Expressing the rolling without sliding kinematic conditions (the velocity of each point $$P_k$$ is colinear to the direction of trailer $$k$$) yields the following state-space description $\left\{ \begin{array}{l} \frac{dx_1}{dt} = u_1~\cos x_3 , \quad \frac{dx_2}{dt} = u_2~\sin x_3 ,\quad \frac{dx_3}{dt} = \frac{u_1}{l} \tan u_2 \\[0.5em] \frac{dx_{3+k}}{dt} = \frac{u_1}{l_{k}} { \left(\prod_{j=1}^{k-1} \cos(x_{3+j-1}-x_{3+j})\right) }~ \sin(x_{3+k-1}-x_{3+k}) \quad (k=1,\ldots,n) \end{array} \right.$

where the $$l_k$$'s and $$l$$ are positive constants (lengths). The complexity of this description by a set of nonlinear differential equations is only apparent since the cartesian coordinates of $$P_n\ ,$$ attached to the last trailer, is a flat output: $y_1= x_1 + \sum_{k=1}^n l_k \cos x_{3+k}, \quad y_2= x_2 + \sum_{k=1}^n l_k \sin x_{3+k}.$ Assuming forward motion and that the trajectory $$t\mapsto P_n(t)$$ is known, then, as shown by figure Figure 1, the direction of the tangent to this curve being $$\frac{dP_n}{dt}\ ,$$ the rolling without sliding condition of trailer $$n$$ just means that its orientation is given by this tangent. The trajectory followed by $$P_{n-1}$$ is given by $P_{n-1} = P_{n} + \frac{l_{n}}{\left\|\frac{d P_{n}}{dt}\right\|} \frac{d P_{n}}{dt}.$ Similarly $P_{k-1} = P_{k} + \frac{l_{k}}{\left\|\frac{d P_{k}}{dt}\right\|} \frac{d P_{k}}{dt} .$ Thus after $$n$$ time differentiations of $$P_n$$ we obtain the trajectory of every $$P_k\ ,$$ which proves that $$P_n$$ is a flat output. For detailed computations using Serret-Frenet formula of planar curves see \cite{fliess-et-al-ijc95,rouchon-et-al-cdc93}.

Linear controllable systems. A linear system is flat if and only if it is controllable \cite{fliess-et-al-ijc95,fliess-et-al-ieee99} (use the Brunovsky canonical form \cite{kailath-book}). To illustrate this general fact we consider two harmonic oscillators with only one control input $$u\ :$$ $z_1^{(2)} = a_1(u-z_1),\quad z_2^{(2)} = a_2(u-z_2)$

with $$a_1>a_2>0$$ parameters. A flat output is then $$y=\frac{a_2 z_1 -a_1 z_2}{a_2-a_1}$$ and we have $\left\{ \begin{array}{l} z_1 = y + \frac{y^{(2)}}{a_2}, \quad z_2= y + \frac{y^{(2)}}{a_1} \\ u= y + \left(\frac{1}{a_1} + \frac{1}{a_2}\right)~ y^{(2)}+ \left(\frac{1}{a_1 a_2}\right)~ y^{(4)} \end{array} \right.$

Fully actuated mechanical systems. They obey the following second order Euler-Lagrange differential equations $\frac{d}{dt}\left( \frac{\partial L}{\partial z^{(1)}} \right) = \frac{\partial L}{\partial z} + M(z) u.$

where $$z=(z_1,\ldots,z_n)$$ are the generalized coordinates and $$u=(u_1,\ldots, u_n)$$ the external forces. The Lagrangian function $$L=L(z,z^{(1)})$$ is a quadratic and positive definite function of the generalized velocities $$z^{(1)}\ .$$ The $$n\times n$$ matrix $$M(z)$$ is assumed to be invertible (full actuation). A flat output is $$y=z$$ and (8) coincides here with the well-known computed torque method (see Control of mechanical systems): $z=y, \quad u = M(y)^{-1} \left(\frac{d}{dt} \left( \frac{\partial L}{\partial z^{(1)}} \right)-\frac{\partial L}{\partial z}\right)_{(y,y^{(1)},y^{(2)})}.$

Exothermic chemical reactor. The classical exothermic reactor considered by Aris and Amundson \cite{aris-amundson-58}, with slight notational changes, has the following state-space description $\frac{d x_1}{dt}= D(x_1^{in}-x_1) - kx_1 e^{-\frac{T^*}{x_2}} ,\quad \frac{d x_2}{dt} = D(x_2^{in}-x_2) + cx_1 e^{-\frac{T^*}{x_2}} + u$

with state $$x=(x_1,x_2)\ ,$$ and scalar control $$u\ ,$$ the remaining quantities being parameters. A flat output is $$y=x_1\ .$$ The first equation yields $$x_2$$ as a function of $$y$$ and $$y^{(1)}\ .$$ From the second one, we deduce that $$u$$ is a function of $$x_1\ ,$$ $$x_2$$ and its derivative. Thus $$u$$ can be expressed as a function of $$y\ ,$$ $$y^{(1)}$$ and $$y^{(2)}$$ (function $$\Lambda$$ in (3) with $$\beta=1$$). For other examples of flat chemical reactors see \cite{rothfuss-et-al-auto96}.

Induction 3-phase machine. The dynamical equations of an induction machine with rotor mechanical angle $$\theta\ ,$$ complex stator and rotor currents $$\imath_s$$ and $$\imath_r\ ,$$ and stator supplied complex voltage $$u_s$$ are given, in descriptor form (see, e.g., \cite{chiasson:book05}), by $\begin{array}{l} J \frac{d^2\theta}{dt^2}= n_p\Im\left( L_m \imath_r^* e^{-\jmath n_p\theta} \imath_s \right) - \tau_L \\ \frac{d}{dt}\left( L_r \imath_r + L_m \imath_s e^{-\jmath n_p\theta} \right) = -R_r \imath_r \\ \frac{d}{dt} \left( L_s \imath_s + L_m \imath_r e^{\jmath n_p\theta} \right) = u_s-R_s\imath_s . \end{array}$

The variables $$z$$ and $$u$$ of (6) correspond here to $$(\theta,\imath_r,\imath_s)$$ and $$u_s\ ,$$ respectively. The remaining quantities are constant parameters with $$\jmath=\sqrt{-1}\ .$$ A flat output is $$y_1=\theta$$ and $$y_2=\arg\left(L_r \imath_r + L_m \imath_s e^{-\jmath n_p\theta} \right)\ .$$ Physically, $$y_2$$ corresponds to the angle of the rotor flux.

Half-spin systems. A two-level quantum system controlled via a coherent electromagnetic field can be represented via the state-space system $\frac{dx_{1}}{dt} = \omega x_{2}, \quad \frac{dx_{2}}{dt} = -\omega x_{1} + u x_{3}, \quad \frac{dx_{3}}{dt} = -u x_{2}$

with a single scalar control $$u$$ and where $$\omega$$ is a parameter. Since $$(x_1)^2+(x_2)^2+(x_3)^2$$ is a constant of motion, we can restrict the dynamics to live on the unit sphere of $$I\!\! R^3\ .$$ It is flat, with $$y=x_1$$ as flat output: $\begin{array}{l} x_1=y,\quad x_2=\frac{y^{(1)}}{\omega},\quad x_{3} = \pm \sqrt{1 - y^2 -\frac{(y^{(1)})^2 }{\omega^2} } \\ u =\pm \frac{y+\frac{y^{(2)}}{\omega^2}}{\sqrt{1 - y^2 -\frac{(y^{(1)})^2 }{\omega^2}}} . \end{array}$

## Motion planning

### State-space representation

Consider $$\frac{dx}{dt}=f(x,u)\ ,$$ a positive time $$T>0\ ,$$ an initial state $$a$$ and a final state $$b\ .$$ Motion planning or reference trajectory generation consists in finding an open-loop control $$[0,T]\ni t \mapsto u_r(t)$$ such that the solution $$[0,T]\ni t \mapsto x_r(t)$$ of the Cauchy problem $\frac{dx_r}{dt}=f(x_r,u_r), \quad x_r(0)=a$ exists and satisfies $$x_r(T)=b\ .$$ Indeed, motion planning is related to controllability. In general, finding $$u_r$$ is not easy even if the system is known to be controllable. The system's differential flatness provides a significant simplification in finding a generally explicit $$u_r\ .$$

Assume thus that $$\frac{dx}{dt}=f(x,u)$$ is flat with $$y=h(x,u,u^{(1)}, \ldots, u^{(\alpha)})$$ a flat output. According to (3), $$x=\Gamma(y, \ldots, y^{(\beta)})\ .$$ The initial and final states impose that $$\Gamma(y, \ldots, y^{(\beta)})=a$$ at $$t=0$$ and $$\Gamma(y, \ldots, y^{(\beta)})=b$$ at $$t=T\ .$$ For $$t$$ between $$0$$ and $$T\ ,$$ $$y$$ is free. In addition, in (3), $$t\mapsto y(t)$$ must be differentiable up to order $$\beta$$ to define $$x$$ and $$y^{(\beta)}$$ must be piecewise differentiable to define $$u$$ via $$\Lambda\ .$$ This means that, if we take any function $$[0,T]\ni t \mapsto y_r(t)$$ differentiable up to order $$\beta+1$$ such that $\tag{9} a=\Gamma(y_r(0), \ldots, y^{(\beta)}_r(0)), \quad b=\Gamma(y_r(T), \ldots, y^{(\beta)}_r(T))$

the open-loop control $\tag{10} [0,T]\ni t \mapsto u_r(t)= \Lambda(y_r(t), \ldots, y^{(\beta+1)}_r(t))$

steers $$x$$ from $$a$$ at $$t=0$$ to $$b$$ at $$t=T\ .$$ Moreover the open-loop trajectory $$x_r$$ is given by $\tag{11} [0,T]\ni t \mapsto x_r(t)= \Gamma(y_r(t), \ldots, y^{(\beta)}_r(t)) .$

In practice $$a$$ and $$b$$ are often steady-states associated to control $$u_a$$ and $$u_b\ :$$ $$f(a,u_a)=f(b,u_b)=0\ .$$ In this case a simple choice for $$y_r$$ is the following: $\tag{12} [0,T] \ni t \mapsto y_r(t)= \frac{(T-t)^\nu}{t^\nu+(T-t)^\nu} y_a + \frac{t^\nu}{t^\nu+(T-t)^\nu} y_b$

where $$y_a=h(a,u_a,0,\ldots,0)\ ,$$ $$y_b=h(b,u_b,0,\ldots,0)$$ and $$\nu \geq \beta+1\ .$$

Let us consider the non-holonomic car (4) with flat-output $$y=(x_1,x_2)\ .$$ Denote by $$P$$ the point of Cartesian coordinates $$(y_1,y_2)\ .$$ Consider an arc length parameterization of the curve followed by $$P\ :$$ $$[0,T] \ni t \mapsto s_r(t) \mapsto P_r(s_r(t))$$ where $$s_r$$ is the arc length (smooth time function). Thus $$\frac{dP_r}{d s_r}=(\cos\theta_r,\sin\theta_r)$$ has norm 1. The geometrical formulation of (3) reads$(x_{r1},x_{r2})$ are the cartesian coordinates of $$P_r\ ,$$ $$x_{r3}=\theta_r$$ is the angle associated to the unitary vector $$\frac{dP_r}{d s_r}\ ,$$ $$u_{r1}=\frac{d s_r}{dt}$$ and $$u_{r2}= l \kappa_r$$ with $$\kappa_r=\frac{d\theta_r}{ds_r}$$ is the curvature. Thus the initial and final states impose the initial and final positions of this curve as well as its initial and final tangents, without intermediate constraint except on the arc length parameterization. Such geometric computations extend directly to the $$n$$-trailer case considered above. The simple resulting motion planning algorithms are described in \cite{fliess-et-al-ijc95}.

### Descriptor systems

Consider $$T>0\ ,$$ $$\epsilon >0$$ and two different trajectories of (2): a past trajectory $$(z_-,u_-)$$ defined for $$t\in[-\epsilon,0]$$ and a future one $$(z_+,u_+)$$ defined for $$t\in[T,T+\epsilon]\ .$$ How to find an intermediate trajectory $$z_r,u_r$$ defined for $$t\in[0,T]$$ such that the concatenation $[-\epsilon,T+\epsilon] \ni t \mapsto (z,u)= \left\{ \begin{array}{ll} (z_-,u_-), & t\in[-\epsilon,0] \\ (z_r,u_r), & t\in[0,T] \\ (z_+,u_+), & t\in[T,T+\epsilon] \end{array} \right.$ yields a trajectory of (2) defined on $$[-\epsilon,T+\epsilon]\ .$$ This motion planning problem is related to the notion of controllability in the behavioral approach setting defined in \cite{willems-ieee91}.

When the system is flat, with $$y=h(z,\ldots,z^{(\alpha_z)},u,\ldots, u^{(\alpha_u)})$$ as flat output, this motion planning problem can be solved as follows. $$(z_-,u_-)$$ and $$(z_+,u_+)$$ provide past and future trajectories for the flat output: $y_-= h(z_-,\ldots,z_-^{(\alpha_z)},u_-,\ldots, u_-^{(\alpha_u)}), \quad y_+=h(z_+,\ldots,z_+^{(\alpha_z)},u_+,\ldots, u_+^{(\alpha_u)}).$ For $$t\in[0,T]\ ,$$ the flat output is free. One just has to impose smooth enough joins with $$y_-$$ at $$t=0$$ and $$y_+$$ at $$t=T\ .$$ From (8) these joins must be differentiable up to order $$\max(\beta_x,\beta_u)\ ,$$ thus imposing the values of the successive derivatives of $$y_r$$ up to order $$\max(\beta_x,\beta_u)$$ at $$t=0$$ and $$t=T\ .$$ We recover the state-space case when these derivatives are defined by the initial and final states. The practical and important case where $$(z_-,u_-)$$ and $$(z_+,u_+)$$ are equilibria can be solved with a similar formula to (12) with $$\nu\geq \max(\beta_x,\beta_u)+1\ .$$

## Tracking

In presence of perturbations, which are not taken into account in (1) or (6), the above designed open-loop control doesn't guarantee that the state will effectively follow its reference and a feedback tracking controller is needed. For flat systems, the following design may be proposed.

Consider $$\frac{dx}{dt} = f(x,u)$$ with a flat output $$y=h(x,u,\ldots,u^{(\alpha)})\ .$$ If $$\alpha\geq 0\ ,$$ set $$\xi_k=u^{(k)}\ ,$$ for $$k=0,\ldots,\alpha$$ and $$u^{(\alpha+1)}=v\ .$$ Then the state system $\frac{dx}{dt} = f(x,u), \quad \frac{d\xi_0}{dt} = \xi_{1},\ldots, \frac{d\xi_{\alpha-1}}{dt} = \xi_{\alpha}, \quad \frac{d\xi_\alpha}{dt} = v$ with state $$(x,\xi_0,\ldots,\xi_{\alpha})$$ and control $$v$$ remains flat with $$y=h(x,\xi_0,\ldots,\xi_{\alpha})$$ as flat output. Replacing $$x$$ by $$(x,\xi_0,\ldots,\xi_{\alpha})$$ and $$u$$ by $$v\ ,$$ the flat output depends only on the state.

Consequently, there is no loss of generality assuming that $$\frac{dx}{dt} = f(x,u)$$ admits a flat output of the form $$y=h(x)$$ with $$x$$ and $$u$$ given by (3). Assume that we are given a smooth reference trajectory $$(x_r,u_r)$$ associated to the flat output reference $$y_r\ .$$ As stated in \cite{fliess-et-al-ieee99}, it is possible, under regularity conditions, to construct a dynamic feedback of the form $\tag{13} \frac{dz}{dt}= g(x,z,v), \quad u=k(x,z,v)$

that linearizes the dynamics: the closed-loop system $\frac{dx}{dt} = f(x,k(x,z,v)), \quad \frac{dz}{dt}= g(x,z,v)$ becomes, after a nonlinear change of coordinates, linear and reads $\frac{dy}{dt}=y_1, \ldots, \frac{dy_{\beta-1}}{dt}= y_\beta, \frac{dy_\beta}{dt}=v$ or equivalently $$y^{(\beta+1)} = v\ .$$ The new state-variables are then the derivatives of $$y$$ up to order $$\beta\ ,$$ the control being the derivative of order $$\beta+1\ .$$ The construction of such linearizing dynamic feedback relies on nonlinear inversion techniques under constant rank assumptions.

The design of a tracking controller for the transformed system $$y^{(\beta+1)} = v$$ is particularly simple. It suffices to take $v = y_r^{(\beta+1)} - \sum_{k=0}^{\beta} \sigma_k (y_k-y_r^{(k)})$ where $$s^{\beta+1} + \sigma_\beta s^\beta+ \ldots + \sigma_1 s + \sigma_0$$ is a stable polynomial in the complex variable $$s\ ,$$ namely its roots have a strictly negative real part. The controller gains $$\sigma_k$$ are the homogeneous symmetric functions of its roots. They can be chosen arbitrarily and the gains are given explicitly. With such feedback on $$v\ ,$$ the tracking error $$e=y-y_r$$ obeys the linear exponentially stable dynamics $e^{(\beta+1)} + \sigma_\beta e^{(\beta)}+ \ldots + \sigma_1 e^{(1)} + \sigma_0 e =0$ But each $$y_k$$ can be expressed as a nonlinear function of $$(x,z)\ :$$ $$y_k=\phi_k(x,z)\ .$$ Thus we obtain the tracking controller via the nonlinear dynamic state feedback: $\tag{14} \begin{array}{l} \frac{dz}{dt}=g\left(x,z,y_r^{(\beta+1)} - \sum_{k=0}^{\beta} \sigma_k (\phi_k(x,z)-y_r^{(k)})\right) \\ u=k\left(x,z,y_r^{(\beta+1)} - \sum_{k=0}^{\beta} \sigma_k (\phi_k(x,z)-y_r^{(k)})\right) \end{array}$

Motion-planing and tracking can be combined in real-time. Assume that the control goals are set in terms of a set-point $$y_c$$ of the flat-output: in closed-loop the new input $$t\mapsto y_c(t)$$ is a bounded time function. From $$y_c$$ we deduce at each time a smooth function $$y_r$$ that asymptotically converges to $$y_c\ .$$ A possibility is to regularize $$y_c$$ by convolution with a smooth and compact support kernel of integral $$1\ .$$ Take $$\rho(t)$$ a positive smooth function (at least $$C^{\beta+1}$$) with support inside $$[0,T]$$ ($$T>0$$) and such that $$\int_0^T\rho(t) dt =1\ .$$ In the tracking controller (14) take $$y_r(t)=\int_{t-T}^{t} \rho(t-\tau) y_c(\tau) d\tau$$ and for any $$k\ ,$$ $$y_r^{(k)}(t)= \int_{t-T}^{t} \rho^{(k)}(t-\tau) y_c(\tau) d\tau\ .$$ For any bounded input signal $$y_c\ ,$$ the closed loop system is stable and follows asymptotically $$y_c$$ in the sense that $$y-y_r$$ converges to $$0$$ as $$t$$ tends to $$+\infty\ .$$ Since this convergence is exponential, it is robust to small modelling errors and noises.

## Flatness criteria

General flatness characterizations may be found in \cite{ABMP-ieee,Cht,pereira-mtns,L-arXiv,avanessoff-2006-inria} with various degrees of effectiveness and applicability. Note that, even if establishing that a system is flat can be done in a finite number of steps, we do not know if, in general, non-flatness may be asserted in a finite number of steps too. We now give a list of simple results in particular cases.

### Linear systems

Any linear time-invariant controllable system, $$\frac{dx}{dt}=Ax + Bu\ ,$$ is flat. A flat output is made by the top of the integrator chains assoiciated to the Brunovsky canonical form. It is thus given by $$y=C x\ ,$$ a linear function of $$x\ .$$ The set of all flat outputs can be also easily obtained, in polynomial matrix form, as $$x=Dy$$ where $$D$$ is any full-rank polynomial matrix such that $$E\left(I \frac{d}{dt} - A\right) D= 0\ ,$$ with $$E$$ such that $$EB=0$$ (see \cite{levine-scl03}). For a square linear multi-input/multi-output system$Q(s)z=P(s)u\ ,$ where $$s=\frac{d}{dt}\ ,$$ $$z$$ the $$m$$-dmensional output, $$u$$ the $$m$$-dimensional input, $$P$$ and $$Q$$ polynomial matrices of $$s$$ of size $$m\times m$$ that are mutually prime (no other common divisor but the identity matrix), a flat-output $$y$$ is given by $$z= Py$$ and $$u = Qy\ ,$$ or $$y = Nz + Mu$$ where the pair of polynomial matrices $$(N, P)$$ are solution of the Bezout equation $$NP+MQ=I\ .$$

### Static feedback linearizability

A nonlinear system $$\frac{dx}{dt}= f(x,u)$$ is static feedback linearizable if, and only if, there exists a smooth diffeomorphism $$z=\phi(x)$$ and a regular static feedback $$u=k(x,v)$$ that transform the closed-loop system $$\frac{dx}{dt}= f(x,k(x,v))$$ in the linear controllable system $$\frac{dz}{dt} =A z + B v \ .$$ Thus every such system is flat. A flat output is given by $$y=C\phi(x)$$ where $$y=Cz$$ is a flat output of the linear system in the $$(z,v)$$ coordinates. A characterization in terms of Lie-brackets of static feedback linearizable systems may be found in \cite{jakubczyk-respondek-80}. For single input nonlinear systems, flatness is equivalent to static feedback linearizability \cite{charlet-et-al-scl89}. Therefore, checking if a single input system is flat may be done using the previous criterion.

### Driftless systems

For driftless systems with two inputs, $$\frac{dx}{dt}= u_1 g_1(x) + u_2 g_2(x)\ ,$$ a flatness characterization in terms of Lie-Brackets generated by $$g_1$$ and $$g_2$$ may be found in \cite{martin-rouchon-mcss94} with a construction of a flat output based on a result of E. Cartan \cite{cartan-crelle-1915}. For driftless systems with $$n$$ states and $$n-2$$ inputs, flatness is equivalent to controllability (see \cite{martin-rouchon-scl95}).

Ruled manifold criterion] Elimination of $$u=(u_1,\ldots,u_m)$$ from the $$n$$ scalar equations $$\frac{dx}{dt}=f(x,u)$$ yields the $$n-m$$ implicit system denoted by $$F\left(x,\frac{dx}{dt}\right)=0\ ,$$ with $$F=(F_1,\ldots, F_{n-m})\ .$$ If $$\frac{dx}{dt}=f(x,u)$$ is flat then, for all $$(x,p)$$ such that $$F(x,p)=0\ ,$$ there exists $$a=(a_1,\ldots a_n)\ ,$$ $$a\neq 0\ ,$$ such that for all real $$\lambda\ ,$$ $$F(x,p+\lambda a) = 0\ .$$ In other words, flatness implies that, for each $$x\ ,$$ the $$m$$-dimensional sub-manifold $$\{p\in I\!\!R^n~| F(x,p)=0\}$$ is a ruled sub-manifold of $$I\!\!R^n\ .$$ An elementary proof of this necessary condition based on Hilbert's paper \cite{hilbert-1912} may be found in \cite{rouchon-jmsec95}. In the single input case, a ruled sub-manifold is a straight line of $$I\!\!R^n\ .$$ For $$m\geq 2\ ,$$ ruled manifolds have a more complex structure than an $$m$$-dimensional affine space.

For more results on specific systems see \cite{rathinam-murray-siam98,avanessoff-2007-13,schlacher-schoberl:nolcos07}

## Extension to infinite dimensional systems

The extension of flatness to infinite dimensional systems goes back to \cite{mounier-thesis} on delay systems. We just recall here two key examples: a hyperbolic and a parabolic linear partial differential equation with a single boundary control. For a more complete exposure on infinite dimensional flat systems, see \cite{martin-et-al-caltech03,rudolph-book03}. For module theoretic approaches see also \cite{quadrat-robertz-la:07}.

### 1D-propagation

Consider the simplest wave equation (waves with constant velocity $$\pm c$$) on the interval $$z\in[0,l]$$ ($$l>0$$), with a single boundary control $$u\ :$$ $\frac{\partial^2 X}{\partial t^2} = c^2 \frac{\partial^2 X}{\partial z^2}, \quad \frac{\partial X}{\partial z}(0,t)=0, \quad X(l,t)=u(t) .$ Then the quantity $$y= X(0,t)$$ plays the role of a flat output. Since the general solution of $$\frac{\partial^2 X}{\partial t^2} = c^2 \frac{\partial^2 X}{\partial z^2}$$ is $$X(z,t)=\phi\left(\frac{z}{c}-t\right)+\psi\left(\frac{z}{c}+t\right)\ ,$$ with $$\phi$$ and $$\psi$$ arbitrary functions of one variable, one can easily prove that the solution of the infinite dimensional analogue to (2) $\frac{\partial^2 X}{\partial t^2} = c^2 \frac{\partial^2 X}{\partial z^2}, \quad \frac{\partial X}{\partial z}(0,t)=0, \quad X(0,t)=y$ is given by (analogue to (3)) $X(z,t)=\frac{y\left(t-\frac{z}{c}\right) + y\left(t+\frac{z}{c}\right)}{2}$ and thus $$u(t)=\frac{y\left(t-\frac{l}{c}\right) + y\left(t+\frac{l}{c}\right)}{2}\ .$$ With such formula with advances and delays, motion planning becomes simple.

A more involved example of engineering interest is the heavy chain of length $$l$$ treated in \cite{petit-rouchon-siam01}: the controlled one dimensional wave system is ($$z\in[0,l]$$ and $$g$$ is gravity acceleration) $\frac{\partial^{2} X}{\partial t^{2}}=\frac{\partial }{\partial z }\left(g z \frac{\partial X }{\partial z }\right), \quad X(l,t)=u(t).$ A flat output reads $$y=X(0,t)$$ and the parameterization analogue to (3) results from the Poisson integral representation of the Bessel function $$J_0$$ with distributed delays and advances: $X(z,t)=\frac{1}{2 \pi} \int_{-\pi}^{\pi} {y} \left(t + 2 \sqrt{\frac{z}{g}}\sin \eta \right) ~d \eta.$ Thus $$u(t)=\frac{1}{2 \pi} \int_{-\pi}^{\pi} {y} \left(t + 2 \sqrt{\frac{l}{g}}\sin \eta \right) ~d \eta\ .$$

### 1D-diffusion

Consider the simplest heat equation on the interval $$z\in[0,l]$$ ($$l>0$$) with constant diffusion coefficient $$\lambda >0\ :$$ $\frac{\partial X}{\partial t} = \lambda \frac{\partial^2 X}{\partial z^2}, \quad \frac{\partial X}{\partial z}(0,t)=0, \quad X(l,t)=u(t) .$ A flat output is $$y=X(0,t)$$ and the parameterization analogue to (3) is given by the series $X(z,t)=\sum_{k=0}^{+\infty} \frac{y^{(2k)}(t)}{\lambda^k k!} z^{2k} .$ This formula is obtained by exchanging the roles of $$t$$ and $$z$$ and by solving the Cauchy-Kovalesky problem, analogue to (2), as a series in $$z\ :$$ $\frac{\partial^2 X}{\partial z^2}= \frac{1}{\lambda } \frac{\partial X}{\partial t}, \quad X(0,t)=0,\quad \frac{\partial X}{\partial z}(0,t)=0$ As shown in \cite{laroche-et-al-ijrnc00}, this parameterization has its origin in computations done by Holmgren in the 19th century, which led to Gevrey-functions, $$C^\infty$$ functions whose derivatives of order $$k$$ are bounded by $$M^k \Gamma(\sigma k)$$ for some $$M,\sigma >0$$ ($$\sigma$$ is the Gevrey order). We can see that the above series admits an infinite convergence radius in $$z$$ as soon as $$y(t)$$ is a Gevrey-function of order $$\sigma < 2\ .$$ An example of Gevrey function $$y$$ of order $$\frac{1+\varsigma}{\varsigma}$$ that may be used to drive the state in time $$T>0$$ from the steady profile $$X(z,0)=a$$ to $$X(z,T)=b$$ with compact support, is given by $y(t)= \left\{ \begin{array}{ll} a &\mbox{if}\quad t \leq 0 \\ \frac{ a~ e^{-\left(\frac{T}{T-t}\right)^\varsigma} } {e^{-\left(\frac{T}{t}\right)^\varsigma}+e^{-\left(\frac{T}{T-t}\right)^\varsigma}} + \frac{b ~e^{-\left(\frac{T}{t}\right)^\varsigma} } {e^{-\left(\frac{T}{t}\right)^\varsigma}+e^{-\left(\frac{T}{T-t}\right)^\varsigma}} &\mbox{if}\quad 0 < t < T \\ b &\mbox{if}\quad T < t \end{array} \right.$