Professional Documents
Culture Documents
Resumo O problema de controle do ngulo que um pndulo faz com a vertical quando este se apoia em uma base mvel tem analogia com o funcionamento de plantas reais cotidianas, como lanamento de foguetes e deslocamento de guindastes. Quando o objetivo manter a carga pendular em uma posio vertical para baixo, a despeito do movimento unidimensional da base que a sustenta, a analogia entre guindastes, sobretudos aqueles sobre trilhos, se torna mais evidente. Com inspirao em tal problema de controle, analisada a factibilidade de desigualdades matriciais lineares para o projeto de um controlador robusto que explicitamente considera incertezas do modelo dinmico dos movimentos coplanares de um carrinho que se movimenta sobre um trilho retilneo e de uma massa pendular a ele ligado por uma haste rgida. A incerteza considerada se aplica ao coeficiente de atrito entre o carro e o trilho e o comportamento do sistema na presena do controlador projetado analisado para diferentes margens de incertezas de tal parmetro. Palavras Chaves: Desigualdades Matriciais Lineares, Realimentao de Estados dependente de Parmetros Incertos, Incerteza Politpica, Alocao de Polos, Estabilidade Regional, D-Estabilidade.
Para avaliao do desempenho do sistema em malha fechada, o controlador projetado foi utilizado em um modelo no linear fenomenolgico, fornecido pelo fabricante da planta em sua aplicao de projeto de controlador, identificao do sistema e simulao de sua dinmica.
DESCRIO DO SISTEMA
O sistema controlado consiste em um carrinho, que descreve um movimento unidimensional sobre um trilho retilneo, acoplado a uma massa pendular por uma haste metlica rgida. Tocado por um motor de corrente contnua, o carro, ao se deslocar, provoca um movimento pendular da massa, no plano do trilho, conforme ilustra a Figura 1. O objetivo do controle enviar uma referncia de posio ao carrinho, que deve ser seguida com o mnimo de oscilao possvel por parte do pndulo.
INTRODUO
O problema de utilizar o movimento de um corpo para manter uma massa pendular a ele conectado em uma posio predefinida recorrente na teoria de Controle e apresenta forte analogia com plantas reais. Dentre as solues para projeto de controladores para esse fim, possvel citar as tcnicas de controle clssico no domnio da frequncia e de realimentao de estados. A metodologia adotada consiste em impor ao sistema condies de desigualdades matriciais lineares (LMI), que, quando factveis, levam a solues das quais possvel a obteno de ganhos de realimentao de estados que garantam a alocao dos polos do sistema, em malha fechada, em regies arbitrrias do plano complexo, sob o conceito de estabilidade regional, tambm conhecido como D-estabilidade. O problema de Controle em estudo resume-se em movimentar um carrinho de uma posio inicial a outra que se tenha interesse, visando a manter uma massa pendular, a ele fixada, to prxima da posio vertical para baixo quanto possvel.
Trabalho Submetido em 14/12/2012, ao professor Fernando de Oliveira Santos, do Departamento de Engenharia Eletrnica (DELT), como requisito parcial para aprovao na disciplina Fundamentos do Controle Robusto via Otimizao, do Programa de Ps-graduao em Engenharia Eltrica da UFMG.
Figura 1 - Descrio dos movimentos apresentados pelo sistema. Fonte: [1] A medida da posio do carrinho e do ngulo que o pndulo faz com a vertical (medida a partir de 0 rad, referente posio vertical para cima) so feitas por encoders e o acoplamento do carrinho ao motor feito por uma correia. A comunicao com o computador em que projetado o controlador e monitoradas as medies realizadas feita por uma placa de aquisio de dados, sendo presente ainda um mdulo de condicionamento de sinais.
2.1
Modelo no linear
[ ] o vetor de estados do sistema, Sendo em que x1, x2, x3 e x4 representam, respectivamente, a posio do carrinho no trilho, o ngulo que o pndulo faz com a vertical (0 rad sendo vertical para cima e sentido positivo sendo o anti-horrio), a velocidade horizontal do carrinho e a velocidade angular do pndulo. As equaes de estado no lineares que descrevem a dinmica do sistema so formuladas conforme a seguir:
( ( ) ) eq. 1 Em que u a fora de controle; mp, a massa do pndulo; mc, a massa do carro; J, o momento de inrcia do sistema carropndulo; Tcfcx3, o atrito entre o carro e o trilho; fc, o coeficiente de atrito entre o carro e o trilho; fp o coeficiente de atrito entre o pndulo e o carro; g, a acelerao da gravidade; l, a distncia entre o eixo de rotao e o centro de massa do sistema; e ( ). Diante da inviabilidade de conduzir ensaios sobre a planta fsica, o modelo descrito pela eq. 1 foi tomado como substituto do sistema com maior grau de fidelidade em relao dinmica real apresentada e ser tratada indistintamente como planta e sistema, a no ser que seja explicitamente dito o contrrio. A dinmica da eq. 1, incluindo a modelagem no linear do atrito Tc [2], simulada em ambiente Simulink e os modelos so fornecidos pelo fabricante para utilizao em laboratrio, junto com a planta. A formulao das LMIs utiliza o modelo linearizado da planta, em torno do ponto de operao de interesse, i.e., carro e pndulo em repouso, sendo este posicionado na vertical para baixo. ( )
larguras de faixas para os possveis valores de fc e o comportamento do sistema analisado para cada caso.
PROJETO DO CONTROLADOR
Analisando o comportamento que se espera de um guindaste, plausvel almejar que a oscilao do pndulo em torno da posio vertical para baixo seja minimizada e que o carro se desloque ao seu destino no menor tempo possvel, com a mnima ultrapassagem de destino. Alm disso, desejvel que os movimentos para estabilizar o pndulo no sejam muito numerosos, dados os custos de reverso do motor que toca o carro. Assim so pautados os requisitos de projeto do controlador, sem, no entanto, se ter a preocupao de quantific-los em forma de parmetros numricos.
3.1
O controle da posio do pndulo se d ento por realimentao de estados, alocando os polos do sistema em malha fechada em uma regio do plano complexo esquerda de um nmero real arbitrrio, conforme indica a Figura 2.
2.2
Modelo linearizado
Como o problema estudado o problema de guindaste, o ponto de operao em torno do qual o sistema foi linearizado foi [ ] . A representao do sistema linearizado em espao de estados consta a seguir:
( )
Figura 2 - Regio LMI escolhida, em forma de faixa ] [ ] eq. 2 ] Tendo em vista que os autovalores da matriz dinmcia do { modelo linearizado localizam-se em }, a regio LMI escolhida, em forma de faixa parametrizada em , foi ajustada em , visando a no resultar em ganhos de realimentao de estados muito elevados, dados os limites dos sinais de atuao apresentados pela planta. Tal valor foi obtido por tentativa e erro, sem muitas iteraes, dada a previsibilidade qualitativa da relao de rapidez entre as dinmicas de malha aberta e fechada quando arbitrado prximo aos polos do sistema. A condio LMI para atendimento de alocao dos polos na regio destacada na Figura 2 desenvolvida a seguir: { ( ) ( )
[ [
Em que fc representa o parmetro incerto do sistema, dada a natureza do atrito e seu expressivo carter variante no tempo. A rigor, ambos os coeficientes de atrito, fp e fc, poderiam ser considerados incertos, mas, dado que fp bem menor que fc [3], os efeitos de sua incerteza sobre o sistema sero desprezados. Golva [4] utiliza o mtodo dos Mnimos Quadrados para estimar os parmetros da eq. 2. Utilizando seus resultados, a eq. 2 pode ser reformulada como [ ] [ ]
eq. 4 eq. 3 A princpio, considerada um domnio de incerteza de 10% para o coeficiente de atrito fc. Com o controlador projetado para esse intervalo, so experimentadas algumas outras
2
Segundo Trofino e outros [5], a representao politpica do sistema incerto permite que a resoluo da LMI para todo fc pertencente a seu domnio de incerteza seja equivalente sua resoluo para os vrtices do politopo. Incorporando a incerteza do coeficiente de atrito eq. 4, tem-se que:
( ) ( )
( )
( ) ( )
( ) ( )
eq. 5
( ) ( )
( )
( )
( )
Resposta em malha fechada - Estado X2 3.18 3.16 3.14 3.12 0 10 20 50 60 70 80 Tempo (s) Resposta em malha fechada - Estado X1 30 40 90 100
Em analogia s LMIs desenvolvidas por Leite e outros [6], a resoluo da eq. 5 fornece a matriz de ganho de realimentao de estados foi obtida como [ ]
10
20
30
40
50 60 Tempo (s)
70
80
90
100
Figura 4 - Resposta do sistema em malha fechada para incerteza de 20% Em comparao aos dados apresentados na Figura 3, o comportamento descrito na Figura 4 mostra uma ultrapassagem da posio escolhida para o carro significativamente maior, sem se ter uma melhora expressiva no comportamento do pndulo, o que um forte indcio de uma queda de desempenho. A Figura 5, por sua vez, mostra o comportamento do sistema para incerteza de 5%.
Resposta em malha fechada - Estado X2
10
20
30
40
90
100
0.2
10
20
30
40
50 60 Tempo (s)
70
80
90
100
Figura 3 - Resposta do sistema em malha fechada para incerteza de 10% O controlador assim obtido priorizou uma oscilao, por parte do pndulo, de baixa amplitude em torno do ponto de operao em que o sistema foi linearizado e procurou no obter, por parte do carro, ultrapassagens exageradas em relao referncia de posio.
10
20
30
40
90
100
0.2
3.2
10
20
30
40
50 60 Tempo (s)
70
80
90
100
O comportamento descrito na Figura 3 para uma margem de incerteza do atrito de 10%. Essa faixa foi alterada para 5% e 20%, a fim de, com base na resposta do sistema para cada caso, chegar a uma anlise semi-quantitativa do desempenho do controlador, em termos de grau de incerteza. A Figura 4 mostra a resposta diante de uma incerteza de 20%.
Figura 5 - Resposta do sistema em malha fechada para incerteza de 5% Em relao ao comportamento do sistema para incerteza de 10%, os dados da Figura 5 mostram que, como esperado, a ultrapassagem do carro ficou bastante reduzida e a oscilao do pndulo mudou pouco expressivamente. Para auxiliar na comparao entre, a Tabela 1 mostra as ultrapassagens percentuais do ngulo do pndulo e da posio do carrinho em cada caso. Tabela 1 - Comparativo entre overshoots para diferentes domnios de incerteza Domnio de incerteza 5% 10% 20% Overshoot do pndulo (%) 0.5058 0.6132 0.9119 Overshoot do carro (%) 0.0116 8.8865 67.7502
Os overshoots apresentados demonstram com mais clareza como a sensibilidade da posio do carro em relao extenso do domnio de incerteza do atrito maior que aquela apresentada pelo ngulo do pndulo com a vertical.
3
CONCLUSES
O projeto de controladores por realimentao de estados baseados em D-estabilidade, obtidos via LMIs, realizado por alocao de polos em uma regio do plano complexo em que se tenha interesse, normalmente pautado em requisitos de projeto. Sem se ater a requisitos precisamente estabelecidos, foi projetado um controlador que atendesse premissas bsicas do que se espera do comportamento do pndulo na condio operacional adotada e, a partir dele, foi analisada a influncia que a extenso do domnio de incerteza paramtrica do sistema em estudo tem sobre o desempenho do controle. Foi possvel ver que, para o dito problema de guindaste, em que a base mvel deve seguir uma referncia de posio minimizando a oscilao da massa pendular, o distanciamento dos limites mnimo e mximo de incerteza tm uma influncia sobre a posio do carro muito maior que a apresentada sobre o ngulo do pndulo, de forma que operar com um domnio de incerteza mais curto acarreta em movimentos de controle bastante intensos sobre a posio do carro, a fim de manter o pndulo o mais prximo possvel de seu objetivo: a posio vertical para baixo. Pode-se discorrer melhor sobre a efetiva adequao do controle implementado a diferentes extenses do domnio de incerteza diante de uma aplicao real, mais passvel de haver uma prioridade explcita entre os comportamentos apresentados pelo carro e pelo pndulo. De uma forma geral, incertezas com faixa nas proximidades 20%, mesmo apresentando um comportamento razoavelmente suave do pndulo, apresenta picos exagerados para a posio do carro, o que sugere que controle implementado no se adequa para essa magnitude de incerteza. Mais especificamente, em uma aplicao em que a oscilao do pndulo mais crtica, como, por exemplo, em situaes de transporte de material lquido, o controlador apresentado mais adequado se a incerteza do atrito situar abaixo de uma variao de 10%. Em situaes em que o ponto a ser priorizado a minimizao das reverses do motor que toca o carro, a incerteza com que o controlador capaz de trabalhar bastante reduzida, precisando esta estar mais prxima da faixa de 5%, na qual no h tanta queda no cumprimento do objetivo do movimento pendular, ao passo que o comportamento no carro expressivamente melhorado. J em uma situao em que a incerteza do atrito inerentemente grande para o controlador projetado, como por exemplo, em uma faixa superior aos 20%, a escolha de outra regio LMI deve ser escolhida para o projeto de outra matriz de realimentao de estados, para que o sistema em malha fechada atenda a especificaes precisamente definidas ou no mais razoavelmente.
6. LEITE, V. J. D. S.; MONTAGNER, V. F.; PERES, P. L. D. Alocao Robusta de Polos Atravs de Realimentao de Estados Dependente de Parmetros. Controle & Automao, v. 15, n. 2, p. 127-134, Junho 2004.
REFERNCIA BIBLIOGRFICA
1. FEEDBACK INSTRUMENTS. Digital Pendulum System Getting Started. Crowbourough: FI Ltd., [1974?]. 2. FEEDBACK INSTRUMENTS. Digital Pendulum System Teaching Manual 2. Crowsborough: FI Ltd., [1974?]. 3. FEEDBACK INSTRUMENTS. Digital Pendulum System Teaching Manual. Crowborough: FI Ltd., [1974?]. 4. GOUVA, V. S. Atualizao de uma Plataforma para Ensino de Controle: Aplicao ao Pndulo Invertido. Universidade Federal de Minas Gerais. Belo Horizonte, p. 86. 2009. 5. TROFINO, A.; COUTINHO, D.; BARBOSA, K. A. Sistemas Multivariveis: Uma abordagem via LMIs. Florianpolis: [s.n.], 2003.
4
%************************************************************************** %Projetos.m % %Projeto de controladores baseados na representao linearizada do pndulo %por espao de estados. Os controladores so obtidos por realimentao de %estados e consideram incertezas no atrito entre a base mvel e o trilho %pela qual descola. % %Tadeu Jos Silva Rodrigues %************************************************************************** %Comandos de prompt clear; close all; clc; %Parmetros do sistema linearizado em torno de X0 = [0 pi 0 0], obtidos por %Mnimos Quadrados (GOUVEA, 2009, p. 52) A = [0 0 1 0 %Matriz dinmica do sistema 0 0 0 1 0 .8247 -2.819 .0405 0 -24.5503 6.8433 -.7009]; B = [0 0 2.7751 -7.3021]'; C = [eye(2) zeros(2,2); zeros(2,4)]; D = [0 0 0 0]'; X0 = [0 pi 0 0]; d = .2; a_min = a_max = b_min = b_max = %Relao estados-derivadas %Relao estados-sada %Relao entrada-sada %Condies iniciais %Magnitude das %Limite mnimo %Limite mximo %Limite mnimo %Limite mximo %Label para o %Label para o %Label para o %Label para o %Unidades dos incertezas do incerto do incerto do incerto do incerto estado X1 estado X2 estado X3 estado X4 estados
a a b b
labels = {'Posio do Carro',... 'ngulo do Pndulo',... 'Velocidade do Carro',... 'Velocidade angular do Pndulo'}; unidades = {'m','rad','m/s','rad/s'}; %Parmetros de simulao ti = 0; tf = 100; dt = .01; t = ti:dt:tf; ampl = .5; t1 = 40; t2 = 60; dura = 1.5; pulso1 = ampl*((t>=t1)&(t<=t1+dura)); pulso2 = -ampl*((t>=t2)&(t<=t2+dura)); pulso = pulso1 + pulso2; quadrada = -.1*square(2*pi/30*t); %Sistema em malha aberta (MA) MA = ss(A,B,C,D); polosMA = eig(A);
%Tempo inicial %Tempo final %Passo de simulao %Tempo de simulao %Amplitude dos sinais aplicados %Instante de aplicao Pulso1 %Instante de aplicao Pulso2 %Durao dos pulsos %Pulso 1 %Pulso 2 %Sequncia de pulsos %Onda quadrada
%Simulao em malha aberta [yMA tMA xMA] = lsim(MA,pulso,t,X0); xMA(:,2) = xMA(:,2) + pi; %Plota resposta ao pulso, em MA figure(); set(gcf,'Color','White'); for i = 1:length(X0) subplot(2,2,i); plotyy(tMA, xMA(:,i), t,pulso); title(['Resposta ao pulso - ' labels{i}]); xlabel('Tempo (s)'); ylabel(['Estado X' num2str(i) ' (' unidades{i} ')']); grid; end %Projeto de controlador por D-estabilidade %Vrtices da matriz dinmica do sistema A1 = A; A2=A; A3=A; A4=A; %Matrizes A1(3,3) = a_min; A1(4,3) = b_min; %Vrtices A2(3,3) = a_min; A2(4,3) = b_max; %Vrtices A3(3,3) = a_max; A3(4,3) = b_min; %Vrtices A4(3,3) = a_max; A4(4,3) = b_max; %Vrtices
%Parmetros da regio D alfa = 1.5; %Reigo do plano complexo esquerda de -alfa %Inicia descrio das LMI setlmis([]); %Define variveis matriciais p/ q1 = lmivar(1,[length(A1) 1]); q2 = lmivar(1,[length(A2) 1]); q3 = lmivar(1,[length(A3) 1]); q4 = lmivar(1,[length(A4) 1]); x1 = lmivar(2,[1 length(B)]); x2 = lmivar(2,[1 length(B)]); x3 = lmivar(2,[1 length(B)]); x4 = lmivar(2,[1 length(B)]); LMI %varivel %varivel %varivel %varivel %varivel %varivel %varivel %varivel
%Define os termos da LMI AQ + QA' + BX + X'B' + 2alfaQ < 0 lmiterm([1 1 1 q1],A1,1,'s'); %Parcela AQ + QA' lmiterm([1 1 1 x1],B,1,'s'); %Parcela BX + X'B' lmiterm([1 1 1 q1],2*alfa,1); %Parcela 2*alfa*Q lmiterm([1 2 2 q2],A2,1,'s'); lmiterm([1 2 2 x2],B,1,'s'); lmiterm([1 2 2 q2],2*alfa,1); lmiterm([1 3 3 q3],A3,1,'s'); lmiterm([1 3 3 x3],B,1,'s'); lmiterm([1 3 3 q3],2*alfa,1); lmiterm([1 4 4 q4],A4,1,'s'); lmiterm([1 4 4 x4],B,1,'s'); lmiterm([1 4 4 q4],2*alfa,1); %Parcela AQ + QA' %Parcela BX + X'B' %Parcela 2*alfa*Q %Parcela AQ + QA' %Parcela BX + X'B' %Parcela 2*alfa*Q %Parcela AQ + QA' %Parcela BX + X'B' %Parcela 2*alfa*Q
%Verifica factibilidade do problema [tmin,xfeas]=feasp(LMIs); %Problema factvel <=> tmin <= 0 %Dado o problema de LMI L(x) < R(x), feasp %soluciona o problema convexo: minimize t %sujeito a L(x) < R(x) + t*I. O cdigo para %qd t < target (default 0). %tmin = valor de t ao fim da funo %xfeasp = vetor das variveis de deciso %Toma, das variveis de deciso, os Q1 = dec2mat(LMIs,xfeas,q1); %Var. Q2 = dec2mat(LMIs,xfeas,q1); %Var. Q3 = dec2mat(LMIs,xfeas,q1); %Var. Q4 = dec2mat(LMIs,xfeas,q1); %Var. X1 = dec2mat(LMIs,xfeas,x1); %Var. X2 = dec2mat(LMIs,xfeas,x1); %Var. X3 = dec2mat(LMIs,xfeas,x1); %Var. X4 = dec2mat(LMIs,xfeas,x1); %Var. valores das variveis matriciais matricial realativa a Q1 matricial realativa a Q2 matricial realativa a Q3 matricial realativa a Q4 matricial relativa a X matricial relativa a X matricial relativa a X matricial relativa a X
%Calcula ganhos da realimentao de estados K = X1/Q1+X2/Q2+X3/Q3+X4/Q4; %Matriz de ganhos de realimentao %Sistema em malha fechada (MF) MF = ss(A-B*K,B,C,D); polosMF = eig(MF); %Simulao em MF [yMF tMF xMF] = lsim(MF,pulso,t,X0); xMF(:,2) = xMF(:,2) + pi; %Plota resposta ao pulso, em MF figure(); subplot(3,1,1); plot (tMA,xMA(:,2),'k'); title('Resposta ao pulso em Malha Aberta'); axis([30 80 pi-.2 pi+.2]); xlabel('Tempo (s)'); ylabel('ngulo do pndulo (rad)'); grid; subplot(3,1,2); plot(tMF,xMF(:,2),'k'); title('Resposta ao pulso em Malha Fechada'); axis([30 80 pi-.2 pi+.2]); xlabel('Tempo (s)'); ylabel('ngulo do pndulo (rad)'); grid; subplot(3,1,3); plot(t,pulso,'k'); title('Pulsos aplicados'); axis([30 80 -.6 .6]); xlabel('Tempo (s)'); ylabel('Entrada'); grid; set(gcf,'Color','White');