0% ont trouvé ce document utile (0 vote)
57 vues14 pages

Commande TP04

Transféré par

Amine Meddah
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)
57 vues14 pages

Commande TP04

Transféré par

Amine Meddah
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

‫الجمـهوريةالجـزائريةالديمقـراطيةالشعبيـ‬

‫ة وزارة التعليـم العالـي و البحــث العلمـي‬

Université Ferhat ABBAS – Sétif 1


Faculté de Technologie 1‫ﺟاﻣعــة فرحــات عبـاس سطـيــف‬
Département d’électrotechnique ‫كليـــة التكنـولـوﺟـيــا‬
‫ﻗﺴــــــم اﻻلكتروتقنية‬

Commande avancée
TP N°4
‘’ Commandes optimales d’un système masse ressort ‘’

Préparé par :
MEDDAH Mohamed Amine

Année universitaire 2024/2025


Introduction :
Ce TP se concentre sur l'étude d'un système masse-ressort modélisé par une
équation différentielle linéaire du second ordre. Ce type de système est
représentatif de nombreux phénomènes physiques dans lesquels une masse est
soumise à une force externe et une interaction élastique. Dans ce contexte, les
systèmes de commande jouent un rôle crucial pour stabiliser et contrôler le
système afin d'amener la masse à une position d'équilibre.

Objectif :
L'objectif de ce TP est de déterminer et d'implémenter différentes stratégies de
commande permettant de stabiliser la masse à sa position d'équilibre en plaçant
les pôles du système dans des positions précises. Nous analyserons notamment :
1. Une commande conventionnelle avec retour d'état non unitaire ;
2. Une commande de type temps minimal ;
3. Une commande LQR (Linear Quadratic Regulator) ;
4. Une commande LQG (Linear Quadratic Gaussian).
Nous étudierons pour chaque cas l'évolution de la position, de la commande et
du plan de phase, et nous interpréterons les résultats obtenus.

Manipulation
Considérons le système masse ressort représenté par l’équation de mouvement
suivante :

On veut amener la masse à sa position d’équilibre en plaçant les pôles (- 1 ,- 2)


dans un premier temps et on calcul la commande qui nous permettre atteindre
cet objectif puis on cherche si possible d’autres commandes adéquates de nous
résoudre ce problème. On demande l’évolution de la position, la commande et le
plan de phase dans les cas :
D’une commande LQR (Linear Quadratic Regulator) :
Le programme MATLAB :

Script principale pour la commande LQR :


Explication du code :
1. Système Non Linéaire : La fonction nonlinear_system décrit l'évolution de l'état du système
masse-ressort, avec une accélération non linéaire due à un terme cubique (-2*x(1)^3).
2. Commande Conventionnelle (Placement des pôles) : La commande est calculée par
placement des
pôles. Le gain K est déterminé à l'aide de la fonction place, qui place les pôles à -1 et -2.
3. Commande LQR (Linear Quadratic Regulator) : Le gain de la commande optimale K_lqr
est calculé à l'aide de la fonction lqr, qui prend en compte des matrices de pondération de l'état (Q) et
de la commande (R).
4. Simulation avec ode45 : Les simulations du système sont effectuées avec la fonction ode45, qui
résout numériquement les équations différentielles du système pour les deux types de commande
(conventionnelle et LQR).
5. Affichage des résultats :
o Évolution de la position : Une comparaison graphique est faite entre la position
obtenue avec la commande conventionnelle et la commande LQR.
o Commande appliquée : La commande appliquée est tracée en fonction du temps
pour les deux stratégies de commande.
o Plan de phase : Le plan de phase (position vs vitesse) est affiché pour les deux
commandes afin de comparer les trajectoires de l'état .
D’une commande LQG (Linear Quadratic Gaussian) :

Pour une commande LQG (Linear Quadratic Gaussian), nous devons


inclure un filtre de Kalman pour l'estimation d'état et intégrer cette estimation
dans le retour d'état optimal.
Fonction du système :La fonction nonlinear_system reste inchangée, car elle
modélise le comportement non linéaire réel du système.
Script principal pour la commande LQG :
Ce code en MATLAB modélise un système dynamique avec une commande optimale (LQR)
et un filtre de Kalman pour l'estimation de l'état. Voici une explication détaillée de chaque
section du code :
1. Commande LQR manuelle
Le contrôle optimal est obtenu par la méthode LQR (Linear Quadratic Regulator), qui
minimise un coût quadratique basé sur l'état et la commande.
Q = eye(2); définit la matrice de pondération des états (ici, une pondération identitaire),
R = 1; définit la pondération de la commande.
La solution de l'équation de Riccati est calculée via la fonction care, ce qui permet d'obtenir
le gain
optimal K_lqr.
2. Filtre de Kalman manuel
Un filtre de Kalman est utilisé pour estimer les états du système à partir de mesures bruitées.
Qw = 1e-3 * eye(2); représente le bruit de processus, tandis que Rv = 1e-3; est le bruit
de mesure.
Le gain du filtre de Kalman, L_kalman, est calculé en résolvant l'équation de Riccati
associée au problème d'estimation.
3. Simulation avec LQG (Linear Quadratic Gaussian)
La simulation se fait avec un système ayant des incertitudes (bruit de processus et de
mesure).
L'état réel x_real est mis à jour avec le contrôle LQR et un bruit de processus ajouté.
L'état estimé x_est est mis à jour avec le filtre de Kalman à chaque étape, basé sur la
mesure bruitée y_meas.
Le contrôle est basé sur l'estimation de l'état x_est, avec une commande u = -K_lqr *
x_est.
4. Boucle de simulation (pas-à-pas)
La simulation se déroule sur un intervalle de temps défini (tspan = [0 10];) avec un pas
de temps dt = 0.01.
À chaque étape, on effectue :
o La mise à jour de l'état réel du système avec le contrôle LQR et un bruit de processus,
o La mise à jour de l'estimation de l'état via le filtre de Kalman, avec une mesure bruitée.
Les résultats (état réel, état estimé et commande appliquée) sont enregistrés à chaque instant.

Les résultats obtenus :


cammande en temps minimal :

Le programme MATLAB :
Fonction du système
Script principal :
ce programme simule l'évolution d'un système dynamique contrôlé par une
commande optimale, en affichant :
La trajectoire du système dans le plan x1-x2x_1 - x_2x1-x2,
L'évolution des variables associées à un problème d'optimisation,
La réponse temporelle de la commande optimale appliquée au système.
Les résultats obtenus :
 d’une commande conventionnelle avec retour d’état non
unitaire :
Fonction du système

Script principal :
Les résultats obtenus :
Conclusion du Travail
Ce travail a permis d'analyser et de comparer différentes stratégies de commande pour un
système masseressort, notamment la commande conventionnelle avec retour d'état non
unitaire, la commande optimale LQR (Linear Quadratic Regulator) et la commande optimale
LQG (Linear Quadratic Gaussian).
À travers les simulations MATLAB, les résultats obtenus montrent que :
La commande conventionnelle avec placement des pôles stabilise efficacement
le système mais peut présenter une convergence plus lente.
La commande LQR offre une meilleure performance en minimisant un coût
quadratique, assurant ainsi une trajectoire optimale en termes d'énergie dépensée et de temps
de stabilisation.
La commande LQG, incluant un filtre de Kalman pour l'estimation d'état, permet une
stabilisation robuste même en présence de bruits de mesure et de processus.
Les graphiques illustrant l'évolution temporelle de la position et de la vitesse ainsi que les
trajectoires dans le plan de phase confirment que chaque approche présente des avantages
spécifiques en fonction des contraintes du système.
En conclusion, ce TP a permis de mettre en évidence l'importance du choix de la stratégie de
commande adaptée pour stabiliser et contrôler un système dynamique, tout en optimisant les
performances globales du système.

Vous aimerez peut-être aussi