tp retour d'état

3
TP espace d'état Université de Caen, M1 EEA Ph. Dorléans, F. Giri TP n°1: Commande par retour d'état ----------------------------------------------------------------------------------------- 1 COMMANDE PAR RETOUR D'ETAT ETUDE DU PRINCIPE I INTRODUCTION Ce TP a pour objectif d'illustrer les concepts de commande par retour d'état de systèmes linéaires monovariables. Les principes et propriétés d'une commande par retour d'état sont étudiés en simulation dans l'environnement logiciel MATLAB/SIMULINK. La méthode employée est une méthode de placement de pôles c'est-à-dire que l'on doit déterminer une commande telle que les pôles du système en boucle fermée soient convenablement placés dans le plan complexe et satisfassent des spécifications d’amortissement, de rapidité... Les pôles de la fonction de transfert étant les valeurs propres de la matrice d’état, le but est donc de réaliser un asservissement modifiant convenablement la matrice d’évolution du système. II BUT DE LA MANIPULATION On s'intéresse donc à la synthèse d'une loi de commande numérique par retour d'état permettant de stabiliser un système quelconque à condition qu'il soit commandable et que son état soit entièrement observable . Le système à commander a pour fonction de transfert : 2 0 2 2 0 0 G(p) p 2 p ϖ = ξϖ 0 ϖ et ξ représentent respectivement la pulsation propre et le coefficient d'amortissement du système. On peut montrer que la fonction de transfert du système échantillonné bloqué correspondant à G(p) a pour expression : ( 29 -1 -2 -1 1 2 -1 -2 1 2 bz bz Gz 1+a z +a z + = Remarque : le système, qui a été choisi, est du 2 nd ordre principalement pour des raisons de simplicité de calcul mais la méthodologie qui sera appliquée peut être étendue à tout système qui possède la propriété d'être commandable et pour lequel l'ensemble des variables d'état sont accessibles à la mesure. III TRAVAIL PREPARATOIRE OBLIGATOIRE 1°) Déterminer la représentation d'état canonique de commandabilité (F, G, H, D) du système à commander G(z -1 ). On appellera u(k), y(k) et x(k) respectivement la commande, la sortie et l'état du système à l'instant k.

Upload: damon-salvatore

Post on 11-Aug-2015

211 views

Category:

Documents


6 download

DESCRIPTION

TP retour d'état.pdf

TRANSCRIPT

TP espace d'état Université de Caen, M1 EEA Ph. Dorléans, F. Giri

TP n°1: Commande par retour d'état ----------------------------------------------------------------------------------------- 1

COMMANDE PAR RETOUR D'ETAT ETUDE DU PRINCIPE

I INTRODUCTION

Ce TP a pour objectif d'illustrer les concepts de commande par retour d'état de systèmes linéaires monovariables. Les principes et propriétés d'une commande par retour d'état sont étudiés en simulation dans l'environnement logiciel MATLAB/SIMULINK. La méthode employée est une méthode de placement de pôles c'est-à-dire que l'on doit déterminer une commande telle que les pôles du système en boucle fermée soient convenablement placés dans le plan complexe et satisfassent des spécifications d’amortissement, de rapidité... Les pôles de la fonction de transfert étant les valeurs propres de la matrice d’état, le but est donc de réaliser un asservissement modifiant convenablement la matrice d’évolution du système.

II BUT DE LA MANIPULATION

On s'intéresse donc à la synthèse d'une loi de commande numérique par retour d'état permettant de stabiliser un système quelconque à condition qu'il soit commandable et que son état soit entièrement observable. Le système à commander a pour fonction de transfert :

20

2 20 0

G(p)p 2 p

ω=+ ξω + ω

0ω et ξ représentent respectivement la pulsation propre et le coefficient d'amortissement du système.

On peut montrer que la fonction de transfert du système échantillonné bloqué correspondant à G(p) a pour expression :

( )-1 -2

-1 1 2-1 -2

1 2

b z b zG z

1+a z +a z

+=

Remarque : le système, qui a été choisi, est du 2nd ordre principalement pour des raisons de simplicité de calcul mais la méthodologie qui sera appliquée peut être étendue à tout système qui possède la propriété d'être commandable et pour lequel l'ensemble des variables d'état sont accessibles à la mesure.

III TRAVAIL PREPARATOIRE OBLIGATOIRE

1°) Déterminer la représentation d'état canonique de commandabilité (F, G, H, D) du système à commander G(z-1). On appellera u(k), y(k) et x(k) respectivement la commande, la sortie et l'état du système à l'instant k.

TP espace d'état Université de Caen, M1 EEA Ph. Dorléans, F. Giri

TP n°1: Commande par retour d'état ----------------------------------------------------------------------------------------- 2

2°) On synthétise une loi de commande par retour d'état sous la forme : u(k) K x(k)= − . A quelle condition peut-on mettre en œuvre une commande par retour d'état ? Est-ce le cas pour le système considéré ? 3°) Lorsque u(k) K x(k)= − , s'agit-il d'un objectif de poursuite ou de régulation ? Dans ce cas, quelle doit être la valeur asymptotique de la sortie y(k) du système bouclé ? 4°) Le vecteur de gain K = [k1 k2] doit être calculé de façon à placer les pôles du système en boucle fermée fixant ainsi le temps de réponse. Calculer le gain de retour d'état tel que le comportement du système en boucle fermée soit semblable à celui d'un système du 2nd ordre continu de pulsation propre cω et de coefficient d'amortissement cξ (il est donc nécessaire de définir les pôles désirés à

partir des pôles du système continu définis par les spécifications précédentes). On notera z1 et z2 ces pôles. 5°) On désire répondre à un objectif de régulation et de poursuite en appliquant une commande de type : u(k) K x(k) y*(k)= − +β . Déterminer les matrices du modèle d'état en boucle fermée entre y(k) et y*(k). Conclure sur l'effet d'un retour d'état concernant la position des pôles et des zéros. 6°) Déterminer l'expression du gain β en fonction des paramètres de G(z-1) et de K permettant d'assurer le suivi d'un signal de référence en échelon sans erreur statique en boucle fermée. 7°) Soient c 0 2rad / sω = ω = , c0,1 0,7ξ = ξ = et Ts la période d'échantillonnage fixée à 0,5

seconde. Calculer la position désirée des pôles du système en boucle fermée. 8°) Avec ces spécifications, quelles performances temporelles et fréquentielles est-on susceptible d'obtenir en boucle fermée ? Les comparer avec celles du système en boucle ouverte en termes de dépassement, de bande passante et de facteur de qualité ou de résonance. Rappel :

• La réponse temporelle à un échelon d’un système du second ordre peut être caractérisée par

deux paramètres qui sont directement liés à la valeur de la pulsation propre et de l’amortissement :

Dépassement : 2

D 100exp1

− πξ = − ξ

et temps du 1er maximum : m2

0

t1

π=ω − ξ

• A partir de ξ, on peut définir le facteur de résonance : 2

1Q

2 1=

ξ − ξ

IV TRAVAIL EXPERIMENTAL

Le travail demandé nécessite de réaliser un programme Matlab qui permet de répondre aux questions suivantes. Il doit être réalisé de manière à offrir une grande souplesse d'utilisation. Ce programme doit être sauvegardé dans un fichier Matlab (extension .m) et dans votre répertoire de travail. La période d'échantillonnage Ts est fixée à 0,5 seconde.

TP espace d'état Université de Caen, M1 EEA Ph. Dorléans, F. Giri

TP n°1: Commande par retour d'état ----------------------------------------------------------------------------------------- 3

1°) En utilisant la fonction Matlab tf , définir le système continu avec une pulsation propre de 2 rad/s et un coefficient d'amortissement de 0,1. On appellera sys l'objet système correspondant. 2°) Discrétiser le système continu en utilisant la fonction Matlab c2d (option 'zoh'). On appellera sysd l'objet système correspondant. 3°) Analyser les performances temporelles et fréquentielles du système à commander ainsi que la position des pôles et des zéros. Est-il stable en boucle ouverte ? Justifier. Rappeler les liens entre ces représentations. Utiliser les fonctions Matlab : figure, step, bode, pzmap. Remarque : il est intéressant de comparer les réponses indicielles et fréquentielles (Bode) des systèmes G(p) et G(z-1) en les traçant sur les mêmes figures. 4°) En utilisant les résultats du travail préparatoire, construire les matrices permettant de définir la représentation d'état canonique de commandabilité du système à commander. Créer un objet contenant la représentation d'état du système. Utiliser la fonction Matlab ss. 5°) Vérifier la commandabilité du système en utilisant la matrice de commandabilité. Utiliser les fonctions Matlab ctrb , det et rank . 6°) En utilisant les résultats du travail préparatoire et les valeurs numériques suivantes : c 0ω = ω et

c 0,7ξ = , faire réaliser par votre programme le calcul du gain de retour d'état. Comparer le résultat

avec celui fourni en utilisant les fonctions Matlab place ou acker. 7°) Observer la position des pôles et des zéros du système en boucle fermée et les comparer à celle du système en boucle ouverte. Conclure sur l'effet d'une commande par retour d'état concernant la configuration des pôles et des zéros. Utiliser la fonction Matlab pzmap. Pour réaliser un objectif de poursuite, en l'occurrence faire suivre à y(t) une séquence de référence y*(t), la loi de commande doit maintenant s'écrire sous la forme : u(k) K x(k) y*(k)= − +β . 8°) Faire réaliser automatiquement le calcul du précompensateur β par votre programme. Créer un objet système en boucle fermée pour la poursuite. Analyser les performances temporelles et fréquentielles du système bouclé. 9°) Sous Simulink, réaliser le schéma éclaté du système bouclé par retour d'état ainsi synthétisé en faisant apparaître chacun des états du système. Rappel : les variables définies dans l’espace de travail de MATLAB peuvent être directement utilisées par SIMULINK en particulier dans la description de la représentation d’état. Cela permet de paramétrer chacun des blocs utiliser sous Simulink. 10°) Simuler le système bouclé en poursuite en choisissant un échelon de consigne unitaire. Observer les signaux de sortie et de commande et les états du système. 11°) Appliquer une consigne nulle et fixer la valeur initiale de l'état x(0) à une position arbitraire (la valeur initiale de chaque état peut être spécifiée dans le bloc intégrateur qui lui est associé). Analyser l'évolution de l'état du système x(k).