TP02 Modélisation
TP02 Modélisation
TP02 Modélisation
MASTER 1
Filière :
- EEEA -
Travaux Pratiques
Réalisé par :
GHEZBOURY Abdellah
KHELFA Walid
1. Partie A
Pour déterminer le modèle du système, on utilise la méthode de Broida. Pour cela, on excite le
système par un échelon de commande d’amplitude convenable. D’abord, nous avons extrait
l’entrée u(t) et la sortie y(t) ainsi que le temps t en utilisant les commandes Matlab suivantes :
Par suite, nous avons visualisé les deux signaux u(t) et y(t) :
Après avoir extraire les signaux, nous avons appelé la fonction « ident » pour déterminer le
modèle du système. Comme ce dernier est stable en boucle ouverte, alors la méthode utilisée
est celle de Broida dont la forme de la fonction de transfert est :
𝐾𝑒 −𝑡𝑎𝑢∗𝑝
𝐻(𝑝) =
1 + 𝑇𝑝
En utilisant les mesures réelles, nous avons déterminé les valeurs de K, T, tau :
Le schéma bloc du modèle sous Simulink est de la forme suivante :
Avec :
En comparant les deux réponses obtenues du système et celle du modèle, on voit bien que les
deux systèmes ont le même comportement que ce soit en régime transitoire ou bien permanent.
Donc, nous pouvons valider notre modèle (précision très grande presque 98%).
Comme on a posé la sortie y du système est égale à x1, alors en visualisant y et x1, on trouve les
réponses ci-dessous (Scope 2) :
La dérivée d’une réponse indicielle est une réponse impulsionnelle. En effet, si on dérive la
sortie y(t) par rapport le temps on obtient :
On peut conclure que si on applique la dérivée à un signal quelconque, elle amplifiée le bruit.
Ensuite, nous allons étudier la stabilité du système. En effet, nous allons calculer les pôles de
la fonction de transfert et les valeurs propres de la matrice A :
Pour les pôles de la fonction de transfert, nous avons trouvé les valeurs suivantes :
P1 = −458.09
P2 = −9.2367
Pour les valeurs propres de la matrice A, nous les avons calculés en utilisant la commande
suivante sur Matlab :
[P, A_tilde]=eig(A);
En effet :
Alors, d’une part on peut déduire que les pôles de la fonction de transfert se sont les mêmes
que les valeurs propres de la matrice A. Par suite, comme ces derniers sont à parties réelles
strictement négatives, alors le système est stable.
Pour étudier maintenant la commandabilité du système, il suffit de calculer sa matrice de
commandabilité. Pour utiliser Matlab, il suffit de taper la commande suivante :
Comme la matrice d’observalité possède un déterminant non nul, alors le système est
observable.
2. Partie B
L’objectif est de chercher une commande u = -Ku(t) par retour d’état amenant y(t) sur des
valeurs de consigne constantes yc.
Ceci revient à chercher un vecteur gain K= [k1 k2] tel que la loi de commande s’écrive :
u = -Kx(t) + Myc
Vo=[-12 -460];
K=place(A, B,Vo);
On trouve :
Pour calculer la matrice M, on suppose que le système est asymptotiquement stable, on aura :
Nous simulons notre système en choisissant comme consigne yc un échelon unitaire et par
suite, nous visualisons la réponse du système et la commande calculée:
Au début, nous avons visualisé chaque réponse toute seule pour que ça soit claire.
Réponse du système
Réponse du commande
En utilisant le même scope pour afficher la réponse du système et de la commande, nous avons
obtenus les résultats suivants :
Nous avons remarqué que les deux réponses sont totalement confondues, ce qui fait que l’erreur
statique est presque nul :
L’erreur statique et presque nul
Vob=5*Vo;
L=place(A',C',Vob)';
On trouve :
Visualisation de y et ŷ
Il se peut que y et ŷ ne seront pas identiques pour 2 raisons principals : le premier c’est que les
matrices A, B, et C sont des approximations du vrai système et le deuxieme c’est qu’on ne connais
pas l’état initial du système( on ne connait pas x à l’instant 0 ).
Si par exemple il y a un différence entre y et ŷ, nous allons utiliser cette différence pour corriger
le système. En effet, nous allons injecter ces deux signaux dans une matrice de gain L en la ajoutant
au commande du système. C’est pour cela nous avons trouvé dans la figure ci-dessus ŷ est très
proche de y. Dans ce cas, nous pouvons considérer que x̂ est très proche de x.
Alors l’erreur d’estimation converge vers 0 comme il est montré dans la figure ci-dessous.
Parce que évidemment x̂ nous pouvons le sortir de l’observateur alors que x est dans le système
donc, on ne peut pas le voir.
Conclusion :
Le terme additionnel L(y(t)- ŷ(t)) permet de compenser les imprécisions du modèle (A, B, C)
ainsi que la méconnaissance de l’état initiale x(0).
En commande analogique classique, l’annulation de l’erreur statique en réponse à un échelon
s’effectue via un correcteur intégral. Il est possible de mettre en œuvre une correction similaire
dans l’espace d’état en considérant une variable d’état :𝑒(𝑡) = ∫(𝑦𝑐 − 𝑦)𝑑𝑡 = ∫(𝑦𝑐 − 𝐶𝑥(𝑡))𝑑𝑡
𝑥(𝑡)
Pour cela, nous considérons l’équation d’état du système augmenté : 𝑍(𝑡) = {
𝑒(𝑡)
Nous appliquons cette loi de commande à notre système, le schéma bloc sous Simulink est de la
forme suivante :