commande non-linéaire notes de hannah michalska, mcgill university
TRANSCRIPT
Commande non-linéaire
Notes de Hannah Michalska, McGill University
Contrôle par mode de glissement (sliding mode control)
Soit un système non-linéaire
Problème (T): Construire u(x) tel que:
Suivi de trajectoire…
2
( ) ( ) , ,n nx f x bu u x
( 1) ( 1), , , , , ,T Tn n
d d d dx x x x x x x x
Idée principale
Définissons Erreur de suivi de trajectoire.
Il existe un temps t1 tel que (i=1,2,…,n-2)
…et
Ce qui implique:
3
de x x
( )1( ) 0ie t
1( ), 0
ns e s
1( ) 0,e t t t
Idée principale
Pour un système du 2e ordre:
Pour un système du 3e ordre:
Ces équations différentielles sont stable pour
4
0e e
22 0e e e
0
Surface de glissement
La partie gauche des équations peut être vue comme l’équation d’un hyperplan de glissement S(t):
Cet hyperplan doit être un ensemble invariant. Une fois que l’on y est, on y reste !
5
( ) ( ) ( )S t e t e t
Problème (T) équivalent
Il faut construire la commande u(x) tel que: S(t) est atteint en un temps fini t1; S(t)=0, pout tout t≥t1.
Faits:
6
Fait #1
Si t1 est tel que: S(t1)=0 et S(t)=0 pour tout t≥t1;
Alors, e(t)0 exponentiellement pendant que t∞.
7
( ) ( ) ( )
( ) 0 ( ) ( )
S t e t e t
S t e t e t t
( ) (0) 0t
te t e e
Fait #2
Si |S(t)|≤δ pout tout t≥t0… Cela implique que
8
( )
1
( ) 2ii
n
e t t
0,1, , 1i n
Solution au problème (T)
Choisir u(x) tel que
Pour tout t≥0 pour un η donné.
Distance au plan de glissement décroissant sur toutes les trajectoires du système.
9
21( ) ( )
2
dS t S t
dt
Phase d’atteinte
Ça marche car 1) si S(0)>0, alors
10
21( ) ( )
2
( ) ( ) ( )
( )
( ) 0
dS t S t
dt
S t S t S t
S t
S t
Phase d’atteinte
Et le temps d’atteinte est
11
1 1
1
1
( )
( ) (0)
0 (0)
(0)
S t
S t S t
S t
t S
Phase d’atteinte
Ça marche car 2) si S(0)<0, alors
12
21( ) ( )
2
( ) ( ) ( )
( )
( ) 0
dS t S t
dt
S t S t S t
S t
S t
Phase d’atteinte
Et le temps d’atteinte est
13
1 1
1
1
( )
( ) (0)
0 (0)
(0)
S t
S t S t
S t
t S
Temps d’atteinte
Le temps d’atteinte de l’hyperplan de glissement est
14
(0)reacht S
Phase de glissement
Construction de la commande u(x) qui maintient le système sur l’hyperplan de glissement.
Requiert que
15
1( ) 0,S t t t
Exemple
Soit le système suivant:
Plan de glissement, on choisi:
Phase de glissement exige:
16
, , , ...d d dx f u x x x est donné
S e e
1( ) 0,S t t t
Exemple
Ce qui peut s’écrire:
Le contrôle équivalent est donc:
17
10,S e e t t
10,x
d df u x x x t t
( )d du f x x x
Exemple
Ce contrôle permet de maintenir le système sur l’hyperplan de glissement. Car on désire que S(t) soit un ensemble
invariant.
18
Exemple
Reste à voir la phase d’atteinte du plan de glissement. Cela requiert que:
19
21,
2,
de e e e t
dte e e e e e t
sign ,e e e e t
Exemple
Que l’on peut écrire:
La commande u est alors:
20
sign ( )
sign ,d d
S t
u f x x x e e t
sign ,d df u x x x e e t
Contrôle équivalent (phase de glissement)
Exemple
Que se passe-t-il si f n’est pas connu de façon exacte ? Supposons que seul un estimé est
connu, et tel que:
Contrôle basé sur le modèle:
21
ˆˆ sign ( ) ,d du f x x x S t t
ˆ ( , ), ,f f F x x x x
f
Exemple
Il faut choisir un η en fonction de tel que fonctionnera avec le système réel.
22
21
2
ˆ
ˆ sign
d d
d d
dS SS e e S
dt
x x x x S
f u x x x S
f f S S
u,x x
Exemple
Suite:
Si on choisi:
Alors:
23
21 ˆ sign2
ˆ ,
dS f f S S S
dt
f f S S t
( , ) ', ' 0F x x avec
2
0
1 ˆ ( , ) '2
'
dS f f S F x x S S
dt
S
Exemple #2
Système:
Contrôle équivalent:
Commande:
24
2 cos(3 )x x x u
2 cos(3 ) d du x x x x x
2 cos(3 ) sign( )d du x x x x x e e
RÉTROACTION LINÉARISANTE(LINEARIZING STATE FEEDBACK)
25
Rétroaction linéarisante
Principe (contrôle de niveau):
26
0( ) ( ) 2
hdA h dh u t a gh
dt
( ) ( ) 2A h h u t a gh
Système non-linéaire
Rétroaction linéarisante
Un choix possible de la commande u(t) est:
Ainsi:
27
( ) 2 ( ) ( )u t a gh A h v t
( )
( ) 2 ( ) ( ) 2 ( ) ( )u t
A h h a gh A h v t a gh A h v t
Nouveau contrôle
Rétroaction linéarisante
Que l’on peut simplifier à:
Si on choisi:
Alors:
28
( ) ( ) dv t h t h
( )h v t
Système linéaire
( ) dh h t h dh hs
Rétroaction linéarisante
Le système converge vers la valeur désirée de niveau.
Finalement, la commande est:
29
( ) 2 ( ) du t a gh A h h h
Système non-linéaire sous « forme compagnon »
Système non-linéaire avec contrôle scalaire:
Avec:
Et:
30
( ) ( ) ( )nx f x b x u
( 1)
1 2
Tn
T
n
x x x x
x x x
( ) 0, nb x x
Système non-linéaire sous « forme compagnon »
Représentation dans l’espace d’état:
31
1 2
2 3
1
( ) ( )n n
n
x x
x x
x x
x f x b x u
Système non-linéaire sous « forme compagnon »
Commande linéarisante:
32
1( )
( )u v f x
b x
Nouveau contrôle
Système non-linéaire sous « forme compagnon »
Système linéaire équivalent:
Qui donne:
33
1 1
2 2
0 1 0 0 0 0
0 0 1 0 0
0
0 0 0 0 0 0 1n n
x x
x xv
x x
( ) 1( ) ( ) ( ( ))
( )nx f x b x v f x v
b x
Système non-linéaire sous « forme compagnon »
Correspond à une chaine de n intégrateurs. Facile à contrôler. Soit:
Contrôleur v(t):
34
( ) ( ) ( ),de t x t x t t
( ) ( 1)1 2 3
n nd nv x K e K e K e K e
Système non-linéaire sous « forme compagnon »
Le système contrôlé est:
Que l’on peut réécrire:
Équivaut à:
35
( ) ( ) ( 1)1 2 3
n n nd nx x K e K e K e K e
( ) ( 1)1 2 3
n nne K e K e K e K e
12 1 0n n
ns K s K s K
Système non-linéaire sous « forme compagnon »
Il faut choisir les gains pour que les racines de:
… soient dans le demi plan gauche.
i.e. pour avoir un système stable.
36
12 1 0n n
ns K s K s K
Système non-linéaire sous « forme compagnon »
Donc la commande u(t) est:
37
( ) ( 1)1 2 3
1( )
( )n n
d nu x K e K e K e K e f xb x
Exemple
Soit ce système:
Définissons ces variables d’état:
Ce qui donne:
2 cos(3 )x x x u
1
2 1
x x
x x x
1 22
2 2 1cos(3 )
x x
x x x u
Exemple
Ce système non-linéaire est sous « forme compagnon ». Ainsi:
Et:
Avec:
22 1cos(3 )u v x x
1 2dv x K e K e
de x x
Exemple #2
Soit ce système:
La non-linéarité dans x1 ne peut être annulée par le choix de la commande u. Ce n’est pas la forme compagnon!
1 1 2 1
2 2 1 1
2 sin
cos( ) cos(2 )
x x ax x
x x x u x
Exemple #2
Il faut donc transformer le système pour avoir une forme compagnon.
Considérez ces nouvelles variables d’état:
1 1
2 2 1sin( )
z x
z ax x
Exemple #2
Notes: Transformation inverse:
1 1
2 2 1sin( )
x z
x z z a
1 2 1 2, (0,0) , (0,0)x x z z
Exemple #2
Transformons le système:
1 1 1 2 1 1 22 sin 2z x x ax x z z
2 2 1 1
2 1 1
1 1 2 1 1 1
1 1 1 1 1
cos( )
cos( ) cos(2 )
2 cos( ) cos( ) sin( )cos( )
2 cos( ) sin( )cos( ) cos(2 )
z ax x x
ax x au x
x x ax x x x
z z z z au z
Exemple #2
Il est maintenant sous sa forme compagnon:
Ainsi, on peut choisir:
1 1 2
2 1 1 1 1 1
2
2 cos( ) sin( ) cos( ) cos(2 )
z z z
z z z z z au z
1 1 1 11
12 cos( ) sin( )cos( )
cos(2 )u v z z z z
a z
Exemple #2
Avec cette commande, le système équivalent est:
Choisissons: Cela donne un système globalement
asymptotiquement stable…
1 1 2
2
2z z z
z v
22v z
Exemple #2
Pour le système réel:
Exige que cos(2x1) n’égale pas 0.
2 1 1 1 11
2 1 1 1 1 11
12 2 cos( ) sin( )cos( )
cos(2 )
12 2sin( ) 2 cos( ) sin( )cos( )
cos(2 )
u z z z z za z
ax x x x x xa x
Mais…
Ce n’est pas toujours aussi simple… Pour aider, cela prend des outils:
Qui exigent l’algèbre de Lie; Qui exigent des fonctions vectorielles
nommées en anglais « diffeomorphism ».
Linéarisation entrée-sortie
VTOL aircraft simplified model:
Petit couplage entre les deux commandes:
1 2
1 2
2
sin cos
cos sin 1
x u u
y u u
u
(0,1)