mpc control adaptativo para la automatizacion de la industria

Upload: patricia-chambergo-ruiz

Post on 07-Jul-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    1/19

    MPC – MODEL PREDICTIVE CONTROL

    1. Breve Histórico

    O MPC é um método baseado em controle ótimo, isto é, que seleciona as entradas de controle de forma aminimizar uma função objetivo. O cálculo da função objetivo baseiase tanto em valores atuais de sa!das do

     "rocesso quanto em valores "reditos "or um MO#$%O $&P%'C()O do "rocesso.

    Por ser im"lementado em sistemas di*itais, a aborda*em é discreta no tem"o+

     xk+1 = f(xk  , uk  ) yk = g(xk  )

    Conecida a sa!da atual do "rocesso yk  , buscase um controle que minimize a função objetivo+

    ∑−

    =

    ++++  ∆+=

    -

    ////0,,101

     N 

      j

    k   jk k   jk k   jk k  N k uu y L y J    φ 

     2a equação acima, k  N k  y /+ indica o valor no tem"o k+N  dadas informaç3es até 1e incluindo0 o instante k ,

    nitidamente invocando o caráter "reditivo da formulação. O termo   k   jk k   jk k   jk    uuu /-//   −+++   −=∆ , é a

    velocidade de controle, inclu!da na função objetivo, re"resentando limitaç3es na velocidade de atuação doelemento final de cotrole.

    #os N  movimentos de controle calculados que minimizam a função objetivo acima, a"enas o "rimeiro éim"lementado. 4uando um nova medição se torna dis"on!vel, os "ar5metros do "roblema são atualizados eum novo "roblema de otimização é formulado, cuja solução fornece o "ró6imo movimento de controle.

    4uando a função objetivo é escrita como+

    =++++

    ∆+−+−+−=

    -

    7

    /

    7

    /

    7

    /

    7

    /0

     N 

      jS k   jk  Rref  k   jk Qref  k   jk Qref  k  N k 

    uuu y y y y J 

    onde Q, R e S  indicam matrizes de "onderação das normas vetoriais, e o "rocesso for linear, o MPC se tornaum caso de Controle 8timo %inear 4uadrático.

    9m :e*ulador 4uadrático %inear 1%4:0 é "ro"osto "ara "rocesso descrito em variável de estado1que im"licaem uso de variáveis desvio0+

    k k 

    k k k 

     xC  y

    u B x A x

    =

    +=+-

    e a função objetivo+

    ∑−

    =

    ++  +=

    -

    7

    /

    7

    /  0

     N 

      j R

    k   jk Q

    k   jk   u x J 

     xQ x x  T 

    Qk   jk    =+

    7

    /

    ; solução do "roblema de otimização é um re*ulador ótimo+

    k k    x K u   −=

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    2/19

    com a matriz K , obtida da solução da equação a se*uir+

    -01  −+=   RC  P C C  P  K 

      T 

    k k 

    que utiliza a covariança do estimador de estado, denotada "or k  P  , "ro"a*ada "ela $quação de :icatti+

    -

    -01

    Q P 

     A P C  RC  P C C  P  AQ A P  A P   T 

    k k 

    =

    +−+=   −+

    O al*oritmo tem condiç3es estabilizantes desde que as matrizes  RQ, sejam "ositivas definidas. Contudo, o%4: teve "ouco im"acto na ind

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    3/19

    ∑=

    −++=

     N 

    !

    !  jk !  jk u" y

    -

    Ee*undo este modelo, as sa!das de"endem de uma combinação linear das entradas "assadas= os "esos dosomatório 1"! ) são os coeficientes da res"osta im"ulsional. ; soma é truncada no "onto onde entradas "assadasnão mais e6ercem influ?ncia nas sa!das. $sta re"resentação só é "oss!vel "ara "lantas estáveis. Contudo, aoinvés de identificação >(: direta, recomendase uma identificação de modelo do ti"o ;:M;& se*uido deconversão de modelo ;:M;& "ara >(:. (sto se deve a que a identificação de modelos >(: em "lantas comru!do conduz, *eralmente, a estimativas com alta vari5ncia, uma conseqF?ncia direta do fato queos coeficientes >(: são fundamentalmente correlacionados.

    O >(: foi identificado "or testes na "lanta usando al*oritmo "ara minimização do erro estrutural entre "lantae modelo no es"aço de "ar5metros. O al*oritmo iterativo resultante faz "equenos ajustes nos coeficientes acada eta"a, tal que a dist5ncia estrutural "ermanentemente decresça. O "roblema de controle é resolvido como mesmo al*oritmo notando que este é um "roblema dual do "roblema de identificação+ no "roblema deidentificação, conecese as entradas e sa!das e desejase conecer os "ar5metros. 2o "roblema de controle,conecese os "ar5metros e a trajetória desejada 1definida com "rimeira ordem, com velocidade comandada

     "ela constante de tem"o0, e desejase calcular as entradas necessárias. Constante de tem"o bai6a aumenta a

    a*ressividade do al*oritmo, enquanto que valores maiores dão maior robustez 1a"esar de atribuir maiolentidão0. :icalet reconeceu os benef!cios da estrutura ierárquica+

     2!vel G+ S"e%u!ng  da "rodução 2!vel 7+ Otimização de EetPoints "ara minimizar custo e *arantir qualidade e "rodutividade 2!vel -+ Controle din5mico multivariável da "lanta 2!vel + Controle P(# das válvulas.

    $les notaram que o benef!cio econHmicos decorrem do 2!vel 7, e não da redução da variabilidade da "lanta.O MPC foi a"licado em unidades de >CC, PIC e Plantas de Jeração de Ia"or.

    #MC

    Cutler e :adamaKer, en*eneiros da Eell, desenvolveram inde"endentemente de :icalet, o seu MPC noin!cio da década de A, ao qual deram o nome de #Lnamic Matri6 Control 1#MC0. ;s "rinci"aiscaracter!sticas do #MC são+

    a0 res"osta linear ao de*rau como modelo da "lanta b0 função objetivo quadrática em um orizonte de "redição finitoc0 sa!das futuras da "lanta são es"ecificadas "ara rastreamento de set"ointd0 entradas ótimas são calculadas como solução de um "roblema de m!nimos quadrados

    O modelo de res"osta ao de*rau utilizado "elo al*oritmo #MC relaciona mudanças nas sa!das do "rocesso asoma "onderada das entradas "assadas, referidas como *o!*en$o %e en$r%. Para um sistema E(EO+

     N   jk  N 

     N 

    !

    !  jk !  jk u ,u , y

    −+

    =

    −+++∆= ∑

    -

    -

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    4/19

    Otimização Pn$-.!%e

    Otimizador %ocal 9nidade - Otimizador %ocal 9nidade 7

    Caves Eeletoras EN%E

    P(# P(#%%

    EOM; EOM;

    Controladores P(##escentralizados da 9nidade -

    Controlador com ModeloPreditivo

    1MPC0

    Controladores P(##escentralizados da 9nidade 7

     >C

     )C

     >C

     )C

     >C

     )C

     >C

     )C

    /$!*!#'o o

    e$!on0r! ("or)

    /$!*!#'o o2

    e$!on0r! (%!)

    Con$roe 3!n4*!o o*

    re$r!'5e (*!nu$o)

    Con$roe 3!n4*!o

    20!o (egun%o)

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    5/19

    Os "esos das entradas de controle 1*o!*en$o %e entradas0 !  são os coeficientes da res"osta ao de*rau.Matematicamente, a res"osta ao de*rau "ode ser definida como a inte*ral da res"osta im"ulsional. ;ssim,dada um forma do modelo, a outra "ode facilmente ser obtida. Ea!das m

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    6/19

    9ma outro forma de tratar restriç3es é minimizar a violação no sentido dos m!nimosquadrados. $ste é oconceito de re$r!'5e  of$:.

    2. MPC Baseados em Modeos de Res!osta ao De"ra#

    Eeja E QR 1 , ; , 999, nS) a res"osta ao de*rau unitário+

     N k  N k k  N k  N  N k 

    k k k k k 

    k k k k 

    k k k 

    7u ,u ,u , y

    7u ,u ,u , y7u ,u , y

    7u , y

    +−++−+

    ++++

    +++

    ++

    +∆++∆+∆=

    +∆+∆+∆=+∆+∆=

    +∆=

    ----

    G7--7GG

    7--77

    ---

    ...

    ...

    ou+

    --   ++  +∆= k k k 

    7uS  y

    onde k u∆ é o valor de u∆ em * "ontos começando na eta"a k . S é dada "or+

    =

    +−−−

    −+

    −−

    -7-

    7--

    -7-

    -7G

    -7

    -

    ...

    ...

    ...

    ...............

    ...

    ...

    ...

    * & & & &

    ***

    ***

     , , , ,

     , , , ,

     , , , ,

     , , ,

     , ,

     ,

    S  , a Matriz #in5mica do Eistema.

    Eistema#in5mico

     1

     ;

     <

    999 n

    0-1   +∆   k u

    01k u∆

     P%o 6u$uro  Refern!

    S>% &roje$%

    ?r!0e! *n!&u%

    0/-1   k k  y   +

    K KT-KT7

    KTG KT2

     @or!#on$eu(k+*-1)

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    7/19

    O P:OU%$M; E(EO E$M :$E):(VW$E

    O "roblema de controle a"resentado reduzse a escoler a seqF?ncia de controle ∆uk  que faça a sa!da "reditase mover numa trajetória de refer?ncia+

    T  &k k k k    y y y y y

    X,..., Y ZZ GZ

    7Z

    -Z

    -++++=

    +

    ou seja, escoler ∆uk  tal que

    Z

    -

    -

     [+

    =+∆++

     y7uS  yk k 

    #efinindo o erro de "rojeção+

    X[Y-

    Z

    --

    ++  +−=

    +  k k k 

      7 y yek 

    a lei de controle é+

    -+=∆

    k euS 

    Como o n

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    8/19

    e a ação de controle resultante é+

    ( )-

    -7+

    −+=∆

    k T T 

    k   eS    K S S u

    $E)(M;2#O P$:)9:U;VW$E 2\OM$#(#;E $ ;)9;%(];V\O #; P:$#(V\O

    O vetor de erro "rojetado ek+1 requer os valores futuros do efeito de "erturbaç3es nãomedidas, que não sãoconecidos no instante k . $les só "odem ser estimados com base em informaç3es atuais dis"on!veis. 2o

     "en

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    9/19

    e1,k+1 é o erro "rojetado "ara a iésima sa!da 1iQ-,70, ∆u j,k  é a seqF?ncia de movimentos de controle "ara a jésima variável de entrada 1jQ-,70, e S !,j é a matriz din5mica formada "ela res"osta ao de*rau da variável de sa!da i avariável de entrada j. )odo o desenvolvimento anterior se a"lica e6atamente, com a diferença que as matrizes,a*ora, "ossuem dimens3es maiores.

    $EC;%;

    ;l*umas variáveis são mais sens!veis do que outras 1*anos maiores0. O #MC reconece a im"ort5ncia de "or em escala o vetor de erro ek+1  tal que mudanças i*ualmente im"ortantes nas várias sa!das sejam tratadasi*uais. (sto é feito "ela introdução de uma matriz de "onderação Γ  como "ar5metro de sintonia+

    ( ) --

    +

    −Γ =∆ k 

    T T k    eS S S u

    OU)$2#O ; :$EPOE); ;O #$J:;9

    Os modelos de res"osta ao de*rau baseiamse em que o sistema está inicialmente em estado estacionário. Paraum sistema linear invariante no tem"o e E(EO, a mudança da sa!da do "rocesso a uma mudança unitária naentrada u∆ é+

    { }...,,...,,,, 7-   nn   , , , ,

    onde é assumido que o sistema se estabelece e6atamente a"ós n  "assos. ; res"osta ao de*rau R 1 , ; , 999, nSconstitui um modelo com"leto do sistema, que "ermite calcular a sa!da y "ara qualquer seqF?ncia de entrada+

    -

    -

    −−

    =

    −  +∆= ∑   nk n

    n

    !

    !k !k u ,u , y

    $stes modelos "odem ser em"re*ados tanto "ara sistemas estáveis quanto inte*radores. Para sistemasinte*radores, assumese que a inclinação da curva de res"osta "ermanece constante a"ós n "assos+

     n - n-1 = n+1- n = n+; E n+1 = 999

    Para um sistema M(MO com nu entradas e ny sa!das+

    =

    !nuny!ny!ny

    !!

    !nu!!

    !

     , , ,

     , ,

     , , ,

    ,,,7,,-,

    ,7,7,-,7

    ,,-,7,-,-,-

    ...

    ............

    ...

    ...

    onde

     ,*,! é o !F!*o  coeficiente da res"osta ao de*rau relacionando a *F!* entrada  F!** sa!da.

    O )oolbo6 MPC do M;)%;U armazena os modelos de res"osta ao de*rau no formato+

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    10/19

     Gnunynyn%e$ 

    ny

    nynou$ 

    nou$ 

    nou$ 

     &-n$-

    07Z1

    7

    -

    ...7

    ...

    ...01

    .........

    ...071

    ...0-1

    ...

    ++

    =

    onde %e$; é o intervalo de amostra*em e o vetor nou$  se uma determinada sa!da é inte*radora ou não+

    nou$(!) = 1 se ! for inte*radoranou$(!) = A se ! não for inte*radora

    ; res"osta ao de*rau "ode ser obtida diretamente de um e6"erimento de identificação ou *erada através de

    uma função de transfer?ncia cont!nua ou discreta. Por e6em"lo+

     y(k) = -A,H y(k-1) + u(k-

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    11/19

    ;lternativamente, "odese "rimeiro *erar uma descrição em variáveis de estado e, em se*uida, a res"osta aode*rau+

    num = [0 0 0 num];

    den = [den 0 0];

    % Convert to state-space

    [phi,gam,c,d] = tf2ss(num,den);

    plant = ss2step(phi,gam,c,d,tfinal,delt,delt2,nout);

    %plotstep(plant)

    (nformaç3es sobre o conte

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    12/19

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    13/19

    ∑∑∑= ==

    ∆==

    !

      j

      j

    !

      j

      j!   """

    - --

    Para estimar os "ar5metros, reo*en%-e Iue $o% r!0e! e$ej* e* e &r Iue $en"* *e* or%e* %e grn%e#9 $o &o%e er fe!$o &e fun'5e %o Too2ox %e JPC  autosc ou scal& Osdados, a se*uir, devem ser rearranjados na forma+

    L = G θ 

    Onde L contém todas as informaç3es de sa!das 1 01k  y∆  "ara "rocessos estáveis e 0011   k  y∆∆  "ara

     "rocessos inte*radores0 e  G   todas as informaç3es de entradas 1 01k u∆ 0 a"ro"riadamente arranjadas. /rerrnjo % en$r% e >% F fe!$o o* ro$!n  *rtreg& Os "ar5metros "odem ser estimados viam!nimos quadrados multivariável 1rotina  mlr0 ou m!nimos quadrados "arciais 1plsr0.  6!n*en$e, re&o$ o %egru F o2$!% &r$!r %o oef!!en$e % re&o$ !*&u!on  via imp2step.

    O e6em"lo a se*uir  $ver m!ct#tid* ilustra este "rocedimento

    + tpe mpctutid

    % Copright (c) .-/ ' !he #athor1s, nc&

    % 34evision5 &. 3

    echo on

    %

    % $urpose5 6emonstrates the use of identification routines&

    % !he sstem considered here has t*o inputs and one output&

    %

    % 7oad the input 8 output data& !he input and output data are generated

    % from the follo*ing transfer functions and random 9ero-mean noises&

    % !: from input to output 5 g = &)

    % ampling time of < minutes *as used&

    %

    load mlrdat&mat

    pause

    %

    % 6etermine the standard deviations for input

    % data using the function autosc&

    %

    [a",m",std"] = autosc(");

    %

    % 7et us scale the input data ' their standard deviations onl&

    %

    m" = [0 0];

    s" = scal(",m",std");

    %

    % $ut the input 8 output data in a form such that the can 'e used to% determine the impulse response coefficients& ? impulse response

    % coefficients (nofcoe) are used&

    %

    n = ?;

    ["reg,reg] = *rtreg(s",,n);

    pause

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    14/19

    %

    % 6etermine the impulse response coefficients via mlr& @o penalties on

    % theta and delt theta are used in mlr& A specifing plotopt of 2,

    % t*o plots - plot of predicted output and actual output, and plot of

    % the residue output (or predicted error) - are produced&

    %

    ninput = 2;

    plotopt = 2;

    [theta,res] = mlr("reg,reg,ninput,plotopt);

    %

    % cale theta 'ased on the standard deviations used in scaling the

    input&

    %

    theta = scal(theta,m",std");

    pause

    %

    % Convert the impulse model to a step model to 'e used in #$C design&

    % ampling time of < minutes *as used in determining the inpulse model&

    % @um'er of outputs ( in this case) must 'e specified&

    %nout = ;

    delt =

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    15/19

    $&$MP%O #$ CO2):O%$ P:$#()(IO E$M :$E):(V$E

    % Copright (c) .-/ ' !he #athor1s, nc&% 34evision5 &. 3

    echo on

    %

    % $urpose5 6emonstrate the use of controlier design and simulation

    % routines for step response models&

    % !he plant considered is B *ith a B distru'ance plant&

    %

    % $lant transfer function5 g = &)

    %

    % Auild the step response models for as sampling period of

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    16/19

    pause

    %

    dela2=;

    num2=&2;

    den2=[2 ];

    gd = pol2tfd(num2,den2,delt,dela2);

    delt2=

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    17/19

    %

    % imulate and plot response for unmeasured

    % step distur'ance through dplant *ith u*t = 0,

    % *ith and *ithout noise filtering&

    tend = 2.;

    r = []; usat = []; dmodel = [];

    tfilter = [];

    dstep = ;[,u] =

    mpcsim(plant,model,Dmpc,tend,r,usat,tfilter,dplant,dmodel,dstep);

    tfilter = 20; % noise filtering time constant = 20

    [,u] =

    mpcsim(plant,model,Dmpc,tend,r,usat,tfilter,dplant,dmodel,dstep);

    plotall([,],[u,u],delt2);

    pause;

    %

    % imulate and plot response for unmeasured

    % step distur'ance through dplant *ith u*t = 0,

    % *ith and *ithout unmeasured distur'ance time

    % 'eing specified&

    tend = 2.;r = []; usat = []; dmodel = [];

    tfilter = [];

    dstep = ;

    [

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    18/19

    % #a"imum Constraint on nput = inf

    % 6elta Constraint on nput = 0&

    model = plant;

    *t = ; u*t = 0;

    # = ; $ = 20;

    tend = 2.;

    r = [];

    ulim =[];lim = []; tfilter = []; dmodel = [];

    dstep = ;

    [,u] = cmpc(plant,model,*t,u*t,#,$,tend,r,&&&

      ulim,lim,tfilter,dplant,dmodel,dstep);

    ulim = [-0&., inf, 0&]; % impose constraints

    [0,u0] = cmpc(plant,model,*t,u*t,#,$,tend,r,&&&

      ulim,lim,tfilter,dplant,dmodel,dstep);

    plotall([,0],[u,u0],delt2);

    pause;

    echo off

    plotall([,2],[u,u2],delt2); plotall([?,.],[u?,u.],delt2);

    plotall([,],[u,u],delt2); plotall([

  • 8/18/2019 Mpc control adaptativo para la automatizacion de la industria

    19/19

    ;2%(E$ #; M;%; >$C;#; 1m"ctutst.m0

    plotfrsp(eefrsp); % sensitivit

    plotfrsp(frsp); % complementar sensitivit

    CO2):O%$ P:$#()(IO COM :$E):(V$E

    plotall([,0],[u,u0],delt2);