You are on page 1of 10

PROJETO DE CONTROLADOR FUZZY PARA ROB MANIPULADOR

Rodrigo Takeshi da Silva Miura


E-mail: rodrigo_takeshi@yahoo.com.br

Resumo.
O objetivo deste trabalho projetar um controlador fuzzy para um rob manipulador de dois graus de liberdade, obtendo controle
de posio e trajetria. A construo de um sistema de controle fuzzy baseada na idia de se incorporar experincia ou
conhecimento especialista de um operador humano ou do projetista visando obter a melhor estratgia de controle. Foi construdo
um algoritmo de controle no qual a capacidade de controlar o sistema foi inserida no controlador atravs de um conjunto de regras
de inferncia As aes de controle so selecionadas a partir deste conjunto de regras utilizando lgica fuzzy. O controlador
trabalha apoiado em um sistema de simulao da dinmica de operao do rob manipulador. Um controlador foi desenvolvido e
feitas simulaes do controle de posio e de trajetria do sistema. Os resultados obtidos com o controlador projetado,
apresentados ao longo do texto, mostram que os objetivos propostos foram atingidos.

Palavras chave: controle, fuzzy, rob, manipulador.

1. Introduo

Nos ltimos anos crescente a utilizao de robs na indstria devido ao barateamento destes equipamentos. Robs
alm de mais baratos vm se tornando mais rpidos, precisos e flexveis. Assim o investimento em automatizao tem
se tornando mais vivel, levando em conta tambm, o aumento no custo da mo-de-obra. Um fator no econmico que
leva a um aumento da aplicao de robs em plantas industriais que, sendo capazes de realizar tarefas antes
impossveis, por falta de tecnologia, eles podem passar a substituir seres humanos em situaes em que existe risco ou
que simplesmente eram impossveis tambm para o homem.
Como resultado da demanda da indstria moderna, cresce o interesse pelo estudo e desenvolvimento desta rea. O
controle de robs um dos assuntos pertinentes e consiste em fazer o rob manipulador realizar uma tarefa desejada
automaticamente. Para realizar uma tarefa necessrio o projeto do controlador do rob. Este controlador, tipicamente
toma a forma de uma equao ou algoritmo implementado em programas de computador.
Controladores fuzzy so controladores baseados em lgica fuzzy e na teoria de conjuntos fuzzy. A caracterstica
especial da lgica fuzzy (tambm referida como lgica nebulosa, lgica difusa ou teoria de possibilidades) representar
uma forma inovadora de manuseio de informaes imprecisas A lgica fuzzy fornece um mtodo de traduzir expresses
verbais, vagas, imprecisas e qualitativas, comuns na comunicao humana em valores numricos. Isto abre portas para
converso da experincia humana em forma compreensvel pelos computadores. Assim essa tecnologia tem um imenso
valor prtico na incluso da experincia de operadores humanos que controlam processos ou plantas, em controles
computadorizados, possibilitando estratgias de tomadas de deciso em problemas complexos. Controle fuzzy
classificado como um mtodo de controle inteligente por ter a capacidade de emular o comportamento humano.
Os controladores fuzzy so alternativos aos normalmente utilizados, como os controladores lineares tipo PID
(P,PI,PD) projetados a partir de modelos matemticos do rob a ser controlado. O diferencial dos controladores que
utilizam lgica fuzzy sua capacidade de controlar sistemas no-lineares com relativa facilidade.
O objetivo deste trabalho obter o controle de posio e trajetria planejadas para o rob manipulador de dois
graus de liberdade utilizando controle fuzzy.

2. Controle fuzzy

A configurao de uma planta controlada por um sistema de controle fuzzy mostrada na Fig. (1). Um controlador
fuzzy possui quatro subsistemas principais: Interface escalar-fuzzy, base de conhecimento, inferncia fuzzy (lgica de
tomada de decises) e interface fuzzy-escalar.

Figura 1. Subsistemas do controlador Fuzzy.

1
3. Rob manipulador

Neste trabalho ser utilizado um modelo de um rob manipulador de dois graus de liberdade, plano, composto de
dois elos rgidos ligados por juntas de revoluo. Os elos so movidos por motores eltricos localizados: um ligando a
base do rob e o elo 1 e outro ligando o elo 1 e 2. A Figura 2 mostra o esquema do rob analisado:

Figura 2. Esquema do rob manipulador 2 graus de liberdade.


.
O manipulador consiste de dois elos de comprimentos l1 e l 2 , de massas m1 e m2 respectivamente. As distncias
dos eixos de rotao aos centros de massa so chamadas lc1 e lc 2 para os elos 1 e 2, respectivamente. Finalmente I 1 e
I 2 so os momentos de inrcia dos respectivos elos com relao a eixos perpendiculares ao plano mostrado na figura
passando pelos respectivos centros de massa. Os graus de liberdade associados so os ngulos de q1 medido do eixo
vertical de acordo com Fig. (2), e q 2 que medido em relao a eixo passando pela extenso do elo 1. Ambos positivos
no sentido anti-horrio. O vetor de posio definido por:

q=[q 1 q 2 ]T (1)

Derivadas as equaes da dinmica completa deste rob manipulador, com objetivo de obter um modelo para
realizar as simulaes do controlador fuzzy a ser projetado chegamos as Eq.(2) e Eq.(3).

= [m l 2 + m l 2 + m l 2 + 2 m l l cos(q ) + I + I ] &q&
1 1 c1 2 1 2 c2 2 1 c2 2 1 2 1
2
+ [m l + m l l cos(q ) + I ] &q&
2 c2 2 1 c2 2 2 2
2 m l l sen(q )q& q& m l l sen(q ) q& 2 (2)
2 1 c2 2 1 2 2 1 c2 2 2
+ [m l + m l ] g sen(q )
1 c1 2 1 1
+ m g l sen(q + q )
2 c2 1 2

2 =[m 2 l c22 +m 2 l1 l c 2 cos(q 2 )+I 2 ]&q& 2


(3)
+m 2 l1 l c 2 sen(q 2 )q& 12 +m 2 gl c 2 sen(q 1 +q 2 )

Onde 1 e 2 so os torques externos aplicados pelos motores localizados na base do elo 1 e na junta entre o elo 1
e o elo 2 respectivamente. Para fins de controle, mais prtico reescrever as equaes dinmicas (2) e (3) na forma
compacta Eq.(4).

M 11 (q) M 12 (q ) C 11 (q,q& ) C 12 (q,q& ) g 1 (q)


&q&+ q& + = (4)
M 11 (q) M 22 (q) C 21 (q,q& ) C 22 (q,q& ) g 2 (q)

Onde,

2
M 11 (q)=m 2 l c21 +m 2 [l12 +l c22 +2l1 l c 2 cos(q 2 )]+I1 +I 2
M 12 (q)=m 2 [l c22 +l1 l c 2 cos(q 2 )]+I 2
M 21 (q )=m 2 [l c22 +l1 l c 2 cos(q 2 )]+I 2
M 22 (q )=m 2 l 2c 2 +I 2
C11 (q,q& )= m 2 l1 l c 2 sen(q 2 )q& 2
C12 (q,q& )= m 2 l1 l c 2 sen(q 2 )[q& 1 +q& 2 ]
C 21 (q,q& )=m 2 l1 l c 2 sen(q 2 )q& 1
C 22 (q,q& )=0
g 1 (q)=[m1 l c1 +m 2 l1 ]gsen(q 1 )+m 2 l c 2 gsen(q 1 +q 2 )
g 2 (q)=m 2 l c 2 gsen(q 1 +q 2 )

As variveis de estado adequadas a descrever este problema so as posies angulares ( q 1 , q 2 ) e as velocidades


angulares ( q& 1 ,q& 2 ). Usando as variveis de estado, o modelo dinmico do rob pode ser escrito por Eq.(5):

q1 q& 1
&
q
d 2 q
= 2
(5)
dt q& 1

q& 2 M(q) [ ( t )C(q,q& )q& g(q)]
1

Os dados utilizados na simulao so apresentados na Tab.(1).

Tabela 1. Parmetros do rob manipulador.

Descrio Notao Valor Unidade


Comprimento elo 1 l1 0,26 m
Comprimento elo 2 l2 0,26 m
Distncia centro de massa (elo 1) lc1 0,0983 m
Distncia centro de massa (elo 2) lc2 0,0229 m
Massa elo 1 m1 6,5225 kg
Massa elo 2 m2 2,0458 kg
Inrcia rel. ao centro de massa (elo 1) I1 0,1213 kg m
Inrcia rel. ao centro de massa (elo 2) I2 0,0116 kg m
Gravidade g 9,81 m/s

4. Definio dos parmetros do controlador

Para realizar o projeto do controlador fuzzy necessrio eleger um conjunto de variveis de entrada do controlador.
As variveis de entrada escolhidas para o controlador foram o erro entre a posio desejada e a posio atual do rob
manipulador, e as velocidades angulares atuais de cada elo. Estas informaes indicam qual a posio relativa dos elos e
se o elo esta se aproximando ou se afastando da posio desejada. Com essas informaes o controlador deve ser capaz
de levar o erro de posio a zero. Assim as entradas so Eq.(6).

e1 =q 1d q 1
e 2 =q 2 d q 2
(6)
q& 1
q& 2

O universo de discurso dos ngulos de entrada do controlador foi definido como o intervalo [ 6,3 6,3] radianos, o
que corresponde a aproximadamente uma volta completa em torno do eixo de cada elo em qualquer sentido, a partir da
origem do sistema de coordenadas.
Para a avaliao da ao de controle fuzzy a partir das variveis de entradas necessrio realizar um mapeamento
das variveis de entrada em conjuntos fuzzy de entrada, cuja funo de pertinncia um valor real que varia entre 0,0 e
1,0. Este mapeamento denominado transformao escalar-fuzzy. O mapeamento da varivel erro de posio
mostrado na Fig (3). O mesmo mapeamento foi utilizado para ambos os elos.

3
Figura 3. Transformao escalar-fuzzy da varivel erro de posio.

A varivel real erro de posio transformada pelo processo de transformao fuzzy-escalar em uma varivel
lingstica, que formada pelos seguintes rtulos: NL (grande negativo), NS (pequeno negativo), ZE (zero), PS
(pequeno positivo) e PL (grande positivo).
O mapeamento da varivel velocidade angular mostrado na Fig. (4). O mesmo mapeamento foi utilizado para
ambos os elos. O universo de discurso das velocidades angulares de entrada do controlador foi definido como o
intervalo [ 3,14 3,14] rad/s. A varivel real velocidade angular transformada pelo processo de transformao fuzzy-
escalar em uma varivel lingstica, que formada pelos seguintes rtulos: NL (grande negativo), NS (pequeno
negativo), ZE (zero), PS (pequeno positivo) e PL (grande positivo).

Figura 4. Transformao escalar-fuzzy da varivel velocidade angular.

Para realizar o projeto do controlador fuzzy necessrio eleger um conjunto de variveis de sada do controlador.
As sadas do controlador so as entradas de controle da planta, os torques 1 e 2 . O universo de discurso foi definido
como o intervalo [-1 1]. Assim para ajustes foi aplicado um ganho ao valor de sada do controlador fuzzy para ajuste.
Para a avaliao da ao de controle fuzzy a partir das variveis de sada necessrio realizar um mapeamento dos
conjuntos fuzzy de sada nas variveis de sada. Este mapeamento denominado transformao fuzzy-escalar. O
mapeamento das variveis de sada do controlador mostrado Fig. (5). O mesmo mapeamento foi utilizado para os
torques dos atuadores de ambos os elos.

Figura 5. Nmeros fuzzy da sada do controlador.

4
A Tab. (2) mostra o conjunto de regras adotado como base de conhecimento do controlador. As entradas so o erro
de posio e a velocidade angular de cada elo e a sada o torque a ser aplicado no motor da junta de cada elo. Os
valores foram associados com combinaes das seguintes variveis lingsticas de origem inglesa:
N = Negative
P = Positive
Z = Zero
L = Large
S = Small
M = Mdium
V = Very

Tabela 2. Conjunto de regras adotadas.

Erro de
Posio
Vel.
NL NS ZE PS PL
Angular
NL NM NVS PS PL PL
NS NL NS PVS PL PL
ZE NL NM ZE PM PL
PS NL NL NVS PS PL
PL NL NL NS PVS PM

A Fig. (6), feita utilizando o software Matlab, mostra a superfcie de controle obtida do conjunto de regras acima.
Observando ficam claras as caractersticas no lineares deste controlador. A superfcie de controle mostra as sadas do
controlador em funo de duas das entradas em um grfico de trs eixos.

Figura 6. Nmeros fuzzy da sada do controlador.

5. Resultados

Inicialmente procurou-se obter o controle de posio dos elos. Isso significa levar o sistema a uma posio
determinada a partir de uma condio inicial diferente da desejada. A condio inicial adotada na simulao :

q1 0
q 0
2 = (7)
q&1 0

q&2 0

Foi simulado um degrau simples em que as posies de referncia para ambos os elos so:

q d 1 = 3rad 172
(8)
q d 2 = 3rad 172

5
Os resultados da simulao para os elos 1 e 2 nessa condio so apresentados nos grficos a seguir.

Figura 7. Grfico posio angular do elo 1

Figura 8. Grfico posio angular do elo 2.

O controlador obtido tem um bom desempenho no controle de posio considerando que o degrau simulado alto
(172). Nas figuras Fig. (7) e Fig. (8) possvel observar que o tempo de acomodao aproximadamente de 2
segundos e o erro de posio em regime da ordem de 0,002 radianos.
Para confirmar que o controlador tem desempenho satisfatrio no controle de posio em condies diferentes da
apresentada foram realizadas simulaes em que a altura do degrau da condio de referncia varia com o tempo, para
ambos os elos. O resultado desta simulao apresentado nos grficos das figuras Fig. (9) e Fig. (10). Os grficos
indicam que o controlador obteve bom desempenho, com tempo de acomodao adequado a altura do degrau e erro de
posio pequeno na ordem de 0,002 radianos.

Figura 9. Posio do Elo 1 com condio de referncia degraus com altura variando com tempo.

6
Figura 10. Posio do Elo 2 com condio de referncia degraus com altura variando com tempo.

Com o objetivo de avaliar o desempenho do controlador projetado, foram selecionadas as seguintes trajetrias das
juntas:

[ ] [ ]
q d 1 = b1 1 e 2, 0t + c1 1 e 2, 0t sin( w 1 t )
3 3
(9)
qd 2 = b [1 e
2 ]+ c [1 e ] sin(w
2 , 0 t 3
2
2 , 0t 3
2 t) (10)

As trajetrias escolhidas tm as seguintes caractersticas:

As trajetrias tm um termo senoidal para avaliar o desempenho do controlador em movimentos


peridicos rpidos. Este teste importante, pois estes movimentos excitam no-linearidades no sistema.
As trajetrias tambm tm um termo que cresce devagar no incio para evitar levar os atuadores
saturao durante a partida.

O mdulo e freqncia do termo senoidal devem ser escolhidos de modo a evitar a saturao dos atuadores. Em
outras palavras, a trajetria de referncia deve ser tal que a dinmica do rob percorrendo estas trajetrias tenha torque e
velocidade admissveis pelo atuador. Assim pode ser garantido que a trajetria fisicamente possvel para o rob
simulado.
Das simulaes realizadas e da bibliografia sobre manipuladores de dois graus de liberdade obteve-se os seguintes
limites para o rob analisado:

qd Mx
1,92[rad ] (11)
rad
q& d Mx
2,33[ ] (12)
s
rad
q&&d Mx
9,52[ 2 ] (13)
s

As equaes da primeira e segunda derivadas das posies desejadas so apresentadas a seguir:


3 3
[ 3
]
q& d 1 = 6 b1 t 2 e 2, 0t + 6 c1 t 2 e 2, 0t sin( w 1 t ) + c1 c1 e 2,0t cos( w 1 t ) w1 (14)
3 3
[ 3
]
q& d 2 = 6 b2 t 2 e 2, 0t + 6 c 2 t 2 e 2, 0t sin( w 2 t ) + c 2 c 2 e 2, 0t cos( w 2 t ) w2 (15)

q&&d 1 = 12 b1 t e 2, 0t 36 b1 t 4 e 2 ,0t + 12 c1 t e 2, 0t sin( w 1 t ) +


3 3 3

36 c1 t 4 e 2 , 0t sin( w 1 t ) + 12 c1 t 2 e 2, 0t cos( w 1 t ) w1 +
3 3
(16)

[ ]
c1 c1 e 2 , 0t sin( w 1 t ) w12
3

q&&d 2 = 12 b2 t e 2 , 0t 36 b2 t 4 e 2, 0t + 12 c 2 t e 2 , 0t sin( w 2 t ) +
3 3 3

36 c 2 t 4 e 2, 0t sin( w 2 t ) + 12 c 2 t 2 e 2, 0t cos( w 2 t ) w2 +
3 3
(17)

[ ]
c 2 c 2 e 2, 0t sin( w 2 t ) w22
3

Para uma primeira anlise, foram realizadas simulaes do sistema numa trajetria em que os atuadores trabalham
numa condio muito abaixo da saturao. Os parmetros utilizados nas equaes (9) e (10) so:

7

b1 = b2 =
4 3

c1 = c2 = (18)
9 6
1 = 0,5 rad/s 2 = 0,5 rad/s

Para estas trajetrias tem-se que:


q d Mx = q 2d Mx = 1,57 1,92 (19)
q& d Mx
= q& 2 d Mx
= 1,94 2,33 (20)
q&&d Mx
= q&&2 d Mx
= 4,37 9,52 (21)

Assim esta trajetria fisicamente possvel para o rob em anlise. Os resultados da simulao considerando a
condio inicial eq.(7) so mostrados nos grficos das Fig. (11) e Fig. (12).

Figura 11. Posio do elo 1.

Figura 12. Posio do elo 2.

Observando os grficos conclui-se que o desempenho do controlador em uma trajetria com freqncia angular
baixa e com o sistema trabalhando longe da saturao bom. O rob consegue passar exatamente pelos pontos da
trajetria de referncia com um atraso pequeno, inferior a 0,5 segundo, sendo que em um dado instante o erro de
posio da ordem de 0,02 rad.
Para anlise do desempenho do controlador numa trajetria em que os atuadores operam prximo a saturao foram
escolhidos os seguintes parmetros para as eq. (9) e (10):


b1 = b2 =
3 3

c1 = c2 = (22)
6 6
1 = 1,0 rad/s 2 = 1,0 rad/s

Para estas trajetrias tem-se que:

8
qd Mx
= q1d Mx
= q 2d Mx
= 1,57 1,92 (23)
q& d Mx
= q&1d Mx
= q& 2 d Mx
= 2,26 2,33 (24)
q&&d Mx
= q&&1d Mx
= q&&2 d Mx
= 5,11 9,52 (25)

Assim esta trajetria fisicamente possvel para o rob em anlise, mas quando comparado a trajetria anterior,
leva o sistema a trabalhar mais prximo ao seu limite. Os resultados da simulao considerando a condio inicial (7)
so mostrados nos grficos das Fig. (13) e Fig. (14).

Figura 13. Posio do elo 1.

Figura 14. Posio do elo 2.

Observando os grficos conclui-se que o desempenho do controlador em uma trajetria com o sistema trabalhando
prximo a saturao satisfatrio. O rob j no consegue passar exatamente por todos os pontos da trajetria de
referncia, principalmente nos picos da senoide. O atraso pouco maior que 0,5 segundo e em um dado instante o erro
de posio chega a ser da ordem de 0,1 rad. Apesar da limitao do sistema nesta condio de operao, o controlador
pode ser utilizado a partir de ajustes entre a tarefa a ser realizada e a trajetria de referncia do controlador.

6.Concluses

O controlador fuzzy para o controle de um manipulador robtico foi desenvolvido utilizando algoritmos de
controle, baseados em lgica fuzzy e expressos em forma lingstica. Este tipo de controle mostrou ser muito eficiente
para controlar sistemas complexos, no-lineares ou difceis de serem modelados na forma de equaes diferenciais. Um
sistema difcil de controlar com tcnicas tradicionais de controle, como um rob manipulador, controlado de maneira
relativamente fcil utilizando um controlador fuzzy.
O programa desenvolvido para simular o sistema e o controlador foi relativamente simples de ser desenvolvido.
Uma dificuldade encontrada no projeto do controlador foi a falta conhecimento do sistema a ser controlado, dificultando
a elaborao das regras de controle. Esta dificuldade foi superada a partir do estudo da bibliografia disponvel sobre o
assunto e das simulaes do modelo obtido.
Os resultados obtidos neste trabalho demonstram que o desempenho do controlador, de forma geral, foi satisfatrio
para as tarefas propostas. No controle de posio obteve-se erro em regime da ordem de 0,002 radianos (0,1).

9
Considerando que os elos do rob simulado so curtos (0,26 m), o erro da posio final da ponta do elo 2 ser muito
pequeno. Assim este controlador poderia ser utilizado para controle de posio.
No controle de trajetria o controlador projetado teve um bom desempenho em freqncias angulares mais baixas,
piorando a medida que se aproximava da saturao dos atuadores.
O conjunto de resultados foi obtido por um mesmo conjunto de regras, independente da tarefa a ser realizada.
Observou-se que devido a sua sensibilidade, o controlador pode ser otimizado para situaes especficas, se forem
adicionadas informaes que possam enriquecer o conjunto de regras. Uma sugesto para trabalhos futuros seria o de
complementar o conjunto de regras de forma que o rob seja capaz de realizar tarefas mais complexas.

7. Referncias
CRAIG, J., 2005, Introduction to robotics: Mechanics and Control, Prentice Hall, New Jersey, 3.ed, 408 p.
GREEN, A., 2003, Dynamics and Trajectory Tracking Control os a Two-Link Robot Manipulator, Journal of
Vibration and Control.
MARUYAMA, N., 1991, Projeto e Anlise de Controladores Fuzzy. Tese de Mestrado, Departamento de Engenharia
Mecnica da Escola Politcnica da Universidade de So Paulo, So Paulo.
NGUYEN, H., PRASAD, N., WALKER, C., WALKER, E., 2003, A first course in fuzzy and neural control.,
Chapman & Hall/CRC, Boca Raton, 1.ed.
PASSINO, K., YURKOVICH, S., 1998, Fuzzy Control., Addison-Wesley, Menlo Park, California, 1.ed, 502p.
KELLY, R., SANTIBEZ, V., LORA, A, 2005, Control of robot manipulators in joint space., Springer, London,
1.ed, 426 p.
SHAW, I., SIMES, M., 1999, Controle e modelagem fuzzy., Edgard Blucher, So Paulo, 1ed, 200 p.

DESIGN OF A FUZZY LOGIC CONTROLLER POR A ROBOT MANIPULATOR

Rodrigo Takeshi da Silva Miura


E-mail: rodrigo_takeshi@yahoo.com.br

Abstract. The aim of this work is to design a fuzzy logic controller for a robot manipulator of two degrees of freedom, achieving
control of position and trajectory. The design of a fuzzy control system is based on incorporate experience or expert knowledge from
a human operator or from the controller designer to achieve better control strategies. A control algorithm was built and the ability to
control the system was inserted in the controller by a set of inference rules, which works with a dynamic operation simulation system
of the robot manipulator. The control actions are selected from this set of rules using fuzzy logic. The results reached with the
controller designed, presented through the text show that he objectives proposed were reached.

Keywords. control, fuzzy, robot, manipulator.

10