VOLUME2 Asservissements modélisation et simulation

Embed Size (px)

Citation preview

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    1/16

    Centre de comptencesen

    automatisation industrielleet productique

    asservisSystmes

    Volume 2

    Asservissements : modlisation etsimulation

    J.-M. Allenbach

    Ecole dIngnieurs de Genve

    Laboratoire dAutomati ue

    N X

    Edition 2004

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    2/16

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    3/16

    Asservissements linaires Table des matires

    Jean-Marc Allenbach TM1 20040408

    9 MODLISATION ET SIMULATION

    9.1 INTRODUCTION 91

    9.2 IDENTIFICATION DE PROCESSUS9.2.1 Prambule 939.2.2 Identification en boucle ouverte 93

    9.2.3 Identification en boucle ferme 94

    9.3 MODLES ( rdiger)9.3.1 Profondeur des modles 97

    9.3.2 Modles analogiques 9

    9.3.3 Modles numriques 9

    9.4 SIMULATION EN TEMPS DIFFR( rdiger)

    9.5 SIMULATION EN TEMPS REL ( rdiger)

    9.A GUIDE POURSYSTEM IDENTIFICATION TOOLBOX

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    4/16

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    5/16

    Asservissements linaires Modlisation et simulation

    Jean-Marc Allenbach 91 030916

    CHAPITRE 9: MODLISATION ET SIMULATION

    9.1 INTRODUCTION

    Qui dit simulation dit qu'il veut tudier en laboratoire le comportement dynamique

    d'une installation, d'un processus physique rel. Cela implique que cette tude ne se pratique

    pas directement sur le processus concret, mais sur un modle mathmatique de celui-ci.

    On peut classer une simulation selon deux paramtres: la modlisation (et sa

    ralisation concrte) et l'excution.

    Le modle mathmatique du processus peut faire appel aux quations diffrentielles

    ou aux quations aux diffrences:

    1 Analogique: Le modle est tabli de manire continue, il recourt souvent une description

    dans l'espace s. La ralisation fera appel des intgrateurs amplificateurs oprationnels( 7.B.3), des gains ( 7.B.2), des multiplicateurs et des fonctions non linaires

    ralises l'aide d'amplificateurs oprationnels.

    2 Numrique: Le modle est tabli de manire chantillonn, dans un temps discret, il

    recourt souvent une description dans l'espace z. La ralisation fera appel des

    calculateur numriques (PC, P, ...). Certains logiciels permettent d'implanter sur PC une

    simulation apparemment analogique, mais qui reste bien entendu numrique (MATLAB,

    Mathematica).

    La simulation peut s'excuter en temps rel ou en temps diffr:

    1

    Une simulation en temps rel require les mmes dures d'opration que le processus quiest reprsent. On utilise ce genre de modle pour valider un appareil de rgulation au

    sortir de fabrication, avant d'aller l'installer sur le site. Les interfaces avec le simulateur

    sont identiques ceux qui sont implants sur l'installation relle de telle sorte que l'appareil

    est vrifi dans des conditions aussi proches que possibles de la ralit.

    2 Le plus souvent, la simulation des droule en temps diffr, l'chelle du temps du modle a

    subi une expansion ou une contraction. En contractant le temps, cela permet d'excuter un

    grand nombre de simulation en un temps rduit. En dilatant le temps, on peut avoir recours

    des modles complexes qui demandent un temps de calcul lev, on peut ainsi visualiser

    des dtails qui ont peut-tre leur importance, mais qu'on devrait approximer pour une

    ralisation en temps rel.

    On notera qu'un simulateur analogique peut aussi fonctionner en temps diffr: il suffit

    de choisir les capacits une dcade au-dessous de la valeur calcule pour obtenir un

    simulateur qui fonctionne dix fois plus rapidement que le processus rel. Le simulateur

    analogique n'est plus gure utilis, cause des difficults de mise en uvre:

    topologie dpendante de l'installation simule.

    sensibilit la temprature ambiante et aux drives des composants.

    complexit des modifications.

    La qualit de la simulation tait dpendante de la prcision de composants, qu'on pouvait

    toutefois choisir par mesure, et de la prcision du modle.

    Dans le cas d'un modle numrique, le format et la taille des nombres, ainsi que le pas

    de calcul dans le temps ont une influence sur la qualit de la simulation.

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    6/16

    Asservissements linaires Modlisation et simulation

    Jean-Marc Allenbach 92 030916

    Quelque soit le type de simulation dsir, on n'y coupe pas, il faut commencer par

    laborer le modle. On peut certes, dans les cas simples, crire toutes les quations

    dynamiques du systme (voir chap. 3), en y appliquant les valeurs numriques indiques par

    les fabricants des divers organes de l'installation. Cette procdure a toutefois ses limites:

    On ne connat pas toujours chaque partie de l'installation.

    On risque des ngliger certains comportements. Les valeurs numriques ne sont pas toujours disponibles.

    Le calcul ne peut se faire qu' l'aide de "papier et crayon".

    On prfrera souvent laborer le modle partir du processus concret: il s'agit

    d'identification de processus.

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    7/16

    Asservissements linaires Modlisation et simulation

    Jean-Marc Allenbach 93 050302

    9.2 IDENTIFICATION DE PROCESSUS

    9.2.1 Prambule

    Pour identifier un processus S, on suppose qu'on dispose d'un systme d'acquisition de

    mesures qui peut aussi agir sur le processus. Le systme d'acquisition est le plus souvent informatis,

    ce qui implique l'usage du calcul chantillonn et une acquisition intervalle rgulierT. On fera appel

    comme outil de calcul la transforme en z (annexe 11.A)

    9.2.2 Identification en boucle ouverte

    Comme on l'a vu prcdemment ( 4.4.2), l'idal serait de pratiquer une mesure

    impulsionnelle du systme.

    Fig. 9.1 Mesure en boucle ouverte.

    Il suffirait d'injecter l'entre u une impulsion de Dirac, puis de calculer la fonction detransfert par transforme inverse du signal de sortiey.

    Y s G s U s ou Y z G z U z ( ) ( ) ( ) ( ) ( ) ( )= =s s (9.1)

    Si on applique en u(t) une impulsion de Dirac (t), la sortiey(t) est appeleg(t).

    G ss ( ) o t kT k ( ) ( ) [ ]= = G zs ( ) (9.2)

    Comme l'impulsion de Dirac n'est pas ralisable concrtement, on renonce cette mesure

    qui ncessite un calcul simple au profit d'une mesure indicielle ( 8.2.1).

    On a dj mentionn la mthode d'identification de Strejc ( 8.B.1) base sur une mesure

    analogique, son application est quelque peu "artisanale". Avec une mesure sur un nombre n fini

    d'chantillons de u[k] ety[k] (0k n), on peut faire mieux. On peut traduire (9.1) dans l'espace

    temps par la convolution.

    y k k u k[ ] [ ] [ ]= (9.3)

    On peut obtenirg[k] par dconvolution, les n valeurs de tant connues, puis en rechercher la

    transforme en z pour obtenir la fonction de transfert.

    y

    +Gd Gp

    Gs

    u

    v

    +

    D/A

    A/DSystme Numrique

    y[k]

    u[k]

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    8/16

    Asservissements linaires Modlisation et simulation

    Jean-Marc Allenbach 94 050302

    y k u k k[ ] / [ ] [ ] = G zs ( ) (9.4)

    Cette mthode permet certes d'extraire la rponse impulsionnelleg[k] avec une assez bonne

    approximation, mais il faut relever certains problmes:

    Le signaly[k] peut subir les effets d'une perturbation v(t), ce qui fausse la rponse impulsionnelle

    identifie.

    On ne peut pas toujours pratiquer un essai sur une installation en boucle ouverte ( 8.2.1).

    Le signal u(t) doit avoir une puissance suffisante pour mouvoir l'installation.

    Le rsultat final dpend du nombre d'chantillons.

    Enfin, le calcul des coefficients de la fonction de transfert par la transforme en z de la rponse

    impulsionnelle n'est pas aussi immdiat qu'il y parat, on y reviendra au prochain paragraphe.

    9.2.3 Identification en boucle ferme

    On peut volontiers pratiquer une identification du systme en cours de fonctionnement sans

    affecter celui-ci. Pour cela, on superpose au signal de sortie du rgulateur une squence binaire

    pseudo-alatoire uspa[k] de valeur moyenne nulle et de faible amplitude.

    Fig. 9.2 Mesure en boucle ferme.

    Dans ce cas, on identifie le systme en boucle ferme Gaf.

    GG

    G Gafs

    R s

    =+1

    (9.5)

    Aprs identification, il est toutefois facile de reconstituer le systme rgler, car on connat le

    rgulateur utilis.

    GG

    G Gsaf

    R af=

    1(9.6)

    On peut calculer la corrlation entre les signaux d'entre et de sortie qui portent sur N

    chantillons.

    +GR Gd Gp

    Gs

    ucmw

    v

    + +

    e

    F

    uspa[k]

    D/A+

    +

    A/DSystme Numrique

    y

    y[k]

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    9/16

    Asservissements linaires Modlisation et simulation

    Jean-Marc Allenbach 95 050302

    o

    uy spa[ ] [ ] [ ]k u i k y i

    i

    N

    =

    =

    0

    (9.7)

    Si on choisit judicieusement le spectre du signal uspa[k], et qu'on est certain que ses

    corrlations avec les signaux v et w sont nulles, ce qui est vrai lorsque les signaux sontstatistiquement indpendants, on peut affirmer que cette corrlation est gale la rponse

    impulsionnelle, en tant affranchi de l'influence des autres signaux [12].

    o

    uy [ ] [ ]k g k= (9.8)

    k k[ ] [ ]= 0 1 0L N (9.9)

    De (9.9), on peut tirer l'expression en z de la rponse impulsionnelle identifie.

    G z g g z g z N( ) = + + 0 11L N (9.10)

    On suppose que le systme est d'ordre n, ce qui permet d'crire la fonction de transfert.

    G zb b z b z b z

    a z a z a z

    n n

    n nafn 1 n

    n 1 n

    ( ) =+ + + +

    + + +

    0 11 1

    11 11

    L

    L

    (9.11)

    On constate, en galant (9.11) et (9.10), qu'il faut rsoudre un systme d'quations 2n+1

    inconnues, dans lequel on ne connat mme pas n priori. La complexit des calculs requiert un

    temps souvent exagr.

    On prfre recourir des mthodes d'optimisation, moins coteuses en temps processeur,

    bases sur des approximations successives des coefficients ai et bj. On peut exprimer la relation

    entre entre et sortie.

    )(1

    )()()(

    n1

    1n1

    1

    n1

    1n1

    10af zU

    zazaza

    zbzbzbbzUzGzY

    nn

    nn

    +++

    ++++==

    L

    L

    (9.12)

    )()()1()( n1

    1n1

    10n1

    1n1

    1nnnn zbzbzbbzUzazazazY ++++=+++

    LL (9.13)

    On retourne dans le temps.

    ][]1[]1[][

    ][]1[]1[][

    spanspa1nspa1spa0

    n1n1

    kubkubnkubnkub

    kyakyankyanky

    +++++

    =++++

    L

    L

    (9.14)

    Les valeurs de y et uspa sont connues par mesure pour 0 kn, et nulles pour les autres

    valeurs. On cherche tablir les coefficients ai et bj .Comme on procde par approximation

    successives, lquation de (9.14) qui devrait tre exacte pour tout kest entache dune erreuree [k]

    lorsque les coefficients sont approxims.

    ][][]1[]1[][

    ][]1[]1[][

    espanspa1nspa1spa0

    n1n1

    kekubkubnkubnkub

    kyakyankyanky

    ++++++

    =++++

    L

    L

    (9.15)

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    10/16

    Asservissements linaires Modlisation et simulation

    Jean-Marc Allenbach 96 050302

    Plusieurs algorithmes sont issus de la mthode des moindre carrs qui tend minimiser

    lerreur quadratique due lapproximation, en comparant chaque pas la valeur de y obtenue par

    calcul celle obtenue par mesure sur linstallation.

    ][

    1

    2quad keS

    n

    k

    e=

    = (9.16)

    Une fois que les coefficients sont obtenus avec une prcision suffisante, il est facile de mettre

    en vidence les ples et les zros du systme boucl, puis den tirer le processus lui-mme selon

    (9.6). La mthode de base des moindres carrs ne garantit pas que les coefficients obtenus seront

    indpendants dune perturbation qui aurait pu survenir pendant le temps de mesure.

    Parmi les mthodes plus volues, on cite en particulier lalgorithme auto-rgressif

    moyenne ajuste (ARMA). Ces algorithmes ne sont pas dvelopps ici en dtail, on utilisera ceux

    mis disposition par des logiciels (par exemple: System Identification Toolbox de MATLAB,

    WinPIM de ADAPTECH,). Pour ceux qui veulent en savoir plus, ils se reporteront aux

    documents mathmatiques sur le sujet ([12]).

    Il reste encore dfinir les caractristiques du signal uspa. On a dj vu la ncessit quil ait

    une valeur moyenne nulle pour viter de perturber le fonctionnement du processus : on le construira

    en ajoutant ou soustrayant un bit (parmi ceux de poids faible) la valeur nulle. Son amplitude sera

    donc de 2m multipli par le pas de quantification. Le nombre de priodes dchantillonnage o le

    signal a la valeur + doit tre rigoureusement gal celui ou il a la valeur . Selon Shannon, le

    spectre de ce signal doit au moins tre le double de la frquence maximale quon veut mettre en

    vidence sur le systme, idalement, on doit se rapprocher le plus possible dun bruit blanc [12].

    Cela dtermine le choix de la priode dchantillonnage Tet la construction de la squence du signal.

    Par ailleurs, si on veut mettre en vidence un processus dordre n, la dure du signal sera au moins

    de (2n+1) T.

    On peut aussi tenter d'identifier un systme en mesurant simplement les entres et sorties sans

    injecter de signal. C'est la mthode qui interfre le moins avec le processus: l'identification est ici un

    simple observateur et les signaux sont ceux du fonctionnement normal de l'installation, avec leurs

    proprits.

    Fig. 9.3 Mesure en boucle ferme sans injection de signal.

    y

    +G

    R G

    d G

    p

    Gs

    ucmw

    v

    + +

    e

    F

    v[k]

    A/DSystme Numrique

    y[k]A/D

    A/D

    u[k]

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    11/16

    Asservissements linaires Modlisation et simulation

    Jean-Marc Allenbach 97 050302

    Y z G z U z G z V z ( ) ( ) ( ) ( ) ( )= +s cm pf (9.17)

    y k n a y k n a y k b u k n b u k n b u k

    c v k n c v k n c v k e k

    [ ] [ ] ... [ ] [ ] [ ] ... [ ]

    [ ] [ ] ... [ ] [ ]

    + + + + = + + + + +

    + + + + +

    1 0 1

    0 1

    1 1

    1

    n n

    n e

    (9.18)

    La qualit du modle dpend ici de la largeur du spectre des signaux d'entre, on espre qu'il

    sera suffisamment large pour que le modle ait encore du sens. Les mthodes paramtriques

    d'identification sont ici bien adaptes (Arma, ...). Les mthodes d'identification par les variables

    d'tat peuvent aussi tre mises en uvre, elles sont assez voisines des prcdentes de par leur

    concept. On cherche minimiser l'erreure sur le vecteur d'tat.

    x A x B B e

    C x D D

    [ ] [ ] [ ] [ ] [ ]

    [ ] [ ] [ ] [ ]

    k k u k v k k

    y k k u k v k

    + = + + +

    = + +

    1 u v

    u v

    (9.19)

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    12/16

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    13/16

    IdentGuide.doc

    J.-M. Allenbach 1 2004-03-24

    Utilisation de la Bote Outils

    System Identification

    Prparation

    On peut rassembler les donnes dans un fichier iddata

    NomFichier=iddata(NomSortie,NomEntree,PerEchanti) ;

    Appel du Fichier

    On ouvre une fentre de travail.ident

    Par le champ Data , on peut ouvrir une autre fentre en choisissant import

    On clique sur le bouton Import

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    14/16

    IdentGuide.doc

    J.-M. Allenbach 2 2004-03-24

    On slectionne ensuite le champ Reprocess , dans lequel on choisit selectrange . Cela nous ouvre une fentre avec le graphique temporel de signal. Par la souris, un y

    slectionne deux cadres, en vert : la zone utiliser pour ltablissement du modle et en rouge

    celle utiliser pour la comparaison.

    Par deux clics sur le bouton Insert, on importe les donnes dans les fentres degauche.

    On dpose avec la souris le fichier vert dans la fentre Working Data et lefichier rouge dans la fentre Validation Data . On choisit ensuite la mthode de

    modlisation par le champ Estimate

    On clique sur le bouton Estimate.

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    15/16

    IdentGuide.doc

    J.-M. Allenbach 3 2004-03-24

    Si le taux de vraisemblance nous parait suffisant (ici 81,37 %) on transfert avec la

    souris le modle dans la fentre To Workspace.

    On dispose alors dans lespace de travail MATLAB du modle requis.

    >> pss4

    State-space model: x(t+Ts) = A x(t) + B u(t) + K e(t)

    y(t) = C x(t) + D u(t) + e(t)

    A =

    x1 x2 x3 x4

    x1 0.96241 -0.062219 0.0032441 0.0076629x2 0.0057285 0.97928 0.073213 0.041276

    x3 0.085745 0.098763 -0.31597 0.73622

    x4 -0.033189 0.10557 -0.35739 -0.013738

    B =

    u1

    x1 0.003929

    x2 0.0068265

    x3 0.76904

    x4 -0.53549

    C =

    x1 x2 x3 x4y1 5.171 -0.08369 -0.011249 0.038528

    D =

    u1

    y1 0

    K =

    y1

    x1 0.14604

    x2 -0.55359

    x3 -1.3064x4 1.4203

  • 7/27/2019 VOLUME2 Asservissements modlisation et simulation

    16/16

    IdentGuide.doc

    J -M Allenbach 4 2004-03-24

    x(0) =

    x1 -1.1539

    x2 -0.27813

    x3 -5.4653

    x4 11.009

    Estimated using PEM from data set EssSIMA2e

    Loss function 6.58701e-005 and FPE 6.79737e-005

    Sampling interval: 0.002

    >> [A,B,C,D]=ssdata(pss4)

    A =

    9.6241e-001 -6.2219e-002 3.2441e-003 7.6629e-003

    5.7285e-003 9.7928e-001 7.3213e-002 4.1276e-002

    8.5745e-002 9.8763e-002 -3.1597e-001 7.3622e-001

    -3.3189e-002 1.0557e-001 -3.5739e-001 -1.3738e-002

    B =

    3.9290e-003

    6.8265e-003

    7.6904e-001

    -5.3549e-001

    C =

    5.1710e+000 -8.3690e-002 -1.1249e-002 3.8528e-002

    D =

    0

    >>