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

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

Embed Size (px)

Citation preview

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)