Sie sind auf Seite 1von 35

Commande Optimale

Commande Optimale

Edouard Laroche

ENSPS - 3A ISAV

laroche@lsiit.u-strasbg.fr
http://eavr.u-strasbg.fr/perso/edouard/Student/
E. Laroche ENSPS - ISAV
Commande Optimale

Objectifs et Evaluation

☞ Objectifs
➣ Connaissance des méthode de commande optimale
➣ Capacité à mettre en oeuvre une telle commande

☞ Evaluation
➣ Bureau d’étude en simulation

E. Laroche ENSPS - ISAV


Commande Optimale

Plan

➣ Généralités sur les systèmes dynamiques


➣ Introduction à la commande optimale
➣ Commande Linéaire Quadratique
➣ Commande Linéaire Quadratique Gaussienne
➣ Etude d’un cas pratique

E. Laroche ENSPS - ISAV


Commande Optimale

Notations

➣ hermicien d’un vecteur où d’une matrice M H = (M ∗)T = (M T )∗


³ ´
∂y(x)
➣ dérivée d’un vecteur par rapport à un vecteur ∂x = ∂y∂xi(x)
j
i,j

E. Laroche ENSPS - ISAV


Commande Optimale

Introduction sur les systèmes dynamiques

☞ Différents systèmes
➣ Système à temps continu ẋ = f (x, u, t) / à temps discret xk+1 = f (xk , uk , tk )
➣ Systèmes à temps variant ẋ = f (x, u, t) / à temps invariant ẋ = f (x, u)
➣ Système linéaire LTV ẋ = A(t)x + B(t)u ou LTI ẋ = Ax + Bu

☞ Propriétés
➣ Commandabilité, stabilisabilité
➣ Observabilité, détectabilité

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Différents types d’asservissement


➣ retour statique d’état
➣ retour statique de sortie
➣ retour dynamique d’état
➣ retour dynamique de sortie
➣ remarque : équivalence entre retour dynamique et retour statique

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Propriétés des systèmes asservis


➣ Stabilité
➣ Valeurs singulières (réponses fréquentielles)
➣ Performances : bande passante
➣ Robustesse
◦ Marge de module
◦ Roll-off

E. Laroche ENSPS - ISAV


Commande Optimale

Introduction à la Commande Optimale

☞ Système
➣ Système à temps continu ẋ = f (x, u, t)
➣ avec x(t0) = x0

☞ Critère
R tf
➣ Minimiser J(x0, t0, u) = θ(x(tf ), tf ) + t0 φ(x(t), u(t), t)dt
➣ La commande optimale est ũ = argu min J(x0, t0, u)
˜ 0, t0) = J(x0, t0, ũ)
➣ La valeur optimale du critère est J(x

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Contraintes
➣ Sur le temps final : libre ou imposé
➣ Sur l’état final xf ∈ Xf
➣ Sur la commande u ∈ U

☞ Principe d’optimalité de Bellman


➣ Notons u[t1,tf ] la commande sur [t1, tf ] avec t0 < t1 < tf
➣ Principe d’optimalité de Bellman: la trajectoire optimale sur [t 0, tf ] contient la
trajectoire optimale sur [t1, tf ] avec comme condition initiale x(t1).
➣ Formulation mathématique
³R : ´
˜ 0, t0) = minu t 1 ˜
J(x [t ,t ]
0 1 t0 φ(x(t), u(t), t)dt + J(x1 , t1 )

➣ Application : recherche récursive d’un chemin optimal

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Principe du maximum de Pontriaguine


➣ Lagrangien L(x, u, p, t) = φ(x, u, t) + pT f (x, u, t) (p : état adjoit)
➣ La solution optimale du problème sans contrainte vérifie le principe du
maximum :
◦ ∂L
∂x = − ṗ T
: équation adjointe, avec p(t f ) = ∂θ
∂x (x(tf ), tf ) dans le cas d’un
état final libre ;
◦ ∂L
∂u = 0 ; il s’agit de la condition de transversabilité dans le cas où aucune
contrainte n’est imposée sur u ;
◦ ∂L
∂p = ẋ T
, avec x(t0) donné ; il s’agit de l’équation du système ẋ = f (x, u, t).

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Equation d’Euler-Lagrange
➣ Un système mécanique d’énergie cynétique T etR d’énergie potentielle U se
t
comporte de manière à minimiser l’action S = t0f (T − U )dt (Principe de
moindre action de Maupertuis)
➣ Système q̇ = u
R tf
➣ Critère J(q, q̇) = t0 L(q(t), q̇(t))dt avec L = T − U
➣ Exercice : en appliquant le principe du mamimum de Pontriaguine, démontrez
l’équation d’Euler-Lagrange dtd ∂L
∂ q̇ − ∂L
∂q = 0

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Commande bang-bang
➣ Il s’agit des commandes à temps minimal avec des contraintes intervalle sur les
commandes
➣ La commande optimale est alors toujours égale au maximum ou au minimal
➣ Exemple illustratif :
◦ Système linéaire à une entrée ẋ = Ax + bu, x(t0) = x0
R tf
◦ coût J = t0 dt = tf − t0 (temps minimal)
◦ contrainte sur l’entrée −1 ≤ u(t) ≤ 1
◦ contrainte sur l’état final x(tf ) = 0
◦ temps final libre (toujours le cas pour un temps minimal)

E. Laroche ENSPS - ISAV


Commande Optimale

➣ Application du principe du maximum


◦ Le Lagrangien est L(x, u, p, t) = 1 + pT Ax + pT bu
R tf
◦ Le critère s’écrit J = t0 L(x, u, p, t)dt. La commande minimisant le critère
est ũ(t) = −sign(bT p(t)).
◦ L’équation adjointe est ṗ = −AT p avec p(tf ) libre (car x(tf ) imposé)
◦ Equation d’état ẋ = Ax − bsign(bT p)
➣ Système ‘intégrateur double’
◦ ẋ1 = x2, ẋ2 = u · ¸ · ¸
0 1 0
A= ; B= . (1)
0 0 1
◦ · ¸
1 1 t
exp(At) = I + At + A2tt + · · · = (2)
2 0 1

E. Laroche ENSPS - ISAV


Commande Optimale

➣ Résolution
◦ ṗ = −AT p ⇒ p(t) = exp(−AT (t − tf ))p(tf )
p1(t) = p1(tf ) (3)
p2(t) = (tf − t)p1(tf ) + p2(tf ) (4)
u(t) = sign(p2(t)) (5)

Z t
x(t) = exp(A(t − tf ))x(tf ) + exp(A(t − τ ))bu(τ )dτ (6)
tf
Z tf · ¸
t−τ
= − sign((tf − τ )p1(tf ) + p2(tf ))dτ (7)
t 1

E. Laroche ENSPS - ISAV


Commande Optimale

➣ Caractérisation des points de commutation x(ts) définis par


(tf − ts)p1(tf ) + p2(tf ) = 0.
Z tf · ¸
ts − τ
x(ts) = − sign((ts − τ )p1(tf ))dτ (8)
ts 1
Z tf · ¸
ts − τ
= sign(p1(tf )) (9)
t s
1
· 1 2
¸
− 2 (tf − ts)
= sign(p1(tf )) (10)
tf − t s
Pour p1(tf ) > 0, les points de commutation appartiennent à la branche de
parabole d’équation x1 = − 12 x22 avec x2 > 0 ; pour p1(tf ) < 0, ils
appartiennent à la parabole d’équation x1 = 12 x22 avec x2 < 0. Le lieu complet
est défini par x1 + 12 x2|x2| = 0.
➣ Loi de commande optimale u(t) = −sign(x1 + 12 x2|x2|)
➣ Représentation des trajectoires dans l’espace d’état

E. Laroche ENSPS - ISAV


Commande Optimale

Commande Linéaire Quadratique

☞ Horizon fini
➣ Position du problème
◦ Système ẋ = A(t)x + B(t)u
1 T
R tf 1 ¡ T T
¢
◦ Critère J(x0, u) = 2 x (tf )Sx(tf ) + t0 2 x (t)Q(t)x(t) + u (t)R(t)u(t) dt
avec Q = QT ≥ 0 et R = RT > 0
➣ Formulation du problème par Pontriaguine avec
L(x, u, p, t) = pT A(t)x + pT B(t)u + 12 (xT Q(t)x + uT R(t)u)
◦ ∂L
∂u = B T
(t)p + R(t)u = 0
◦ ṗ = − ∂L
∂x = −A T
(t)p − Q(t)x
◦ p(tf ) = Sx(tf )

E. Laroche ENSPS - ISAV


Commande Optimale

➣ Reformulation
◦ u(t) = −R−1(t)B T (t)p(t)
◦ ẋ(t) = A(t)x(t) − B(t)R−1(t)B T (t)p(t)
◦ ṗ = −AT (t)p − Q(t)x
➣ système Hamiltonien :
−1 T
· ¸ · ¸· ¸
d x(t) A(t) −B(t)R (t)B (t) x(t)
= (11)
dt p(t) −Q(t) −AT (t) p(t)
➣ Résolution
◦ écrivons p(t) = P (t)x(t) avec P (tf ) = S
¡ T ¢
◦ alors, ṗ(t) = − A (t)P (t) + Q(t) x(t)
◦ ce qui donne (Ṗ + P A + AT P − P BR−1B T P + Q)x = 0
◦ on obtient une équation (différentielle) de Riccati :
Ṗ + P A + AT P − P BR−1B T P + Q = 0 avec P (tf ) = S
➣ Solution : u(t) = −K(t)x(t) avec K(t) = −R(t)−1B(t)T P (t).

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Horizon infini
➣ Position du problème
◦ On a nécessairement x(tf ) = 0 et la pondération sur x(tf ) n’a plus de sens
R∞1¡ T T
¢
◦ J(x0, u) = t0 2 x (t)Q(t)x(t) + u (t)R(t)u(t) dt
◦ Système LTI ẋ = Ax + Bu
➣ Solution
◦ u(t) = −Kx(t)
◦ avec K = −R−1B T P
◦ et P solution de l’équation algébrique de Riccati
P A + AT P − P BR−1B T P + Q = 0

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Commande LQ à temps discret : horizon fini


➣ Position du problème
◦ x(k + 1) = A(k)x(k) + B(k)u(k)
1
Pk=n T
◦ J = 2 k=0 x (k)Q(k)x(k) + uT (k)R(k)u(k)
➣ Résolution par le Lagrangien
Pk=n 1 T
◦ L = k=0 2 x (k)Q(k)x(k) + 12 uT (k)R(k)u(k) + pT (k +
1) (−x(k + 1) + A(k)x(k) + B(k)u(k))
∂L
◦ ∂u(k) = R(k)u(k) + B T (k)p(k + 1) = 0
∂L
◦ ∂x(k) = Q(k)x(k) − p(k) + AT (k)p(k + 1) = 0
∂L
◦ ∂p(k+1) = −x(k + 1) + A(k)x(k) + B(k)u(k) = 0
➣ Reformulation
◦ Commande u(k) = −R−1(k)B T (k)p(k + 1) avec u(n) = 0 et donc
p(n + 1) = 0.
◦ L’équation adjointe pour k = n donne p(n) = Q(n)x(n), on choisit alors
p(k) = P (k)x(k) avec P (n) = Q(n)
E. Laroche ENSPS - ISAV
Commande Optimale

➣ Solution
◦ u(k) = −K(k)x(k) avec
◦ K(k) = R̃−1(k)B T (k)P (k + 1)A(k) et
◦ R̃(k) = R(k) + B T (k)P (k + 1)B(k).
➣ Détermination de P (k)
◦ P (k) = Q(k) + AT (k)P (k + 1)(A(k) − B(k)K(k))
◦ ce qui est équivalent à P (k) = Q(k) + AT (k)M (k + 1)A(k)
◦ avec l’équation de Riccati discrète M (k + 1) =
P (k + 1) − P (k + 1)B(k)(R(k) + B T (k)P (k + 1)B(k))−1B T (k)P (k + 1)
◦ calcul à rebours à partir de P (n) = Q(n)

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Commande LQ à temps discret : horizon infini


➣ Position du problème
◦ x(k + 1) = Ax(k) + Bu(k)
1
P∞ T
◦ J = 2 k=0 x (k)Qx(k) + uT (k)Ru(k)
➣ Solution
◦ u(k) = −K(k)x(k)
◦ avec K = (R + B T P B)−1B T P A
◦ et P solution de l’équation algébrique de Riccati discrète
P = Q + AT (P − P B(R + B T P B)−1B T P )A

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Propriété de robustesse : marge de module ≥ 1


➣ Différence de retour : par des manipulations à partir de l’équation de Riccati, on
obtient l’équation de la différence de retour :
(I + B T (−sI − AT )−1K T )R(I + K(sI − A)−1B) =
R + B T (−sI − AT )−1Q(sI − A)−1B
➣ Inégalité de Kalman multivariable : en fréquentiel (s = jω) et en notant
H(jω) = (jωI − A)−1B, on obtient :
(I + KH(jω))H R(I + KH(jω)) = R + H H (jω)QH(jω) ≥ R
➣ Dans le cas particulier où R = ρI et en écrivant Q = LT L (factorisation de
Choleski), on obtient :
(I + KH(jω))H (I + KH(jω)) = I + ρ1 (LH(jω))H (LH(jω))
q
➣ Marge de module : on en déduit : σi(I + KH(jω)) = 1 + ρ1 σi2(LH(jω)) ≥ 1

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Réglage des pondérations


➣ Remarque : la multiplication des pondérations Q et R par un même scalaire ne
modifie pas le régulateur
➣ Restriction à des pondérations diagonales
➣ Méthodologie itérative
◦ pondérations initiales : matrices identité.
◦ Régler globalemnt la dynamique en multipliant Q ou R par un scalaire
◦ Ajuster les dynamiques sur les différents états en ajustant les éléments de Q
◦ Ajuster les dunamiques des actionneurs en ajustant les éléments de R

☞ Schéma de régulation
➣ Prise en compte des signaux de consigne
➣ Ajout d’un terme intégral

E. Laroche ENSPS - ISAV


Commande Optimale

Commande Linéaire Quadratique Gaussienne

☞ Formulation du problème
➣ Système dynamique stochastique
½
ẋ(t) = Ax(t) + Bu(t) + v(t)
(12)
y(t) = Cx(t) + w(t)
où v et le bruit de mesure w sont des bruits blancs centrés de variance
E{v T v} = V = V T ≥ 0 et E{w T w} = W = W T > 0
➣ Critère
½ tf ¾
1
Z
(x(t))T Qx(t) + (u(t))T Ru(t) dt ,
¡ ¢
J(x0, u) = lim E (13)
tf →∞ tf t0

avec Q = QT ≥ 0 et R = RT > 0

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Principe de séparation
La solution du problème LQG est donnée par les solutions de deux problèmes
connus :
➣ le problème d’estimation optimale de l’état d’un système dynamique
stochastique (filtre de Kalman donnant une estimée x̂ de x)
➣ le problème de commande LQ optimale en supposant x connu, donnant un
retour d’état de gain K.
La commande LQG est finalement u = −K x̂

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Structure de la commande
➣ Equation de l’observateur
˙ = Ax(t) + Bu(t) + L(y(t) − Cx(t))
x̂(t) (14)
gain de Kalman : L = ΣC T W −1 avec Σ la solution de l’équation algébrique de
Riccati : ΣAT + AΣ − ΣC T W −1CΣ + V = 0
➣ Equations du régulateur :
˙
½
x̂(t) = (A − BK − LC)x̂(t) + Ly(t)
(15)
u(t) = −K x̂(t)
équivalent à un transfert u = −C(s)y avec
C(s) = K(sI − A + BK + LC)−1L.
➣ Suivi de consigne : on peut facilement intégrer un signal de sonsigne y ∗ avec
u = C(s)(y ∗ − y).

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Retour sur le principe de séparation


➣ Equations du système bouclé avec u = w − Kcx̂ :

 ẋ = Ax − BK x̂ + Bw
x̂˙ = LCx + (A − BK − LC)x̂ (16)
²y = Cx − C x̂

➣ Avec ²x = x − x̂, les équations du système s’écrivent :



 ẋ = (A − BK)x − BK²x + Bw
²̇x = (A − LC)²x (17)
²y = C²x

matrice d’état bloc-triangulaire : ses valeurs propres = celles de A − BK +


celles de A − LC. On retrouve le principe de séparation des modes de la
commande des modes d’observation.

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Méthode de réglage
➣ Réglage du retour d’état
➣ Réglage du filtre de Kalman
➣ Recouvrement du gain de boucle (LTR pour loop transfer recovery)

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Formulation standard
➣ Représentation linéaire fractionnaire (LFR ou LFT ou produit de Redheffer ou
star product)
◦ Soit un système dynamique d’entrées v et u et de sorties z et y
    
ẋ(t) A B 1 B2 x(t)
 z(t)  =  C1 D11 D12   v(t)  (18)
y(t) C2 D21 D22 u(t)
◦ bouclé avec un correcteur K(s) d’entrée y et de sortie u
· ¸ · ¸· ¸
x˙K (t) AK BK x(t)
= (19)
u(t) CK D K y(t)
◦ L’interconnexion des deux systèmes est un système d’entrée v et de sortie z.

E. Laroche ENSPS - ISAV


Commande Optimale

➣ Principe de la formulation standard : synthétiser le correcteur permettant de


minimiser une norme sur le transfert entre v et z : K(s) = arg min ||Tzw (s)||n
−1
➣ Norme H2. Soit G(s) = C(sI −
q¡ R A) B un système LTI strictement propre. Sa
1 ∞ H
¢
norme H2 est ||G(s)||2 = 2π −∞ tr [G (jω)G(jω)] dω

➣ Norme H∞ : ||G(s)||∞ = maxω σ(G(jω)) où σ est la valeur singulière maximale.


➣ Formulation standard de la commande LQ
➣ Formulation standard de la commande LQG

E. Laroche ENSPS - ISAV


Commande Optimale

☞ Forme LQG équivalente


➣ Principe
◦ Soit un correcteur LTI n’ordre nK
◦ Est-il possible de le mettre sous une forme LQG : estimateur d’état + retour
d’état ?
➣ Applications
◦ retouche de correcteurs
◦ interpolation de correcteurs (par interpolation des gains de la forme LQG)

E. Laroche ENSPS - ISAV


Commande Optimale

➣ Paramétrisation de Youla d’un correcteur LQG


◦ Le modèle système + correcteur s’écrit :

 ẋ = (A − BK)x − BK²x + Bw
²̇x = (A − LC)²x (20)
²y = C²x

◦ il présente :
• n pôles non commandables (les valeurs propres de A − LC)
• n pôles non observables (les valeurs propres de A − BK)
◦ ces pôles sont distincts ; tous les pôles sont donc soit non commandables soit
non observables
◦ le transfert entre w et ²y est donc nul
◦ on peut donc ajouter n’importe quel transfert stable entre ² y et w sans
changer la dynamique du correcteur
◦ on appelle paramètre de Youla ce transfert

E. Laroche ENSPS - ISAV


Commande Optimale

➣ Cas d’un correcteur de même ordre que le système


◦ même ordre ⇒ paramètre de Youla statique : w = DN ²y
◦ le correcteur LQG s’écrit alors
x̂˙ = (A − LC − BK − BDN C)x̂ + (L + BDN )y
½
(21)
u = −(K + DN C)x̂ + DN y
◦ Trouver les matrices de gain K et L ainsi que la metrice T du changement de
repère xK = T x̂ tel que les 2 représentations d’état soient identiques du point
de vue entrée-sortie
◦ Ce qui s’écrit :
T −1AK T = A − LC − BK − BDN C (22)
T −1BK = L + BDN (23)
CK T = −K − DN C (24)
DK = DN (25)

E. Laroche ENSPS - ISAV


Commande Optimale

◦ La solution est donnée par :


DN = DK (26)
K = −CK T − DK C (27)
L = T −1BK − BDK (28)
0 = −T BCK T − T (A − BDK C) + AK T + BK C (29)
◦ La dernière équation est une équation algébrique de Riccati non symétrique
(GNARE pour Generalized Non-symetric Algebraic Riccati Equation)
➣ Cas d’un correcteur d’ordre supérieur : ajouter des modes non observables ou
non commandables à la représentation d’état du système pour obtenir un
modèle d’ordre nK

E. Laroche ENSPS - ISAV


Commande Optimale

Bureau d’étude

☞ Pendule inversé
➣ Commande LQ puis LQG
➣ Mise en oeuvre des connaissances de cet enseignement mais aussi des autres
cours d’automatique

☞ Méthodologie
➣ synthèse de la commande à partir du modèle linéarisé autour du point de
fonctionnement nominal
➣ évaluation des performances et de la robustesse par analyse fréquentielle sur le
modèle linéaire
➣ validation finale du correcteur par simulation sur le modèle non-linéaire

E. Laroche ENSPS - ISAV

Das könnte Ihnen auch gefallen