Commande non-linéaire Notes de Hannah Michalska, McGill University.

48
Commande non-linéaire Notes de Hannah Michalska, McGill University

Transcript of Commande non-linéaire Notes de Hannah Michalska, McGill University.

Page 1: Commande non-linéaire Notes de Hannah Michalska, McGill University.

Commande non-linéaire

Notes de Hannah Michalska, McGill University

Page 2: 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

Page 3: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 4: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 5: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 6: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 7: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 8: Commande non-linéaire Notes de Hannah Michalska, McGill University.

Fait #2

Si |S(t)|≤δ pout tout t≥t0… Cela implique que

8

( )

1

( ) 2ii

n

e t t

0,1, , 1i n

Page 9: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 10: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 11: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 12: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 13: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 14: Commande non-linéaire Notes de Hannah Michalska, McGill University.

Temps d’atteinte

Le temps d’atteinte de l’hyperplan de glissement est

14

(0)reacht S

Page 15: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 16: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 17: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 18: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 19: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 20: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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)

Page 21: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 22: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 23: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 24: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 25: Commande non-linéaire Notes de Hannah Michalska, McGill University.

RÉTROACTION LINÉARISANTE(LINEARIZING STATE FEEDBACK)

25

Page 26: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 27: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 28: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 29: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 30: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 31: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 32: Commande non-linéaire Notes de Hannah Michalska, McGill University.

Système non-linéaire sous « forme compagnon »

Commande linéarisante:

32

1( )

( )u v f x

b x

Nouveau contrôle

Page 33: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 34: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 35: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 36: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 37: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 38: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 39: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 40: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 41: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 42: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 43: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 44: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 45: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 46: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 47: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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

Page 48: Commande non-linéaire Notes de Hannah Michalska, McGill University.

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)