Você está na página 1de 13

Controle de Velocidade de Motores DC com Auxlio da

Lgica Nebulosa
Ben Hur Gonalves
1
, Roseli A. F. Romero
1

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.

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


R
) K - (V
= I
m
m g
(2)
Outra frmula que foi utilizada diz respeito ao torque T
m
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 R
sg
, R
bg
e R
w
.
Os momentos de inrcia do rob, do eixo, do motor e da engrenagem so J
robot
, J
ax
, J
m
e
J
bg
. O smbolo indica velocidades angulares, sendo que T
1
e T
2
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.

=
m
T
m
(3)

sg
w
sg
w
m
m
R
R J
-
R
) R K - (V
R
) (
T
bg m bg g
2

&
.
=
(4)

w Ff w ax bg 1
R f ) J J J ( T + + + =
w
& (5)

sg
bg w
sg m
R
R
= =
(6)
sg
bg 2
1
R
R T
= T
(7)

2
robot
w robot w
Ff
4R
R J
= f
&
(8)
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.

1 + Bs
A
= (s)
V

w
(9)

g bg
sg
K R
R
= A
(10)

K K R 4R
R R R J
= B
g m
2
bg
2
robot
m
2
sg
2
w robot
(11)

Tabela 1. Variveis e seus valores reais calculados.
Constante Valor Descrio do item
R
m
6,41 Ohms Resistncia eltrica do motor
K
g
0,00505 Vs/rad Resistncia de rotao do motor
K
m
0,006414 Nm/A Resistncia de torque do motor
J
robot
0,0006125 Kg.m
2
Momento de inrcia do rob todo
R
w
0,030 m Raio da roda
R
bg
/R
sg
3 Proporo da reduo
12 100 % Eficincia do motor
R
robot
0,035 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 T
i
diminui o erro do sistema
em estado permanente e a constante derivativa T
d
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-integral-
derivativo dada:

s) T
s T
1
K(1 D(s)
d
i
+ + = (12)

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, T
i
e T
d
. 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 K
cr
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 K
cr
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 T
i
T
d

Frmula 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 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 T
i
,
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 Relaes entre as funes
Int. Erro NNN NN N Z P PP PPP
Voltagem NNN NN N Z P PP PPP

Erro NNN NN N Z P PP PPP
Voltagem NNN.0,3 NN.0,3 N.0,3 Z.0,3 P.0,3 PP.0,3 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 T
i
e T
d
, 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 Derivada do erro
Erro NNN NN N Z P PP PPP
NNN
NN
N PPP PP P N NN NNN
Z PPP PP P N NN NNN
P PPP PP P N NN NNN
PP
PPP
Tabela 5. Relaes do erro e sua integral com a voltagem.

Varivel Derivada do erro
Int. Erro NNN NN N Z P PP PPP
NNN
NN
N PPP PP P N NN NNN
Z PPP PP P N NN NNN
P PPP PP P N NN NNN
PP
PPP

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, T
i
e T
d
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