Vous êtes sur la page 1sur 22

République Algérienne Démocratique et Populaire

Ministère de l’enseignement et de la Recherche Scientifique

Université des Sciences et de la Technologie


HOUARI BOUMEDIENNE
Faculté de Génie Électrique

Département d’Automatique

Commande prédictive et adaptative


TP3

Commande prédictive à base de modèle


d’état

Réaliser par :
FRITES Nadia
TIS NADA
Préparation théorique :
Objectif du TP :
L’objectif est de contrôler un système linéaire stable ou instable en boucle ouverte, en
utilisant la commande prédictive à base de modèle d’état. Cette stratégie de commande
prédictive est plus générale que la DMC et la GPC car elle est basée sur le modèle d'état
discret du système. L’environnement MATLAB sera utilisé pour simuler et contrôler des
système continu et discret en boucle fermée.
A l'issue de ce TP, l'étudiant sera capable de :
• Contrôler les systèmes linéaires qui sont présentés à l'aide d'un modèle d'espace d’état en
utilisant la commande prédictive.
• Déterminer les avantages et les inconvénients de la commande prédictive à base de modèle
d’état.
• Obtenir les meilleures valeurs des paramètres de contrôle (𝑁𝑝, 𝑁𝑢, 𝜆) de cette stratégie de
commande.

Travail de laboratoire :
Dans cette partie, la commande prédictive a base de modèle d’état sera programmée sou
MATLAB dans le but de contrôler le système suivant :
𝑋 (𝐾 + 1) = 𝐴 ⋅ 𝑋(𝑘) + 𝐵 ⋅ 𝑢(𝑘)
𝑦(𝑘) = 𝐶 ⋅ 𝑋(𝐾)
Avec :
𝐴 = [1 0.1 ; −0.4 1]

𝐵 = [1 ; −0.1] 𝐶 = [0 1]
Pour ce faire, suivez les étapes suivantes :
Etape 1 : Stockez les valeurs des paramètres de contrôle (𝑁𝑢 = 1, 𝑁𝑝 = 3, 𝜆 = 0.25), la
matrice 𝐴 et les vecteurs (𝐵, 𝐶) dans des variables.
Etape 2 : En utilisant Matlab et le modèle d’état, calculer les 1000 premières valeurs de la
réponse indicielle.

1) Tracez la réponse obtenue. Que constatez-vous ?


Etape 3 :
Dans le même scripte, écrire un programme qui sert à calculer les sommes 𝑆𝑖
Avec 𝑖 = 0 : 𝑁𝑝 − 1.
1) Formez le vecteur Φ𝑝 et la matrice 𝐺𝑓.
2) Affichez le résultat obtenu et le vérifiez avec celui obtenu dans le cours.
Le résultat obtenu :

Etape 4 : Dans le même scripte, écrire un programme pour calculer la matrice Ψ𝑝, la matrice
du gain et le vecteur 𝑔𝑐 𝑇.
1) Affichez le résultat obtenu et le vérifiez avec celui obtenu dans le cours
Le résultat obtenu :

Etape 5 :
Simulez le système et la loi de commande obtenue en boucle fermée. Où, la référence est un
signal contenant 200 points comme suit : 𝜔=[zeros(1,100),2*ones(1,100)]
1) A l'aide de la fonction « subplot », tracez le signal de commande, la variation du signal de
commande, et dans la même case la référence (en rouge) et la sortie du système (en bleu).
Le résultat obtenu :
2) Calculez le temps de réponse.

Le temps de réponse = 8sec.


3) Calculer le temps de simulation de la boucle de commande et comparer-le avec celui de la
commande GPC et DMC, que constatez-vous.
Le temps de simulation de la boucle de commande :

Le temps de simulation de la commande GPC :


Le temps de simulation de la DMC :

Commentaire :
➢ Le temps de simulation de la commande GPC est inférieur par rapport au
temps de simulation des deux commandes DMC et commande à base de
modèle d’état. Donc la GPC est plus simple que à base de modèle d’état.
4) Changez la valeur de 𝑁𝑝 , 𝑁𝑢 𝑒𝑡 𝜆 pour avoir un temps de réponse minimale.

Partie 2 :
On veut contrôler le système linéaire continu suivant :
𝑋̇ = 𝐴 ⋅ 𝑋 + 𝐵 ⋅ 𝑢
𝑦=𝐶⋅𝑋
Où : 𝐴, 𝐵, 𝐶, 𝑁𝑢, 𝑁𝑝, 𝜆 ne changent pas :
1) En utilisant la fonction ODE45 pour intégrer le système linéaire, tracez la réponse
indicielle des systèmes (continu et discrète) sur la même figure, avec 𝑇𝑠 = 0.001

2) Refaire les étapes de 1 à 5 pour contrôler le système continu.


Etape 1 :
Stockez les valeurs des paramètres de contrôle (𝑁𝑢 = 1, 𝑁𝑝 = 3, 𝜆 = 0.25), la matrice 𝐴 et les
vecteurs (𝐵, 𝐶) dans des variables.
Etape 2 :
En utilisant Matlab et le modèle d’état, calculer les 1000 premières valeurs de la réponse
indicielle.
1) Tracez la réponse obtenue. Que constatez-vous ?

Etape 3 :
Dans le même scripte, écrire un programme qui sert à calculer les sommes 𝑆𝑖 avec 𝑖 = 0: 𝑁𝑝
− 1.
1) Formez le vecteur Φ𝑝 et la matrice 𝐺𝑓.

2) Affichez le résultat obtenu et le vérifiez avec celui obtenu dans le cours.

Etape 4 :
Dans le même scripte, écrire un programme pour calculer la matrice Ψ𝑝, la matrice du gain
et le vecteur 𝑔𝑐 𝑇.
1) Affichez le résultat obtenu et le vérifiez avec celui obtenu dans le cours .
Etape 5 :
Simulez le système et la loi de commande obtenue en boucle fermée. Où, la référence est un
signal contenant 200 points comme suit : 𝜔=[zeros(1,100),2*ones(1,100)]
1) A l'aide de la fonction « subplot », tracez le signal de commande, la variation du signal de
commande, et dans la même case la référence (en rouge) et la sortie du système (en bleu).
3) Calculer le temps de simulation de la boucle de commande et comparer-le avec celui de la
commande GPC et DMC, que constatez-vous.

Les commentaires :
➢ La commande à base de modèle d’état on peut l’appliquer pour n’importe
quel système par contre la commande GPC il nous faut un système à base
de modèle KARIMA. C’est un avantage de la commande à base de
modèle d’état.
➢ Parmi les inconvénients de cette commande : Dans la commande à base
de modèle d’état on manipule les vecteurs d’état (les variables) des
produits matricielles (des matrices avec des puissance) qui ont besoin des
efforts de calculs vraiment lourd c'est ce qui rend notre programme
compliqué contrairement à la commande GPC qui est simple (un simple
algorithme qui nous calcules juste les paramètre F1 F2 G1 G2 H1
Q1.......) la commande GPC mesure que la sortie.
➢ Le temps de simulation de la commande GPC est inférieur par rapport au
temps de simulation des deux commandes DMC et commande à base de
modèle d’état. Donc la GPC est plus simple que à base de modèle d’état.
➢ Le Temps de réponse de la commande à base de modèle d’état est mieux
que le temps de réponse de la commande GPC (plus précis que la GPC) et
même si on change la variable 𝜆 notre système reste stable en boucle
fermé mais dans le cas de la commande GPC on a une condition sur la
valeur de 𝜆 si on touche sa limite le système devient instable.
La commande GPC est plus utilisé en industrie que la
commande à base de modèle d’état :
➢ Car dans la commande à base de modèle d’état on doit d’abord mesurer
les variables d'état.
➢ Les capteurs sont très chers et ils ne sont pas toujours disponible dans le
marché, et il 'ya des cas où on ne peut pas utiliser ces capteurs par
exemple dans le cas d’un moteur à courant continue ses variables sont le
courant et flux magnétique (pour mesurer le flux il ne faut un capteur
placé en enroulement des moteurs de 1 emplacement difficile plus résultat
bruité donc il nous faut un filtre).
➢ Par contre la commande GPC on mesure que la sortie (vitesse) et pour
mesurer la vitesse on utilise tout simplement les encodeurs.

Vous aimerez peut-être aussi