TP n◦ 3
Commande Optimale d’un Moteur
à Courant Continu MCC
I. Objectifs du TP:
– Mettre en œuvre la commande optimale,
– Calcul de la commande LQR pour un SLTI,
– Utilisation des fonctions Matlab pour la commande LQR et la résolution des
équations de Riccati,
– Analyse des résultats de la commande optimale.
II. Commande linéaire Quadratique Etude et mise en œuvre :
1. Introduction
La commande linéaire quadratique LQ a l'avantage et l'inconvénient de ne pas
imposer le choix des valeurs propres de la matrice de commande corrigée. Ceci est un
avantage car le concepteur n'a pas à réfléchir sur le choix des valeurs propres, mais c'est
également un inconvénient car on ne choisit donc pas la dynamique du système [1].
Rappels
Le principe de la commande Linéaire Quadratique (LQ), souvent appelée "commande
optimale", est de synthétiser le vecteur K qui contient les gains associés à chaque variable
d’état, il sera calculé en utilisant l’algorithme de la commande linéaire quadratique LQR
qui minimise un critère quadratique.
Le tableau.1 suivant résume le principe de la commande linéaire quadratique [10] :
Tableau 1 : Principe de la commande linéaire quadratique
1
Caractéristique de système :
(J) Moment d’inertie de rotor 3.2284 E-6 kg.m^2
(b) Constant de frottement visqueuse de moteur 3.5077 E-6 N.m.s
(Kb) Constant de force électromotrice 0.0274 V/rad/sec
(Kt) constant de couple moteur 0.0274 N.m/Amp
(R) resistance électrique 4 Ohm
(L) inductance électrique 2.75E-6H
- Commande linéaire quadratique LQ :
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 .1,
Les matrices Q, et R étant symétriques avec 𝑄 ≥ 0 et 𝑅 > 0
On choisira
- Commande linéaire quadratique LQ avec pré compensation :
Le contrôleur que nous avons conçu jusqu'à présent répond à nos exigences
transitoires, mais nous devons maintenant corriger l'erreur en régime permanent.
Nous pouvons trouver ce facteur Nbar en utilisant la fonction définie utilisée rscale.m comme
indiqué ci-dessous.
2
Notez que la fonction rscale.m n'est pas une fonction standard dans MATLAB. Vous devrez
le télécharger ici et le placer dans votre répertoire actuel. Plus d'informations peuvent être
trouvées ici, Extras: rscale.m. (lien :
[Link]
Travail demandé
- Représentation d’état de système :
1. Écrire les équations électriques et mécaniques du moteur,
2. Déduire une représentation d’état du système sous forme :
𝑥̇ = 𝐴𝑥 + 𝐵𝑢
𝑦 = 𝐶𝑥 + 𝐷𝑢
En choisissant comme variables d’état la position du moteur, la vitesse du moteur et le
courant d'induit comme variables d'état. Encore une fois, la tension d'induit est traitée comme
l'entrée et la position de rotation est choisie comme la sortie.
3. Définir le système linéaire sous Matlab à l’aide de la commande (ss.)
4. Déterminer la fonction de transfert du modèle linéaire, utiliser la fonction Matlab (tf)
5. Calculer la matrice P la solution de l’équation de Riccati (3) du tableau .1, par la
fonction Matlab care ?
6. Calculer le gain de retour d’état en utilisant la relation (4) du tableau .1 ?
7. Comparer les matrices P et K obtenues, avec celles qui sont obtenues avec la fonction
lqr de Matlab,
8. Simuler le comportement du système pour différentes valeurs de Q et R en fonction
des réponses obtenues. Conclure, et montrer quelles composantes de Q et R ont de
l'importance dans la régulation? Justifier votre réponse ?
9. Simuler la réponse indicielle de système en appliquant la commande lQR avec pré
compensation. Conclure ?
10. Quel est le rôle d’ajouter la commande LQR avec pré compensation ?
11. Réaliser sous SIMULINK le système en boucle fermée complet avec autre référence ?