MEEC Mestrado em Egeharia Electrotécica e de Computadores MCSDI Guião do trabalho laboratorial º 3 Aálise o domíio dos tempos de sistemas represetados o Espaço dos Estados
Aálise o domíio dos tempos de sistemas represetados o Espaço dos Estados Sumário: Pretede-se com este trabalho utilizar as potecialidades do software MATLAB (com a Cotrol System Toolbox) a maipulação e aálise de sistemas represetados o Espaço dos Estados.. Fuções básicas de Álgebra Liear em MATLAB O MATLAB é um software de computação umérica que possui a sua versão base um vasto leque de fuções geéricas. Nesta secção pretede-se que o aluo se familiarize apeas com algumas das mais relevates... Vectores Para criar um vector usam-se os caracteres [ e ] que delimitam o cojuto de elemetos (separados de um espaço), sedo também ecessário atribui-lo a uma variável. >> v=[ 0-3 5 2] v = 0-3 5 2 A criação de vectores com elemetos igualmete espaçados é feita dado o valor iicial, o espaçameto e o valor fial. Este método é muito usado a criação de vectores de tempo. Por exemplo, para criar um vector com elemetos etre 0 e 8 igualmete espaçados de 2 uidades, deve-se escrever o comado: >> u=0:2:8 u = 0 2 4 6 8 Para somar dois vectores (desde que teham a mesma dimesão) basta: >> v+u as = 2 0 Para adicioar um valor a todos os elemetos de um vector: >> c=v+2 c = 3 2-7 4 Da mesma forma, para multiplicar um vector por um valor: >> d=v*0.2 Vítor Cuha, Tereiro Machado
2 d = 0.2000 0-0.6000.0000 0.4000.2. Matrizes A itrodução de matrizes é bastate semelhate à de vectores. São usados os caracteres [ e ] para delimitar a matriz, cada liha é costituída por um cojuto de valores separados por um espaço e termiada com o caracter ; (ou alterativamete fazer Eter). >> A=[ 2;4 5] A = 2 4 5 Para determiar a matriz trasposta utiliza-se o operador apóstrofo ( ), o caso da matriz coter elemetos complexos deverá ser usado o operador. (caso cotrário seria retorada a matriz trasposta cojugada): >> B=A' B = 4 2 5 Para realizar operações etre matrizes é ecessário ter em cosideração as suas dimesões: >> A*[ ]??? Error usig ==> mtimes Ier matrix dimesios must agree. >> A*B as = 5 4 4 4 A multiplicação de matrizes elemeto a elemeto e ão a multiplicação ormal de matrizes (liha por colua), é realizada através do uso do poto (.) ates do operador de multiplicação: >> A.*B as = 8 8 25 Outro exemplo do efeito da utilização do poto, omeadamete o operador potêcia (^): >> A^2 %o mesmo que fazer A*A as = 9 2 24 33 Vítor Cuha, Tereiro Machado
3 >> A.^2 as = 4 6 25 Neste caso a operação é feita elemeto a elemeto, resultado uma matriz ode cada elemeto foi elevado ao quadrado. Para ecotrar a iversa de uma matriz: >> iv(a) as = -.6667 0.6667.3333-0.3333 O cálculo do determiate é feito pelo uso da fução det: >> det(a) as = -3 A fução eig permite ecotrar os valores próprios da matriz (raízes do poliómio característico) usada como parâmetro: vp=eig(a) vp = -0.464 6.464 No caso de serem especificadas duas variáveis de retoro, a fução eig devolve uma matriz cujas coluas represetam os vectores próprios (vecp) ormalizados e uma matriz (forma caóica de A) cujos elemetos da diagoal pricipal são os valores próprios da matriz (valp). [vecp,valp]=eig(a) vecp = -0.8069-0.3437 0.5907-0.939 valp = -0.464 0 0 6.464 Vítor Cuha, Tereiro Machado
4 2. Represetação de sistemas o Espaço dos Estados A represetação de um sistema o Espaço dos Estados é uma das formas possíveis de o represetar matematicamete. Trata-se de uma represetação o domíio dos tempos que cotrasta com a represetação por Fução de Trasferêcia que se baseia o domíio das frequêcias. Coceitos associados a este método de represetação de sistemas diâmicos: Estado Variáveis de Estado Meor cojuto de variáveis que permitem determiar completamete o comportameto de um sistema para qualquer istate t t 0, desde que sejam cohecidos os valores dessas variáveis em t=t 0 e o da etrada para t t 0. São as variáveis que um sistema diâmico costituem o meor cojuto de variáveis (x, x 2,, x ) que determiam o estado do sistema. Vector de Estado Espaço dos Estados Vector costituído pelas variáveis de estado ecessárias para determiarem completamete o estado de um sistema. Espaço -dimesioal cujos eixos coordeados são os eixos referetes a x, x 2, x. Qualquer estado do sistema pode ser represetado por um poto este espaço -dimesioal. Para obter a represetação o Espaço dos Estados cosidere-se um sistema descrito pela equação diferecial liear de coeficietes costates: d y + a dt d dt y + K+ a y = b 0 d u + b dt d dt u + K+ b u Com a K, a, b,, R e ode y é a saída e u a etrada., 0 K b A respectiva Fução de Trasferêcia vem: Y ( s) b = U ( s) s 0s + + a bs s + K+ b + K+ a Cosidere-se X como uma variável itera do sistema: U (s) X ( s) b s + b s + K+ b Y (s) 0 s + a s + K+ a Etão Fazedo ( Y s) = b0s X ( s) + bs X ( s) + K + b X ( s) X 2 ( s) = sx, 2 3 ( s) s X X =,, X ( s) = s X Vítor Cuha, Tereiro Machado
5 vem: x& x& M x& x& 2 = x 2 = x 3 = x = a x a 2 x K a x + u y = b x + b x 2 + K+ b x + b x& 0 Quado colocadas a forma matricial as equações formam um sistema ode x é o vector de estado, u a etrada, y a saída, A a matriz de estado, B a matriz de etrada, C a matriz de saída e D a matriz de trasmissão directa. x& = Ax + Bu y = Cx + Du Equação : Represetação geérica o Espaço dos Estados Na forma de diagrama de blocos: D(t) u(t) x&(t) B (t) dt x(t) C(t) + + ++ y(t) A(t) Figura : Sistema de cotrolo liear cotíuo o tempo represetado o Espaço dos Estados Vítor Cuha, Tereiro Machado
6 3. Aálise de sistemas represetados o Espaço dos Estados 3.. Primeiro exemplo Cosidere o sistema mecâico liear apresetado a figura 2. A etrada do sistema é a força extera f(t) aplicada à massa e o deslocameto resultate y(t) a saída. K f(t) M y(t) B Aalisado o sistema obtém-se: Figura 2: Sistema mecâico composto por massa, mola e amortecedor M & y ( t) + By& ( t) + Ky( t) = f ( t) Equação 2: Equação diâmica que rege o sistema mecâico O sistema em estudo é de 2ª ordem (dois itegradores), esta situação devem ser cosideradas duas variáveis de estado x (t) e x 2 (t): Obtedo-se Vido a equação da saída x& x& x ( t) = y( t), posição x ( t) = y& ( ), velocidade 2 2 t = x 2 K = M x y = B M x x 2 + M f O passo seguite é a represetação das equações a forma matricial: x& 0 x = K B + 0 f x& 2 x M M 2 M x y = [ 0] x2 Equação 3: Represetação o Espaço dos Estados do sistema mecâico da figura 2 Vítor Cuha, Tereiro Machado
7 Ode: 0 0 A = K B ; B = ; C = D M M M [ 0 ]; = [ 0] 3... Itrodução do sistema o MATLAB a) Iicie a aplicação MATLAB. b) Para fis do exemplo, cosidere os valores dos parâmetros M, K, B do sistema mecâico mostrados a figura 3. Figura 3: Itrodução dos parâmetros da massa, mola e amortecedor c) Itroduza as matrizes A, B, C e D da represetação o Espaço dos Estados do sistema através da cosola do MATLAB. O resultado deverá ser semelhate à figura 4. Figura 4: Itrodução das matrizes de estado, etrada, saída e trasmissão directa Vítor Cuha, Tereiro Machado
8 d) Verifique as matrizes itroduzidas escrevedo o ome da variável ode foi guardada seguida de ENTER. e) Para defiir as matrizes como sedo a represetação de um sistema o Espaço dos Estados é ecessário executar a fução State-Space (Cotrol System Toolbox) através do comado ss. Esta fução uma das suas formas aceita como parâmetros de etrada as quatro matrizes defiidas ateriormete. Para obter iformação mais detalhada desta fução (ou de qualquer outra) escreva a cosola a palavra help seguida do ome da fução. f) Execute a fução ss (figura 5) com as matrizes A, B, C e D como parâmetros de etrada. Note o uso da variável exemplo ode ficará guardado o sistema a forma de Espaço de Estados. Figura 5: Sistema defiido o Espaço dos Estados em MATLAB 3..2. Estabilidade o domíio dos tempos A estabilidade do sistema (equação 3) pode ser avaliada através da equação característica da matriz A: s I A = 0 A equação característica é um poliómio em s. Se todas as raízes deste poliómio possuírem parte real egativa, etão o sistema é estável. Vítor Cuha, Tereiro Machado
9 Determie a estabilidade do sistema em estudo: a) Utilize a fução poly para obter o poliómio característico da matriz de estado. Em seguida obteha as suas raízes através da fução roots. Figura 6: Poliómio característico e respectivas raízes b) O que pode ser cocluído relativamete à estabilidade do sistema? c) Que fução do MATLAB abordada ateriormete este guião permite obter directamete as raízes do poliómio característico de uma matriz? 3..3. Resposta temporal do sistema A resposta temporal de um sistema o Espaço dos Estados é dada pela solução do vector: At t A( t t') x( t) = e x(0) + e Bu( t') dt' 0 Equação 4: Resposta das variáveis de estado o domíio dos tempos Ode o primeiro membro da soma represeta a reposta devido às codições iiciais e o segudo a resposta devido à etrada u(t), ão cosiderado codições iiciais. Alterativamete, o domíio complexo vem: X ( s) = ( si A) x(0) + ( si A) BU ( s) Obteha a resposta temporal do sistema para uma etrada do tipo degrau uitário e codições iiciais ulas: a) A resposta ao degrau de amplitude Amp cosiderado codições iiciais ulas pode ser obtido directamete usado a fução step da seguite forma: step(amp*exemplo) Vítor Cuha, Tereiro Machado
0 0.4 Step Respose 0.35 0.3 0.25 Amplitude 0.2 0.5 0. 0.05 0 0 5 0 5 20 25 Time (sec) Figura 7: Resposta do sistema ao degrau uitário, com codições iiciais ulas b) Caracterize o tipo de resposta apresetada pelo sistema. Cosidere codições iiciais x (0)=x 2 (0)= e etrada do sistema ula (f(t)=0). Para esta situação determie o valor das variáveis de estado para o istate t=5s e a resposta temporal do sistema devido apeas às codições iiciais. a) Da equação 4 verifica-se que esta situação (etrada ula) a reposta temporal é obtida por: At x( t ) = e x(0) b) Crie um vector (x0) para as codições iiciais. At c) A matriz expoecial Φ ( t) = e para um dado istate é calculada através da fução expm como mostra a figura 8. d) Obteha os valores de x e x 2 para t=5s multiplicado a matriz Φ (t) pelo vector de codições iiciais x0. e) Para obter a resposta temporal do sistema apeas devido às codições iiciais use a fução iitial. >> iitial(exemplo,x0) Vítor Cuha, Tereiro Machado
Figura 8: Valores das variáveis de estado x e x 2 para t=5s f) Explique o valor da resposta temporal do sistema (figura 9) para t=5s. Relembre que a resposta de y(t), com base a equação 4, é dada por: t At y( t) = C e x(0) + e 0 A( t t') Bu( t') dt' + Du( t) Equação 5: Resposta da saída y(t) o domíio dos tempos 2 Respose to Iitial Coditios.5 Amplitude 0.5 System: exemplo Time (sec): 5 Amplitude: 0.26 0-0.5 0 5 0 5 20 25 Time (sec) Figura 9: Resposta temporal devido apeas às codições iiciais. Gráfico gerado com a fução iitial. Vítor Cuha, Tereiro Machado
2 3..4. Relação etre modelos O MATLAB dispoibiliza fuções que permitem obter uma represetação equivalete o Espaço dos Estados de um sistema a partir da sua fução de trasferêcia, e vice-versa. A Fução de Trasferêcia do sistema cosiderado este exemplo obtida da equação 2 é: X ( s) = M F( s) 2 B K s + s + M M Substituido M, B e K pelos valores uméricos usados o poto 3... b) vem: X ( s) = F( s) s 2 0. + 0.5s + 0.3 Obteha a represetação o Espaço dos Estados a partir da fução de trasferêcia aterior: a) Na cosola do MATLAB itroduza dois vectores, um referete ao umerador e outro ao deomiador da Fução de Trasferêcia. b) Visualize a Fução de Trasferêcia através do uso da fução Trasfer Fuctio (tf), como mostrado a figura 0. Figura 0: Itrodução da Fução de Trasferêcia do sistema o MATLAB c) Use a fução tf2ss como demostrado a figura. As letras A, B, C e D correspodem às variáveis ode serão guardadas as matrizes de estado, etrada, saída e trasmissão directa. Vítor Cuha, Tereiro Machado
3 Figura : Reapresetação o Espaço dos Estados com base a Fução de Trasferêcia d) Obteha os valores próprios da matriz de estado (A) e compare-os com a resposta do poto 3..2. a). e) Trasforme o sistema ovamete para Fução de Trasferêcia através da fução ss2tf: >> [um,de]=ss2tf(a,b,c,d) A Fução de Trasferêcia também pode ser obtida directamete da represetação em Espaço de Estados através da fução tf: >> tf(exemplo) Vítor Cuha, Tereiro Machado
4 3.2. Segudo exemplo Cosidere o sistema eléctrico apresetado a figura 2 com etrada u(t) e duas saídas (y (t) e y 2 (t)). R R R y (t) u(t) i L (t) y 2 (t) L L 2 i L2 (t) Figura 2: Sistema eléctrico com dois elemetos armazeadores de eergia a) Ecotre uma represetação do sistema o Espaço dos Estados. Cosidere as variáveis com setido físico x = il e x 2 = il2. b) Itroduza a represetação ecotrada o MATLAB utilizado as matrizes A, B, C e D. Cosidere R=0, L = e L 2 =2. Y ) c) Obteha as Fuções de Trasferêcia ( s Y2 e ( s) da represetação o Espaço dos U ( s) U ( s) Estados. d) Calcule os valores próprios e vectores próprios da matriz de estado. O que coclui sobre a estabilidade do sistema? e) Cosidere o sistema para u(t)=0. Aalise o comportameto do sistema o Plao dos Estados (x, x 2 ) para várias codições iiciais: Para fazer a simulação do sistema use a fução lsim. Iicialmete terá que defiir um vector de tempo, um vector com o sial de etrada e por fim o vector com as codições iiciais das variáveis de estado. A fução retora 3 matrizes com os valores das saídas (y, º de coluas = º de saídas), do tempo (t) e das variáveis de estado (x, º de coluas = º de variáveis de estado). Para a primeira simulação use como codição iicial x(0)=[2 2] T. >> t=0:0.0:; >> u=0*t; >> x0=[2;2]; >> [y,t,x]=lsim(exemplo2,u,t,x0); O traçado o Plao dos Estados é obtido cosiderado as duas coluas da matriz de saída x: >> plot(x(:,),x(:,2)); >> xlabel('x');ylabel('x2'); Altere os eixos do gráfico de forma a visualizar todos os quadrates: >> axis([-5 5-5 5]); Vítor Cuha, Tereiro Machado
5 Para que seja possível adicioar ovos traçados à mesma figura sem que o MATLAB altere a escala dos eixos, deverá executar o comado: >> hold o Utilize a fução lie para adicioar lihas como eixos (figura 3): >> lie([-5,5],[0,0]); >> lie([0,0],[-5,5]); 5 4 3 2 x2 0 - -2-3 -4-5 -5-4 -3-2 - 0 2 3 4 5 x Figura 3: Trajectória o plao de Estados para x (0)=x 2 (0)=2 Obteha mais traçados o Espaço dos Estados para várias codições iiciais que cosidere sigificativas de forma a eteder o comportameto do sistema. Para cada simulação deverá: i. Actualizar o vector x0; ii. Executar: [y,t,x]=lsim(exemplo2,u,t,x0); iii. Executar: plot(x(:,),x(:,2)); ATENÇÃO: Etre simulações ão feche a jaela, seão perderá todos os dados. Que coclusões retira dos traçados que obteve? f) Utilizado a fução lsim obteha a reposta temporal do sistema (y (t) e y 2 (t)) para uma tesão de etrada em degrau com amplitude igual a 00v e codições iiciais ulas. (Nota: use as fuções oes e size para criar o vector de etrada). Vítor Cuha, Tereiro Machado
6 Amplitude To: Out() 00 90 80 70 60 50 40 30 20 0 0 00 Liear Simulatio Results 90 80 To: Out(2) 70 60 50 40 30 0 0. 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Time (sec) Figura 4: Resposta do sistema às codições defiidas a alíea f) g) Obteha a represetação diagoal do sistema: d& - = W AWd + W y = CWd + Du - Bu Crie uma ova variável (W) para a matriz de mudaça de base e utilize-a a fução ss2ss: >> exemplo2d=ss2ss(exemplo2,iv(w)) h) Recorredo ao SIMULINK obteha um modelo da represetação do sistema obtido a alíea aterior. Deverá apeas utilizar blocos elemetares (itegradores, gahos, fuções defiidas pelo utilizador, somadores, ). Execute o comado simulik para laçar o Simulik Library Browser. Crie um ovo modelo (File New Model). Deverá ter esta fase as jaelas represetadas a figura 5. Vítor Cuha, Tereiro Machado
7 Figura 5: Jaela do MATLAB e jaelas pricipais do SIMULINK Para criar o modelo do sistema deverá localizar os diversos elemetos a Simulik Library Browser e arrasta-los para a jaela do ovo modelo. O sial de etrada a usar será um degrau (mesmas codições da alíea f)), para o obter use o bloco Step (biblioteca Simulik Sources). Defia o degrau de etrada para o istate t=0s e amplitude igual a 00. Figura 6: Jaela das propriedades do elemeto Step A visualização da resposta das saídas deverá ser feita através de dois blocos Scope (biblioteca Simulik Siks). Vítor Cuha, Tereiro Machado
8 Figura 7: Elemetos ecessários para gerar o sial de etrada e visualizar as saídas Para criar o restate modelo use os blocos itegrador, gaho e soma de acordo com a represetação diagoal do sistema que obteve ateriormete. O bloco Itegrator ecotra-se a biblioteca Simulik Cotiuous. Os blocos Gai e Sum ecotram-se a biblioteca Simulik Math Operatios. Depois de colocar todos os elemetos ecessários (figura 8) estabeleça as ligações etre os elemetos. Figura 8: Represetação parcial do sistema recorredo apeas a blocos elemetares Vítor Cuha, Tereiro Machado
9 Preecha os blocos Gai (figura 9) com os valores obtidos da represetação diagoal do sistema. Para aceder à jaela de propriedades faça duplo clique sobre o bloco. Figura 9: Jaela das propriedades do elemeto Gai Através do meu Simulatio Cofiguratio Parameters da jaela do modelo, coloque o parâmetro Stop time igual a (figura 20). Figura 20: Jaela de cofiguração de parâmetros da simulação Faça a simulação e abra os blocos Scope para visualizar as respostas. Caso seja ecessário use a fução Autoscale os eixos de forma a visualizar todo o sial. que redimesioa automaticamete Vítor Cuha, Tereiro Machado
20 Figura 2: Resposta temporal da saída y Figura 22: Resposta temporal da saída y 2 Compare as respostas com as obtidas a alíea f). i) Aalise a cotrolabilidade e observabilidade através das fuções ctrb e obsv que aceitam como etrada o sistema em Espaço de Estados e retoram as matrizes de cotrolabilidade (Q) e observabilidade (R), respectivamete. O úmero de estados ão cotroláveis/observáveis pode ser obtido da forma: legth(a)-rak(q ou R) Vítor Cuha, Tereiro Machado
2 4. Coclusões Acabamos de ver como é possível recorredo a fucioalidades do MATLAB e da Cotrol System Toolbox efectuar o estudo da resposta temporal de um sistema represetado o Espaço de Estados. As oções aqui itroduzidas, de uma forma ecessariamete resumida, podem ser desevolvidas recorredo à bibliografia que se apreseta de seguida. 5. Bibliografia [] J. L. Martis de Carvalho; Dyamical Systems ad Automatic Cotrol; Pretice-Hall; 993. [2] Katsuhiko Ogata; Egeharia de Cotrole Modero; Pretice-Hall do Brasil; 982. Vítor Cuha, Tereiro Machado