Você está na página 1de 13

Controle de Velocidade de Motores DC com Auxlio da Lgica Nebulosa

Ben Hur Gonalves1, Roseli A. F. Romero1


1

Instituto de Cincias Matemticas e de Computao, ICMC Universidade de So Paulo, USP So 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 isnt 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 so PID, mas esse tipo de compensador no 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 clssico, evidenciando que a lgica nebulosa, se corretamente usada, pode ser mais precisa e eficiente que os sistemas de controle tradicionais.

1. Introduo
Robtica uma tima plataforma para realizar aprendizado multidisciplinar, alm de estar mudando o modo como sentimos e interagimos com o mundo. No entanto, a maioria dos controles robticos so PI (proporcional e integral) ou PID (proporcional, integral e derivativo), que no traduzem corretamente o modo humano de pensar. Com a evoluo da inteligncia computacional, um modo interessante de fazer as mquinas pensarem como seres humanos programar um controlador nebuloso hierrquico [Hung e Chung 2006]. Outro mtodo j implementado aplicar controlador nebuloso hierrquico para mltiplos indivduos [Jeong e Lee 1999]. H tambm trabalhos que tratam do controle nebuloso de robs de duas rodas [Wong 2007], mas ainda h pouco progresso sobre ajustes do controlador PID por lgica nebulosa e seus efeitos comparados com o controlador PID clssico. Neste sentido, este trabalho trata da modelagem de um rob no-holonmico e do controle de seus motores de corrente contnua. Tambm realizado um controle PID do rob, de tal forma que o desempenho do controle nebuloso possa ser comparado. Este trabalho de natureza emprica, e tem como intuito demonstrar, atravs de simulaes, que a lgica nebulosa, se corretamente utilizada, gera controles mais eficientes que os controles clssicos. Antes da discusso dos resultados, no entanto, ser apresentada uma viso simplificada do time de futebol de robs do Laboratrio de Aprendizado de Robs, da Universidade de So Paulo, que so os objetos de estudo deste trabalho.

2. Viso Geral
Apesar da dificuldade de desenvolvimento de projetos multidisciplinares, como de robtica, o grupo de pesquisa composto apenas por quatro alunos, tanto de graduao quanto de mestrado, responsveis por partes como viso computacional, controle, mecnica, eletrnica, estratgia e programao em Assembly e C para microcontrolador. A viso computacional utiliza uma cmera e um computador com placa de captura, utilizando como base um filtro HSV (tonalidade, saturao e valor, em ingls). O sistema de viso se comunica com o computador da estratgia, por um protocolo, e passa as posies e ngulos de cada rob, assim como da bola. possvel ver como a viso interpreta as imagens do campo de jogo na Figura 1.

Figura 1. O campo de jogo, segundo o sistema de viso.

O modulo de estratgia baseado em campos potenciais [Melo, Maia e Guimares 2007]. Isso significa que esse mdulo calcula foras atrativas e repulsivas, para, respectivamente, a bola e os jogadores adversrios. Nessa estratgia, as foras atrativas da bola so constantes, o que quer dizer que os robs sentem a bola, mesmo quando muito distantes, e as foras geradas pela repulso so inversamente proporcionais ao quadrado da distncia, o que quer dizer que inimigos muito distantes no influenciam na trajetria dos robs. Seguindo esta lgica, a estratgia calcula velocidades ideais para as ambas as rodas de cada rob e manda um sinal de rdio para estes ltimos. Na Figura 2 possvel ver um simulador baseado em Open GL, desenvolvido por membros do laboratrio, usado para treinar e aperfeioar o mdulo da estratgia.

Figura 2. Simulador 3D desenvolvido por membros do grupo.

O mdulo da eletrnica se comunica com dois outros: o da mecnica e o do controle. O controle envia atravs do transmissor do rdio o vetor $A,B,C,D,E* para o rdio da eletrnica. O rdio repassa o comando para o microcontrolador PIC atravs da interface RS-232 da comunicao serial. O microcontrolador l o sinal $ e inicia a rotina de nova mensagem. A partir desse ponto associa A ao sentido da roda esquerda, B passa a ser a velocidade desejada para a mesma, numa escala de 0 a 63, C ao sentido da outra roda, D passa a ser a velocidade desejada para a mesma, tambm numa escala de 0 a 63. O caractere * indica o final da mensagem. Cada microcontrolador reconhece a mensagem, decodifica, verifica a veracidade da informao e faz a lgica de seleo de direo e potncia dos motores, tudo atravs de uma Ponte-H e duas portas com mdulo PWM (modulao de largura de pulso, em ingls) [Souza 2005]. A placa eletrnica de cada rob idntica uma outra e foi produzida seguindo a Figura 3. O microcontrolador, alm das portas PWM, usa ainda mais quatro portas para ativar a Ponte-H, que faz a seleo de para qual lado o motor deve girar. Apenas um circuito integrado de Ponte-H cuida de ambos os motores DC. O circuito ainda constitudo por acopladores pticos, que isolam fisicamente o circuito do PIC do circuito dos motores, o que evita que picos de corrente, na partida dos motores, desliguem o microcontrolador [Fitzgerald 1975]. Uma dificuldade de construo desse circuito configurar o PIC para possuir menor freqncia possvel de PWM, pois os acopladores pticos ficam insensveis a pulsos de freqncia muito alta. Os motores tambm foram sobrecarregados em 150% de voltagem, fazendo-os ter menor vida til, porm maior desempenho em termos de torque e velocidade.

Figura 3. Como funciona o circuito de cada rob.

O sistema mecnico dos robs relativamente simples, mas foi uma das partes mais dispendiosas do projeto, uma vez que todo o rob deve ocupar um volume mximo de cubo de 75 milmetros de aresta. Devido a tal complicao, o sistema mecnico foi desenhado em CAD (desenho auxiliado por computador) e manufaturado em mquinas de preciso na Escola de Engenharia de So Carlos. Devido sobrecarga do motor, reduo e ao fato do motor j possuir torque elevado, os robs so muito imprevisveis, e para tanto foi necessrio um sistema de controle robusto. A Figura 4 mostra como ficaram os robs aps o trmino da primeira verso estvel do projeto.

Figura 4. Os robs do time de futebol.

3. Modelagem dos Robs


Houve a necessidade de modelar os robs, a fim de que fosse possvel simul-los e para que as melhores solues de controle fossem encontradas. Para realizar a modelagem do sistema, foi preciso analisar o circuito equivalente a um motor DC [Ogata 2002]. A Figura 5 mostra como um motor de corrente contnua pode ser considerado uma resistncia em srie com uma indutncia e uma fora eletromotriz, que a responsvel por gerar movimento em seu rotor. Como a voltagem perdida pela indutncia muito menor que a perdida pela resistncia, possvel simplificar a equao (1) na equao (2). importante ressaltar que a fora eletromotriz diretamente proporcional velocidade de rotao do eixo do motor.

Figura 5. Circuito equivalente a um motor DC.

V = R m I + L& + Vemf (1) I

I=

(V - K g m ) Rm

(2)

Outra frmula que foi utilizada diz respeito ao torque Tm do rotor, que diretamente proporcional corrente I que passa atravs do mesmo (3). O argumento a eficincia do motor. Tambm foi necessrio utilizar a equao (4), de momento de inrcia. O raio do pinho, da engrenagem, e da roda so respectivamente Rsg, Rbg e Rw. Os momentos de inrcia do rob, do eixo, do motor e da engrenagem so Jrobot, Jax, Jm e Jbg. O smbolo indica velocidades angulares, sendo que T1 e T2 so os torques que a engrenagem e o pinho causam um no outro. As equaes (4) e (5) so respectivamente as equaes do eixo do motor e do eixo da roda. As equaes (6) e (7) so relaes devido aos dimetros da engrenagem e do pinho.

Tm = m (3)
T2 = & ( . m ) (V - K g w R bg ) J m w R bg (4) Rm R sg R sg

& T1 = (J bg + J ax + J w ) w + f Ff R w (5)
m = sg = w R bg R sg
(7) (6)

T1 =

T2 R bg R sg

f Ff =

& w J robot R w (8) 4R 2 robot

A equao (8) mostra a acelerao como funo da fora de atrito com o piso. Unindo as equaes (4), (5), (6), (7) e (8) e substituindo-as em (2), possvel obter as equaes finais da modelagem do rob. As equaes (9), (10) e (11) foram encontradas atravs 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 prtica corresponderia ao ajuste de voltagem proveniente do PWM.
w A (9) (s) = V Bs + 1
A= R sg R bg K g
(10)

B=

2 J robot R 2 R sg R m w

4R 2 R 2 K m K g robot bg

(11)

Tabela 1. Variveis e seus valores reais calculados. Constante Rm Kg Km Jrobot Rw Rbg/Rsg Rrobot Valor 6,41 Ohms 0,00505 Vs/rad 0,006414 Nm/A 0,0006125 Kg.m 0,030 m 3 12 100 % 0,035
2

Descrio do item Resistncia eltrica do motor Resistncia de rotao do motor Resistncia de torque do motor Momento de inrcia do rob todo Raio da roda Proporo da reduo Eficincia do motor Distncia entre o centro de gravidade e a roda

4. Sistemas de Controle
Depois que o modelo do sistema foi conhecido, foi possvel projetar compensadores que controlassem a velocidade angular de cada roda, tendo como alimentao a velocidade angular de cada quadro anterior, calculada pelo sistema de viso. Foi possvel projetar o PID timo, assim como um controlador nebuloso, do tipo PI-fuzzy, PID-fuzzy ou ainda PID clssico com seus ganhos ajustados pela lgica nebulosa. As diferenas entre esses compensadores esto descritas nos itens a seguir. 4.1. Controlador PID Clssico O controlador PID possui trs constantes a serem ajustadas. A constante proporcional K acelera a reao do sistema, enquanto a constante integral Ti diminui o erro do sistema em estado permanente e a constante derivativa Td amortece as curvas de reao, evitando que entre em instabilidade. A parte derivativa do controle aumenta a estabilidade do modelo matemtico por adicionar um zero funo de transferncia em malha fechada, deslocando o grfico do lugar das razes para esquerda [Franklin, Powell e Emami-Naeini 1994]. A frmula padro de um controlador proporcional-integralderivativo dada:
1 + Td s) (12) Ti s

D(s) = K(1 +

Por diversas dcadas os engenheiros tentaram analisar sistemas dinmicos e definir valores para os ganhos de um controlador PID, puramente baseados nas plantas dos processos, mas foi com J. G. Ziegler e N. B.Nichols [Ogata 2002] que foi definida uma lgica para K, Ti e Td. O mtodo Z-N (Ziegler- Nichols) de malha fechada um dos mtodos mais comumente utilizados para sintonizar controladores. O mtodo de lao aberto tambm til para a maioria dos processos de controle. O algoritmo de lao fechado determina o ganho proporcional Kcr no qual um sistema ficar submetido a oscilaes sustentadas. Em seguida, o algoritmo recalcula novos ganhos proporcional, integral e derivativo em funo desse valor encontrado. Esta pode ser considerada boa afinao, mas no necessariamente um ajuste timo. Com esse segundo mtodo, so encontrados Kcr e T, que o perodo do ciclo de oscilao sustentada, e em seguida os outros ganhos so calculados seguindo a Tabela 2.
Tabela 2. Valores obtidos com o mtodo Ziegler-Nichols. K Frmula Valor Encontrado 0,6.Kcr 0,24 Ti 0,5.T 0,825 Td 0,125.T 0,206

Figura 6. Duas entradas degrau diferentes para o PID tipo ZN.

O controlador da Figura 6 foi submetido funo de saturao, que limita o fornecimento de at 7,4 Volts ao motor, que a voltagem mxima utilizada nos robs reais. possvel observar que o chute inicial de Ziegler-Nichols funciona relativamente bem para o controlador, porm ainda foi necessrio retirar o sobressinal da resposta. Para isso, foram feitos ajustes manuais das constantes, como na Figura 7.

Figura 7. Melhores ajustes para entrada baixa (esquerda) e alta (direita).

Pela Figura 7, possvel observar que quando o sistema ajustado para responder bem a pequenas referncias (esquerda) o sobressinal, quando submetido a entradas grandes, se mostra muito significativo. O contrrio vlido para o ajuste de entrada alta. Isso acontece porque o sobressinal corresponde a uma mesma porcentagem da entrada, tanto para alta quanto para baixa. No entanto, com grandes entradas, esse sobressinal se torna muito grande em mdulo, o que pode deixar o rob instvel.

4.2. Controlador PI-Fuzzy


O controlador PI-fuzzy trabalha com o erro e com a integral do erro. Isso quer dizer que tem as mesmas entradas de um controlador PI clssico, mas ao invs dos ganhos K e Ti, possui essas entradas tratadas por um conjunto de funes nebulosas. Essas funes esto descritas na seqncia em termos de suas entradas, onde cada N d uma idia de como a entrada negativa e cada P indica o grau que a entrada positiva, enquanto que Z indica a proximidade dessa entrada com o erro no valor zero. Esse sistema de nomeao tambm funciona para a sada, que a voltagem aplicada ao motor. Como possvel ver na Tabela 3, a varivel erro tem um fator de 30% na sada, em comparao com a varivel da integral do erro. V-se tambm que o que est

aplicado na Tabela 3 abaixo possui a mesma idia que um operador humano utilizaria para controlar o sistema: se o erro positivo, porque a velocidade de referncia maior que a real, portanto necessria uma potncia positiva na sada, enquanto que a integral do erro detecta quando o erro de regime grande.
Tabela 3. Relaes do erro e sua integral com a voltagem. Varivel Int. Erro Voltagem NNN NNN NN NN Relaes entre as funes N N Z Z P P PP PP PPP PPP

Erro Voltagem

NNN NNN.0,3

NN NN.0,3

N N.0,3

Z Z.0,3

P P.0,3

PP PP.0,3

PPP PPP.0,3

O fator de 30% do erro foi obtido empiricamente atravs das simulaes no software matemtico Matlab [Davis e Sigmon 2005]. Foram testados vrios tipos de fuzzyficao e defuzzyficao [Saito e Massa 2004]. Pela Tabela 3 tambm vemos que as variveis de entrada so independentes entre si. A superfcie de controle do controlador PI-fuzzy est na Figura 8, abaixo. possvel observar pela Figura 8 que a superfcie de controle complexa, mas ainda assim suave. A varivel do erro est no espao [-400, 400], enquanto que a integral do erro est no espao [-50, 50]. importante notar que quando se usa controle nebuloso no necessrio utilizar uma funo de saturao da sada, pois possvel configurar esse valor mximo e mnimo na prpria lgica nebulosa. No grfico da Figura 9 fica evidente que o sistema nebuloso respondeu mais rpido que o PID clssico, porm sobrou um erro de regime no valor de 5% do degrau de entrada.

Figura 8. Grfico de controle do compensador PI-fuzzy.

No grfico da Figura 9, em seqncia, vermelho indica a resposta do sistema para uma entrada degrau no valor de 200 rad/s. O roxo indica a resposta para uma

entrada no valor de 40 rad/s. Como possvel notar, o controlador nebuloso permite convergncia tanto para entradas altas como para baixas, ao contrrio do PID. O problema do controlador nebuloso est no fato de ser mais difcil de configurar, o que provoca o erro de regime, que segundo a Figura 9 est em torno de cinco por cento para ambas as respostas. O controlador PI-nebuloso possui vinte e uma funes que devem ser configuradas, cada uma com trs valores (mximo, mnimo e mdio), enquanto que cada controlador PI clssico possui no total apenas duas variveis.

Figura 9. Melhores respostas para entrada baixa e alta com o PI-fuzzy.

4.3. Controlador PID-Fuzzy


O controlador PID-fuzzy trabalha com o erro, com a integral do erro e com a derivada do erro. Isso quer dizer que tem as mesmas entradas de um controlador PID clssico, mas ao invs dos ganhos K e Ti e Td, possui essas entradas tratadas por um conjunto de funes nebulosas. As mesmas funes do controlador PI-fuzzy foram mantidas, mas tambm foram adicionadas novas, relacionadas derivada do erro. As Tabelas 4 e 5 em seqncia mostram as inferncias adicionadas ao controlador nebuloso, com relao sada voltagem. Observa-se tambm que esse tipo de controlador possui vinte e oito funes, cada uma com trs variveis, contra trs do PID.
Tabela 4. Relaes do erro e sua derivada com a voltagem. Varivel Erro NNN NN N Z P PP PPP Tabela 5. Relaes do erro e sua integral com a voltagem. PPP PPP PPP PP PP PP P P P N N N NN NN NN NNN NNN NNN NNN NN N Derivada do erro Z P PP PPP

Varivel Int. Erro NNN NN N Z P PP PPP PPP PPP PPP PP PP PP P P P NNN NN N

Derivada do erro Z P PP PPP

N N N

NN NN NN

NNN NNN NNN

O fator de 30% do erro foi mantido nas funes antigas, mas essas novas funes possuem todas fator de valor unitrio. V-se pelas Figuras 10 e 11 que a superfcie de controle tambm complexa, mas ainda assim suave. A varivel do erro do controlador est no espao [-400, 400], enquanto que a integral do erro est no espao [-50, 50] e a derivada do mesmo est em [-1000, 1000]. Nota-se pelo grfico da Figura 12, que o sistema respondeu rapidamente e desta vez praticamente no 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 limitaes, principalmente quando a entrada tem valores muito diferentes para cada situao.

Figura 10. Grfico dos eixos erro e sua derivada em funo da voltagem.

Figura 11. Grfico dos eixos erro e sua integral em funo da voltagem.

Figura 12. Grfico da resposta para entradas altas e baixas com o PID-fuzzy.

4.4. PID Controlado Por Lgica Nebulosa


Uma soluo inteligente para o problema do controlador PID seria ajustar seus ganhos K, Ti e Td de acordo com a entrada fornecida [Saito e Massa 2004]. Uma forma de fazer isso utilizando um controlador nebuloso especfico. A entrada do sistema o valor da rotao (em rad/s) e a sada o ganho a ser utilizado no controlador clssico. As simulaes anteriores mostraram que pode-se melhorar muito o rendimento do controlador proporcional-integral-derivativo. Quanto maior o valor da entrada, maior deve ser o ganho derivativo ao qual a planta do sistema submetida. Vale o mesmo para o ganho proporcional e o inverso para o ganho integral. Para esse controle nebuloso foram utilizadas trs funes nebulosas de entrada e trs de sada para cada sada (Alta, Mdia, Baixa). A entrada a rotao da roda em mdulo e varia em [0, 600], enquanto que as sadas so a constante Td que varia em [0,02 , 0,15], a constante Ti que varia em [0,02 , 0,2] e a constante K que varia em [0,5 , 0,9]. O esquemtico do projeto no Matlab est na Figura 13 e o grfico da transferncia nebulosa dado na Figura 14.

Figura 13. Modo como funciona o controlador fuzzy para compensadores PID.

Figura 14. Grfico da resposta para entradas de vrios nveis.

possvel observar no grfico da Figura 14 acima, que o mesmo controlador PID atingiu com rapidez todos os valores requisitados, o que mostra que a lgica nebulosa foi a responsvel por ajustar o mesmo, aumentando sua eficincia. Esse tipo de projeto recomendado para situaes que o controlador deva ser mais robusto que um controlador clssico comum, mas mesmo assim relativamente simples.

5. Concluses
O controle PID, quando submetido a grandes variaes de entrada pode deixar o sistema instvel, problema que pode ser corrigido implementando-se um controlador nebuloso para administrar os ganhos do controlador clssico. Foi observado que a lgica nebulosa mais trabalhosa de se desenvolver, possuindo muito mais variveis 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 no vlido para o controle nebuloso dos ganhos do PID. A lgica nebulosa precisa ser testada e otimizada antes de ser programada, pois muito complexa e tem muitas variveis, mas isso pode ser feito calculando a planta do sistema e simulando atravs 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 grficos apresentados nesse trabalho.

Como trabalhos paralelos a este, esto o desenvolvimento e implementao de controladores PID de posio e velocidade [Vieira, Medeiros, Alsina, e Arajo 2004] assim como um sistema de ajuste de ganhos proporcionais, integrativos e derivativos com base numa anlise estatstica de comportamento. Como trabalho futuro, est previsto o desenvolvimento de uma rede neural que realize o ajuste dos parmetros da lgica nebulosa.

Referncias
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. Fitzgerald, A. E. (1975), Mquinas eltricas, Ed. McGraw-Hill. Franklin, G. F., Powell, J. D. e Emami-Naeini, A. (1994), Feedback Control of Dynamic Systems, Ed. Addison-Wesley. Hung, L. e Chung, H. (2006), Design of Hierarchical Fuzzy Logic Control for Mobile Robot Systems. IEEE Conference on Robotics, Automation and Mechatronics. Jeong, I. e Lee, J. (1999), Evolving Fuzzy Logic Controllers for Multiple Mobile Robots. Fuzzy Systems Conference Proceedings. Melo, D. O., Maia, A. H. C. e Guimares, J. A. A. (2007), Aplicao de Campos Potenciais em Estratgias de Futebol de Robs, Semcomp 2007. Ogata, K. (2002), Modern control engineering. Ed. Pearson. Souza, D. J. (2005), Desbravando o PIC: ampliado e atualizado para PIC16F628A, Ed. rica. Saito, K. e Massa, M. C. (2004), Sistemas inteligentes em controle e automao de processos, Ed. Cincia Moderna. Vieira, F. C., Medeiros, A. A. D., Alsina, P. J. e Arajo 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, Maro de 2007.

Você também pode gostar