VI.3.2.
Linéarisation du système non linéaire
Utiliser la fonction Matlab jacobian pour trouver A(x, u) et B(x, u),
Evaluer numériquement les matrices A et B au point de fonctionnement (𝑥̅ , 𝑢̅),
Pour ce faire, utiliser la fonction eval de Matlab,
Déterminer les matrices C et D ayant les bonnes dimensions dans le cas où seulement
l’angle 𝜃𝑝 est mesuré.
VI.4. Analyse du système en boucle ouverte
Créer une représentation d’état continue (SysC) avec la fonction ss de Matlab , puis dans
Simulink,
Calculer les pôles du système. Les pôles correspondent aux valeurs propres de la matrice
A. Utiliser la fonction Matlab eig. Conclure,
Vérifier la commandabilité du système en exécutant les fonctions Matlab ctrb et rank.
VI.5. Commande linéaire quadratique LQ
VI.5.1. Cas Continu
Pour obtenir le correcteur dans le domaine continu, la méthode LQR cherche le vecteur K qui
minimise le critère de l’équation (2) du tableau VI.1,
Les matrices Q, et R étant symétriques avec 𝑄 ≥ 0 et 𝑅 > 0
On choisira
1 0
𝑄 = 𝐶𝑇 ∗ 𝐶 = [ ] et 𝑅 = 1
0 0
Calculer la matrice P la solution de l’équation de Riccati (3) du tableau VI.1, par la
fonction Matlab care,
Calculer le gain de retour d’état en utilisant la relation (4) du tableau VI.1,
Comparer les matrices P et K obtenues, avec celles qui sont obtenues avec la fonction lqr
de Matlab,
Simuler le comportement du système pour différentes valeurs de Q et R en fonction des
réponses obtenues. Conclure,
Montrer quelles composantes de Q et R ont de l'importance dans la régulation?
Quelles valeurs de Q et R conservez-vous ? Justifier votre réponse.
50
VI.5.2. Cas discret
Prendre une période d’échantillonnage de 1ms ,
Discrétiser (avec bloqueur d'ordre 0) la représentation d’état continue en utilisant la
fonction Matlab c2dm (option 'zoh'), pour obtenir un nouveau modèle (SysD) et
comparer les deux résultats,
Analyser la position des pôles et des zéros du système discrétisé. Est-il stable en boucle
ouverte ? Justifier. Utiliser les fonctions Matlab pzmap et axis,
Simuler le comportement des modèles continu et discret pour une entrée nulle dans un
fichier Simulink,
Discuter les différences entre les deux modèles pour valider la discrétisation,
Vérifier la commandabilité du système discret en exécutant les fonctions Matlab ctrb et
rank, conclure,
On cherche à trouver une commande optimale (LQR) dans le domaine discret avec les
matrices de pondérations Q et R suivantes :
1 0
𝑄=[ ] et 𝑅 = 1
0 1
Implémenter l’équation de Riccati (8) du tableau VI.1 sous forme récurrente. Définir un
nombre d’itérations suffisamment grand pour assurer une ”bonne” convergence de
l’algorithme,
Après avoir obtenu une approximation de P, calculer la matrice de gain K par la relation
(9) du tableau VI.1,
Calculer la matrice P la solution de l’équation de Riccati (8), par la fonction Matlab dare,
Calculer le gain de retour d’état par la relation (9),
Comparer les matrices P et K obtenues avec celles qui sont obtenues avec la fonction dlqr
de Matlab,
Analyser les performances temporelles et fréquentielles du système bouclé et les comparer
à celles du système en boucle ouverte. Utiliser les fonctions Matlab lsim et bode,
Réaliser sous SIMULINK le système en boucle fermée complet (Système +Contrôleur).
51
TP N°7 :
Commande Linéaire Quadratique
Gaussienne « LQG »
VII.1. Introduction
La commande linéaire quadratique gaussienne, dite commande LQG, est similaire à la
commande LQ, à la différence près qu'elle intègre un estimateur dans la boucle de commande
[1].En effet, la commande LQG, réunit un correcteur LQ et un estimateur de Kalman dans un
souci particulier de réduire les bruits de mesure (Figure VII.1) .
référence mesure
+
Système
-
+ Bruits de
Commande Estimateur de + mesure
Kalman
LQ
Régulateur LQG
Figure VII.1 : Principe de la commande linéaire quadratique gaussienne
[Link]
VII.2.1. Commande optimale linéaire quadratique gaussienne LQG
Cas continu
Dans le cas de systèmes bruités, où interviennent des phénomènes aléatoires, le système sera
donné par :
𝑥̇ (𝑡) = 𝐴 ∙ 𝑥(𝑡) + 𝐵 ∙ 𝑢(𝑡) + 𝑇 ∙ 𝑤(𝑡)
{ 𝑦(𝑡) = 𝐶 ∙ 𝑥(𝑡) + 𝐷 ∙ 𝑢(𝑡) + 𝑣(𝑡)
𝑧 =𝑁∙𝑥
Où w et v représentent des bruits blancs, de moyenne nulle, indépendants, avec
respectivement pour matrice de covariance 𝑊 et 𝑉.
𝐸[𝑤(𝑡)𝑤 𝑇 (𝑡)] = 𝑊 et 𝐸[𝑣(𝑡)𝑣 𝑇 (𝑡)] = 𝑉
53
avec 𝑊 ≥ 0 et 𝑉 > 0
Nous recherchons une loi de commande qui minimise le critère :
∞
𝐽 = 𝐸 {∫ [𝑧 𝑇 (𝑡)𝑄𝑧(𝑡) + 𝑢𝑇 (𝑡)𝑅𝑢(𝑡)]𝑑𝑡}
0
Où 𝑄 et 𝑅 deux matrices de pondération avec : 𝑄 = 𝑄 𝑇 ≥ 0 et 𝑅 = 𝑅 𝑇 > 0
Il faut noter que R est un scalaire si le système à commander est un système mono-entrée
Dans le but d’améliorer les performances et de rejeter les effets des perturbations
éventuelles, on utilise le schéma-bloc de la Figure VII.3.
r u 𝑥 y
+ + -
B ∫ C
- + + 𝜀𝑦
Système
A 𝐾𝑓
+ 𝑦̂
B ∫ C
+ +
Estimateur A
𝑥̂
K
Retour d’état
Figure VII.1 : schéma bloc de l’ensemble retour d’état+estimateur
Pour résoudre ce problème, on va utiliser le principe du théorème de séparation, qui
énonce que la solution est divisée en deux parties :
1. Calcul de l’estimateur de Kalman de gain 𝐾𝑓 = 𝑃𝑓 𝐶 𝑇 𝑉 −1 :
𝑥̇̂ = 𝐴𝑥̂ + 𝐵𝑢 + 𝐾𝑓 (𝑦 − 𝐶𝑥̂ − 𝐷𝑢)
Avec 𝑃𝑓 est la solution de l’équation de Riccati suivante :
𝑃𝑓 𝐴𝑇 + 𝐴𝑃𝑓 − 𝑃𝑓 𝐶 𝑇 𝑉 −1 𝐶𝑃𝑓 + 𝑇𝑊𝑇 𝑇 = 0
54
Avec 𝑃𝑓 = 𝑃𝑓𝑇 > 0
2. Calcul du régulateur optimal LQ : 𝑢 = −𝐾𝑥̂ avec 𝐾 = 𝑅 −1 𝐵 𝑇 𝑃 et 𝑃 solution de
𝑃𝐴 + 𝐴𝑇 𝑃 − 𝑃𝐵𝑅 −1 𝐵𝑇 𝑃 + 𝑁 𝑇 𝑄𝑁 = 0
Donc le réglage du correcteur LQG nécessite la donnée de quatre matrices de pondération : Q
et R pour le retour d’état, V et W pour l'estimateur.
La méthode de réglage la plus simple repose sur un réglage séparé : régler V et W de sorte
que l'état soit bien reconstruit et régler Q et R pour avoir un bon retour d'état.
Cas discret
A l'image de la commande LQG à temps continu, la version à temps discret consiste en la
combinaison d'un filtre de Kalman à temps discret et d'un retour d’état.
VII.3. Description du système
Nous allons utiliser l'exemple d'un train électrique composé d'une locomotive et d'un
wagon. En supposant que le train ne se déplace que dans une seule direction, nous souhaitons
élaborer un contrôleur qui permette un démarrage et un freinage progressifs ainsi qu'un
déplacement à vitesse constante [3].
Figure VII.2 : schéma du train électrique
Les masses de la locomotive et du wagon sont représentées par 𝑀 et 𝑚,
Ils sont reliés par un ressort de coefficient de dureté 𝐾,
La force appliquée par le moteur de la locomotive est notée u,
Le coefficient d’amortissement est noté 𝐵.
55