Vous êtes sur la page 1sur 25

Introduction générale

à la commande optimale

Notes de cours par N.Bennis/ contact 1


bennisnajib@specialautom.net
Introduction générale
à la commande optimale
 La théorie moderne du contrôle optimale est née vers les
années 50: Epoque du debut de la course vers l’espace.

 Les problèmes de la commande optimale se rencontrent dans


plusieurs domaines: mécanique, électrique, spatiale,
biologique, agricole, chimique, économique, aéronautique et
bien autres domaines.

 Domaines récents d’application : système de freinage, ABS


dans le domaine de l’automobile, assistance à la conduite,
Asservissement régulation, énergétique , contrôle des flux
dans le domaine de transport, contrôle des procédés
chimiques, raffinage pétrolier, chaînes industrielles…
La liste est longue…

Notes de cours par N.Bennis/ contact 2


bennisnajib@specialautom.net
Quelques objectifs

• Comment arriver à destination le plus rapidement possible ?


• Comment minimiser l’énergie pour y arriver ?
• Pour un système dynamique donné et dont les équations sont
connues, le problème de la commande optimale consiste alors
à trouver la commande qui minimise un critère mathématique
donné, appelé aussi fonction coût

Optimalité Minimiser/maximaliser un critère


Notes de cours par N.Bennis/ contact 3
bennisnajib@specialautom.net
Cadre de la commande optimale
 On se place dans le cadre de la commande des systèmes
linéaires continus variants ou invariants monovariables ou
multivariables modélisés par des équations d’état :
x(t) : vecteur d’état, dim x(t) = n
u(t) : vecteur de commande dim u(t) =m, où m est le
x(t) = A(t)x(t) +B(t)u(t) nombre d’actionneurs.
A : matrice d’état du système, dim A = n x n
B : matrice de commande, dim B = n x m

 Le problème de la commande optimale se comprend comme


étant la recherche d’une commande u (t) admissible notée u*
apte à conduire le système vers l'état désiré tout en minimisant
un critère choisi qui représente une fonction coût.
 La formulation du problème d’optimisation changent d’un
problème à un autre selon les termes constitutifs du critère et
les conditions initiales et finales imposées au système.
Notes de cours par N.Bennis/ contact 4
bennisnajib@specialautom.net
Quelques problèmes de la commande
optimale
 Commande à énergie minimale :
Faire passer le système d'un état initial donné à
un état final imposé en minimisant le coût
énergétique (exemple : transfert d'un satellite
d'une orbite à une autre). On trouve dans le
critère à minimiser le terme:  u R u dt
t1 T
to

u : commande
to instant initial
t1 instant final fini ou infini
R matrice de pondération (poids)

Notes de cours par N.Bennis/ contact 5


bennisnajib@specialautom.net
J (u )  to u R u dt
t1 T

Ce critère permet de pénaliser les fortes valeurs prises par la


commande u.

La commande peut prendre n’importe quelle valeur mais, par le choix


de la fonction de pondération R, et plus particulièrement via ses
coefficients, l’utilisateur peut pénaliser les signaux de commande
trop importants.

Prenant l’exemple d’un système à deux entrées de commande


u1 et u2 et prensant une pondération R diagonale:

 r1 0   u1 
u R u  u1
T
u2    ru 2
 u  1 1 2 2  r u 2

 0 r2  2

Plus la pondération r1 est faible, plus la commande u1 est


forte

Notes de cours par N.Bennis/ contact 6


bennisnajib@specialautom.net
Quelques objectis de la commande optimale

 Commande en temps minimal :


Objectf: atteindre un état final en un temps minimal en
partant d’un instant initial donné.


t1
Critère : t1  t0  dt
t0

L’instant initial t0, état intial x(t0),


état final x(t1) sont imposés;
L’instant final t1 est à determiner

Notes de cours par N.Bennis/ contact 7


bennisnajib@specialautom.net
Quelques objectifs de la
commande optimale
 Commande avec erreur terminale minimale
Objectf: amener le système dans un état proche d’un état
désiré.

Pénalisation des déviations importantes par


rapport à l’état final desiré.
Critère :
L’instant initial t0, état initial x(t0) sont fixés
( x(t1 )  xd ) Q( x(t1 )  xd )
T
Etat final x(t1) est indéterminé
L’instant final t1 peut être imposé ou libre

Notes de cours par N.Bennis/ contact 8


bennisnajib@specialautom.net
Quelques objectis de la commande optimale

 Suivi d’une consigne imposée yc(t) : problème de poursuite


(Asservissement)

Critère :

 ( yc(t )  y(t ) Q ( yc(t )  y(t ) dt


tf T
t0

Notes de cours par N.Bennis/ contact 9


bennisnajib@specialautom.net
Quelques objectis de la commande optimale

 Optimisation d’un régulateur

Le système, écarté de son état d’équilibre x(t0) =0 à l’instant initial t0 (pris


comme origine du temps ), suite à une perturbation doit y retourner en
minimisant l’erreur quadratique



T
Critères : x (t )Qx(t )dt
t0
Avec x(t0) = x0
L’instant initial t0, l’état initial x(t0) sont fixés
L’instant final tf = (Horizon infini), l’état x() = 0.
Q : matrice de pondération

Notes de cours par N.Bennis/ contact 10


bennisnajib@specialautom.net
Commande LQ à horizon infini
Soit le système à réguler décrit par le modèle d’état :

x  Ax  Bu

Le critère J   ( x T ( t )Qx( t )  uT ( t ) Ru( t ))dt
t0
Pas de contrainte sur l’état final
QQ 0 R R 0
T T tf est infini

( A, B ) commandable
Dans le cas d'un problème (linéaire à temps invariant), la
commande optimale est un retour d'etat statique u = -K x où K
est exprimé par la relation : K = R-1BTP, et où P vérifie l'equation
algébrique de Riccati :
AT P  PA  Q  PBR 1 BT P  0
( A,B ) commandable
C’est un cas très pratique et très utilisé dans la commande. Malgré
que l’équation de Riccati est non linéaire en P, il existe des
algorithmes très éfficaces pour sa résolution (Matlab)
Notes de cours par N.Bennis/ contact 11
bennisnajib@specialautom.net
Commande LQ à horizon infini
Utilisation de Matlab
x  Ax  Bu
u   Kx K ?
Le critère 
J   ( xT ( t )Qx( t )  uT ( t ) Ru( t )  2 x T ( t ) Nu( t ))dt
t0

Q  QT  0   nn R  RT   mm  0 N   n m

Fonction de Matlab : [K,P,E] = LQR(A,B,Q,R,N):

AT P  PA  Q  ( PB  N )R 1 ( PB  N )T  0
( A,B ) commandable
K=R-1(BTP+ NT) P = solution de l’équation de Riccati

E=eig(A-B.K)
Notes de cours par N.Bennis/ contact 12
bennisnajib@specialautom.net
Commande LQ à horizon infini
+ u*

+ x*
v B
- +

K =-R-1BTP

Schéma fonctionnel de la commande


en boucle fermée avec la loi de commande u= v - Kx

x  ( A  BK ) x  Bv

Notes de cours par N.Bennis/ contact 13


bennisnajib@specialautom.net
Commande LQ à horizon infini
Réflexions sur le choix des pondérations Q et R

Il est intéressant de remarquer d’abord que la multiplication des


pondérations Q et R par un même scalaire laisse inchangé le gain K.

R  R’= aR Q Q’=aQ : On a P’=aP  K’=R’-1BTP’=R-1/a.BT.aP=K.

Sans restriction, les pondérations peuvent être choisies symétriques.


Elles sont généralement choisies diagonales. Ainsi, on se ramène au
choix de n scalaires pour l’état et de m scalaires pour la commande.

Voici une méthode simple de choix et de modification des pondérations


en vue d’aboutir à un correcteur satisfaisant.
 q1   r1 
 q2   r2 
   
Q .  R . 
   
 .   . 
 qn   rm 
 

Notes de cours par N.Bennis/ contact 14


bennisnajib@specialautom.net
Commande LQ à horizon infini
1. Au départ, on choisit généralement des pondérations égales aux
matrices identité.
2. Dans une seconde étape, on accélère ou décélère globalement
le système en multipliant la matrice Q par un scalaire λ
(accélération avec λ > 1 et décélération avec λ < 1), jusqu’à
obtenir une dynamique moyenne adaptée.
3. Dans le cas où certains états auraient des dynamiques trop
lentes par rapport à d’autres, on peut choisir d’augmenter la
pondération de Q correspondant aux premiers.
4. Dans le cas où certains actionneurs seraient trop sollicités par
rapport à d’autres, on peut choisir d’augmenter la pondération
de R leur correspondant.

Les étapes 2, 3 et 4 peuvent être réitérées dans l’ordre souhaité


jusqu’ à obtenir un correcteur satisfaisant le cahier des charges.

Notes de cours par N.Bennis/ contact 15


bennisnajib@specialautom.net
Commande LQ à horizon infini
Introduction de l’observateur d’état
1. Comme pour la commande par placement de pôles, la
commande optimale est une commande par retour d’état. Sa
réalisation suppose que toutes les variables d’état sont
accessibles à la mesure.
2. Si ce n’est pas le cas (cas fréquent), on peut introduire un
observateur d’état pour reconstruire partiellement les variables
non accessibles (observateur d’ordre réduit) ou reconstruire
totalement toutes les variables, y compris celles accessibles
(observateur d’ordre complet).

𝑧ሶ 𝑡 = (𝐴 − 𝐺𝐶ሻ𝑧(𝑡ሻ + 𝐵𝑢(𝑡ሻ + 𝐺𝑦(𝑡ሻ


𝑆𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑒𝑢𝑟 ൞
𝑧(0ሻ = 𝑧0

Notes de cours par N.Bennis/ contact 16


bennisnajib@specialautom.net
Calcul du gain optimal de l’observateur
Notion de similitude entre la commande et
l’observation
Calcul de l’observateur optimal LQ de gain G = M CT V -1,
où M est solution de l’équation de Riccati :

 MAT + AM - MCT V -1CM + W = 0 , V =VT> 0, W=WT ≥ 0

Assure la stabilité de l’observateur : (A-GC) stable

 MATLAB : A AT , B CT On donne V=VT > 0 (R)et W 0 (Q)

 K=LQR(AT , CT ,W, V, 0) et d’où G=KT

Notes de cours par N.Bennis/ contact 17


bennisnajib@specialautom.net
Exemple : Commande d’un système électromécanique

Il s’agit de la commande d’un moteur à courant continu,


alimenté par un redresseur RD à thyristors.

Va(t) = Tension d’alimentation des circuits d’allumage des thyristors


V(t) = Tension aux bornes de l’induit du moteur = Krd Va(t)
i(t) = Courant dans l’enroulement induit
(t) = Vitesse de rotation
e(t) = f.c.e.m du moteur = Ke (t)
Cm(t) = Couple moteur = Km i(t)
Cch(t) = couple résistant (perturbation)
J = Inertie totale ramenée sur l’arbre du moteur
Ri , Li = Résistance et l’inductance de l’enroulement induit

Notes de cours par N.Bennis/ contact 18


bennisnajib@specialautom.net
Exemple : Commande d’un système électromécanique

Le comportement du moteur et de sa charge est décrit par les


équations:
 d
 J dt = Cm - Cch Cm = K m i

 di
v = e + r i + l e = Ke 
 dt
 va = K rd v


On choisit les variables d’état : x1(t)= (t) et x2(t)= i(t)

On pose :
Ti = l/r , constante de temps électrique
Tm = J.r/(Ke.Km), constante de temps électromécanique

 d x1 ( t )
 dt =
r
x 2 ( t ) 
1
Cch ( t ) x  Ax  Bva (t )  B1 Cch (t )
 T K
m e J

 d x2 ( t ) =  J 1 K
x1 ( t )  x2 ( t )  rd va ( t ) Va(t) est l’entrée de commande
 dt TmTi K m Ti rTi
Cch(t) est l’entrée de perturbation
Notes de cours par N.Bennis/ contact 19
bennisnajib@specialautom.net
Exemple : Commande d’un système électromécanique
Application numérique:

J = 2.7 Kg.m2 Ke = 2.62 v.s Km = 2.62 N.m/A Krd=500


Tm = 0.1829 s Ti = 0.033 s r=0.465 

 0 0.9704  0   -0.3704
A   B  B1   
 -170.74 -30.30   32584   0 

Analyse du système:

• Valeurs propres det(I-A)=0  1=-7.16 1=-23.15  système stable

• Matrice de commandabilité Qc=[B AB]

 0 0.3162  5
Qc  [ B AB]    .10  Rang(Qc )  2  (A,B) commandable
 0.3258 -9.8739 

Choix des pondérations:


 20 0 
Q  R  106
 0 5
Notes de cours par N.Bennis/ contact 20
bennisnajib@specialautom.net
Exemple : Commande d’un système électromécanique

Fonction de Matlab [K,P,Pbf] = LQR(A,B,R,Q,0)

12.3141 0.0506 
Solution de l ' équation de Riccati P 
 0.0506 0.0464 
Gain de retour d ' état K   0.0016 0.0015
 -76.7294 
Pôles en boucle fermée Pbf   
 -2.8388 

Schéma de simulation sur Matlab-Simulink

Notes de cours par N.Bennis/ contact 21


bennisnajib@specialautom.net
Exemple : Commande d’un système électromécanique

Notes de cours par N.Bennis/ contact 22


bennisnajib@specialautom.net
Exemple : Commande d’un système électromécanique

Notes de cours par N.Bennis/ contact 23


bennisnajib@specialautom.net
Exemple : Commande d’un système électromécanique

1.3

1.2

1.1

0.9

0.8

0.7

0.6

0.5

0.4
0 0.5 1 1.5 2 2.5 3 3.5 4

Commnde
optimale
Notes de cours par N.Bennis/ contact 24
bennisnajib@specialautom.net
Comparaison BO/BF
vitesse courant
160

700

140

Bleu : BO
600

120

100
500 Vert : BF
400
80

60 300

40
Bleu : BF 200

20 Vert : BO 100

0
0 100 200 300 400 500 600 700 800 900
0
0 100 200 300 400 500 600 700 800 900

1.3

1.2

1.1

0.9

0.8

0.7

0.6 Bleu : BO
0.5
Vert : BF
0.4
0 100 200 300 400 500 600 700 800 900

commnde
Notes de cours par N.Bennis/ contact 25
bennisnajib@specialautom.net

Vous aimerez peut-être aussi