aut202 automatique dynamique et contrôle des systèmescas.ensmp.fr/~petit/ensta2020/lect4.pdf ·...
TRANSCRIPT
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
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