Escolar Documentos
Profissional Documentos
Cultura Documentos
Lógica Nebulosa
Ben Hur Gonçalves1, Roseli A. F. Romero1
1
Instituto de Ciências Matemáticas e de Computação, ICMC – Universidade de São
Paulo, USP – São Carlos – SP – Brasil
benhur@usp.br, rafrance@sc.icmc.usp.br
Abstract. Nowadays, about 90% of the industries’ control systems are PID,
but this kind of compensator is not intuitive and isn’t also robust. The aim of
this work is to implement types of fuzzy logic controllers and to compare its
results with the results of PID controllers, showing that fuzzy thinking, if
correctly used, can be more precise and efficient than the traditional control
systems.
Resumo. Hoje em dia, cerca de 90% dos sistemas de controle industriais são
PID, mas esse tipo de compensador não é nem intuitivo e nem robusto. O
objetivo deste trabalho é programar diferentes tipos de controle nebuloso e
comparar seus resultados com os resultados de um controlador PID clássico,
evidenciando que a lógica nebulosa, se corretamente usada, pode ser mais
precisa e eficiente que os sistemas de controle tradicionais.
1. Introdução
Robótica é uma ótima plataforma para realizar aprendizado multidisciplinar, além de
estar mudando o modo como sentimos e interagimos com o mundo. No entanto, a
maioria dos controles robóticos são PI (proporcional e integral) ou PID (proporcional,
integral e derivativo), que não traduzem corretamente o modo humano de pensar.
Com a evolução da inteligência computacional, um modo interessante de fazer
as máquinas pensarem como seres humanos é programar um controlador nebuloso
hierárquico [Hung e Chung 2006]. Outro método já implementado é aplicar controlador
nebuloso hierárquico para múltiplos indivíduos [Jeong e Lee 1999]. Há também
trabalhos que tratam do controle nebuloso de robôs de duas rodas [Wong 2007], mas
ainda há pouco progresso sobre ajustes do controlador PID por lógica nebulosa e seus
efeitos comparados com o controlador PID clássico.
Neste sentido, este trabalho trata da modelagem de um robô não-holonômico e
do controle de seus motores de corrente contínua. Também é realizado um controle PID
do robô, de tal forma que o desempenho do controle nebuloso possa ser comparado.
Este trabalho é de natureza empírica, e tem como intuito demonstrar, através de
simulações, que a lógica nebulosa, se corretamente utilizada, gera controles mais
eficientes que os controles clássicos. Antes da discussão dos resultados, no entanto, será
apresentada uma visão simplificada do time de futebol de robôs do Laboratório de
Aprendizado de Robôs, da Universidade de São Paulo, que são os objetos de estudo
deste trabalho.
2. Visão Geral
O sistema mecânico dos robôs é relativamente simples, mas foi uma das partes
mais dispendiosas do projeto, uma vez que todo o robô deve ocupar um volume máximo
de cubo de 75 milímetros de aresta. Devido a tal complicação, o sistema mecânico foi
desenhado em CAD (desenho auxiliado por computador) e manufaturado em máquinas
de precisão na Escola de Engenharia de São Carlos. Devido à sobrecarga do motor, à
redução e ao fato do motor já possuir torque elevado, os robôs são muito imprevisíveis,
e para tanto foi necessário um sistema de controle robusto. A Figura 4 mostra como
ficaram os robôs após o término da primeira versão estável do projeto.
Figura 4. Os robôs do time de futebol.
(V - K g ω m )
I= (2)
Rm
Outra fórmula que foi utilizada diz respeito ao torque Tm do rotor, que é
diretamente proporcional à corrente I que passa através do mesmo (3). O argumento η é
a eficiência do motor. Também foi necessário utilizar a equação (4), de momento de
inércia. O raio do pinhão, da engrenagem, e da roda são respectivamente Rsg, Rbg e Rw.
Os momentos de inércia do robô, do eixo, do motor e da engrenagem são Jrobot, Jax, Jm e
Jbg. O símbolo ω indica velocidades angulares, sendo que T1 e T2 são os torques que a
engrenagem e o pinhão causam um no outro. As equações (4) e (5) são respectivamente
as equações do eixo do motor e do eixo da roda. As equações (6) e (7) são relações
devido aos diâmetros da engrenagem e do pinhão.
Tm = ηΚ m Ι (3)
(η .Κ m ) (V - K gω w R bg ) J mω& w R bg
T2 = - (4)
Rm R sg R sg
T1 = (J bg + J ax + J w ) ω& w + f Ff R w (5)
ω w R bg
ω m = ω sg = (6)
R sg
T2 R bg
T1 = (7)
R sg
ω& w J robot R w
f Ff = (8)
4R 2robot
A equação (8) mostra a aceleração como função da força de atrito com o piso.
Unindo as equações (4), (5), (6), (7) e (8) e substituindo-as em (2), é possível obter as
equações finais da modelagem do robô. As equações (9), (10) e (11) foram encontradas
através da Laplaciana da modelagem final, sendo que podem ser usadas para simular o
comportamento do robô quando submetido a diversas entradas de voltagem, o que na
prática corresponderia ao ajuste de voltagem proveniente do PWM.
ωw A
(s) = (9)
V Bs + 1
R sg
A= (10)
R bg K g
J robot R 2w R sg2 R m
B= (11)
4R 2robot R 2bg K m K g η
1
D(s) = K(1 + + Td s) (12)
Ti s
K Ti Td
Fórmula 0,6.Kcr 0,5.T 0,125.T
Valor Encontrado 0,24 0,825 0,206
Figura 6. Duas entradas degrau diferentes para o PID tipo ZN.
O fator de 30% do erro foi mantido nas funções antigas, mas essas novas
funções possuem todas fator de valor unitário. Vê-se pelas Figuras 10 e 11 que a
superfície de controle também é complexa, mas ainda assim suave. A variável do erro
do controlador está no espaço [-400, 400], enquanto que a integral do erro está no
espaço [-50, 50] e a derivada do mesmo está em [-1000, 1000]. Nota-se pelo gráfico da
Figura 12, que o sistema respondeu rapidamente e desta vez praticamente não
apresentou erro de regime. Isso mostra que o controlador PID-fuzzy respondeu melhor
que o PI-fuzzy, que respondeu melhor que o PID [Saito e Massa 2004]. O interessante é
que realmente o controlador PID tem suas limitações, principalmente quando a entrada
tem valores muito diferentes para cada situação.
Figura 10. Gráfico dos eixos erro e sua derivada em função da voltagem.
Figura 11. Gráfico dos eixos erro e sua integral em função da voltagem.
Figura 12. Gráfico da resposta para entradas altas e baixas com o PID-fuzzy.
5. Conclusões
O controle PID, quando submetido a grandes variações de entrada pode deixar o sistema
instável, problema que pode ser corrigido implementando-se um controlador nebuloso
para administrar os ganhos do controlador clássico. Foi observado que a lógica nebulosa
é mais trabalhosa de se desenvolver, possuindo muito mais variáveis que o PID, mas é
mais intuitiva [Faria e Romero 2000], pois simula o pensamento humano, enquanto que
o PID é menos intuitivo, já que trabalha com erro, derivada do erro e integral do erro.
Este ponto só não é válido para o controle nebuloso dos ganhos do PID.
A lógica nebulosa precisa ser testada e otimizada antes de ser programada, pois é
muito complexa e tem muitas variáveis, mas isso pode ser feito calculando a planta do
sistema e simulando através do Matlab [Davis e Sigmon 2005], assim como foi
realizado neste trabalho. Os controladores nebulosos tendem a ser bem mais precisos e
bem mais robustos, como foi mostrado nos gráficos apresentados nesse trabalho.
Como trabalhos paralelos a este, estão o desenvolvimento e implementação de
controladores PID de posição e velocidade [Vieira, Medeiros, Alsina, e Araújo 2004]
assim como um sistema de ajuste de ganhos proporcionais, integrativos e derivativos
com base numa análise estatística de comportamento. Como trabalho futuro, está
previsto o desenvolvimento de uma rede neural que realize o ajuste dos parâmetros da
lógica nebulosa.
Referências
Davis, T. A. e Sigmon, K. (2005), “Matlab Primer”. Ed. CRC Press.
Faria, G. e Romero, R. A. F. (2000), “Incorporating Fuzzy Logic to Reinforcement
Learning”. Proceedings of the 9th IEEE International Conference of Fuzzy Systems.
Vieira, F. C., Medeiros, A. A. D., Alsina, P. J. e Araújo Jr., A. P. (2004), “Position and
Orientation Control of a Two-Wheeled Differentially Driven Nonholonomic Mobile
Robot”, ICINCO - International Conference on Informatics in Control, Automation
and Robotics.
Wong, C., Wang, H., Li, S., e Cheng, C., (2007), “Fuzzy Controller Designed by GA for
Two-wheeled Mobile Robots”, International Journal of Fuzzy Systems, Vol. 9, No. 1,
Março de 2007.