Upload
lephuc
View
217
Download
0
Embed Size (px)
Citation preview
CLN-TP#3CLN-TP#3 1/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
Objectifs des TP no. 4Objectifs des TP Objectifs des TP nono. 4. 4
•• Analyser quelques méthodes de commande numérique dans l’espace Analyser quelques méthodes de commande numérique dans l’espace d’état.d’état.•• Déterminer des commandes numériques d’abord par retour d’état Déterminer des commandes numériques d’abord par retour d’état
direct et puis par retour d’état reconstruit pour le processus rdirect et puis par retour d’état reconstruit pour le processus réel, afin éel, afin d’analyser leurs performances en simulation.d’analyser leurs performances en simulation.•• Programmer la commande par retour d’état reconstruit sous Programmer la commande par retour d’état reconstruit sous MMATLABATLAB
et appliquer la procédure au processus, à l’aide du boîtier et appliquer la procédure au processus, à l’aide du boîtier ADUSBADUSB..
101101
Avant de commencer, une petite préparation est nécessaireAvant de commencer, une petite préparation est nécessaireAvant de commencer, une petite préparation est nécessaire
modélisé parmodélisé parmodélisé par[ 1] [ ] [ ][ ] [ ] [ ]
d d
Td d
n n u ny n n d u n
+ = +⎧⎨
= +⎩
x A x bc x
reprrepréésentation dans l'espace d'sentation dans l'espace d'éétattat
n∀ ∈N
Processus continu.Processus continu.Processus continu.
Modèle discret.ModModèèle discret.le discret.
Paramètres Paramètres àà
ddééterminerterminer::nx nx
d×∈A R nx
d ∈b Rnx
d ∈c R dd ∈R……
etet nxCommentComment??
Par une stratégie astucieuse (on verra).
Par une Par une stratégie stratégie astucieuse astucieuse ((on verraon verra). ).
•PourtantPourtantPourtant
On connaît des modèles continus E/S.
On connaît des On connaît des modèles continus E/S. modèles continus E/S.
ConseilConseilConseil
Si votre matériel de manipulation a changé depuis les TP #1, avant de commencer les manipulations de ces TP, il est recommandé de reprendre la partie concernant l’identification basée sur l’abaque de Strejc, avec le matériel dont vous disposez à présent.
Si votre matériel de manipulation a changé depuis les Si votre matériel de manipulation a changé depuis les TP #1TP #1, avant de commencer les manipulations de ces TP, , avant de commencer les manipulations de ces TP, il est recommandé de reprendre la partie concernant il est recommandé de reprendre la partie concernant l’identification basée sur l’l’identification basée sur l’abaque de abaque de StrejcStrejc, avec le , avec le matériel dont vous disposez à présent. matériel dont vous disposez à présent.
CLN-TP#3CLN-TP#3 2/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
102102
Tâche#1Tâche#1Tâche#1 Construction un modèle d’état discret associé au processus ADUSBConstruction un modèle d’état discret associé au processus Construction un modèle d’état discret associé au processus ADUSBADUSB
40'40'1.Ouvrir un nouveau fichier de type .m.1.1.Ouvrir un nouveau fichier de type Ouvrir un nouveau fichier de type .m.m..
2.Insérer des commentaires dans le fichier:2.2. Insérer des commentaires dans le fichier:Insérer des commentaires dans le fichier:
>> % CLN#4-TP#1 : Modèle d'état discret du processus ADUSB>> % >> % CLNCLN##44--TP#TP#1 : Modèle d'état discret du processus 1 : Modèle d'état discret du processus ADUSBADUSB
>> % Binôme de travail no. ... (NOM1, NOM2)>> % Binôme de travail >> % Binôme de travail nono. ... (NOM1, NOM2). ... (NOM1, NOM2)
3.Sauvegarder le fichier dans un répertoire de votre choix. 3.3.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP1_NOM1_NOM2.MCLNCLN44_TP_TP11_NOM1_NOM2_NOM1_NOM2.M.M
4.À partir du modèle de Strejc
du processus, obtenu en TP#1, écrire une partie de logiciel pour déterminer d'abord le modèle d’état continu.
4.4.À partir du À partir du modèle de modèle de StrejcStrejc
du processus, obtenu en du processus, obtenu en TP#1TP#1, écrire une partie , écrire une partie de logiciel pour déterminer d'abord de logiciel pour déterminer d'abord le modèle d’état continule modèle d’état continu. .
Utiliser la fonction Utiliser la fonction MMATLABATLAB >> TF2SS>> TF2SS>> TF2SS ((TransferTransfer
FunctionFunction
to State to State SpaceSpace))
Pour voir la syntaxe: Pour voir la syntaxe: >> help TF2SS>> help TF2SS>> help TF2SS
Déposer le résultat Déposer le résultat dans les variables: dans les variables:
Convertit une fonction de transfert en un modèle dans l'espace d'état continu!
Convertit une fonction de Convertit une fonction de transfert en un modtransfert en un modèèle dans le dans l'espace d'l'espace d'éétat continu!tat continu!A b
c d®® RappelRappelRappel
( ) ( ) ( )( ) ( ) ( )T
t t u ty t t du t
= +⎧⎨
= +⎩
x Ax bc x
reprrepréésentation dans l'espace d'sentation dans l'espace d'éétat tat continucontinut +∀ ∈R
probablement probablement nulnul
Pour voir la syntaxe: Pour voir la syntaxe: >> help C2DM>> help C2DM>> help C2DM
CLN-TP#3CLN-TP#3 3/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
103103
Tâche#1Tâche#1Tâche#1 Construction un modèle d’état discret associé au processus ADUSBConstruction un modèle d’état discret associé au processus Construction un modèle d’état discret associé au processus ADUSBADUSB
5.Convertir le modèle d’état continu en un modèle d'état discret. 5.Convertir le modèle d’état continu en 5.Convertir le modèle d’état continu en un modèle d'état discretun modèle d'état discret. .
Utiliser la fonction Utiliser la fonction MMATLABATLAB >> C2DM>> C2DM>> C2DM ((ContinuousContinuous
to to DiscreteDiscrete
Model)Model)
Déposer le résultat Déposer le résultat dans les variables: dans les variables:
Choisir Te = ΔT!Choisir Choisir TTee = = ΔΔTT!!
dA db dc dd probablement probablement nulnul
6.Tracer les graphiques de la sortie des deux modèles (continu et discret) pour la durée Tf
(de 20 à 60 s), sur une même figure, comme réponses à
la même entrée de type échelon.
6.6.Tracer les graphiques de la sortie des deux modèles (continu et Tracer les graphiques de la sortie des deux modèles (continu et discret) discret) pour la durée pour la durée TTff
(de 20 à 60 s), sur une même figure, comme réponses (de 20 à 60 s), sur une même figure, comme réponses àà
la même entrée de type échelon. la même entrée de type échelon.
Utiliser la fonction Utiliser la fonction MMATLABATLAB >> STEP>> >> STEPSTEP
Les fonctions Les fonctions MMATLABATLAB
évoquées auparavant travaillent avec les paramètres évoquées auparavant travaillent avec les paramètres des modèles (fonction de transfert, représentation sur l’espace des modèles (fonction de transfert, représentation sur l’espace d’état). d’état).
Par contre, la fonction Par contre, la fonction STEPSTEP
utilise comme argument d’entrée utilise comme argument d’entrée un objet spécialisé de type un objet spécialisé de type SYSSYS. . On peut produire cet objet à partir des paramètres On peut produire cet objet à partir des paramètres du modèle d'état discret, en utilisant la fonction: du modèle d'état discret, en utilisant la fonction: >> SS>> SS>> SS (State (State SpaceSpace))
On peut produire un objet SYS, soit en temps continu, soit en temps discret!
On peut produire un objet On peut produire un objet SYSSYS, soit en temps continu, , soit en temps continu, soit en temps discret!soit en temps discret!
Pour aboutir, on a besoin de travailler avec des objets Pour aboutir, on a besoin de travailler avec des objets SYSSYS
àà
la fois continus et discrets.la fois continus et discrets.
CLN-TP#3CLN-TP#3 4/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
104104
Tâche#1Tâche#1Tâche#1 Construction un modèle d’état discret associé au processus ADUSBConstruction un modèle d’état discret associé au processus Construction un modèle d’état discret associé au processus ADUSBADUSB
7.Comparer la sortie du modèle discret avec la réponse indicielle obtenue lors des TP#1, tout en traçant la réponse indicielle du processus sur la même
fenêtre du pas précédent.
7.7.Comparer la sortie du modèle discret avec la réponse indicielle Comparer la sortie du modèle discret avec la réponse indicielle obtenue lors des obtenue lors des TP#1TP#1, tout en traçant la réponse indicielle du processus sur la même, tout en traçant la réponse indicielle du processus sur la même
fenêtre du fenêtre du pas précédent. pas précédent.
Pour ce faire, charger d'abord le vecteur Pour ce faire, charger d'abord le vecteur y_rny_rn
dans le dans le WSWS, , de un de vos fichiers de sauvegarde.de un de vos fichiers de sauvegarde.
8.Calculer les pôles des modèles continu et discret et afficher les résultats. 8.Calculer les pôles des modèles continu et discret et afficher 8.Calculer les pôles des modèles continu et discret et afficher les résultats. les résultats.
Utiliser la fonction Utiliser la fonction MMATLABATLAB >> eig>> >> eigeig ((eigenvalueseigenvalues))
Les comptes rendus de cette manipulation contiendront
Les comptes rendus de cette Les comptes rendus de cette manipulation contiendrontmanipulation contiendront
1 logiciel 1 logiciel MMATLABATLAB
commentaires sur les résultats obtenus commentaires sur les résultats obtenus 1 figure 1 figure MMATLABATLAB
ConseilConseilConseil
Dans vos commentaires, ne pas oublier d’analyser la stabilité
des deux modèles (continu et discret).
Dans vos commentaires, ne pas oublier Dans vos commentaires, ne pas oublier d’analyser d’analyser la stabilitéla stabilité
des deux modèles des deux modèles (continu et discret). (continu et discret).
®® RappelRappelRappel Les pôles d'un système représente dans l'espace d'état sont les valeurs propres de la matrice principale (A
ou Ad
).
Les pôles d'un système représente dans l'espace d'état sont Les pôles d'un système représente dans l'espace d'état sont les valeurs propres de la matrice principale (les valeurs propres de la matrice principale (AA
ou ou AAdd
).).
Utiliser les résultats du pas 8 ci-dessus, dans ce but.Utiliser les résultats du pas 8 ciUtiliser les résultats du pas 8 ci--dessus, dans ce but.dessus, dans ce but.
Observer comment la matrice du système a changé!Observer comment la matrice du systObserver comment la matrice du systèème a changme a changéé!!
CLN-TP#3CLN-TP#3 5/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
105105
Avant de continuer, une petite préparation est nécessaireAvant de continuer, une petite préparation est nécessaireAvant de continuer, une petite préparation est nécessaire
Le processus sera contrôlé
dans ces TP par quelques régulateurs avec retour d'état (mesuré
ou observé). Le processus sera contrôlLe processus sera contrôléé
dans ces TP par quelques régulateurs dans ces TP par quelques régulateurs avec retour d'état (mesuravec retour d'état (mesuréé
ou observou observéé)). .
• Si notre modèle permet de mesurer les étatsSi notre modèle permet de mesurer les états, alors, une commande naturelle pourrait , alors, une commande naturelle pourrait être construite à partir des états mesurées (x) et de la consignêtre construite à partir des états mesurées (x) et de la consigne à poursuivre (e à poursuivre (yyrr
), ), comme suit: comme suit:
[ ] [ ] [ ]Ts r ru n n k y n= − +k x
n∀ ∈N
vecteur des gains de vecteur des gains de retour d'retour d'éétattat
gain de la consigne gain de la consigne (scalaire)(scalaire)
Tous les deux gains sont à déterminer!Tous les deux gains sont Tous les deux gains sont àà ddééterminer!terminer!
• Si on remplace la définition de la commande numérique (ciSi on remplace la définition de la commande numérique (ci--dessus) dans la dessus) dans la première équation du modèle d'état discret, on trouve l’équationpremière équation du modèle d'état discret, on trouve l’équation
suivante: suivante:
( )[ 1] [ ] [ ]Td d s r d rn n k y n+ = − +x A b k x b
n∀ ∈N
Choisir le gain vectoriel
de telle manière que les pôles du système discret en boucle fermée aient des valeurs imposées par l’utilisateur
(situés à l’intérieur du cercle unité dans le plan complexe, afin de garantir la stabilité globale).
Choisir Choisir le gain vectorielle gain vectoriel
de telle manière que les pôles du système discret en de telle manière que les pôles du système discret en boucle fermée boucle fermée aient des valeurs imposées par l’utilisateuraient des valeurs imposées par l’utilisateur
(situés à l’intérieur (situés à l’intérieur du cercle unité dans le plan complexe, afin de garantir la stabidu cercle unité dans le plan complexe, afin de garantir la stabilité globale).lité globale).
Formule d'Ackermann(–Kautsky–Nichols) Formule d'Ackermann(Formule d'Ackermann(––KautskyKautsky––NicholsNichols) )
https://en.wikipedia.org/wiki/
Ackermann%27s_formula
https://en.wikipedia.org/wiki/https://en.wikipedia.org/wiki/
Ackermann%27s_formulaAckermann%27s_formula
( ) 1( )( )( )
T Tbf r d nx d d s d
r
Y zH z k zY z
−= = − +c I A b k b
CLN-TP#3CLN-TP#3 6/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
106106
• La fonction La fonction MMATLABATLAB
qui implémente la formule d'Ackermann est: qui implémente la formule d'Ackermann est:
En fait, il s'agit d'une démarche de placement de pôles!En fait, il s'agit d'une dEn fait, il s'agit d'une déémarche de marche de placement placement de pôles!de pôles!
>> place>> place>> place
Comment dComment dééterminer le gain scalaireterminer le gain scalaire?? rkDe l’équation de sortie du modèle on élimine d'abord l’état
et puis on
applique
la TZ
au résultat (avec le Théorème du retard).
De l’équation de sortie du modèle De l’équation de sortie du modèle on élimine d'abord l’étaton élimine d'abord l’état
et et puis puis onon
appliqueapplique
la la TZTZ
au résultat (avec le au résultat (avec le Théorème du retardThéorème du retard).).
( ) 1( ) ( )T Tr d nx d d s d rY z k z Y z
−= − +c I A b k b
fonction de transfert en boucle fermfonction de transfert en boucle fermééee
• On souhaite maintenant que le gain statique du système en boucleOn souhaite maintenant que le gain statique du système en boucle
fermée soit fermée soit unitaireunitaire. .
(1) 1bfH =
( ) 11
r T Td nx d d s d
k −=− +c I A b k b
AlorsAlorsAlorsDéterminer Déterminer le gain vectorielle gain vectoriel
a l'aide de la fonction a l'aide de la fonction placeplace..
Déterminer Déterminer le gain scalairele gain scalaire
avec la formule ciavec la formule ci--dessus.dessus.
( )Td d s−A b k
Attention à la matrice modifiée!Attention Attention àà la matrice modifila matrice modifiéée!e!
Pour voir la syntaxe: Pour voir la syntaxe: >> help place>> help place>> help place
CLN-TP#3CLN-TP#3 7/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
107107
Tâche#2Tâche#2Tâche#2 Mettre en place la commande numérique par retour d’état direct, en simulation
Mettre en place la commande numérique par retour d’état direct, Mettre en place la commande numérique par retour d’état direct, en simulationen simulation
40'40'1.Ouvrir un nouveau fichier de type .m.1.1.Ouvrir un nouveau fichier de type Ouvrir un nouveau fichier de type .m.m..
2.Insérer des commentaires dans le fichier:2.2. Insérer des commentaires dans le fichier:Insérer des commentaires dans le fichier:
>> % CLN#4-TP#2 :
Initialisation du schéma de simulation de commande numérique par retour d’état direct
>> % >> % CLNCLN##44--TP#TP#2 :2 :
Initialisation du schéma de simulation Initialisation du schéma de simulation de commande numérique par retour d’état de commande numérique par retour d’état directdirect
>> % Binôme de travail no. ... (NOM1, NOM2)>> % Binôme de travail >> % Binôme de travail nono. ... (NOM1, NOM2). ... (NOM1, NOM2)
3.Sauvegarder le fichier dans un répertoire de votre choix. 3.3.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP2_NOM1_NOM2.MCLNCLN44_TP_TP22_NOM1_NOM2_NOM1_NOM2.M.M
4.Inclure dans votre fichier le logiciel précédent, mais sans l’affichage des graphiques, ni le calcul des pôles.
4.4. Inclure dans votre fichier le logiciel précédent, mais sans l’afInclure dans votre fichier le logiciel précédent, mais sans l’affichage fichage des graphiques, ni le calcul des pôles. des graphiques, ni le calcul des pôles.
Il faut juste déterminer les paramètres du modèle discret d'étatIl faut juste déterminer les paramètres du modèle discret d'état, , à partir du modèle identifié par la à partir du modèle identifié par la Méthode de Méthode de StrejcStrejc..
5.Déterminer le gain vectoriel de retour d'état tel que le système
discret bouclé ait pour pôles 0.8
et 0.81. 5.5.Déterminer le gain vectoriel de retour d'état tel que le systèmeDéterminer le gain vectoriel de retour d'état tel que le système
discret bouclé discret bouclé ait pour pôles ait pour pôles 0.80.8
et et 0.810.81. .
Utiliser la fonction Utiliser la fonction MMATLABATLAB >> place>> place>> place
sk
CLN-TP#3CLN-TP#3 8/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
108108
Tâche#2Tâche#2Tâche#2 Mettre en place la commande numérique par retour d’état direct, en simulation
Mettre en place la commande numérique par retour d’état direct, Mettre en place la commande numérique par retour d’état direct, en simulationen simulation
6.Calculer le gain scalaire de la consigne. 6.6.Calculer le gain scalaire de la consigne. Calculer le gain scalaire de la consigne. rk
7.Rouler votre logiciel MATLAB
comme initialisation pour le schéma SIMULINK
à suivre.
7.7.Rouler votre logiciel Rouler votre logiciel MMATLABATLAB
comme initialisation pour le schéma comme initialisation pour le schéma SSIMULINKIMULINK
à suivre. à suivre.
®® RappelRappelRappel ( ) 11
r T Td nx d d s d
k −=− +c I A b k b
8.Démarrer l’environnement de simulation SIMULINK
et ouvrir un nouveau fichier de type .mdl
(modèle SIMULINK).
8.8.Démarrer l’environnement de simulation Démarrer l’environnement de simulation SSIMULINKIMULINK
et ouvrir un nouveau fichier et ouvrir un nouveau fichier de type de type ..mdlmdl
(modèle (modèle SSIMULINKIMULINK).).
9.Sauvegarder le fichier dans un répertoire de votre choix. 9.9.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP2_NOM1_NOM2.MDLCLNCLN44_TP_TP22_NOM1_NOM2._NOM1_NOM2.MDLMDL
10.
En utilisant la bibliothèque de SIMULINK, construire le schéma de simulation du système bouclé, mais avec le modèle du système en temps continu.
10.10.
En utilisant la bibliothèque de En utilisant la bibliothèque de SSIMULINKIMULINK, construire le schéma de simulation , construire le schéma de simulation du système bouclé, mais avec le modèle du système du système bouclé, mais avec le modèle du système en temps continuen temps continu. .
Pour le système en temps continu, dans la Pour le système en temps continu, dans la représentation sur l’espace d'état, il existe le blocreprésentation sur l’espace d'état, il existe le bloc State-SpaceStateState--SpaceSpace
Puisque les états sont nécessaires pour calculer la commande, Puisque les états sont nécessaires pour calculer la commande, il faut séparer le modèle continu en deux blocsil faut séparer le modèle continu en deux blocs..
( ) ( ) ( )( ) ( )s
t t u tt t= +⎧
⎨ =⎩
x Axxy
b[ ] [ ]T
sy n n= c y
permet de calculer la commandepermet de calculer la commande
[ ] [ ] [ ]Ts r rsu n n k y n= − +yk
utiliser le bloc utiliser le bloc matricielmatriciel GainGainGain
0d =
CLN-TP#3CLN-TP#3 9/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
109109
Tâche#2Tâche#2Tâche#2 Mettre en place la commande numérique par retour d’état direct, en simulation
Mettre en place la commande numérique par retour d’état direct, Mettre en place la commande numérique par retour d’état direct, en simulationen simulation
11.
Fixer le temps de simulation Tf
à 60 s. Appliquer comme consigne un échelon unitaire à l’instant T0
=0
et rajouter un échelon unitaire supplémentaire à l’instant T20
=20 s. À partir de l'instant T40
=40 s
, appliquer une perturbation constante d’amplitude –0.5
à la sortie du processus.
11.11.
Fixer le temps de simulation Fixer le temps de simulation TTff
à à 60 s60 s. Appliquer comme consigne un échelon . Appliquer comme consigne un échelon unitaire à l’instant unitaire à l’instant TT00
=0=0
et rajouter un échelon unitaire supplémentaire à et rajouter un échelon unitaire supplémentaire à l’instant l’instant TT2020
=20 s=20 s. À partir de l'instant . À partir de l'instant TT4040
=40 s=40 s
, appliquer une perturbation , appliquer une perturbation constante d’amplitude constante d’amplitude ––0.50.5
à la sortie du processus. à la sortie du processus.
12.
Tracer les graphiques de signaux suivants: la commande, les états, la consigne et la sortie (les deux derniers dans la même fenêtre).
12.12.
Tracer les graphiques de signaux suivants: la commande, les étatTracer les graphiques de signaux suivants: la commande, les états, s, la consigne et la sortie (les deux derniers dans la même fenêtrela consigne et la sortie (les deux derniers dans la même fenêtre). ).
Utiliser les blocs Utiliser les blocs ScopeScopeScope
13.
Tracer les graphiques du pas 12 en MATLAB
aussi. 13.13.
Tracer les graphiques du pas 12 en Tracer les graphiques du pas 12 en MMATLABATLAB
aussi. aussi.
14.
Reprendre la simulation, mais avec les pôles du système global fixés à 0.4
et 0.41. 14.14.
Reprendre la simulation, mais avec les pôles du système global fReprendre la simulation, mais avec les pôles du système global fixés à ixés à 0.40.4
et et 0.410.41. .
Il suffit de changer le fichier d'initialisation!Il suffit de changer le fichier d'initialisation!Il suffit de changer le fichier d'initialisation!
1 schéma 1 schéma SSIMULINKIMULINK
Les comptes rendus de cette manipulation contiendront
Les comptes rendus de cette Les comptes rendus de cette manipulation contiendrontmanipulation contiendront
2 logiciels 2 logiciels MMATLABATLAB
d'initialisationd'initialisation
analyse comparative des résultats obtenus analyse comparative des résultats obtenus
1 logiciel 1 logiciel MMATLABATLAB
d'affichaged'affichage6 figures 6 figures SSIMULINKIMULINK
(Scope)(Scope)6 figures 6 figures MMATLABATLAB
ConseilConseilConseil
Dans vos commentaires, observer si la perturbation appliquée à la sortie est rejetée ou pas et indiquer, selon votre avis, quelle est la source de l’erreur statique, si présente.
Dans vos commentaires, observer si la perturbation appliquée à lDans vos commentaires, observer si la perturbation appliquée à la sortie est rejetée ou a sortie est rejetée ou pas et indiquer, selon votre avis, quelle est la source de l’errpas et indiquer, selon votre avis, quelle est la source de l’erreur statique, si présente. eur statique, si présente.
MuxMuxMux
D'autres observateurs existent aussi.
D'autres D'autres observateurs observateurs existent aussi. existent aussi.
CLN-TP#3CLN-TP#3 10/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
110110
Avant de continuer, une petite préparation est nécessaireAvant de continuer, une petite préparation est nécessaireAvant de continuer, une petite préparation est nécessaire
• Puisque Puisque l’état d’un système est rarement accessible à la mesure directel’état d’un système est rarement accessible à la mesure directe, on doit changer , on doit changer de stratégie, mais en utilisant un de stratégie, mais en utilisant un observateur d’étatobservateur d’état
dans la boucle de retour, dans la boucle de retour, tout en tout en préservant la manière de calcul de la commandepréservant la manière de calcul de la commande: :
ˆ[ ] [ ] [ ]Ts r ru n n k y n= − +k x
n∀ ∈N
vecteur des gains de vecteur des gains de retour d'retour d'éétattat
gain de la consigne gain de la consigne (scalaire)(scalaire)
Les deux gains et l'état observé sont à déterminer!Les deux gains et l'Les deux gains et l'éétat observtat observéé sont sont àà ddééterminer!terminer!
éétat observtat observéé
(estim(estiméé))
Comment faireComment faire??
Utiliser un observateur d’ordre plein, exprimé par:Utiliser un observateur d’ordre plein, exprimé par:
Par la stratégie suivante:Par la stratégie suivante:Par la stratégie suivante:
( )ˆ ˆ[ 1] [ ] [ ] ˆ[ ] [ ]Td dd on n n nn u y+ = + + −x A x b k c x
erreur de sortie comme erreur de sortie comme bruit endogbruit endogèène du ne du
processusprocessus
n∀ ∈N
vecteur des gains vecteur des gains de l'erreur de sortiede l'erreur de sortie
À déterminer de même!
ÀÀ ddééterminer terminer de même!de même!
( )ˆ ˆ[ 1] [ ] [ ] [ ]Td o d d on n u n y n+ = − + +x A k c x b k
n∀ ∈NUtiliser la formule d'Ackermann pour placer Utiliser la formule d'Ackermann pour placer les pôles de l'observateur. les pôles de l'observateur.
®® RappelRappelRappel
CLN-TP#3CLN-TP#3 11/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
111111
Dans sa version originelle, la formule d'Ackermann exige que le gain vectoriel à
déterminer soit précédé
par le vecteur bd
. Dans sa version originelle, la formule d'Ackermann exige que Dans sa version originelle, la formule d'Ackermann exige que le gain vectoriel le gain vectoriel àà
déterminer déterminer soit prsoit prééccééddéé
par le vecteur bpar le vecteur bdd
. . ( )Td d s−A b k
Pour l'observateur d'état, la formule peut s'appliquer après avoir tout transposé. Pour l'observateur d'état, la formule peut Pour l'observateur d'état, la formule peut s'appliquer s'appliquer après avoir tout transposaprès avoir tout transposéé. .
alors que lalors que làà
on aon a
( )Td o d−A k c( )Td od
T− cA k
Continuer avec la stratégie précédente pour déterminer les deux Continuer avec la stratégie précédente pour déterminer les deux autres gains autres gains (comme si l'état avait été directement mesur(comme si l'état avait été directement mesuréé
et pas estimet pas estiméé). ).
• En fait, il faut placer les pôles de l’observateur à l’intérieurEn fait, il faut placer les pôles de l’observateur à l’intérieur
du cercle unité, de manière à minimiser l’erreur d’estimation du cercle unité, de manière à minimiser l’erreur d’estimation de l'état, en tenant compte de la présence en situation réelle de l'état, en tenant compte de la présence en situation réelle des perturbations et bruits de mesure. des perturbations et bruits de mesure.
Tâche#3Tâche#3Tâche#3 Mettre en place la commande numérique par retour d’état avec observateur, en simulation
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, en simulationobservateur, en simulation 40'40'
1.Ouvrir un nouveau fichier de type .m.1.1.Ouvrir un nouveau fichier de type Ouvrir un nouveau fichier de type .m.m..
2.Insérer des commentaires dans le fichier:2.2. Insérer des commentaires dans le fichier:Insérer des commentaires dans le fichier:
>> % CLN#4-TP#3 : Initialisation du schéma de simulation de commande numérique par retour d’état avec observateur
>> % >> % CLNCLN##44--TP#TP#3 : Initialisation du schéma de simulation 3 : Initialisation du schéma de simulation de commande numérique par retour d’état de commande numérique par retour d’état avec observateuravec observateur
>> % Binôme de travail no. ... (NOM1, NOM2)>> % Binôme de travail >> % Binôme de travail nono. ... (NOM1, NOM2). ... (NOM1, NOM2)
3.Sauvegarder le fichier dans un répertoire de votre choix. 3.3.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix. CLN4_TP2_NOM1_NOM2.MCLNCLN44_TP_TP22_NOM1_NOM2_NOM1_NOM2.M.M
Exemple Exemple Exemple
6.Rouler votre logiciel MATLAB
comme initialisation pour le schéma SIMULINK
à suivre.
6.6.Rouler votre logiciel Rouler votre logiciel MMATLABATLAB
comme initialisation pour le schéma comme initialisation pour le schéma SSIMULINKIMULINK
à suivre. à suivre.
7.Démarrer l’environnement de simulation SIMULINK
et ouvrir un nouveau fichier de type .mdl
(modèle SIMULINK).
7.7.Démarrer l’environnement de simulation Démarrer l’environnement de simulation SSIMULINKIMULINK
et ouvrir un nouveau fichier et ouvrir un nouveau fichier de type de type ..mdlmdl
(modèle (modèle SSIMULINKIMULINK).).
8.Sauvegarder le fichier dans un répertoire de votre choix. 8.8.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP3_NOM1_NOM2.MDLCLNCLN44_TP_TP33_NOM1_NOM2._NOM1_NOM2.MDLMDL
9.En utilisant la bibliothèque de SIMULINK, construire le schéma de simulation du système bouclé, mais avec le modèle du système en temps continu.
9.9.En utilisant la bibliothèque de En utilisant la bibliothèque de SSIMULINKIMULINK, construire le schéma de simulation , construire le schéma de simulation du système bouclé, mais avec le modèle du système du système bouclé, mais avec le modèle du système en temps continuen temps continu. .
( )Td od
T− cA k
CLN-TP#3CLN-TP#3 12/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
112112
Tâche#3Tâche#3Tâche#3 Mettre en place la commande numérique par retour d’état avec observateur, en simulation
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, en simulationobservateur, en simulation
4.Inclure dans votre fichier le logiciel d’initialisation précédent, où les pôles du système bouclé sont 0.8
et 0.81. 4.4. Inclure dans votre fichier le logiciel d’initialisation précédenInclure dans votre fichier le logiciel d’initialisation précédent, t,
où les pôles du système bouclé sont où les pôles du système bouclé sont 0.80.8
et et 0.810.81. .
Attention à la matrice modifiée!Attention Attention àà la matrice modifila matrice modifiéée!e!
5.Déterminer le gain vectoriel de l'erreur de sortie tel que le système discret bouclé ait pour pôles 0.4
et 0.41. 5.5.Déterminer le gain vectoriel de l'erreur de sortie tel que Déterminer le gain vectoriel de l'erreur de sortie tel que
le système discret bouclé ait pour pôles le système discret bouclé ait pour pôles 0.40.4
et et 0.410.41. .
Utiliser la fonction Utiliser la fonction MMATLABATLAB >> place>> place>> place
ok
À la différence du simulateur précédent, on peut représenter le À la différence du simulateur précédent, on peut représenter le système continu système continu en un seul bloc. en un seul bloc. Néanmoins, afin de pouvoir comparer les états observés avec les Néanmoins, afin de pouvoir comparer les états observés avec les états purs du système, il est souhaitable de préserver la états purs du système, il est souhaitable de préserver la représentation comme au simulateur précédent (par deux blocs). représentation comme au simulateur précédent (par deux blocs).
10.
Fixer le temps de simulation Tf
à 60 s. Appliquer comme consigne un échelon unitaire à l’instant T0
=0
et rajouter un échelon unitaire supplémentaire à l’instant T20
=20 s. À partir de l'instant T40
=40 s
, appliquer une perturbation constante d’amplitude –0.5
à la sortie du processus.
10.10.
Fixer le temps de simulation Fixer le temps de simulation TTff
à à 60 s60 s. Appliquer comme consigne un . Appliquer comme consigne un échelon unitaire à l’instant échelon unitaire à l’instant TT00
=0=0
et rajouter un échelon unitaire et rajouter un échelon unitaire supplémentaire à l’instant supplémentaire à l’instant TT2020
=20 s=20 s. À partir de l'instant . À partir de l'instant TT4040
=40 s=40 s
, appliquer , appliquer une perturbation constante d’amplitude une perturbation constante d’amplitude ––0.50.5
à la sortie du processus. à la sortie du processus.
9.En utilisant la bibliothèque de SIMULINK, construire le schéma de simulation du système bouclé, mais avec le modèle du système en temps continu.
9.9.En utilisant la bibliothèque de En utilisant la bibliothèque de SSIMULINKIMULINK, construire le schéma de simulation , construire le schéma de simulation du système bouclé, mais avec le modèle du système du système bouclé, mais avec le modèle du système en temps continuen temps continu. .
CLN-TP#3CLN-TP#3 13/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
113113
Tâche#3Tâche#3Tâche#3 Mettre en place la commande numérique par retour d’état avec observateur, en simulation
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, en simulationobservateur, en simulation
Pour mettre en place le nouveau régulateur, il faut bien regardePour mettre en place le nouveau régulateur, il faut bien regarder ses équations: r ses équations:
( )ˆ ˆ[ 1] [ ] [ ] [ ]Td o d d on n u n y n+ = − + +x A k c x b k
n∀ ∈Nˆ[ ] [ ] [ ]Ts r ru n n k y n= − +k x
Dans cet ordre!Dans cet ordre!Dans cet ordre!
On voit bien que l'observateur a deux entrées. On voit bien que l'observateur a On voit bien que l'observateur a deux entréesdeux entrées. . u && yPour le système en temps discret, dans la Pour le système en temps discret, dans la représentation sur l’espace d'état, il existe le blocreprésentation sur l’espace d'état, il existe le bloc Discrete
State-SpaceDiscreteDiscrete
StateState--SpaceSpace
Afin de pouvoir utiliser ici ce bloc, il faut d’abord combiner Afin de pouvoir utiliser ici ce bloc, il faut d’abord combiner les deux entrées dans un vecteur à l’aide d’un les deux entrées dans un vecteur à l’aide d’un multiplexeurmultiplexeur.. MuxMuxMux
Il faut pourtant séparer les deux équations ci-dessus dans des blocs différents!Il faut pourtant sIl faut pourtant sééparer les deux parer les deux ééquations ciquations ci--dessus dans des blocs diffdessus dans des blocs difféérents!rents!
• On pourrait ainsi comparer les deux vecteurs d'état (pur et obseOn pourrait ainsi comparer les deux vecteurs d'état (pur et observrvéé), ), en les affichant dans une même fenêtre. en les affichant dans une même fenêtre.
CLN-TP#3CLN-TP#3 14/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
114114
Tâche#3Tâche#3Tâche#3 Mettre en place la commande numérique par retour d’état avec observateur, en simulation
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, en simulationobservateur, en simulation
11.
Tracer les graphiques de signaux suivants: la commande, les états estimés et purs (dans une même fenêtre), la consigne et la sortie (dans une même
fenêtre). 11.11.
Tracer les graphiques de signaux suivants: la commande, les étatTracer les graphiques de signaux suivants: la commande, les états estimés et purs s estimés et purs (dans une même fenêtre), la consigne et la sortie (dans une même(dans une même fenêtre), la consigne et la sortie (dans une même
fenêtre). fenêtre).
Utiliser les blocs Utiliser les blocs ScopeScopeScope
12.
Tracer les graphiques du pas 11 en MATLAB
aussi. 12.12.
Tracer les graphiques du pas 11 en Tracer les graphiques du pas 11 en MMATLABATLAB
aussi. aussi.
MuxMuxMux
13.
Modifier votre simulateur en insérant une saturation de la commande, vu que le processus réel ne supporte pas des commandes d’une amplitude supérieure à 5 V.
13.13.
Modifier votre simulateur en insérant une saturation de la commaModifier votre simulateur en insérant une saturation de la commande, vu que le nde, vu que le processus réel ne supporte pas des commandes d’une amplitude supprocessus réel ne supporte pas des commandes d’une amplitude supérieure à érieure à 5 V5 V. .
14.
Sauvegarder le modèle dans un répertoire de votre choix. 14.14.
Sauvegarder le modèle dans un répertoire de votre choix. Sauvegarder le modèle dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP2sat_NOM1_NOM2.MDLCLNCLN44_TP_TP2sat2sat_NOM1_NOM2._NOM1_NOM2.MDLMDL
15.
Reprendre les pas 11 et 12 pour le nouveau simulateur. 15.15.
Reprendre les pas 11 et 12 pour le nouveau simulateur. Reprendre les pas 11 et 12 pour le nouveau simulateur.
2 schémas 2 schémas SSIMULINKIMULINK
Les comptes rendus de cette manipulation contiendront
Les comptes rendus de cette Les comptes rendus de cette manipulation contiendrontmanipulation contiendront
1 logiciel 1 logiciel MMATLABATLAB
d'initialisationd'initialisation
analyse comparative des résultats obtenus analyse comparative des résultats obtenus
1 logiciel 1 logiciel MMATLABATLAB
d'affichaged'affichage6 figures 6 figures SSIMULINKIMULINK
(Scope)(Scope)6 figures 6 figures MMATLABATLAB
ConseilConseilConseil
L'analyse comparative devrait se réaliser par rapport aux résultats des 3 derniers simulateurs. L'analyse comparative devrait se réaliser par rapport aux résultL'analyse comparative devrait se réaliser par rapport aux résultats des 3 derniers simulateurs. ats des 3 derniers simulateurs.
La perturbation appliquée à
la sortie est elle toujours présente? Si oui, quelle est la raison, selon votre avis? La perturbation appliquLa perturbation appliquéée e àà
la sortie est elle toujours prla sortie est elle toujours préésente? sente? Si oui, quelle est la raison, selon votre avis? Si oui, quelle est la raison, selon votre avis?
CLN-TP#3CLN-TP#3 15/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
115115
Tâche#4Tâche#4Tâche#4 Mettre en place la commande numérique par retour d’état avec observateur et saturation sur le processus réel
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur et saturation sur le processus réelobservateur et saturation sur le processus réel 40'40'
1.Câbler le processus comme pour les TP#1. 1.1.Câbler le processus comme pour les Câbler le processus comme pour les TP#1TP#1. .
2.Ouvrir un nouveau fichier de type .m.2.2.Ouvrir un nouveau fichier de type Ouvrir un nouveau fichier de type .m.m..
3.Insérer des commentaires dans le fichier:3.3. Insérer des commentaires dans le fichier:Insérer des commentaires dans le fichier:
>> % CLN#4-TP#4 :
Commande numérique par retour d’état avec observateur et saturation
>> % >> % CLNCLN##44--TP#TP#4 :4 :
Commande numérique par retour d’état Commande numérique par retour d’état avec observateur et saturationavec observateur et saturation
>> % Binôme de travail no. ... (NOM1, NOM2)>> % Binôme de travail >> % Binôme de travail nono. ... (NOM1, NOM2). ... (NOM1, NOM2)
4.Sauvegarder le fichier dans un répertoire de votre choix. 4.4.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP4_NOM1_NOM2.MCLNCLN44_TP_TP44_NOM1_NOM2_NOM1_NOM2.M.M
5.Dans votre fichier, écrire un logiciel MATLAB
permettant d’appliquer au processus réel la commande numérique produite par le régulateur avec retour d’état estimé et saturation sur l’entrée.
5.5.Dans votre fichier, écrire un logiciel Dans votre fichier, écrire un logiciel MMATLABATLAB
permettant d’appliquer au processus permettant d’appliquer au processus réel la commande numérique produite par réel la commande numérique produite par le régulateur avec retour d’état estimé et le régulateur avec retour d’état estimé et saturation sur l’entréesaturation sur l’entrée. .
Votre logiciel doit créer Votre logiciel doit créer les mêmes conditionsles mêmes conditions
pour le processus que le simulateur pour le processus que le simulateur qui fournit la commande, c'estqui fournit la commande, c'est--àà--dire il faut établir la même consigne et ajouter la dire il faut établir la même consigne et ajouter la perturbation sur la sortie.perturbation sur la sortie.La commande doit être appliquée à des instants précis, multiplesLa commande doit être appliquée à des instants précis, multiples
de la période de la période d’échantillonnage et se calcule en utilisant les mêmes équationsd’échantillonnage et se calcule en utilisant les mêmes équations
qu'en simulation.qu'en simulation.
Il est possible de changer l'ordre des deux équations qui forment l'ensemble observateur-régulateur!
Il est possible de changer l'ordre des deux Il est possible de changer l'ordre des deux ééquations quations qui forment l'ensemble qui forment l'ensemble observateurobservateur--rréégulateurgulateur!!
CLN-TP#3CLN-TP#3 16/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
116116
Tâche#4Tâche#4Tâche#4 Mettre en place la commande numérique par retour d’état avec observateur et saturation sur le processus réel
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur et saturation sur le processus réelobservateur et saturation sur le processus réel
6.Relever et tracer la réponse du processus avec la consigne (dans
une même fenêtre), aussi que le signal de commande (dans une fenêtre différente).
6.6.Relever et tracer la réponse du processus avec la consigne (dansRelever et tracer la réponse du processus avec la consigne (dans
une même fenêtre), une même fenêtre), aussi que le signal de commande (dans une fenêtre différente). aussi que le signal de commande (dans une fenêtre différente).
7.Ouvrir un nouveau fichier de type .m.7.7.Ouvrir un nouveau fichier de type Ouvrir un nouveau fichier de type .m.m..
8.Insérer des commentaires dans le fichier:8.8. Insérer des commentaires dans le fichier:Insérer des commentaires dans le fichier:
>> % CLN#4-TP#40 :
Commande numérique nulle>> % >> % CLNCLN##44--TP#TP#40 :40 :
Commande numérique nulleCommande numérique nulle
>> % Binôme de travail no. ... (NOM1, NOM2)>> % Binôme de travail >> % Binôme de travail nono. ... (NOM1, NOM2). ... (NOM1, NOM2)
9.Sauvegarder le fichier dans un répertoire de votre choix. 9.9.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP40_NOM1_NOM2.MCLNCLN44_TP_TP4040_NOM1_NOM2_NOM1_NOM2.M.M
10.
Dans votre fichier, écrire un logiciel MATLAB
permettant d’appliquer au processus réel la commande nulle
aux instants déterminés par la période d’échantillonnage. 10.10.
Dans votre fichier, écrire un logiciel Dans votre fichier, écrire un logiciel MMATLABATLAB
permettant d’appliquer au processus permettant d’appliquer au processus réel réel la commande nullela commande nulle
aux instants déterminés par la période d’échantillonnage. aux instants déterminés par la période d’échantillonnage.
11.
Relever et tracer la commande mesurée, aussi que la sortie du processus (dans des fenêtres différentes).
11.11.
Relever et tracer la commande mesurée, aussi que la sortie du prRelever et tracer la commande mesurée, aussi que la sortie du processus ocessus (dans des fenêtres différentes). (dans des fenêtres différentes).
Dans quel butDans quel but??
Montrer que le processus est affecté par des bruits qui peuvent introduire des distorsions dans les données mesurées, qui ne figurent pas en simulation et qui changent la commande.
Montrer que le processus est affecté par des Montrer que le processus est affecté par des bruits qui peuvent introduire des distorsions bruits qui peuvent introduire des distorsions dans les données mesurées, qui ne figurent pas dans les données mesurées, qui ne figurent pas en simulation et qui changent la commande. en simulation et qui changent la commande.
On s’attend à des comportements différents en simulation et en réalité!
On sOn s’’attend attend àà des des comportements comportements diffdifféérents en simulation rents en simulation et en ret en rééalitalitéé!!
CLN-TP#3CLN-TP#3 17/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
117117
Tâche#4Tâche#4Tâche#4 Mettre en place la commande numérique par retour d’état avec observateur et saturation sur le processus réel
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur et saturation sur le processus réelobservateur et saturation sur le processus réel
Les comptes rendus de cette manipulation contiendront
Les comptes rendus de cette Les comptes rendus de cette manipulation contiendrontmanipulation contiendront
2 logiciels 2 logiciels MMATLABATLAB
analyse comparative des résultats obtenus analyse comparative des résultats obtenus 4 figures 4 figures MMATLABATLAB
ConseilConseilConseil L'analyse comparative devrait se concentrer sur le comportement des deux systèmes: simulé
et réel. L'analyse comparative devrait se concentrer sur le L'analyse comparative devrait se concentrer sur le comportement des deux systèmes: simulcomportement des deux systèmes: simuléé
et réel. et réel.
Ne pas pourtant oublier l'erreur statique!Ne pas pourtant oublier l'erreur statique!Ne pas pourtant oublier l'erreur statique!
Avant de continuer, une petite préparation est nécessaireAvant de continuer, une petite préparation est nécessaireAvant de continuer, une petite préparation est nécessaire
De toute évidence, l'erreur statique ne peut pas être annulée par les régulateurs précédents.
De toute évidence, l'erreur statique De toute évidence, l'erreur statique ne peut pas être annulée ne peut pas être annulée par les régulateurs précédents. par les régulateurs précédents.
Qu'est ce qu'on peut faireQu'est ce qu'on peut faire??
Des TP#2, on peut se rappeler que les erreurs statiques peuvent être recouvertes a l'aide d'un intégrateur. Des Des TP#2TP#2, on peut se rappeler que les erreurs statiques , on peut se rappeler que les erreurs statiques peuvent être recouvertes a l'aide d'un peuvent être recouvertes a l'aide d'un intégrateurintégrateur. .
• La commande numérique par retour d’état peut inclure l'action inLa commande numérique par retour d’état peut inclure l'action intégrale comme suit: tégrale comme suit:
[ ][ ] [ ] [ ]
[ ]T Ts s
nu n n k n k
nε ε
⎡ ⎤= − + ε = −⎡ − ⎤ ⎢ ⎥⎣ ⎦ ε⎣ ⎦
xk x k
n∀ ∈Ngain de l'erreur de poursuite cumulgain de l'erreur de poursuite cumuléée (scalaire)e (scalaire)
CLN-TP#3CLN-TP#3 18/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
118118
Erreur de poursuite cumulErreur de poursuite cumulééee??
C'est une erreur entre la consigne et la sortie, mais qui s'accumule. C'est une erreur entre la consigne et la sortie, mais qui C'est une erreur entre la consigne et la sortie, mais qui s'accumules'accumule. .
• On peut augmenter le vecteur d’état du système par l’erreur de pOn peut augmenter le vecteur d’état du système par l’erreur de poursuite cumulée… oursuite cumulée…
[ 1] [ ] [ ] [ ] [ ] [ ] [ ]Tr r dn n y n y n n y n nε + = ε + − = ε + − c x
n∀ ∈N
0[ 1] [ ][ ] [ ]
1[ 1] [ ] 0 1d d
rTd
n nu n y n
n n+ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
= + +⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥−ε + ε⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦
Ax x b 0c
n∀ ∈N……
ce qui nous amce qui nous amèène ne àà
l'équation en boucle fermée suivante:l'équation en boucle fermée suivante:
[ 1] [ ][ ]
1[ 1] [ 10 ]d d T
sTd
r
n nk y n
n nε
⎡ ⎤ ⎡ ⎤− ⎡ − ⎤⎢ ⎥ ⎢ ⎥ ⎣ ⎦− ⎣ ⎦
+ ⎛ ⎞⎡ ⎤ ⎡ ⎤ ⎡ ⎤= +⎜ ⎟⎢ ⎥ ⎢ ⎥ ⎢ ⎥ε + ε⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎝ ⎠⎣ ⎦
A 0 bk
x x 0c
n∀ ∈N• La formule d'Ackermann s'applique maintenant sur la matrice La formule d'Ackermann s'applique maintenant sur la matrice en rougeen rouge
et a besoin de (et a besoin de (nxnx+1) pôles +1) pôles àà
préciser. préciser.
• Pour l'observateur d'état (si présent), on garde la même stratégPour l'observateur d'état (si présent), on garde la même stratégie d'auparavant. ie d'auparavant.
On peut d'abord appliquer la TZ
sur l'équation de l'erreur de poursuite cumulée.
On peut d'abord appliquer la On peut d'abord appliquer la TZTZ
sur l'équation de l'erreur sur l'équation de l'erreur de poursuite cumulée. de poursuite cumulée.
[ ]1
1( ) ( ) ( )1 rzz Y z Y zz
−
−= −
−ε
Voici l'intégrateur discret. Voici Voici l'intégrateur discretl'intégrateur discret. . Comment implComment impléémenter le rmenter le réégulateurgulateur??
CLN-TP#3CLN-TP#3 19/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
119119
Tâche#5Tâche#5Tâche#5 Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, en simulation
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, en simulationobservateur, saturation et action intégrale, en simulation
40'40'1.Ouvrir un nouveau fichier de type .m.1.1.Ouvrir un nouveau fichier de type Ouvrir un nouveau fichier de type .m.m..
2.Insérer des commentaires dans le fichier:2.2. Insérer des commentaires dans le fichier:Insérer des commentaires dans le fichier:
>> % CLN#4-TP#5 :
Initialisation du schéma de simulation de commande numérique par retour d’état avec observateur, saturation et action intégrale
>> % >> % CLNCLN##44--TP#TP#5 :5 :
Initialisation du schéma de simulation Initialisation du schéma de simulation de commande numérique par retour de commande numérique par retour d’état avec observateur, saturation et d’état avec observateur, saturation et action intégraleaction intégrale
>> % Binôme de travail no. ... (NOM1, NOM2)>> % Binôme de travail >> % Binôme de travail nono. ... (NOM1, NOM2). ... (NOM1, NOM2)
3.Sauvegarder le fichier dans un répertoire de votre choix. 3.3.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP5_NOM1_NOM2.MCLNCLN44_TP_TP55_NOM1_NOM2_NOM1_NOM2.M.M
4.Inclure dans votre fichier le logiciel d’initialisation précédent (Tâche#3), et établir les pôles du système bouclé à 0.8, 0.81
et 0.82
(ajouter le dernier pôle). 4.4. Inclure dans votre fichier le logiciel d’initialisation précédenInclure dans votre fichier le logiciel d’initialisation précédent (t (TTââcheche#3#3), et établir ), et établir
les pôles du système bouclé à les pôles du système bouclé à 0.80.8, , 0.810.81
et et 0.820.82
(ajouter le dernier pôle). (ajouter le dernier pôle).
5.Modifier la partie qui détermine les gains du régulateur et conserver la partie qui calcule le gain de l’observateur.
5.5.Modifier la partie qui détermine les gains du régulateur et consModifier la partie qui détermine les gains du régulateur et conserver la partie qui erver la partie qui calcule le gain de l’observateur. calcule le gain de l’observateur.
6.Rouler votre logiciel MATLAB
comme initialisation pour le schéma SIMULINK
à suivre.
6.6.Rouler votre logiciel Rouler votre logiciel MMATLABATLAB
comme initialisation pour le schéma comme initialisation pour le schéma SSIMULINKIMULINK
à suivre. à suivre.
7.Démarrer l’environnement de simulation SIMULINK
et ouvrir un nouveau fichier de type .mdl
(modèle SIMULINK).
7.7.Démarrer l’environnement de simulation Démarrer l’environnement de simulation SSIMULINKIMULINK
et ouvrir et ouvrir un nouveau fichier de type un nouveau fichier de type ..mdlmdl
(modèle (modèle SSIMULINKIMULINK).).
CLN-TP#3CLN-TP#3 20/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
120120
Tâche#5Tâche#5Tâche#5 Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, en simulation
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, en simulationobservateur, saturation et action intégrale, en simulation
8.Sauvegarder le fichier dans un répertoire de votre choix. 8.8.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP5_NOM1_NOM2.MDLCLNCLN44_TP_TP55_NOM1_NOM2._NOM1_NOM2.MDLMDL
9.En utilisant la bibliothèque de SIMULINK, construire le schéma de simulation du système bouclé, mais avec le modèle du système en temps continu.
9.9.En utilisant la bibliothèque de En utilisant la bibliothèque de SSIMULINKIMULINK, construire le schéma de simulation , construire le schéma de simulation du système bouclé, mais avec le modèle du système du système bouclé, mais avec le modèle du système en temps continuen temps continu. .
Il est sage de préserver la plupart du simulateur précédent. Il est sage de préserver la plupart du simulateur précédent. Il est sage de préserver la plupart du simulateur précédent.
• Il faut pourtant changer le calcul des gains Il faut pourtant changer le calcul des gains kkss
, , kkεε
et introduire et introduire un filtre discretun filtre discret
à l’erreur de poursuite, selon l’équation: à l’erreur de poursuite, selon l’équation:
[ ]1
1( ) ( ) ( )1 rzz Y z Y zz
−
−= −
−ε
Pour l'intégrateur, utiliser le bloc Pour l'intégrateur, utiliser le bloc Discrete
FilterDiscreteDiscrete
FilterFilter
10.
Fixer le temps de simulation Tf
à 60 s. Appliquer comme consigne un échelon unitaire à l’instant T0
=0
et rajouter un échelon unitaire supplémentaire à l’instant T20
=20 s. À partir de l'instant T40
=40 s
, appliquer une perturbation constante d’amplitude –0.5
à la sortie du processus.
10.10.
Fixer le temps de simulation Fixer le temps de simulation TTff
à à 60 s60 s. Appliquer comme consigne un . Appliquer comme consigne un échelon unitaire à l’instant échelon unitaire à l’instant TT00
=0=0
et rajouter un échelon unitaire et rajouter un échelon unitaire supplémentaire à l’instant supplémentaire à l’instant TT2020
=20 s=20 s. À partir de l'instant . À partir de l'instant TT4040
=40 s=40 s
, appliquer , appliquer une perturbation constante d’amplitude une perturbation constante d’amplitude ––0.50.5
à la sortie du processus. à la sortie du processus.
11.
Tracer les graphiques de signaux suivants: la commande, les états estimés et purs (dans une même fenêtre), la consigne et la sortie (dans une même
fenêtre). 11.11.
Tracer les graphiques de signaux suivants: la commande, les étatTracer les graphiques de signaux suivants: la commande, les états estimés et purs s estimés et purs (dans une même fenêtre), la consigne et la sortie (dans une même(dans une même fenêtre), la consigne et la sortie (dans une même
fenêtre). fenêtre).
Utiliser les blocs Utiliser les blocs ScopeScopeScope MuxMuxMux
Attention!AttentionAttention!!
La deuxième entrée du régulateur est
l'erreur de poursuite cumulée
et pas la consigne!
La deuxiLa deuxièème entrme entréée du re du réégulateur gulateur estest
l'erreur l'erreur de poursuite cumulde poursuite cumulééee
et pas la consigne!et pas la consigne!
CLN-TP#3CLN-TP#3 21/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
121121
Tâche#5Tâche#5Tâche#5 Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, en simulation
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, en simulationobservateur, saturation et action intégrale, en simulation
12.
Tracer les graphiques du pas 11 en MATLAB
aussi. 12.12.
Tracer les graphiques du pas 11 en Tracer les graphiques du pas 11 en MMATLABATLAB
aussi. aussi.
13.
Modifier votre simulateur en insérant une saturation de la commande, vu que le processus réel ne supporte pas des commandes d’une amplitude supérieure à 5 V.
13.13.
Modifier votre simulateur en insérant une saturation de la commaModifier votre simulateur en insérant une saturation de la commande, vu que le nde, vu que le processus réel ne supporte pas des commandes d’une amplitude supprocessus réel ne supporte pas des commandes d’une amplitude supérieure à érieure à 5 V5 V. .
14.
Sauvegarder le modèle dans un répertoire de votre choix. 14.14.
Sauvegarder le modèle dans un répertoire de votre choix. Sauvegarder le modèle dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP5sat_NOM1_NOM2.MDLCLNCLN44_TP_TP5sat5sat_NOM1_NOM2._NOM1_NOM2.MDLMDL
15.
Reprendre les pas 11 et 12 pour le nouveau simulateur. 15.15.
Reprendre les pas 11 et 12 pour le nouveau simulateur. Reprendre les pas 11 et 12 pour le nouveau simulateur.
2 schémas 2 schémas SSIMULINKIMULINK
Les comptes rendus de cette manipulation contiendront
Les comptes rendus de cette Les comptes rendus de cette manipulation contiendrontmanipulation contiendront
1 logiciel 1 logiciel MMATLABATLAB
d'initialisationd'initialisation
analyse comparative des résultats obtenus analyse comparative des résultats obtenus
1 logiciel 1 logiciel MMATLABATLAB
d'affichaged'affichage6 figures 6 figures SSIMULINKIMULINK
(Scope)(Scope)6 figures 6 figures MMATLABATLAB
ConseilConseilConseil
L'analyse comparative devrait se réaliser par rapport aux résultats des Tâches
précédentes. L'analyse comparative devrait se réaliser par rapport aux résultL'analyse comparative devrait se réaliser par rapport aux résultats des ats des TTââchesches
précédentes. précédentes.
La perturbation appliquée à
la sortie est elle enfin rejetée? La perturbation appliquLa perturbation appliquéée e àà
la sortie est elle enfin rejetla sortie est elle enfin rejetéée? e?
Quel est l'effet de la saturation appliquée sur la commande (surtout dans le cas de la perturbation sur la sortie)? Quel est l'effet de la saturation appliquQuel est l'effet de la saturation appliquéée sur la commande e sur la commande (surtout dans le cas de la perturbation sur la sortie)? (surtout dans le cas de la perturbation sur la sortie)?
CLN-TP#3CLN-TP#3 22/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
122122
Tâche#6Tâche#6Tâche#6 Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, sur le processus réel
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, sur le processus réobservateur, saturation et action intégrale, sur le processus réelel 40'40'
1.Ouvrir un nouveau fichier de type .m.1.1.Ouvrir un nouveau fichier de type Ouvrir un nouveau fichier de type .m.m..
2.Insérer des commentaires dans le fichier:2.2. Insérer des commentaires dans le fichier:Insérer des commentaires dans le fichier:
>> % CLN#4-TP#6 :
Commande numérique par retour d’état avec observateur, saturation et action intégrale
>> % >> % CLNCLN##44--TP#TP#6 :6 :
Commande numérique par retour d’état Commande numérique par retour d’état avec observateur, saturation et action avec observateur, saturation et action intégraleintégrale
>> % Binôme de travail no. ... (NOM1, NOM2)>> % Binôme de travail >> % Binôme de travail nono. ... (NOM1, NOM2). ... (NOM1, NOM2)
3.Sauvegarder le fichier dans un répertoire de votre choix. 3.3.Sauvegarder le fichier dans un répertoire de votre choix. Sauvegarder le fichier dans un répertoire de votre choix.
Exemple Exemple Exemple CLN4_TP6_NOM1_NOM2.MCLNCLN44_TP_TP66_NOM1_NOM2_NOM1_NOM2.M.M
4.Dans votre fichier, écrire un logiciel MATLAB
permettant d’appliquer au processus réel la commande numérique produite par le régulateur avec retour d’état estimé, saturation et action intégrale sur l’entrée.
4.4.Dans votre fichier, écrire un logiciel Dans votre fichier, écrire un logiciel MMATLABATLAB
permettant d’appliquer au processus permettant d’appliquer au processus réel la commande numérique produite par réel la commande numérique produite par le régulateur avec retour d’état estimé, le régulateur avec retour d’état estimé, saturation et action intégrale sur l’entréesaturation et action intégrale sur l’entrée. .
Il est sage de modifier le logiciel de la Tâche#4
dans ce but. Il est sage de modifier le logiciel de la Il est sage de modifier le logiciel de la TTââcheche#4#4
dans ce but. dans ce but.
Pour mettre en place ce Pour mettre en place ce régulateur, il faut utiliser régulateur, il faut utiliser les équations: les équations:
ˆ[ ] [ ] [ ]Tsu n n k nε= − + εk x
n∀ ∈N
( )ˆ ˆ[ 1] [ ] [ ] [ ]Td o d d on n u n y n+ = − + +x A k c x b k
[ 1] [ ] [ ] [ ]rn n y n y nε + = ε + −
CLN-TP#3CLN-TP#3 23/23Commande numérique dans l'espace d'étatCommande numérique dans l'espace d'état
123123
Tâche#6Tâche#6Tâche#6 Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, sur le processus réel
Mettre en place la commande numérique par retour d’état avec Mettre en place la commande numérique par retour d’état avec observateur, saturation et action intégrale, sur le processus réobservateur, saturation et action intégrale, sur le processus réelel
Votre logiciel doit créer Votre logiciel doit créer les mêmes conditionsles mêmes conditions
pour le processus que le simulateur pour le processus que le simulateur qui fournit la commande, c'estqui fournit la commande, c'est--àà--dire il faut établir la même consigne et ajouter la dire il faut établir la même consigne et ajouter la perturbation sur la sortie.perturbation sur la sortie.
4.Dans votre fichier, écrire un logiciel MATLAB
permettant d’appliquer au processus réel la commande numérique produite par le régulateur avec retour d’état estimé, saturation et action intégrale sur l’entrée.
4.4.Dans votre fichier, écrire un logiciel Dans votre fichier, écrire un logiciel MMATLABATLAB
permettant d’appliquer au processus permettant d’appliquer au processus réel la commande numérique produite par réel la commande numérique produite par le régulateur avec retour d’état estimé, le régulateur avec retour d’état estimé, saturation et action intégrale sur l’entréesaturation et action intégrale sur l’entrée. .
6.Relever et tracer la réponse du processus avec la consigne (dans
une même fenêtre), aussi que le signal de commande (dans une fenêtre différente).
6.6.Relever et tracer la réponse du processus avec la consigne (dansRelever et tracer la réponse du processus avec la consigne (dans
une même fenêtre), une même fenêtre), aussi que le signal de commande (dans une fenêtre différente). aussi que le signal de commande (dans une fenêtre différente).
Les comptes rendus de cette manipulation contiendront
Les comptes rendus de cette Les comptes rendus de cette manipulation contiendrontmanipulation contiendront
1 logiciel 1 logiciel MMATLABATLAB
analyse comparative des résultats obtenus analyse comparative des résultats obtenus 2 figures 2 figures MMATLABATLAB
ConseilConseilConseil
L'analyse comparative devrait se concentrer sur le comportement des deux systèmes: simulé
et réel. L'analyse comparative devrait se concentrer sur le L'analyse comparative devrait se concentrer sur le comportement des deux systèmes: simulcomportement des deux systèmes: simuléé
et réel. et réel. Observer l'erreur statique et l'effet de la saturation sur la commande!Observer l'erreur statique et l'effet Observer l'erreur statique et l'effet de la saturation sur la commande!de la saturation sur la commande!
Une liste de vérification des comptes rendus pour les TP no. 4
est offerte séparément. Une liste de vérification des comptes rendus pour les Une liste de vérification des comptes rendus pour les TP TP nono. 4. 4
est offerte séparément. est offerte séparément.
Le jardin japonais Le jardin japonais àà
INRIAINRIA
Lille, FranceLille, France(Danny’s photo (Danny’s photo gallerygallery))
http://ro.linkedin.com/pub/dan-stefanoiu/30/bb/617http://ro.linkedin.com/pub/danhttp://ro.linkedin.com/pub/dan--stefanoiu/30/bb/617stefanoiu/30/bb/617
!Dan StefanoiuDan StefanoiuDan Stefanoiu
[email protected]@acse.pub.ro
[email protected]@[email protected]@acse.pub.ro