Académique Documents
Professionnel Documents
Culture Documents
Références
Plan du
bibliographiques
chapitre
Introduction
Indice de performance
Observateur de Kalman
2
Commande optimale
Introduction
• Les problèmes de commande optimale se rencontrent dans la vie de tous les jours : comment
arriver à destination le plus rapidement possible, comment minimiser sa consommation...
• Pour un système dynamique donné et dont les équations sont connues, le problème de
commande optimale consiste à trouver la commande optimisant (extrémisant) un critère (Fonction
de cout, fonction objective ou indice de performance) donné.
• L’objectif de la commande optimale est alors de trouver la commande u(t) qui conduit le système
d’un état initial vers un état final sous quelques contraintes sur la commande et sur l’état en même
temps optimiser un certain critère ou indice de performance.
3
Commande optimale
Indice de performance (Critère, Fonction objective, Fonction de cout)
Remarque : Sur le plan pratique il n’est pas facile de déterminer un critère de performance; toutefois
on peut toujours se ranger dans l’une des catégories suivantes :
• Minimiser un temps.
• Optimiser une amplitude.
• Maximiser un profit où un revenu.
• Minimiser une erreur.
• Minimiser une consommation.
4
Commande optimale
Indice de performance (Critère, Fonction objective, Fonction de cout)
5
Commande optimale
Indice de performance (Critère, Fonction objective, Fonction de cout)
Ou en générale: tf
J uT (t ) Ru (t ) dt
t0
ou
J u T (t ) Ru (t ) dt
0
u1 (t ) R1 0 0
u (t ) 0 R2
avec: u (t ) 2 et R est une matrice de pondération diagonale
0
h définie positive.
m
u ( t ) 0 0 Rm
6
Commande optimale
Indice de performance (Critère, Fonction objective, Fonction de cout)
Remarque :
Dans ce contexte, on peut minimiser l’intégrale de l’erreur carré d’un système de poursuite:
tf
J
t0
xT (t )Qx(t ) dt ou
J xT (t )Qx(t ) dt
0
avec : x(t ) xr (t ) xd (t ) où : xr (t) vecteur d’état réel (actuel) et xd (t) vecteur d’état désiré,
Q1 0 0
0 Q
Q 2 est une matrice de pondération semi-définie positive
0
0 0 Qn
7
Commande optimale
Commande linéaire quadratique ‘LQR’\Régulateur LQR
Situation du problème
• Supposons qu’on a le système d’ordre n à une seule entrée u(t)/une seule sortie y(t) :
x(t ) A B x(t )
y (t ) C 0 u (t )
• On cherche la commande u(t) qui, quelle que soit la condition initiale x(0)=x0 fixée, minimise le
critère linéaire quadratique :
J x(t )
Qx(t ) u (t )T Ru (t ) dt
T
Solution du problème
• Si la paire (A, B) est stabilisable (commandable), il existe une commande solution optimale du
problème du régulateur linéaire quadratique à horizon infini en temps continu, dont la
structure sur la figure ci-contre, est donnée par :
u (t ) Kx(t ) R 1 BT Px(t )
Où P=PT est l’unique solution semi-définie
positive de l’équation de Riccati :
PA AT P PBR 1 BT P Q 0
K est un vecteur ligne
• Le système bouclé est asymptotiquement stable, et de n composantes.
• La dynamique du système en boucle fermée • Ceci signifie, qu’il existe une fonction de
sur la loi de commande u(t)=-Kx(t) donne à Lyapunov :
V ( x) xT (t ) Px(t )
l’équation : x(t ) ( A BK ) x(t ) ABF x(t )
ABF
définie positive et dont la dérivée :
• La contrainte ABF stable entraine qu’il existe
une matrice symétrique définie positive P vérifie
d T
dt
x (t ) Px(t ) xT (t ) ABF T P PABF x(t )
10
Commande optimale
Commande linéaire quadratique ‘LQR’ \Régulateur LQR
Démonstration de la solution LQR
• Par ailleurs, la loi de commande implique que • Il en résulte que l’on peut choisir :
le critère J se réexprime : Q Q
• Alors le critère J peut s’exprimer :
J x(t )
Qx(t ) ( Kx(t ))T R( Kx(t )) dt
T
0
d
J x(t )T Qx(t ) dt xT (t ) Px(t ) dt
x(t ) Qx(t ) x(t ) K RKx(t ) dt dt
T T T
0 0
J xT (t ) Px(t ) xT () Px() xT (0) Px(0)
0
0
x(t )T
Q K T RK x(t ) dt x(t )T Qx(t ) dt • La stabilité asymptotique du système bouclé
0 0
Q
impose que x(∞)=0, ce qui implique que le
• Il est rappelé que le choix de la matrice Qh
critère à minimiser vérifie :
(semi- ou strictement) définie négative est
J min xT (0) Px(0) x0T Px0
arbitraire (sous quelques réserves).
11
Commande optimale
Commande linéaire quadratique ‘LQR’ \Régulateur LQR
Démonstration de la solution LQR
xT (t ) A
BF
T
P PABF x(t ) • Le critère J sera minimum pour dP=0 et dK≠0.
Q K T RK ABF T P PABF Soit :
dK T RK BT P K T R PB dK 0
Q K RK ABF P PABF 0
T T
K R 1 BT P
Q K T RK AT P K T BT P PA PBK 0 ....(*)
• On remplace K dans l’équation (*) et on
• Si K varie de dK et P variera de dP( A, B, R et obtient la condition; P doit vérifier l'équation
Q étant constant). de Riccati :
Q PA AT P PBR 1 BT P 0
12
Commande optimale
Commande linéaire quadratique ‘LQR’ \Régulateur LQR
13
Commande optimale
Commande linéaire quadratique ‘LQR’ \Régulateur LQR
Exemple (Solution) :
• L’équation d’état de ce système est de la P11 P12 0 1 0 0 P11 P12 P11 P12 0 P11 P12 2 0
1 0 P P P P 1 10 1 P P 0
P12 P 22 0 0 12 22 12 22 12 22
0 0
forme : 0 P11 0 0 P12 2 0
0 1 0 P12 P22 0
x(t ) Ax(t ) Bu (t ) avec A et B 1 0 P12 P11 P12 P22 0 0
0 0
0 P11 P12 P12 P22 2 0
2
0
et la fonction de coût est le critère quadratique : 11
P 2 P12 P12 P22 P22
2
0 0
2 P122
2 0 P11 P12 P22
J
x(t ) Qx(t ) u (t ) Ru (t ) dt avec Q et R 1 0
T T
P11 P12 P2211 2 P12 P222
0 0 0
Cette équation matricielle est équivalente au
Ecrivons l’équation algébrique de Riccati (en
système de trois équations suivant :
posant P symétrique): 2 P12 2 0
PA AT P PBR 1 BT P Q 0 P11 P12 P22 0
2 P12 P22 0
2
14
Commande optimale
Commande linéaire quadratique ‘LQR’ \Régulateur LQR
Exemple (Solution) :
• On vérifie aisément que la solution unique 0 1 0 0 1
ABF A Bk
2
2
0 0 1
définie positive est donnée par :
2
et son polynôme caractéristique :
P s 0 0 1
2 det( sI ABF ) det( sI A Bk ) det
0 s 2
• La loi de commande résultante est alors : s 1
det s( s 2 ) s ² 2 s
s 2
2 x1 (t )
u (t ) kx(t ) R B Pxt () 1 0 1
1 T
2 x2 (t ) • Les pôles du système bouclé sont donc :
x (t )
2 1 x1 (t ) 2 x2 (t ) S1 / 2 1 J et S2 / 2 1 J
x (t )
2
La stabilité du système bouclé est donc garantie
• La matrice d’état du système bouclé vaut :
quel que soit la valeur de .
15
Commande optimale
Commande linéaire quadratique ‘LQR’ \Régulateur LQR
Remarque :
Supposons que le critère quadratique est défini sur un horizon fini en temps et donné par :
tf
16
Commande optimale
Commande linéaire quadratique ‘LQR’ \Problème de poursuit
• Le problème à résoudre consiste à déterminer une loi de commande optimale u(t) permettant
de minimiser un critère quadratique et transférer la sortie du système y(t) d’une valeur initiale à
une valeur suffisamment voisine d’une consigne constante yc(t) définie dans l’espace d’état.
u (t ) Hyc (t ) Kx(t )
1 T K est un vecteur ligne
Hyc (t ) R B P x(t ) de n composantes.
• Dans l’état stationnaire (régime permanant), qui correspond à x(t ) 0, on doit avoir y (t ) yc .
• L’équation du système en boucle fermée avec la commande s’écrit, pour cet état :
0 ( A BK ) x(t ) BHyc (t )
x(t ) ( BK A) 1 BHyc (t )
• L’équation de sortie donne alors :
y (t ) yc (t ) Cx(t ) C ( BK A) 1 BHyc (t )
18
Commande optimale
Commande linéaire quadratique ‘LQR’ \Problème de poursuit
Exemple (simulation sur MATLAB):
Considérons le système défini par :
x(t ) A B x(t ) clc ; clear all ; %------------------------------------------------------------------
y (t ) %-------------------------------------------------------- % Calcul du vecteur K de retour d’état LQR
C 0 u (t ) % Création du système dans l’espace d’état %------------------------------------------------------------------
%--------------------------------------------------------
1 4 1 2 Q=[ 30 0 0; 0 1 0; 0 0 1]; % Définir la matrice de pondération Q
A=[ 1 4 -1; 6 -1 3; 2 2 -5]; % Définir la matrice d’état
avec A 6 1 3 , B 3 et C 1 0 0
R=1; % Définir la matrice de pondération R
B=[ 2; 3;-1]; % Définir la matrice de commande [K, P, VP]=lqr(A, B, Q, R) % Calcul du vecteur optimale K
C=[1 0 0]; % Définir la matrice d’observation
2 2 5 1 D=0 ; % Définir la matrice d’action directe
sys_BF=ss(A-B*K,B,C,D); % Définir le modèle d'état
%en BF par vecteur K
On souhaite calculer la loi de sys_BO=ss(A, B, C, D); % Définir le modèle d'état
%--------------------------------------------------------
figure
step (sys_BF, 10) % Réponse indicielle du système en BF
% Réponse indicielle du système en BO
commande : u (t ) Hyc (t ) Kx(t ), %--------------------------------------------------------
figure
% par vecteur K sur 10 s
%-------------------------------------------------------------------
step (sys_BO, 10) % Calcul de la précommande H
qui minimise le critère LQ suivant : %-------------------------------------------------------- %-------------------------------------------------------------------
% Vérification de la commandabilité H=(C*(B*K-A)^-1*B)^-1; %Calcul de précommande H
30 0 0 %--------------------------------------------------------
sys_BFH=ss(A-B*K,H*B,C,0); % Définir le modèle d'état
J x(t )T Qx(t ) u (t )T Ru (t ) dt avecQ 0 1 0 et R 1 Comd = ctrb(A,B); % Calcul de la matrice % en BF par vecteur K
% de commandabilité % et précommande H
0 0 0 1 rang = rank(Comd); % Calcul du rang de la matrice figure
%de commandabilité
et permet d’avoir un gain statique if rang == size (A, 1) % Logique pour
step (sys_BFH, 10) % Réponse indicielle du système en BF
% par vecteur K et précommande H
% évaluer la commandabilité
% sur 10 s
unitaire pour une consigne yc(t) disp('System est commandable')
else
disp('System n est pas commandable')
échelon unitaire. end
19
Commande optimale
Commande linéaire quadratique ‘LQR’ \Problème de poursuit
Amplitude
K=
H=
6.7810
Amplitude
Temps (secondes)
Temps (secondes)
20
Commande optimale
Commande linéaire quadratique ‘LQR’ avec intégrateur
• Dans ce cas, pour assurer une meilleur précision de la commande LQ, une action intégrale est
incorporée avec la commande LQ.
• Afin de synthétiser la loi de commande
LQ, nous travaillons dans l’espace d’état
augmenté de l’état de l’intégrateur, en
considérant l’état intégrale comme suit:
xi (t ) yc (t ) y (t ) yc (t ) Cx(t )
• Par conséquent, le système augmenté de
l’intégration de l’erreur devient : Ki est un scalaire dit coefficient Kx est un vecteur ligne de
x(t ) x(t ) A 0 x(t ) B 0 d’intégrateur. n composantes.
x (t ) u (t ) yc (t )
e(t ) xi (t ) C 0 xi (t ) 0 1
A B1 B2
Figure 3. Structure en boucle fermée de la commande
y (t ) C 0 x (t )
C
LQ avec intégrateur.
21
Commande optimale
Commande linéaire quadratique ‘LQR’ avec intégrateur
• Dans ce nouvel espace, le problème LQR se résout via l’équation de Riccati associée :
Q PA AT P PB1 R 1 B1T P 0
• La solution P de cette équation de Riccati nous permet d’obtenir directement la matrice de gain
LQR recherchée :
K R 1 BT P
• Finalement, pour notre problème LQR avec action intégrale, la matrice de gains se décompose
de la façon suivante :
K K x, LQR Ki , LQR u (t ) Kx (t ) R 1 BT Px (t )
22
Commande optimale
Commande linéaire quadratique ‘LQR’ avec intégrateur
Exemple :
• Considérons le système défini par :
x(t ) A B x(t )
y (t ) C 0 u (t )
0 1 1
avec A , B et C 1 0
2 1 0
• On souhaite stabiliser ce système et suivre une consigne yc(t) (échelon) avec une erreur statique
nulle. Pour cela, on pondère dans le critère LQ l’intégrale xi(t) de l’erreur d’asservissement. Le
critère s’écrit donc :
J 10 x (t ) 20 x (t ) 0.1u ²(t ) dt
2 2
1 i
0
x(t )
Calculer la loi u (t ) K qui minimise le critère J .
xi (t )
23
Commande optimale
Commande linéaire quadratique ‘LQR’ avec intégrateur
Exemple (solution) :
• La représentation d’état du système augmenté • La solution au problème LQR est donnée par le
de l’intégration de l’erreur est : système d’équations de Riccati suivant :
x1 (t ) 0 1 0 x1 (t ) 1 0
x2 (t ) 2 1 0 x2 (t ) 0 u (t ) 0 yc (t ) Q PA AT P PB1 R 1 B1T P 0
x (t ) 1 0 0 x (t ) 0 1
i i K R 1 BT P
A B1 B2
x1 (t ) • L’application numérique permet d’obtenir les
y (t ) 1 0 0 x2 (t )
xi (t )
résultats suivants :
C
24
Commande optimale
Commande linéaire quadratique ‘LQR’ avec intégrateur
Exemple (simulation sur MATLAB): La réponse indicielle du système en boucle fermée (Sans intégrateur)
Erreur statique ≈ 0
25
Commande optimale
Commande linéaire quadratique ‘LQR’
Remarques sur le choix des matrices de pondération
Les matrices Q et R ne sont pas des données du problème (Comme les matrices A et B), mais des
paramètres de réglage, qui sont à la disposition de l’utilisateur pour ajuster les performances du
système commandé.
La multiplication des pondérations Q et R par un même scalaire ne modifie pas le régulateur LQ.
Restriction à des pondérations diagonales.
Méthodologie itérative :
Pondérations initiales : matrices identités.
Régler globalement 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 dynamiques des actionneurs en ajustant les éléments de R.
26
Commande optimale
Observateur de Kalman\Estimation linéaire quadratique
• Considérons le système stochastique d’ordre n à une seule entrée u(t)/une seule sortie y(t)
suivant :
x(t ) Ax(t ) Bu (t ) v(t )
y (t ) Cx(t ) w(t )
avec v(t) est un bruit blanc gaussien centré sur l'état de variance E{vvT}=V ≥ 0 (représenté les
perturbations extérieures agissant sur le système ou même les erreurs de modélisation) et w(t)
est un bruit blanc gaussien centré sur la sortie de variance E{wwT}=W > 0 (représenté le bruit de
mesure lié aux capteurs utilisés). La matrices de variance V est semi définie positive et la
matrice de variance W est définie positive.
• La présence de bruit sur la mesure et sur les états empêche une bonne reconstruction
de l’état. Il est alors nécessaire d’utiliser un filtre pour estimer l’état x(t).
27
Commande optimale
Observateur de Kalman\Estimation linéaire quadratique
• Un filtre (observateur) de Kalman est un système dynamique avec 2 entrées : la commande u(t)
et la mesure y(t), c’est-à-dire tous les signaux connus du système. L’état x(thou
) la sortie de ce
système dynamique est un estimé de l’état x(t) du système.
x Ax (t ) Bu (t ) L( y (t ) Cx (t ))
AT A C T W 1C V 0
29
Commande optimale
Observateur de Kalman\Estimation linéaire quadratique
Exemple :
• Soit le système stochastique décrit par les équations d’état :
x1 (t ) 0 1 x1 (t ) 0 1
x (t ) 4 u (t ) 0 v(t )
2
x ( t ) 20 0 2
x1 (t )
y (t ) 1 0 w(t )
2
x (t )
où v(t) et w(t) désignent deux bruits blancs indépendants, de moyenne nulle et de variance :
l 0.0223 0
avec L 1 est le gain optimal de Kalman donné
l2 0 0.4472
par :
L C T W 1
2.2361
où est la solution symétrique semi-définie L
0
positive de l’équation algébrique de Riccati :
31
Commande optimale
Observateur de Kalman\Estimation linéaire quadratique
Exemple ((simulation sur MATLAB):
• Schéma de simulation du filtre de Evolution temporelle du filtre de Kalman
32
Commande optimale
Commande linéaire quadratique gaussienne ‘LQG’
Situation du problème
• Supposons qu’on a le système stochastique d’ordre n à une seule entrée u(t)/une seule sortie
y(t) : x(t ) Ax(t ) Bu (t ) v(t )
y (t ) Cx(t ) w(t )
Où v(t) est un bruit blanc gaussien sur l'état de variance E{vvT}=V ≥ 0 et w(t) est un bruit blanc
gaussien sur la sortie de variance E {wwT}=W > 0.
• On cherche la commande u(t) qui, quelle que soit la condition initiale fixée x(0)=x0, minimise le
critère linéaire quadratique :
J lim E x(t ) Qx(t ) u (t ) Ru (t ) dt
T T
0
avec Q ≥ 0 et R > 0.
33
Commande optimale
Commande linéaire quadratique gaussienne ‘LQG’
Solution du problème
• Si le système est détectable (c’est-à-dire la paire (A, B) est commandable et la paire (A, C)
observable), il existe une commande solution optimale du problème du régulateur linéaire
quadratique gaussienne à horizon infini en temps continu, est donnée par la théorème de
séparation. Ce théorème énonce que la solution du problème est composée de deux parties :
• Un observateur de Kalman (filtre de Kalman) permettant de donner l’estimée x(t ) de x(t) qui
est non déformée et à variance minimale.
34
Commande optimale
Commande linéaire quadratique gaussienne ‘LQG’
Solution du problème
36
Commande optimale
Commande linéaire quadratique gaussienne ‘LQG’
Exemple (solution) :
• L’équation d’état de ce système est de la forme : L’unique solution positive de l’équation de
x(t ) Ax(t ) Bu (t ) v(t ) Riccati est :
1
y (t ) Cx(t ) w(t )
avec A 1, B 1, C 1, E[v] 3 et E[ w] 1 Alors le gain de Kalman est :
L C T W 1
Ecrivons l’équation algébrique de Riccati : 1
AT A C T W 1C V 0 • L’observateur optimale est donné donc par :
2 2 3 0 2 2 3 0 x (t ) ( A LC ) x (t ) Bu (t ) Ly (t )
Soit : 2 x (t ) u (t ) y (t )
3 ou 1
37
Commande optimale
Commande linéaire quadratique gaussienne ‘LQG’
Exemple (solution) :
0
2
0 0.4142
avec Q 1 et R 1
• Le contrôle LQG optimal est alors :
L’équation algébrique de Riccati est : u (t ) Kx (t ) 0.4142 x (t )
PA AT P PBR 1 BT P Q 0 2 P P 2 1 0 avec:
P 2 2 P 1 0 P 0.4142 ou P = 2.4142 x (t ) 2 x (t ) u (t ) y (t )
L’unique solution positive de l’équation de
Riccati est : P 0.4142
38
Commande optimale
Commande linéaire quadratique gaussienne ‘LQG’
Exemple (solution) :
• Schéma bloc de la commande LQG :
39
Commande optimale
Fin du chapitre 2
40