0% ont trouvé ce document utile (0 vote)
6 vues5 pages

Commande LQG : Théorie et Applications

Le document traite de la linéarisation d'un système non linéaire et de l'analyse du système en boucle ouverte, en utilisant Matlab pour déterminer les matrices A, B, C et D. Il aborde également la commande linéaire quadratique (LQ) en continu et en discret, en expliquant les méthodes de calcul des matrices de gain et de Riccati. Enfin, il introduit la commande linéaire quadratique gaussienne (LQG) qui intègre un estimateur de Kalman pour améliorer les performances du système.

Transféré par

simsim Hamdaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues5 pages

Commande LQG : Théorie et Applications

Le document traite de la linéarisation d'un système non linéaire et de l'analyse du système en boucle ouverte, en utilisant Matlab pour déterminer les matrices A, B, C et D. Il aborde également la commande linéaire quadratique (LQ) en continu et en discret, en expliquant les méthodes de calcul des matrices de gain et de Riccati. Enfin, il introduit la commande linéaire quadratique gaussienne (LQG) qui intègre un estimateur de Kalman pour améliorer les performances du système.

Transféré par

simsim Hamdaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi