AUT202 Automatique Dynamique et Contrôle des Systèmescas.ensmp.fr/~petit/ensta2020/Lect4.pdf ·...

Preview:

Citation preview

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

AUT202Automatique

Dynamique et Contrôle des Systèmes

NICOLAS PETIT

Centre Automatique et SystèmesMINES ParisTech

nicolas.petit@mines-paristech.fr

7 février 2020Amphi 4

http://cas.ensmp.fr/∼petit/ensta2020/

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Plan de l’amphi 4

1 Suivi de trajectoires

2 Observer pour fermer la boucle

3 Mesure et estimation d’état

4 Systèmes linéaires

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

θ = u

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Suivi de trajectoires

Calculer en temps réel la correction ∆u en fonction des écartsobservés ∆x (loi de rétroaction ou feedback) pour que ∆xreste petit: stabilisation en 0 de ∆x .

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Dynamique de l’erreur

La planification de trajectoire donne une trajectoire deréférence t 7→ (xr ,ur ) qui vérifie les équationsddt xr = Axr + Bur .Si on note ∆x = x − xr et ∆u = u − ur , on acomme dynamique d’erreur

ddt

∆x = A ∆x + B ∆u.

On cherche un feedback ∆u = K ∆x tel que le système boucléddt ∆x = (A + BK ) ∆x soit asymptotiquement stable.

Théorème (placement de pôles)

Si la paire (A,B) est commandable alors, pour toute matricen × n réelle F , il existe une matrice m × n, K (nonnécessairement unique si dim(u) = m > 1), telle que le spectrede A + BK coïncide avec celui de F.

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Dynamique de l’erreur

La planification de trajectoire donne une trajectoire deréférence t 7→ (xr ,ur ) qui vérifie les équationsddt xr = Axr + Bur .Si on note ∆x = x − xr et ∆u = u − ur , on acomme dynamique d’erreur

ddt

∆x = A ∆x + B ∆u.

On cherche un feedback ∆u = K ∆x tel que le système boucléddt ∆x = (A + BK ) ∆x soit asymptotiquement stable.

Théorème (placement de pôles)

Si la paire (A,B) est commandable alors, pour toute matricen × n réelle F , il existe une matrice m × n, K (nonnécessairement unique si dim(u) = m > 1), telle que le spectrede A + BK coïncide avec celui de F.

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Dynamique de l’erreur

La planification de trajectoire donne une trajectoire deréférence t 7→ (xr ,ur ) qui vérifie les équationsddt xr = Axr + Bur .Si on note ∆x = x − xr et ∆u = u − ur , on acomme dynamique d’erreur

ddt

∆x = A ∆x + B ∆u.

On cherche un feedback ∆u = K ∆x tel que le système boucléddt ∆x = (A + BK ) ∆x soit asymptotiquement stable.

Théorème (placement de pôles)

Si la paire (A,B) est commandable alors, pour toute matricen × n réelle F , il existe une matrice m × n, K (nonnécessairement unique si dim(u) = m > 1), telle que le spectrede A + BK coïncide avec celui de F.

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Dynamique de l’erreur

La planification de trajectoire donne une trajectoire deréférence t 7→ (xr ,ur ) qui vérifie les équationsddt xr = Axr + Bur .Si on note ∆x = x − xr et ∆u = u − ur , on acomme dynamique d’erreur

ddt

∆x = A ∆x + B ∆u.

On cherche un feedback ∆u = K ∆x tel que le système boucléddt ∆x = (A + BK ) ∆x soit asymptotiquement stable.

Théorème (placement de pôles)

Si la paire (A,B) est commandable alors, pour toute matricen × n réelle F , il existe une matrice m × n, K (nonnécessairement unique si dim(u) = m > 1), telle que le spectrede A + BK coïncide avec celui de F.

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Avec une seule commande: formule d’Ackermann

K = − [0 ...0 1] C−1P(A)

où P est le polynôme caractéristique désiré, C la matrice decommandabilité

Comment choisir les valeurs propres?à parties réelles <0, très negatives le système sera très rapide,éloignées des valeurs propres en boucle ouverte on trouverades gains forts

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Avec une seule commande: formule d’Ackermann

K = − [0 ...0 1] C−1P(A)

où P est le polynôme caractéristique désiré, C la matrice decommandabilité

Comment choisir les valeurs propres?à parties réelles <0, très negatives le système sera très rapide,éloignées des valeurs propres en boucle ouverte on trouverades gains forts

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Retour d’état

Le contexte

Placement de pôles

Si (A,B) est commandable, alors le système ddt x = Ax + Bu est

stabilisable par retour d’état u = Kx . On peut même choisirtoutes les valeurs propres de A + BK

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Retour de sortie et non pas retour d’état

Seule la mesure y est accessible, en général dim y 6= n = dim x

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Mesure et estimation d’état

Plusieurs cas de figure1 Les mesures sont en nombre insuffisant dim y < n :

reconstruction d’état2 Les mesures sont de mauvaise qualité3 Les mesures sont redondantes mais de mauvaise qualité

dim y ≥ n: fusion de données

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Mauvaise qualité des signaux de mesure

0 1 2 3 4 5 6 7 8 9 10-1.5

-1

-0.5

0

0.5

1

1.5échantillonage et quantization

0 1 2 3 4 5 6 7 8 9 10-1.5

-1

-0.5

0

0.5

1

1.5bruit de mesure

Quantification, échantillonnage, bruit

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Fusion de données

Pour l’estimation de la position du véhicule: GPS, caméras,télémètres, sonars, odomètres, magnétomètres,accéléromètres. Chaque technologie a ses défautscaractéristiques

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Mesures expérimentales

10 5 0 5 10 15 20

25

20

15

10

5

0

X (m)

Y (

m)

mesures hybridéesmesures GPSodométrie

bruit basse fréquence du GPS, dérive des odomètres

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Observateur

On va intercaler entre les mesures et le contrôleur un systèmedynamique pour estimer l’état du système

On dispose: du modèle du système, des valeurs de lacommande u et des mesures y (avec leurs défauts)

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Systèmes linéaires

ddt

x = Ax + Bu, y = Cx

Définition (distinguabilité)

Deux états initiaux x et x sont dits indistinguables (notés xIx) sipour tout t ≥ 0, les sorties y(t) et y(t) sont identiques pourtoute entrée u(t). Ils sont dits distinguables sinon.

L’indistinguabilité est une relation d’équivalence. Notons I(x) laclasse d’équivalence de x .

Définition (observabilité globale)

Le système est dit observable si I(x) = {x}pour tout x.

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Distinguabilité

d2

dt2 x = −x − 12

ddt

x +1

10cos(t)

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Distinguabilité

d2

dt2 x = −x − 12

ddt

x +1

10cos(t)

Formellement,

y = x

ddt

y =ddt

xy =

ddt

x

ddt

y = −x − 12

ddt

x +1

10cos(t)

Dans les deux cas, on reconstitue(x , d

dt x)T , la condition initiale estdistinguable

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

QuestionPeut-on distinguer la condition initiale d’un système linéaire?

ddt

x = Ax + Bu, y = Cx

x(t) = exp(tA)x(0) +

∫ t

0exp[(t − τ)A]Bu(τ)dτ

y(t) = C exp(tA)x(0) +

∫ t

0C exp[(t − τ)A]Bu(τ)dτ

Équation d’inconnue x(0)

C exp(tA)︸ ︷︷ ︸non inversible

x(0) = y(t)−∫ t

0C exp[(t − τ)A]Bu(τ)dτ

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

C exp(tA)x(0) = y(t)−∫ t

0C exp[(t − τ)A]Bu(τ)dτ

exp(tA′)C′C exp(tA)︸ ︷︷ ︸non inversible

x(0) = Fonction(y(t),u(t ∈ [0, t ]))

∫ T

0exp(tA′)C′C exp(tA)dt︸ ︷︷ ︸

φ(T )

x(0) = Fonction(y(t ∈ [0,T ]),u(t ∈ [0,T ]))

Si φ(T ) est inversible alors on peut reconstruire x(0) à partirdes mesures y et de la commande sur [0,T ]

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Si φ(T ) n’est pas inversible alors on ne peut pas reconstruirex(0) à partir des mesures y et de la commande sur [0,T ].En effet, ∃v 6= 0 tel que

v ′(∫ T

0exp(tA′)C′C exp(tA)dt

)v = 0

et par suite ∫ T

0‖C exp(tA)v‖2dt = 0

d’oùC exp(tA)v = 0

Les mesures issues de la condition initiale x(0) et x(0) + v sontidentiques. Ces conditions initiales sont indistinguables

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

∃v 6= 0, C exp(tA)v = 0, ∀t ∈ [0,T ]

d’où, par dérivationsddt

(.) (fonction analytique) en t = 0

CA exp(tA)v = 0, CA2 exp(tA)v = 0, ...,

CAn−1 exp(tA)v = 0, CAn exp(tA)v = 0, ...

⇐⇒ ∃v 6= 0,Cv = 0, CAv = 0, ..., CAn−1v = 0, CAnv = 0, ...

⇐⇒ ∃v 6= 0,Cv = 0, CAv = 0, ..., CAn−1v = 0

⇐⇒ [C; CA; ...; CAn−1] n’est pas de rang plein

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Critère d’observabilité de Kalman

Le système ddt x = Ax + Bu, y = Cx est observable si et

seulement si la matrice d’observabilité O = (C; CA; . . .CAn−1)est de rang n= dim(x)

Dualité

Le système ddt x = Ax + Bu, y = Cx est observable (resp.

commandable) si et seulement si ddt x = A′x + C′u, y = B′x est

commandable (resp. observable)

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Forme normale observateur

ddt

x = Ax + Bu, y = Cx , (dim C = 1× n)

Changement de variables mettant le système sous formecanonique observateurForme canonique

A2 =

0 ... 0 −a01 0 0 ...... 1 0 ...0 ... 1 −an−1

,B2 =

b0...

bn−1

C2 =

(0 ... 0 1

)M = [H,AH, ...,An−1H], H dernière colonne de l’inverse de O

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Construction d’un observateur

L2 =

L0...

Ln−1

A2 + L2C2 =

0 ... 0 −a0 + L01 0 0 ...... 1 0 ...0 ... 1 −an−1 + Ln−1

Polynôme caractéristique

sn − (an−1 − Ln−1)sn−1 − ...− (a1 − L1)s − (a0 − L0) = 0

On peut librement choisir les pôles de A + LC si (A,C) estobservable

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Construction d’un observateur (suite)

ddt

x = Ax + Bu, y = Cx

ddt

x = Ax + Bu + L(Cx − y)

ddt

(x − x) = (A + LC)(x − x)

d’où, si les pôles sont à partie réelle strictement négative

limt→+∞

(x(t)− x(t)) = 0

On reconstitue asymptotiquement x en l’estimant par x

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Exemple d’observateur: centrale inertielle bas coût

ddt

Q =12

M(p,q, r)Q

avec

M =

0 −p −q −rp 0 r −qq −r 0 pr q −p 0

Y = −R(Q)

00g

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

R(Q) = 2 ·(q2

0 + q21)− 1 2 · q1 · q2 + 2 · q0 · q3 2 · q1 · q3 − 2 · q0 · q2

2 · q1 · q2 − 2 · q0 · q3 2 ·(q2

0 + q22)− 1 2 · q2 · q3 + 2 · q0 · q1

2 · q1 · q3 + 2 · q0 · q2 2 · q2 · q3 − 2 · q0 · q1 2 ·(q2

0 + q23)− 1

A =

12

M(p,q, r)

Y = CX

C = −2 · g ·

−q2 q3 −q0 q1q1 q0 q3 q22q0 0 0 2q3

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Observateur-contrôleur

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Convergence

Le système (étendu, dimension 2n) à étudier est

ddt

x = Ax + Bu, y = Cx

ddt

x = Ax + Bu + L(Cx − y) observateur

u = ur (t) + K (x − xr (t)) contrôleur

HypothèsesPar le choix de K et L, A + BK est stable, A + LC est stable

QuestionLe système bouclé par l’observateur contrôleur est-il stable?

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Étude de stabilité

ddt

x = Ax + B (ur (t) + K (x − xr (t)))

ddt

x = Ax + B (ur (t) + K (x − xr (t))) + L(Cx − Cx)

ddt

(xx

)=

(A BK−LC A + BK + LC

)︸ ︷︷ ︸

=M

(xx

)+ f (t)

Etude du polynôme caractéristique de la matrice M du systèmeétendu

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

det(sI −M) =

∣∣∣∣ sI − A −BKLC sI − A− BK − LC

∣∣∣∣=

∣∣∣∣ sI − A− LC −sI + A + LCLC sI − A− BK − LC

∣∣∣∣=

∣∣∣∣ sI − A− LC 0LC sI − A− BK

∣∣∣∣= det(sI − A− LC) det(sI − A− BK )

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Principe de séparationL’ensemble des valeurs propres du système bouclé parl’observateur contrôleur est constitué des valeurs propres deA + BK et de celles de A + LC

Démarche pratique: l’observateur-contrôleur1 On conçoit le contrôleur comme si on disposait de la

mesure de tout l’état x . On place les pôles de A + BK2 Séparément on construit un observateur asymptotique. On

place les pôles de A + LC3 On substitue x à x et on boucle: les valeurs propres ainsi

obtenues sont connues à l’avance

Suivi de trajectoires Observer pour fermer la boucle Mesure et estimation d’état Systèmes linéaires

Observateur-contrôleur

Recommended