24
CLN-TP#3 1/23 q q Commande numérique dans l'espace d'état Commande numérique dans l'espace d'état Objectifs des TP Objectifs des TP no no . 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 r direct 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 M M ATLAB ATLAB et appliquer la procédure au processus, à l’aide du boîtier et appliquer la procédure au processus, à l’aide du boîtier ADUSB ADUSB . . 101 101 Avant de commencer, une petite préparation est nécessaire Avant de commencer, une petite préparation est nécessaire modélisé par modélisé par modélisé par [ 1] [] [] [] [] [] d d T d d n n un yn n dun + = + = + x Ax b cx repr repr é é sentation dans l'espace d' sentation dans l'espace d' é é tat tat n N * * Processus continu. Processus continu. * * Mod Mod è è le discret. le discret. Paramètres Paramètres à à d d é é terminer terminer : : nx nx d × A R nx d b R nx d c R d d R et et nx Comment Comment ? ? Par une Par une stratégie stratégie astucieuse astucieuse ( ( on verra on verra ). ). Pourtant Pourtant On connaît des On connaît des modèles continus E/S. modèles continus E/S.

Commande numérique dans l'espace d'état CLN-TP#3acs.pub.ro/public/4a_CLN_TP_CNEE_pp101-123.pdf · qCommande numérique dans l'espace d'état CLN-TP#3. CLN-TP#3 1/23. Objectifs des

  • Upload
    lephuc

  • View
    215

  • 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