Académique Documents
Professionnel Documents
Culture Documents
Préparé par :
A S S E F Yanis
L A S L A Rayane
Groupe : AII.1
La Commande Optimale
On parle de commande linéaire quadratique : LQ ou LQR pour linear
Quadratic regulator, le système est linéaire et la commande est quadratique, la
commande optimale est un retour d’état sous la forme : 𝑢(𝑡) = −𝑘 𝑥(𝑡)
𝑃𝐴 + 𝐴𝑇 𝑃 − 𝑃𝐵𝑅−1 𝐵𝑇 𝑃 + 𝑄 = 0
Les matrices Q et R dites matrices de Pondération étant symétriques.
1
Introduction
Commande Optimale
Probleme n°1 :
Nous avons un moteur à courant continu représenté par la figure :
𝑈 𝐾𝑚 𝑋2 1 𝑋1 = 𝑌
1 + 𝜏𝑚 𝑝 𝑝
Avec : 𝐾𝑚 = 10, 𝜏𝑚 = 2.0𝑠
𝜉 = 0.707, et un temps de réponse à l’échelon de 300ms.
Nous allons étudier le choix des gains du régulateur par retour d’état en
appliquant la théorie du LQR.
Avec :
∞
𝑄𝑦 = 1 , 𝐽 = ∫𝑡 [𝑦 𝑇 (𝑡). 𝑄𝑦 . 𝑦(𝑡) + . 𝑅. 𝑢2 (𝑡)] 𝑑𝑡
0
0 1 0
𝑋1̇ = 𝑋2 1 𝐾
𝑋̇ = [0 − ] 𝑥 + [ 𝑚 ] 𝑢
1 𝐾𝑚 𝜏𝑚 𝜏𝑚
𝑋2̇ = − 𝑋2 + 𝑈
𝜏𝑚 𝜏𝑚 𝑦 = [1 0 ]
0 1 0
𝐴 = [0 − 1 ] 𝐵 = [𝐾𝑚 ]
𝜏𝑚 𝜏𝑚
𝐶 = [1 0 ]
2
Commande Optimale
0 1 0
𝐴 = [0 − ]
1 𝐵=[ ] 𝐶 = [1 0 ]
2 5
Système en Boucle
ouverte
Maintenant que nous avons nos Matrices d’état il nous reste plus qu’à utiliser la
méthode LQR :
𝑈 ∗ = −𝑅−1 𝐵𝑇 𝑃𝑥 ∗
∞
𝐽 = ∫ [𝑦 𝑇 (𝑡). 𝑄𝑦 . 𝑦(𝑡) + . 𝑅. 𝑢2 (𝑡)] 𝑑𝑡
𝑡0
∞
𝐽 = ∫ [(𝐶𝑥)𝑇 . 𝑄𝑦 . 𝐶𝑥 + . 𝑅. 𝑢2 (𝑡)] 𝑑𝑡
𝑡0
∞
𝐽 = ∫ [𝑥 𝑇 𝐶 𝑇 . 𝑄𝑦 . 𝐶𝑥 + . 𝑅. 𝑢2 (𝑡)] 𝑑𝑡 1
𝑡0 𝑄 = [ ] . 1. [1 0]
0
𝑄 = 𝐶 𝑇 𝑄𝑦 𝐶
1 0
𝑄=[ ]
𝑃𝐴 + 𝐴𝑇 𝑃 − 𝑃𝐵𝑅−1 𝐵𝑇 𝑃 + 𝑄 = 0 0 0
0 1 0 0 1
𝑃 𝑃2 1] [𝑃1 𝑃2 ] − [𝑃1 𝑃2 ] [0 5] [𝑃1 𝑃2 ] + [1 0] = 0
[ 1 ][ 1] + [
𝑃2 𝑃3 0 − 1 − 𝑃2 𝑃3 𝑅 𝑃2 𝑃3 𝑃2 𝑃3 0 0
2 2
1
0 𝑃1 − 𝑃2 0 0 1
[ 2 ]+[ 1 1 ] − [5𝑃2 ] [5𝑃2 5𝑃3 ] + [1 0] = 0
1 𝑃1 − 𝑃2 𝑃2 − 𝑃3 𝑅 5𝑃3 0 0
0 𝑃2 − 𝑃3 2 2
2
3
Commande Optimale
25 2 𝑅 √𝑅
− 𝑃2 + 1 = 0 => 𝑃2 2 = => 𝑃2 = … (1)
𝑅 25 5
1 25 1 25
𝑃1 − 𝑃2 − 𝑃2 𝑃3 = 0 => 𝑃1 = 𝑃2 + 𝑃2 𝑃3 … (2)
2 𝑅 2 𝑅
1 25
2 (𝑃2 − 𝑃3 ) − 𝑃3 2 = 0
2 𝑅
Nous allons calculer Δ pour avoir les valeurs de P3 :
𝑅 2𝑅√𝑅 𝑅 𝑅
Δ= + 45 ( )= ( + 8√𝑅)
25 125 125 5
𝑅
(− ) ± √Δ 1 𝑅
𝑃3 = 25 => 𝑃3 = ( + √Δ) … (3)
2 2 25
Maintenant en utilisant les données de notre exercice on aura pour notre système
en Boucle fermée :
4
Commande Optimale
𝐾𝑚
𝐺=
1 + 𝜏𝑚 𝑝
𝐾𝑚
𝐾
1 + 𝜏𝑚 𝑝 1 1 𝐾𝑚 𝐾1
𝐹𝑇𝐵𝑂 = . =
𝐾𝑚 𝐾2 2
+ 1 𝑝 (𝐾𝑚 𝐾2 + 1)𝑝 + 𝜏𝑚 𝑝
(1 + 𝜏𝑚 𝑝)
𝐾𝑚 𝐾1
(𝐾𝑚 𝐾2 + 1)𝑝 + 𝜏𝑚 𝑝2 𝐾𝑚 𝐾1
𝐹𝑇𝐵𝐹 = =
𝐾𝑚 𝐾1 (𝐾𝑚 𝐾2 + 1)𝑝 + 𝜏𝑚 𝑝2 + 𝐾𝑚 𝐾1
1+
(𝐾𝑚 𝐾2 + 1)𝑝 + 𝜏𝑚 𝑝2
𝐾𝑚 𝐾1
𝜏𝑚 𝐾. 𝑤𝑛 2
𝐹𝑇𝐵𝐹 = = 2
2 (𝐾𝑚 𝐾2 + 1) 𝐾𝑚 𝐾1 𝑝 + 2𝜉𝑤𝑛 𝑝 + 𝑤𝑛 2
𝑝 + 𝑝+
𝜏𝑚 𝜏𝑚
3
𝑤𝑛 = = 14.14427157
𝜉. 𝑇5%
Par superposition nous avons :
𝐾𝑚 𝐾1 2
𝑤𝑛 2 𝜏𝑚
= 𝑤𝑛 => 𝐾1 = = 40.01208 , 𝐾 = 1
𝜏𝑚 𝐾𝑚
(𝐾𝑚 𝐾2 + 1) 2𝜉𝑤𝑛 𝜏𝑚 − 1
= 2𝜉𝑤𝑛 => 2𝜉𝑤𝑛 𝜏𝑚 = (𝐾𝑚 𝐾2 + 1) => 𝐾2 =
𝜏𝑚 𝐾𝑚
2𝜉𝑤𝑛 𝜏𝑚 − 1
𝐾2 = = 3.9
𝐾𝑚
Remarque : On peut trouver directement le 𝐾1 & 𝐾2 A=[0 1;0 -1/2];
B=[0 5]';
sur MATLAB en utilisant la fonction LQR (voir C=[1 0];
après cet exemple) ou on lui donnant directement les D=0;
pole_retour=[-10+10*i;-10-
pôles désirés en Boucle fermée avec la fonction place 10*i] %c’est les poles en BF
L=place(A,B,pole_retour)
5
Commande Optimale
Il nous reste maintenant plus qu’à calculer la valeur de 𝑅 & de la Matrice de
pondération P à partir des équations étudier précédemment :
Nous savons que : 𝐾 = 𝑅−1 𝐵𝑇 𝑃
𝑃 𝑃2
𝐾 = 𝑅−1 [0 5] [ 1 ]
𝑃2 𝑃3
𝐾 = 𝑅−1 [5𝑃2 5𝑃3 ]
[𝐾1 𝐾2 ] = 𝑅−1 [5𝑃2 5𝑃3 ]
𝑅. 𝐾1 = 5. 𝑃2 … (4)
𝑅. 𝐾2 = 5. 𝑃3 … (5)
𝑃2 𝑃3
𝑅 = 5. ; 𝑅 = 5.
𝐾1 𝐾2
A Partir de l’équation (1) et (4) :
𝑃 𝑃2
𝑅 √5. 2 5.
√ 𝐾1 𝐾1
𝑃2 = = => (𝑃2 )2 =
5 5 25
𝑃2 𝑃2
25(𝑃2 )2 = 5. => (𝑃2 )2 − = 0 => (𝑃2 )2 − 0.005𝑃2 = 0
𝐾1 5𝐾1
𝑃2 = 0 & 𝑃2 = 0.005
On peut alors facilement déduire 𝑅 qui est :
√𝑅
𝑃2 = => 𝑅 = (5𝑃2 )2 => 𝑅 = 0.000625
5
A Partir de l’équation (3) :
1 𝑅 𝑅 𝑅
𝑃3 = ( +√ ( + 8√𝑅)) => 𝑃3 = 0.0005126
2 25 125 5
6
Commande Optimale
Et Finalement nous avons à partir de l’équation (2) :
1 25
𝑃1 = 𝑃2 + 𝑃2 𝑃3 => 𝑃1 = 0.10502
2 𝑅
0.10502 0.005
𝑃1 = 0.10502 , 𝑃2 = 0.005 , 𝑃3 = 0.0005126 , => 𝑃 = [ ]
0.005 0.0005126
1 0
Pour : 𝑅 = 0.00625 & 𝑄 = [ ]
0 0
On peut vérifier ses résultats sur MATLAB :
-10.0044 - 9.9969i
Alors nous aurons pour notre 𝑅 = 0.000625 la fonction LQR nous donne :
Les pôles sont de : 𝑃1 = 0.1000 , 𝑃2 = 0.0050 , 𝑃3 = 0.0050
Qui sont à peu près égales à ceux calculer précédemment.
7
Commande Optimale
Et nous avons aussi le gain K calculer par la fonction LQR est égale à celle
calculer via la méthode de retour d’état :
𝐾 = [40 3.9012]
On peut vérifier l’efficacité de ce dernier en calculant la réponse à un échelon :
8
Commande Optimale
On peut ainsi voir que les performances exigées pour notre système que l’on a
simuler en rouge pour 1 ± 0.05 sont vérifiées e :
𝑇05% = 300𝑚𝑠
9
Commande Optimale
Pour les pôles en boucle fermée nous avons notre fonction de transfert :
𝐾. 𝑤𝑛 2 200
𝐹𝑇𝐵𝐹 = 2 =
𝑝 + 2𝜉𝑤𝑛 𝑝 + 𝑤𝑛 2 𝑝2 + 20𝑝 + 200
𝑃1 = −10 + 10𝑖 , 𝑃2 = −10 − 10𝑖
10
Commande Optimale
On va prendre notre système et lui calculer sa réponse indicielle pour des valeurs
de R différente à savoir pour : 𝑅 = 0.1 et 𝑅 = 1
RÉPONSE DU SYSTÈME EN BOUCLE FERMÉE POUR R=0.1 RÉPONSE DU SYSTÈME EN BOUCLE FERMÉE POUR R=1
ANALYSE
On remarque aussi que plus le r est petit plus le système atteindra sa valeur
finale plus rapidement mais de manière plus brusque.
Du coup il faut savoir choisir le r de manière à ce qu’elle soit la plus optimale
possible pour notre fonctionnalité (dans notre cas nous avons 𝑇05% = 300𝑚𝑠).
FIN ANALYSE
11
Conclusion
CONCLUSION
Durant ce TP nous avons étudier le
choix des gains du régulateur en ayant utilisé la
méthode (LQR) et de ce fait nous en savons un
peu plus sur comment fonctionne la méthode
LQR par rapport à la méthode du gain par retour
d’état. Nous avons ainsi pu vérifier l’influence et
le choix du R sur notre système.
12