SY15 - Automatique avanc ´ee
Introduction `a la commande des syst `emes non-lin ´eaires
S. Mottelet
Universit ´e de Technologie de Compi `egne
1erjuin 2015
1 Cours 1 : particularit ´es des syst `emes non-lin ´eaires
2 Cours 2 : contr ˆole LQR d’un syst `eme non-lin ´eaire
3 Cours 3 : contr ˆole par feedback lin ´earisant
Cours 1
Particularit ´es des syst `emes lin ´eaires et non-lin ´eaires
1 Exemples
2 Calcul des solutions
3 Points d’ ´equilibre
4 Stabilit ´e
5 Etude locale des syst `emes non-lin ´eaires
1.1. Pendule (TD1)
θ00=−g L sinθ
1. Exemples
1.2. Equation de Duffing (TD1)
x00+kx0−x+x3=bcost,
1.3. Equation de Van der Pol (TD1)
x00−µ(1−x2)x0+x =0.
1. Exemples
1.4. Pendule invers ´e (TD2)
(M+m)x00+ml(cosθ)θ00 = F +mlθ02sinθ, (1) (cosθ)x00+lθ00 = gsinθ, (2)
1.5. Scaphandre autonome (TD3)
h00=a−bh0−c N
d+h, (3)
N0 =u. (4)
2. Calcul des solutions
2.1 Syst `emes lin ´eaires
X0=AX+Bv,t >0, (5)
X(0) =X0, (6)
X(t) =exp(At)X0+exp(At) Z t
0
exp(−Aτ)Bv(τ)dτ
2.1 Syst `emes lin ´eaires
mx00+kx =0,t>0, (7) x(0) =x0,x0(0) =v0 (8)
X = x
x0
X0=AX
x(t) =x0cos(ωt) +v0
ω sin(ωt), ω2= k m
2. Calcul des solutions
2.2 Syst `emes non-lin ´eaires
x0+x2=0,t >0, (9)
x(0) =1, (10)
x(t) = 1 t+1
2.2 Approximation dans le cas g ´en ´eral
X0 =f(t,X),t ∈[0,T], (11)
X(0) =X0, (12)
Discr ´etisation de[0,T]:tk =kT/N,k =0. . .N.
Sch ´ema num ´erique (Euler, Runge-Kutta, . . .) : Xk+1=Xk+hφ(tk,Xk),k =0. . .N−1 Ordre d’un sch ´ema :
∃C >0,∀k =1. . .N,kX(tk)−Xkk ≤Chp
2. Calcul des solutions
2.2 Approximation dans le cas g ´en ´eral
Le pendule en Scilab : function dXdt=f(t,X)
dXdt=[X(2);-g/L*sin(X(1)];
endfunction X0=[1;0];
t=linspace(0,10,1000);
X=ode(X0,0,t,f);
plot(t,X(1,:));
Syst `eme autonome :X(t)∈Rn,
X0=f(X),t >0. (S)
D ´efinition
Le vecteurX∗est un point d’ ´equilibre de(S)si X(0) =X∗ ⇒ ∀t>0,X(t) =X∗.
Les points d’ ´equilibre de (S) sont caract ´eris ´es par f(X∗) =0.
3. Points d’ ´equilibre
3.1. Syst `emes lin ´eaires
X0 =AX,t>0,
AX∗ =0 ⇒ X∗ ∈KerA, Masse-ressort
mx00+kx =0, Double int ´egrateur
x00=0.
3.2. Syst `emes non-lin ´eaires
Pendule
X0 =
X2
−gLsinX1
,t >0,
4. Stabilit ´e des syst `emes autonomes
4.1. D ´efinitions
X0=f(X),t >0, (13) f(X∗) =0
D ´efinition
Le point d’ ´equilibreX∗ est stable si
∀R>0,∃r >0,kX(0)−X∗k<r ⇒ ∀t >0,kX(t)−X∗k<R.
D ´efinition
Un point d’ ´equilibreX∗ qui n’est pas stable est dit instable et on a
∗ ∗
4.1. D ´efinitions
Portrait de phase du pendule centr ´e sur(0,0)
4. Stabilit ´e des syst `emes autonomes
4.1. D ´efinitions
Portrait de phase du pendule centr ´e sur(π,0)
4.1. D ´efinitions
D ´efinition
Le point d’ ´equilibreX∗ est asymptotiquement stable si il est stable et si
∃r >0,kX(0)−X∗k<r ⇒ ∀t >0, lim
t→+∞kX(t)−X∗k=0.
Pendule amorti X0 =
X2
−gLsinX1−αX2
,t>0, avecα >0.
4. Stabilit ´e des syst `emes autonomes
4.1. D ´efinitions
Portrait de phase du pendule amorti centr ´e sur(0,0)
4.2. Stabilit ´e des syst `emes lin ´eaires
X0 =AX,t>0. (SL)
Propri ´et ´e
Le syst `eme (SL) est
instable si au moins une valeur propre deAest `a partie r ´eelle strictementpositive,
stable si toutes les valeurs propres deAsont `a partie r ´eelle n ´egative,
asymptotiquement stable si si toutes les valeurs propres deAsont
`a partie r ´eellestrictementn ´egative.
5. Etude locale des syst `emes non-lin ´eaires
5.1. Rappels de calcul diff ´erentiel
D ´efinition
Soitf :Rn →Rm, on dit quef est diff ´erentiable enX0s’il existe une matricef0(X0)tel que
f(X0+h) =f(X0) +f0(X0)h+khk(h), o `u(h)tend vers 0 quandhtend vers 0.
−→f0(X0)est la matrice des d ´eriv ´ees partielles def1, . . . ,fmpar rapport `aX1, . . . ,Xn
[f0(X0)]i,j = ∂fi
∂Xj(X0).
5.2. Lin ´earis ´e tangent
D ´efinition
Soit le syst `eme d ´efini par l’ ´equation diff ´erentielle autonome
X0=f(X),t >0, (S) etX∗ un point d’ ´equilibre de ce syst `eme. Son lin ´earis ´e tangent enX∗ est le syst `eme lin ´eaire d ´efini par
Z0=f0(X∗)Z,t >0. (SLTX∗)
5. Etude locale des syst `emes non-lin ´eaires
5.3. Resultats de stabilit ´e
Th ´eor `eme 1
(SLTX∗) stable⇐⇒X∗est un point d’ ´equilibre stable de (S).
Th ´eor `eme 2
(SLTX∗) asymptotiquement stable
=⇒X∗est un point d’ ´equilibre asymptotiquement stable de (S).
La r ´eciproque du th ´eor `eme 2 est fausse !
A. M. Liapounov 6/6/1857 - 3/11/1918
Contr ˆole LQR d’un syst `eme non-lin ´eaire
1 Contr ˆole par retour d’ ´etat
2 Le r ´egulateur lin ´eaire quadratique (LQR)
3 Application au pendule
4 Application au pendule invers ´e
1. Contr ˆole par retour d’ ´etat lin ´eaire
1.1. Cas des syst `emes lin ´eaires
X0 =AX +Bv,t >0, (14)
X(0) =X0. (15)
X(t)∈Rn,v(t)∈Rm
Si le syst `eme est stabilisable alors il existeK ∈ Mm,ntelle que les valeurs propres deA−BK sont `a partie r ´eelle strictement
n ´egatives :
v(t) =−KX(t).
1.2. Cas des syst `emes non-lin ´eaires
X0 =f(X,v),t >0, (16)
X(0) =X0. (17)
Point d’ ´equilibre(X∗,v∗):
0=f(X∗,v∗).
Retour d’ ´etat :v =v∗−K(X−X∗).
Si possible, d ´eterminerK pour assurer la stabilit ´e asymptotique du syst `eme.
1. Contr ˆole par retour d’ ´etat lin ´eaire
1.2. Cas des syst `emes non-lin ´eaires
X0 =f(X,v),t >0, X(0) =X0.
Syst `eme en boucle ferm ´ee
X0 =f(X,v∗−K(X −X∗)) =g(X), Syst `eme autonome
1.2. Cas des syst `emes non-lin ´eaires
X0 =f(X,v∗−K(X−X∗)) =g(X), (S)
Proposition Si on note
A=fX0(X∗,v∗), B =fv0(X∗,v∗),
o `ufX0 etfv0 d ´esignent les d ´eriv ´ees partielles def par rapport `aX etv respectivement, alors l’ ´equation d’ ´etat du lin ´earis ´e tangent de (S) en X∗ est donn ´ee par
Z0 = (A−BK)Z. (SLT)
1. Contr ˆole par retour d’ ´etat lin ´eaire
1.2. Cas des syst `emes non-lin ´eaires
Sans perte de g ´en ´eralit ´e on supposeX∗ =0,v∗ =0 g(X) =f(X,−KX),
g0(X) =fX0(X,−KX)−fv0(X,−KX)K, g0(0) =fX0(0,0)−fv0(0,0)K,
=A−BK.
1.2. Cas des syst `emes non-lin ´eaires
Syst `eme non autonome :
X0 =f(X,v), (S) Lin ´earis ´e tangent du syst `eme de (S) en(X∗,v∗):
Z0=fX0(X∗,v∗)Z +fv0(X∗,v∗)u. (SLT)
Th ´eor `eme
Si (SLT) est stabilisable, alors il existeK telle que le syst `eme boucl ´e X0 =f(X,v∗−K(X−X∗))
est asymptotiquement stable.
2. Le r ´egulateur LQR
2.1. Probl `eme de contr ˆole optimal
Syst `eme contr ˆolable
X0 =AX +Bv,t∈[0,T], (18)
X(0) =X0. (19)
Fonction co ˆut
J(v) = 1 2
Z T 0
(X>QX+v>Rv)dt.
Probl `eme d’optimisation : trouvervˆ∈C(0,T)tel que
∀v ∈C(0,T),J(ˆv)≤J(v).
2.1. Probl `eme de contr ˆole optimal
Th ´eor `eme
Pour tousu,v ∈C(0,T)on d ´efinit l’application d ´eriv ´ee deJ par
J0(u)v = lim
h→0
J(u+hv)−J(u)
h ·
Sivˆ est le contr ˆole optimal, alors on a n ´ecessairement
∀v ∈C(0,T),J0(ˆv)v =0.
2. Le r ´egulateur LQR
2.1. Probl `eme de contr ˆole optimal
On noteX etY les solutions respectives de
X0 =AX +Bu,X(0) =X0, (20) Y0 =AY +Bv,Y(0) =0. (21)
Y(t) = Z t
0
exp(A(t−τ))Bv(τ)dτ.
On montre ais ´ement que
J0(u)v = Z T
0
(XTQY +uTRv)dt.
2.1. Probl `eme de contr ˆole optimal
Z T 0
XTQY dt = Z T
0
Z t 0
X(t)>Qexp(A(t−τ))Bv(τ)dτdt,
= Z T
0
Z T τ
X(t)>Qexp(A(t−τ))Bv(τ)dt dτ,
=− Z T
0
Z τ T
exp(A>(t−τ))QX(t)>
Bv(τ)dt dτ,
=− Z T
0
Z τ
T
exp(−A>(τ −t))QX(t)dt
>Bv(τ)dτ,
=− Z T
0
p(τ)>Bv(τ)dτ
2. Le r ´egulateur LQR
2.1. Probl `eme de contr ˆole optimal
Etat adjoint :p
p0=−A>p+QX,t ∈[0,T[, p(T) =0.
Calcul de la d ´eriv ´ee J0(u)v =
Z T 0
(XTQY+uTRv)dt = Z T
0
−B>p+Ru>
v dt
Condition d’optimalit ´e
∀v ∈C(0,T),J0(ˆv)v =0=⇒ −B>p+Rˆv =0, vˆ=R−1B>p
2.1. Probl `eme de contr ˆole optimal
Syst `eme d’optimalit ´e
X0 =AX +BR−1B>p,t ∈]0,T], p0 =−A>p+QX,t ∈[0,T[, X(0) =X0,
p(T) =0.
Probl `eme ”aux deux bouts”
2. Le r ´egulateur LQR
2.2. Probl `eme de contr ˆole optimal avec horizon infini
On consid `ere le casT → ∞
X0 =AX+BR−1B>p,t >0, p0 =−A>p+QX,t >0 avec
tlim→∞X(t) = lim
t→∞p(t) =0, et on cherchePtelle que
∀t>0,p(t) =−PX(t), ce qui permet d’obtenir
vˆ =−BR−1B>PX =−KX.
2.2. Probl `eme de contr ˆole optimal avec horizon infini
Th ´eor `eme
On consid `ere le syst `eme stabilisable
X0 =AX +Bv,t >0, X(0) =X0,
et la fonction co ˆut
J(v) = 1 2
Z +∞
0
(X>QX +v>Rv)dt.
Le minimum deJ(v)est atteint envˆ =−KX o `uK =R−1B>P etP est l’unique solution d ´efinie positive de l’ ´equation de Riccati
PA+A>P−PBR−1B>P+Q=0.
2. Le r ´egulateur LQR
2.3. Calcul pratique
J(v) = 1 2
Z +∞
0
(X>QX +v>Rv)dt.
Param `etres de design : pond ´eration avec des matrices sym ´etriques
Q ≥0,R>0 LQR vs placement de p ˆoles ?
Dans le cas des syst `emes `a plusieurs entr ´ees le placement de p ˆoles peut ˆetre impossible !
2.3. Calcul pratique
Avec Matlab :
>> A=[0 1;-1 0];
>> B=[0;1];
>> Q=eye(2,2);
>> R=1;
>> [K,P,e]=lqr(A,B,Q,R,0) e =
- 0.6760967 + 0.9783183i - 0.6760967 - 0.9783183i P =
1.9122903 0.4142136 0.4142136 1.3521934 K =
0.4142136 1.3521934
3. Application au pendule
3.1. Syst `eme lin ´earis ´e tangent
Pendule command ´e par un couplev :
X0=
X2
−gLsinX1+mL12v
. (S)
Point d’ ´equilibre instableX∗= π
0
,
Z0 =AZ +Bv, (SLT)
A=
0 1
g L 0
, B=
0
1 mL2
.
Contr ˆolabilit ´e :
(B,AB) = 1 mL2
0 1 1 0
3.2. R ´esultats num ´eriques
L=1, m=1, g=9.81
Q=
1 0 0 0
,R =10−3.
Syst `eme boucl ´e
X0 =
X2
−gLsinX1−mL12K(X −X∗)
,
X(0) =X0.
X0proche deX∗=⇒stabilit ´e asymptotique Distance critique ?
3. Application au pendule
3.2. R ´esultats num ´eriques
4.1. Forme du premier ordre en temps
X = [x, θ,x0, θ0]>, X∗ = [x∗,0,0,0]>,
v∗ =0, v =F~.~ı
M+m mLcosθ
cosθ L
x00 θ00
=
v+mLθ02sinθ gsinθ
4. Application au pendule invers ´e
4.1. Forme du premier ordre en temps
Forme implicite
X10 =X3, X20 =X4, M+m mLcosX2
cosX2 L
X30 X40
=
v +mLX42sinX2 gsinX2
Forme explicite
X0 =f(X,v).
4.2. Lin ´earis ´e tangent
Calcul defX0(X,v): le vecteurf(X,v)est solution du syst `eme d’ ´equations H(X)f(X,v) =g(X,v),
H(X) =
1
1
M+m mLcosX2
cosX2 L
,g(X,v) =
X3
X4
v+mLX42sinX2
gsinX2
qu’il suffit de d ´eriver formellement par rapport `aXet d’ ´ecrire en(X∗,v∗): H0(X∗)f(X∗,v∗) +H(X∗)fX0(X∗,v∗) =g0X(X∗,v∗).
Par d ´efinitionf(X∗,v∗) =0, doncfX0(X∗,v∗)est solution de H(X∗)fX0(X∗,v∗) =g0(X∗,v∗)soit
fX0(X∗,v∗) =H(X∗)−1gX0(X∗,v∗).
4. Application au pendule invers ´e
4.2. Lin ´earis ´e tangent
Calcul defv0(X,v): en d ´erivant par rapport `avle calcul est plus simple carH(X) ne d ´epend pas dev. On a donc
H(X∗)fv0(X∗,v∗) =g0v(X∗,v∗),
soit
fv0(X∗,v∗) =H(X∗)−1gv0(X∗,v∗).
Comme ici(X∗,v∗) = (0,0)on obtient
fX0(0,0) =
1
1
M+m mL
1 L
−1
1 1
0 0
0 g
=
1 1 0 −gmM
0 g(M+m)ML
,
fv0(0,0) =
1
1
M+m mL
1 L
−1
0 0 1 0
=
0 0
1 M
−ML1
.
4.2. Lin ´earis ´e tangent
Z0 =
0 0 1 0
0 0 0 1
0 −gmM 0 0 0 g(M+m)ML 0 0
| {z }
A=fX0(X∗,v∗)
Z+
0 0
1 M
−ML1
| {z }
B=fv0(X∗,v∗)
v (SLT)
(SLT) est instable
λ1=λ2=0, λ3=− s
g(M+m) ML , λ4=
s
g(M+m) ML · Contr ˆolabilit ´e
2 3
4. Application au pendule invers ´e
4.3. Syst `eme boucl ´e
X10 =X3, X20 =X4, M+m mLcosX2
cosX2 L
X30 X40
=
−KX +mLX42sinX2 gsinX2
.
function dXdt=f(t,X) v=-K*X;
accel=[M+m,m*L*cos(X(2))
cos(X(2)),L] \ [v+m*L*X(4)ˆ2*sin(X(2));g*sin(X(2))];
dXdt=[X(3:4);accel];
end
4.4. R ´esultats num ´eriques
M =1,m=0.1,L=0.7,g =9.81,Q=diag(1,1,0.1,0.1),R=0.1
Cours 3
Contr ˆole par feedback lin ´earisant
1 Mod ´elisation du scaphandre autonome
2 Stabilit ´e
3 D ´ecomposition lent/rapide
4 Feedback lin ´earisant
1. Mod ´elisation du scaphandre autonome
Gilet stabilisateur
Dynamique de remplissage N0 =u.
1.1. Un peu de thermodynamique
Air dans le gilet→volumeV (m3) , quantit ´eN (moles) pV =NRθ, p=p0+hρg.
Pouss ´ee d’Archim `ede→f (Newtons) f =−(V0+V)ρg.
Relation fondamentale de la dynamique mh00=mg−
V0+ NRθ p0+hρg
ρg−Ch0,
=(m−ρV0)
| {z }
≥0
g−Rθ N
p0
ρg+h−Ch0.
1. Mod ´elisation du scaphandre autonome
1.2. Equation d’ ´etat
a= m−ρV0
m , b= C
m, c =Rθ, d = p0 ρg
h0 =a−bh0−c N d+h, N0 =u.
Forme standard d’ordre 1
X = h,h0,N>
,
X0 =
X2 a−bX2−c X3
d+X1
=f(X,u).
2.1. Lin ´earis ´e tangent
Point d’ ´equilibre
f(X∗,u∗) =0⇐⇒u∗=0,X2∗=0,a−c X3∗
d+X1∗ =0, N∗ = a
c(d+h∗).
D ´eriv ´ees
fX0(X∗,u∗) =
0 1 0
α −b β
0 0 0
,
α= a
d+h∗, β =− c d +h∗·
2. Stabilit ´e
2.3. Retour statique
u=k(h−h∗),k ∈R,
X0=
X2
a−bX2−cd+X1X3 k(X1−h∗)
=g(X).
Etude locale
g0(X∗) =
0 1 0
α −b β
k 0 0
.
2.3. Retour statique
Recherche des valeurs propres
d ´et(g0(X∗)−λI) =λ3+bλ2−αλ−kβ, Hypoth `ese : Re(λi)<0,i=1,2,3
(λ−λ1)(λ−λ2)(λ−λ3) =λ3−(λ1+λ2+λ3)λ2 +(λ1λ2+λ2λ3+λ1λ3)
| {z }
>0
λ
−λ1λ2λ3.
Quelque soitk le syst `eme boucl ´e est instable !
3. Contr ˆole rapide
3.1. Bouclage grand gain
Nouvelle commandev
u= v−X3
ε ·
grand gain ⇐⇒ 1ε >0
X10 =X2, (22)
X20 =a−bh0−c X3
d +X1, (23) X30= v−X3
ε · (24)
3.1. Bouclage grand gain
Pourε=0.01 on aX3≈v!
3. Contr ˆole rapide
3.2. D ´ecomposition lent/rapide
X10 =X2,
X20 =a−bX2−c X3 d+X1, X30=v−X3.
Th ´eorie des perturbations singuli `eres
Si la dynamique rapide est asymptotiquement stable, on peut ´etudier le syst `eme quand=0
X10 =X2,
X20 =a−bX2−c v d +X1·
3.3. Synth `ese de la commande
1 Synth `ese de la commandev pour le sous-syst `eme lent : X10 =X2,
X20 =a−bX2−c v d+X1, v=g(X1,X2).
2 Bouclage grand gain sur le vrai syst `eme X10 =X2,
X20 =a−bX2−c X3 d+X1, X30 =u,
u= g(X1,X2)−X3
·
4. Feedback lin ´earisant
4.1. Bouclage non-lin ´eaire
Sous syst `eme lent
X10 =X2,
X20 =a−bX2−c v d+X1· Bouclage non-lin ´eaire
v = d+X1
c (a−w).
=⇒syst `eme lin ´eaire par rapport `a la nouvelle commandew X10 =X2,
X20 =−bX2+w.
4.2. Placement de p ˆoles
Syst `eme lin ´eaire + retour d’ ´etat X10
X20
=
0 1 0 −b
X1 X2
+
0 1
w,
w = (s1,s2)
X1−h∗ X2
.
Choix des p ˆoles en boucle ferm ´ee pourbpetit
λ=√
α(−1±i),
=⇒s1=−2α, s2=−2√ α.
4. Feedback lin ´earisant
4.3. Stabilisation `a la profondeurh∗
Feedback non lin ´eaire obtenu
w =s1(X1−h∗) +s2X2,v = d +X1
c (a−w),u = v−X3
ε ,
=⇒u= 1 ε
d +X1
c (a−s1(X1−h∗)−s2X2)−X3
.
Cas test : perturbation due `a la respiration du plongeur, X20 =a−bX2−c X3
d+X1−ρgVrsin(2πft)
m ,
avecf =0,25 Hz,Vr =10−3m3.
4.3. Stabilisation `a la profondeurh∗
Plongeur stabilis ´e `a 30 m. Mise en route du contr ˆole `a 27 m.
4. Feedback lin ´earisant
4.3. Stabilisation `a la profondeurh∗
Air dans le gilet
4.4. Remont ´ee entre deux paliers
Remont ´ee deh∗=30 m `ah0=6 m, vitesse normalis ´ee (0,25 ms−1)
−→consignehd(t)
4. Feedback lin ´earisant
4.4. Remont ´ee entre deux paliers
hd(t) =
h∗, sit<t1, h∗+ (t−t1)ht0−h∗
2−t1 , sit1≤t<t2, h0, sit≥t2, h0−h∗
t2−t1 =−0.25.
u= 1 ε
d+X1
c (a−s1(X1−hd(t))−s2X2)−X3
.
4.4. Remont ´ee entre deux paliers
R ´esultats : suivi de la consignehd(t)parh(t)
4. Feedback lin ´earisant
4.4. Remont ´ee entre deux paliers
R ´esultats : air dans le giletN(t)
4.4. Remont ´ee entre deux paliers
R ´esultats : commandeu(t)