Академический Документы
Профессиональный Документы
Культура Документы
Stability margin control with decay rate restriction LMI-based applied on a rotary
Resumo
equações diferenciais de primeira ordem que podem ser combinadas por uma equação
sistemas complexos que contêm múltiplas entradas ou múltiplas saídas. Assim, este trabalho
invertido, no qual foi projetado um controlador capaz de mantê-lo na posição vertical para
cima. No projeto do controlador, foi utilizada a restrição da taxa de decaimento com base nas
Desigualdades Matriciais Lineares (em inglês, Linear Matrix Inequalitites, LMIs), que podem
ser solucionadas por meio do pacote de resolução de LMIs (LMI Control Toolbox) presente
utilizada para impulsionar o pêndulo rotacional invertido base SRV02 QUANSER, levando-o
próximo à posição vertical para cima, e a partir daí iniciando a operação do controle
matemáticas.
1
Estudante de Engenharia Elétrica na Universidade Estadual de Londrina e bolsista de iniciação científica UEL.
2
Docente de Engenharia Elétrica na Universidade Estadual de Londrina e orientador deste trabalho.
3
Docente de Engenharia Elétrica na Universidade Estadual de Londrina e co-orientador deste trabalho.
2
Abstract
Modern control theory is based on the description of a system with several first-order
differential equations that can be combined into a vector-matrix differential equation. The use
of matrix-vector notation facilitates the resolution of complex systems that contain multiple
inputs or multiple outputs. So, this work was based on the state space analysis on a rotary
pendulum closed loop system, in which a controller was designed capable of holding it at the
vertical position. In the controller design, a decay rate was specified and the method was
based on Linear Matrix Inequalities (LMIs) that can be solved through the LMI resolution
packages present in the MATLAB software (LMI Control Toolbox). The first stage of the
pendulum movement is the swing-up, to propel the SRV02 QUANSER base inverted rotary
pendulum, taking it near to the vertical position, and then starting the operation of the
designed control technique. The simulations were performed using the MATLAB / Simulink
software together with the QuarC program. The results were satisfactory, as they met the
Introdução
instáveis, tem sido estudado como objeto principal para analisar o desempenho de diferentes
utilizado em várias aplicações como, por exemplo, veículo de transporte humano, o que
futuramente pode apresentar-se como alternativa de transporte automático para áreas urbanas,
3
incluindo sua utilização por deficientes físicos (TIRMANT et al., 2002, p.594). Outras
natureza, é um sistema não linear e instável, sendo necessária a implementação de uma lei de
controle adequada para que a haste se mantenha na posição desejada mesmo sofrendo
O sistema do pêndulo utilizado neste trabalho consiste em uma base fixa que contém uma
haste com livre movimento, acoplado ao pêndulo rotativo. Seu método de funcionamento
consiste em realizar uma técnica de controle para que o braço impulsione o pêndulo para uma
A primeira etapa do movimento do pêndulo é o swing-up, que leva em conta a energia total do
sistema para impulsionar o pêndulo rotacional invertido base SRV02 QUANSER, levando-o
próximo à posição vertical para cima, e a partir daí inicia-se a operação de controle, com o
As grandezas do pêndulo utilizadas neste trabalho e seus valores são encontrados na Tabela 1.
Na Tabela 1, 𝐾𝑒𝑛𝑐 representa a resolução dos dispositivos que codificam a posição angular do
pêndulo para sinais digitais; deste modo, é usado um encoder óptico de 12 bits.
5
equações diferenciais de primeira ordem que podem ser combinadas por uma equação
Seja um sistema dinâmico com n entradas u1(t), u2(t), u3(t), ..., un(t) e m saídas y1(t), y2(t),
y3(t), ..., ym(t). Definindo um espaço de estados contendo p variáveis de estado como x1(t),
x2(t), x3(t), ..., xp(t), este sistema pode ser descrito como:
sendo (3) a equação de estado, (4) a equação de saída do sistema e f(.) e g(.) funções vetoriais
Muitos sistemas de controle físicos são ditos lineares apenas para um intervalo limitado de
operação, caso contrário ele é dito não linear, uma vez que as relações entre grandezas físicas
aproximar um sistema não linear para um sistema linear. Portanto para o processo de
linearização das equações (3) e (4), obtém-se (OGATA, 2011, p.27, p.36, p.37):
Para um sistema linear invariante no tempo, que é o interesse deste trabalho, as funções f e g
em (3) e (4) não dependem do tempo t, portanto as equações (5) e (6) podem ser simplificadas
por:
sendo (7) e (8) as equações de um sistema linear, no qual 𝑥(𝑡) é o vetor com as variáveis de
estado, 𝑥̇ (𝑡) a derivada de 𝑥(𝑡) no tempo, y(t) a saída do sistema e u(t) a estrada do sistema.
No caso do pêndulo SRV02 QUANSER, as matrizes que o descrevem, de acordo com (7) e
0 0 1 0
0 0 0 1
1 1 1
𝐴= 0 𝑚²𝑙²𝑟𝑔 −(𝐽𝑝 + 4 𝑚𝑙 2 )𝐵𝑟 − 2 𝑚𝑟𝑙𝐵𝑝 ,
4
1 1
[0 𝑚𝑙𝑔(𝐽𝑟 + 𝑚𝑟 2 ) 𝑚𝑙𝑟𝐵𝑟 −(𝐽𝑟 + 𝑚𝑟 2 )𝐵𝑝 ]
2 2
0
0
𝐵 = 𝐽𝑝 + 1 𝑚𝑙² ,
4
1
[ 𝑚𝑟𝑙 ]
2
1 0 0 0
𝐶=[ ],
0 1 0 0
0
𝐷 = [ ],
0
7
Se um sistema for controlável, há uma lei de controle por realimentação de estados capaz de
alocar os polos em malha fechada de maneira a obter um sistema com estabilidade. Assim, é
controle é:
Desta forma, a saída do sistema foi realimentada negativamente na entrada e foi aplicado um
Figura 2: Diagrama de blocos em malha fechada. Fonte: adaptado pelo autor (QUANSER,
2011a, p.16).
Considerando o sistema realimentado com a lei de controle 𝑢(𝑡) = 𝐾(𝑥𝑑 − 𝑥) = −𝑘𝑥 para
Para que o sistema (10) seja estável, é necessário que os polos sejam alocados para o semi-
plano esquerdo do plano complexo. Segundo Ogata (2011), a solução da equação (10) é dada
por 𝑥(𝑡) = 𝑒 (𝐴−𝐵𝐾)𝑡 𝑥(0), sendo x(0) o estado inicial e na qual os autovalores da matriz
(𝐴 − 𝐵𝐾) são os polos do sistema (10), estes chamados de polos de malha fechada. Se a
8
matriz 𝐾 for escolhida corretamente, a matriz (𝐴 − 𝐵𝐾) poderá ser assintoticamente estável e
será possível fazer 𝑥(𝑡) tender a 0 ao passo em que 𝑡 tender a infinito, se ∀ 𝑥(0) ≠ 0.
Considere um sistema linear autônomo (sem realimentação) onde 𝑢(𝑡) = 0, isto é, 𝑥̇ (𝑡) =
𝐴𝑥(𝑡).
Lyapunov mostrou que um sistema é assintoticamente estável (ou seja, todas as trajetórias
convergem para zero) se e somente se existir uma matriz definida positiva 𝑃 = 𝑃′ ∈ ℜ𝑛𝑥𝑛 tal
Definição: De acordo com as notas de (PALHARES, 2011), uma matriz 𝑃 é definida positiva
se 𝑥 ′ 𝑃𝑥 > 0, ∀ 𝑥 ≠ 0;
então:
9
𝑝11 𝑝12
𝑝11 > 0, 𝑑𝑒𝑡([𝑝 𝑝 ]) > 0, ... , 𝑑𝑒𝑡(𝑃) > 0.
12 22
existir uma função 𝑉(𝑥(𝑡)) definida positiva cuja derivada no tempo 𝑉̇ (𝑥(𝑡)) é definida
Dada a função quadrática de Lyapunov 𝑉(𝑥(𝑡)) = 𝑥(𝑡)′ 𝑃𝑥(𝑡), sua derivada no tempo é
𝑉̇ (𝑥(𝑡)) = 𝐴′ 𝑥(𝑡)′ 𝑃𝑥(𝑡) + 𝑥(𝑡)′ 𝑃𝐴𝑥(𝑡) = 𝑥(𝑡)[𝑃𝐴′ + 𝑃𝐴]𝑥(𝑡)′. Desse modo, pela condição de
suficiência para garantir que um sistema é assintoticamente estável, a derivada 𝑉̇ (𝑥(𝑡)) deve
ser definida negativa, portanto 𝑃𝐴′ + 𝑃𝐴 < 0. Assim tem-se as LMI’s referentes ao dado
sistema:
𝑃 > 0, (12)
𝐴′ . 𝑃 + 𝑃. 𝐴 < 0. (13)
Portanto para obter as LMI’s do sistema (10), basta reaplicar o critério de Lyapunov para o
𝑃 > 0, (14)
(Desigualdade Matricial Bilinear, do inglês, Bilinear Matrix Inequality), não uma LMI. Para
obter um conjunto de LMIs a partir de (14) e (15), são necessárias algumas operações
matemáticas. Multiplicando 𝑃−1 dos dois lados das desigualdades (14) e (15) e adotando
𝑊 > 0, (16)
10
𝑊. 𝐴′ − 𝑍 ′ . 𝐵 ′ + 𝐴. 𝑊 − 𝐵. 𝑍 < 0. (17)
3- Taxa de decaimento
Um sistema estável nem sempre é o suficiente para aplicações de engenharia, pois existem
projetos que possuem restrições de desempenho, ou seja, sistemas que devem alcançar o valor
de regime em um determinado limite de tempo. A taxa de decaimento pode ser usada para
diminuir o tempo de estabilização que é tempo de acomodação obtido admitindo uma faixa de
maior número real positivo γ (ou maior expoente de Lyapunov) tal que:
lim𝑡→∞ 𝑒 γt ||x(t)|| = 0,
Para determinar a lei de controle (9) que garante ao sistema (10), uma taxa de decaimento
maior que γ, a desigualdade 𝑉̇ (𝑥(𝑡)) < 0 é substituída por 𝑉̇ (𝑥(𝑡)) < −2γ 𝑉(𝑥(𝑡)) (BOYD et
al., 2008, p.37). Assim, repetindo as operações matemáticas descritas na Seção 2, tem-se as
𝑊 > 0, (18)
vertical para baixo, e primeiramente é necessário elevá-lo à posição vertical para cima para
11
então poder aplicar a lei de controle projetada neste trabalho, portanto necessita-se fazer com
que haja a auto-elevação do pêndulo. Utilizou-se, então, a técnica Swing-up, levando em conta
a energia do sistema.
direção no qual o braço se move, para que seja fornecida a energia necessária para o pêndulo.
Materiais e Métodos
- Q8 Data Aquisition;
- VolPaQ-X1;
- Software MATLAB/Simulink.
12
Inicialmente, foram efetuadas as conexões elétricas entre a base SRV02 junto ao pêndulo,
computador. Essas conexões são encontradas com mais detalhes em (Quanser 2011b). Para o
A partir dos resultados obtidos pela solução das LMI’s, observou-se a técnica de controle
juntamente com o diagrama QuaRC fornecido pela QUANSER para o controle em tempo
real.
A partir das equações (7) e (8), as matrizes de estado do pêndulo foram calculadas conforme
0 0 1 0
0 0 0 1
𝐴=[ ],
0 81,4033 −10,2536 −0,9319
0 122,0545 −10,3320 −1,3972
0
0
𝐵=[ ],
83,4359
80,3162
1 0 0 0
𝐶=[ ],
0 1 0 0
0
𝐷 = [ ].
0
A partir das LMIs (18) e (19), foi calculado o ganho do controlador 𝐾 com a máxima taxa de
são:
A.
Ao analisar os autovalores da matriz 𝑃, pode-se dizer que se trata de uma matriz simétrica e
definida positiva, na qual seus autovalores de fato são positivos, garantindo a condição de
Para operação de swing-up, necessária para elevar o pêndulo da posição vertical para baixo
para a posição vertical para cima, como descrito na Seção 4, os valores dos parâmetros
utilizados foram µ = 3,8249, 𝐸𝑟 = 0,42J e µ𝑚𝑎𝑥 = 9. Em seguida, foi aplicada a lei de controle
determinada pelas LMI’s (18) e (19). O diagrama de blocos do sistema de controle é mostrado
na Figura 4. Por fim, após a implementação da técnica de controle, foram obtidos os gráficos
de tensão da tensão do motor da base SRV02 e os gráficos dos ângulos do pêndulo e do braço,
Figura 5: Gráfico da Tensão do motor da base SRV02 em função do tempo Fonte: O autor.
16
Swing-up foi concluída com sucesso após cerca de 4,5 segundos, dando início, então, às
interações da técnica de controle via LMI’s que estabilizaram o sistema com cerca de 0,85
segundos. Isso mostra que os resultados são satisfatórios, uma vez que o tempo de
estabilização é cerca de 0,851 segundos para um erro de ±2% . Na Figura 6, pode-se notar
que o movimento do braço vertical do pêndulo vai mudando de sentido até encerrar a técnica
17
de Swing-up em cerca de 4,8 segundos, decaindo até o tempo de 5,7 segundos. Nota-se que,
que seja possível manter o pêndulo na posição vertical para cima. No gráfico da Figura 7, é
encerramento do Swing-up e o braço horizontal converge para zero grau no tempo próximo de
após cerca de 5,1 segundos. Assim, os resultados foram satisfatórios, em que o uso de LMIs
Agradecimentos
Agradeço ao Prof. Dr. Márcio Roberto Covacic pela sua paciência e orientação durante todo
a pesquisa científica. Por fim, agradeço ao Prof. Dr. Ruberlei Gaino pela oportunidade de
Referências bibliográficas
AGUIRRE, A. Enciclopédia de Automática: Controle & Automação. São Paulo: Blucher,
2007.
ASSUNÇÃO, E; TEIXEIRA, M. C. M. Apostila Controle Linear I – Parte A Sistemas
Contínuos no Tempo. Universidade Estadual Paulista, 2008. Acesso em: 17 de agosto de 2019
BOYD, S.; GHAOUI, L. E.; FERON, E.; BALAKRISHNAN, V. Linear Matrix Inequalities
in Systems and Control Theory. 2. ed. SIAM Studies in Applied Mathematics, 1994.
(Studies in Applied Mathematics).
NEGRÃO, J. L. Análise matemática e técnicas de controle aplicadas ao pêndulo
rotacional invertido, Trabalho de Conclusão de Curso, Universidade Estadual de Londrina,
2013.
OGATA, K. Engenharia de Controle Moderno. 5ª. ed., São Paulo: Pearson Brasil, 2011.
PALHARES R. M. Álgebra Linear: Teoria de Sistemas Lineares. UFMG. Disponível em: <
http://www.cpdee.ufmg.br/~palhares/aula9_tsl.pdf > Acesso em: 17 de agosto de 2019
QUANSER. Rotary Pendulum Workbook – Student version. Ontario, Canadá, 2011a.
18
Apêndice A:
Código do MATLAB desenvolvido para calcular a lei de controle com base em LMIs:
%% teste
% Matrizes de estado calculado
A = [0 0 1 0;
0 0 0 1;
0 81.4033 -10.2536 -0.9319 ;
0 122.0545 -10.3320 -1.972];
B = [0; 0; 83.4359 ; 80.3162];
C = eye(2,4);
D = zeros(2,1);
setlmis([]);
%Declara as variáveis W e Z das LMIs
%W.A'-Z'.B'+A.W-B.Z<0
W=lmivar(1,[4 1]);
Z=lmivar(2,[1 4]);
lmiterm([-1 1 1 W],1,1);
% LMI com a taxa de decaimento
%W.A'-Z'.B'+A.W-B.Z<-2.gama.W
lmiterm([2 1 1 W],A,1,'s');
lmiterm([2 1 1 Z],B,-1,'s');
lmiterm([-2 1 1 W],.5*2*gama,-1,'s');
rotpen=getlmis;
%calcula W e Z que satisfazem as inequações
[tmin,xo]=feasp(rotpen);
Wf=dec2mat(rotpen,xo,W)
Zf=dec2mat(rotpen,xo,Z)
%realiza o calculo do controlador (Sendo Wf = 1/P)
K=Zf*inv(Wf)