Flat dynamic systems

From Scholarpedia

This article has not been peer-reviewed or accepted for publication yet; It may be unfinished, contain inaccuracies, or unapproved changes.

Author: Dr. Pierre Rouchon, Mines ParisTech, Centre Automatique et Systèmes, France

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).

Contents

Definition and examples

State-space representation

Consider the explicit system :
(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

(2)
y=h(x,u,u^{(1)}, \ldots, u^{(\alpha)})

the integral curves of (1) identically satisfy

(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):

(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).

(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

(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)

(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

(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

Flat dynamic systems
Enlarge
Figure 1: The car with n-trailer rolling without sliding.

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 , 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

(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

(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

(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:

(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

(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:

(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 C\left(I \frac{d}{dt} - A\right) D= 0, with C such that CB=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.

References

Recommended reading

External links

See also

Invited by: Dr. Jean-Jacques Slotine, Nonlinear Systems Lab, MIT, Cambridge, MA
Assistant editor: Mr. Abdellatif Nemri, Department of biological sciences, University of Montreal, Canada
For authors