Professional Documents
Culture Documents
\
|
=
+
+
) ( ) 1 (
) ( ) 1 (
1
) ( ) ( tan
k k
k k
k k
x x
y y
(2)
Figura 4 Distncia (D) e diferena de direo ( )
entre a postura atual e a prxima postura.
O sistema nebuloso de navegao tem como sada as
intensidades dos movimentos de translao ( ) (k MOVE ) e
rotao ( ) (k TURN ) efetuados pelo rob mvel. Para
simplificar a modelagem da cinemtica do rob mvel no
foram consideradas as velocidades e aceleraes dos
movimentos, como tambm os movimentos de translao e
de rotao foram considerados separadamente. Desta
forma, primeiro o rob mvel efetua o movimento de
rotao e posteriormente, o movimento de translao. Alm
disso, o rob mvel possui uma camada que proporciona
uma abstrao da tenso eltrica aplicada em cada um dos
motores, facilitando assim os comandos enviados para a
navegao do rob mvel.
3.1 Controlador Nebuloso
Um controlador nebuloso tpico descrito na Figura 5.
Primeiramente as variveis de entrada so fuzzyficadas para
que os valores do universo clssico (crisp) sejam
convertidos para valores do universo nebuloso. Estes
valores so processados pelo mdulo de inferncia que,
atravs do conjunto de regras descritos em linguagem
natural e dos operadores nebulosos, fornece os valores
nebulosos de sada. Os valores nebulosos de sada so ento
defuzzificados para serem obtidos os valores das variveis
de sada, novamente no universo dos nmeros clssicos.
Figura 5 Controlador Nebuloso.
3.2 Variveis Lingsticas de Entrada
A modelagem das entradas do problema de navegao
nebulosa reativa consiste na elaborao de seis funes de
pertinncia para as dez variveis lingsticas de entrada (os
oito sensores de proximidade S1 S8, a distncia D e a
diferena de direo entre a postura atual e da
prxima postura).
As variveis lingsticas dos sensores de proximidade
foram divididas em quatro pares (S1/S8, S2/S7, S3/S6 e
S4/S5) em funo da disposio do sensor no rob mvel,
conforme Figura 1. Estes quatro pares de variveis
lingsticas tm universo de discurso de 0 a 3000mm e
possuem dois valores lingsticos: near (N) e far (F). A
necessidade de apenas dois valores lingsticos justificada
para proporcionar ao rob somente a percepo da
proximidade de objetos que possam provocar coliso.
Devido ao sentido de movimento do rob, e visando maior
segurana, definiu-se maior sensibilidade proximidade de
objetos para as variveis lingsticas dos sensores mais
prximos ao eixo de locomoo do rob do que as variveis
lingsticas dos sensores localizados ortogonalmente a este
eixo.
As variveis lingsticas S1 e S8, correspondentes aos
sensores ortogonais ao eixo de locomoo do rob, so
descritas pela funo de pertinncia da Figura 6_a. A
percepo dos objetos prximos iniciada com distncias
menores que 500mm e pice quando houver coliso.
As variveis lingsticas S2 e S7 so descritas pela funo
de pertinncia da Figura 6_b. A percepo dos objetos
prximos iniciada com distncias menores que 600mm e
pice quando houver coliso.
VII SBAI/ II IEEE LARS. So Lus, setembro de 2005 4
As variveis lingsticas S3 e S6 so descritas pela funo
de pertinncia da Figura 6_c. A percepo dos objetos
prximos iniciada com distncias menores que 750mm e
pice quando houver coliso.
Figura 6 Funes de pertinncia das variveis
lingsticas de entrada: a) S1 e S8, b) S2 e S7,
c) S3 e S6, d) S4 e S5, e) D e f) .
As variveis lingsticas S4 e S5, correspondente aos
sensores mais prximos ao eixo de locomoo do rob, so
descritas pela funo de pertinncia da Figura 6_d. A
percepo dos objetos prximos iniciada com distncias
menores que 1000mm e pice quando houver coliso.
A varivel lingstica D descrita pela funo de
pertinncia da Figura 6_e. Esta funo de pertinncia tem
universo de discurso de 0 a 5000mm e possui trs valores
lingsticos: near (N), medium (M) e far (F). Atravs desses
trs valores lingsticos possvel representar de forma
adequada a distncia que o rob mvel est do seu alvo.
Estes valores lingsticos foram modelados em funo do
tamanho fsico do rob mvel.
A varivel lingstica descrita pela funo de
pertinncia da Figura 6_f. Esta funo de pertinncia tem
universo de discurso de -180 a 180 e possui sete valores
lingsticos: negative big (NB), negative medium (NM),
negative small (NS), zero (ZE), positive small (PS),
positive medium (PM) e positive big (PB). Com os sete
valores lingsticos tambm possvel representar de forma
adequada a diferena angular de direo do rob mvel em
relao ao alvo.
3.3 Variveis Lingsticas de Sada
As duas funes de pertinncia de sada, com as suas
respectivas variveis lingsticas (intensidade do
movimento de translao MOVE e de rotao TURN),
completam a modelagem do sistema de navegao.
A varivel lingstica MOVE descrita pela funo de
pertinncia da Figura 7_a. Esta funo de pertinncia tem
universo de discurso de 0 a 500mm e possui trs valores
lingsticos: small (S), medium (M) e big (B). Atravs dos
trs valores lingsticos possvel representar movimentos
de translao somente no sentido positivo (para frente), o
que possibilita a aproximao do rob mvel s posturas
pr-determinadas. Quando houver necessidade de
movimentos no sentido negativo (para trs), o rob
primeiramente dever executar um movimento de rotao
de 180, para depois efetuar os movimentos de translao,
agora no sentido oposto.
Figura 7 Funes de pertinncia das variveis
lingsticas de sada: a) MOVE e b) TURN.
A varivel lingstica TURN descrita pela funo de
pertinncia da Figura 7_b. Esta funo de pertinncia tem
universo de discurso de -180 a 180 e possui sete valores
lingsticos: negative big (NB), negative medium (NM),
negative small (NS), zero (ZE), positive small (PS), positive
medium (PM) e positive big (PB). Atravs desses sete
valores lingsticos possvel representar os movimento de
rotao tanto no sentido horrio (positivo) como no sentido
anti-horrio (negativo), fazendo com que o rob mvel
corrija sua direo e tambm desvie de objetos que possam
provocar coliso.
VII SBAI/ II IEEE LARS. So Lus, setembro de 2005 5
3.4 Regras de Inferncia
A Tabela 1 descreve as regras que possibilitam a navegao
do rob Pioneer 2DX a partir das informaes dos sensores
de proximidade, da distncia e da diferena angular da
direo entre a postura atual e a prxima postura. As regras
para o sistema nebuloso de inferncia tm como base trs
tipos de comportamentos distintos: aproximao (regras 1
3), correo da direo (regras 4 9) e anticoliso (regras
10 19).
O comportamento de aproximao acionado quando a
diferena angular da direo entre a postura atual e a
prxima postura muito pequena e tambm, quando no h
nenhum objeto prximo ao rob. J o comportamento de
correo de direo acionado quando a direo atual em
relao prxima postura no est correta e tambm,
quando no h nenhum objeto prximo ao rob, permitindo
que o mesmo possa corrigir a sua direo, evitando que o
rob distancie-se ainda mais da prxima postura.
Finalmente, o comportamento de anticoliso faz com que o
rob afaste-se dos objetos muito prximos a ele, evitando
assim possveis colises.
Tabela 1 Base de regras para o sistema nebuloso.
Os trs comportamentos so combinados a partir de uma
ponderao da composio das regras de inferncias
nebulosas, com valores variando de zero a um (coluna peso
da Tabela 1). A limitao dos valores de ponderao visa
restringir os valores resultantes de sada para que os
mesmos no ultrapassassem os fundos de escalas das suas
respectivas funes de pertinncia.
A ponderao caracteriza a relevncia de cada regra na
deciso combinada de controle e obtida atravs da anlise
dos grficos das variveis lingsticas de entrada versus
variveis lingsticas de sada, em relao ao conjunto de
regras definido. Inicialmente, todos as regras possuem alta
relevncia (peso=1.0). Nos grficos que apresentarem
descontinuidades, a relevncia das regras que as produzem
so diminudas at que essa descontinuidade seja suprimida
do grfico. As relevncias so traduzidas em pesos de
ponderao das regras. Dessa forma, possvel a
realizao de um ajuste fino do controlador sem que haja
a necessidade de incluso de novas regras.
3.5 Inferncia Nebulosa
No processo de inferncia ocorrem as operaes de deciso
do controlador nebuloso. A base de regras essencial ao
controlador, uma vez que ela que governa as relaes
entre as variveis lingsticas de entrada e de sada.
Neste trabalho o mtodo de inferncia empregado o
mtodo dos mnimos de Mandani, onde o operador lgico
mnimo ( ) utilizado como o mtodo de implicao para
cada regra e essas regras so agregadas atravs do operador
lgico mximo ( ), conforme o conjunto de equaes (3)
[Lee, 1990]:
( ) ( )
( ) ( ) TURN A TURN A y
MOVE A MOVE A x
=
=
19 1
19 1
...
...
(3)
onde x e y representam a agregao de inferncia das
variveis de sada MOVE e TURN respectivamente e An o
valor de ativao da regra n, obtido conforme equao (4):
( ) ( ) ( ) ( ) n d n D s n S s n S An = 8 8 1 1 ... (4)
onde n S1 , ... , n S8 , Dn e n representam as variveis
lingsticas de entrada ativadas pela regra n e s1, ... , s8,
d e so os valores nebulosos correspondentes s
variveis lingsticas de entrada.
3.6 Defuzzificao
A defuzzificao o responsvel por converter as
informaes obtidas do processo de inferncia para um
valor no universo clssico (crisp), associado a uma
determinada sada.
Neste trabalho o mtodo de defuzzificao utilizado o
mtodo do centro de gravidade [Lee, 1990], onde se
procura encontrar o valor do centro de gravidade da
distribuio de sada, conforme o conjunto de equaes (5):
( )
( )
( )
( )
=
=
=
=
19
1
19
1
19
1
19
1
_
_
_
_
_
_
i
i
i
i
i turn y
i turn y
i move x
i move x
i turn
i move
TURN
MOVE
(5)
onde move_i e turn_i so os valores nebulosos das variveis
lingsticas de sada referentes regra i.
4 EXPERIMENTOS E RESULTADOS
Para validar o sistema de navegao reativa utilizando
lgica nebulosa foram propostos dois experimentos: um
com pontos de origem e alvo iguais e outro com pontos de
origem e alvo diferentes.
VII SBAI/ II IEEE LARS. So Lus, setembro de 2005 6
Para realizar uma anlise comparativa, os experimentos
foram efetuados em dois ambientes de execuo: no
simulador do rob mvel em MatLab e no rob real. O
simulador do rob mvel em MatLab um ambiente de
simulaes preciso, ou seja, ideal. J a execuo com o
rob real apresenta as condies que existem de fato, ou
seja, com a introduo de imprecises.
Todos os testes efetuados tm preciso de 100mm, ou seja,
quando o rob se encontra dentro da circunferncia de raio
100mm centrada nos pontos intermedirios ou no alvo, o
algoritmo considera que este ponto foi atingido.
4.1 Simulador do Rob Mvel em MatLab
Como citado anteriormente, o simulador do rob mvel em
MatLab preciso, ou seja, no h a introduo de rudos
nos sensores de proximidade, nos odmetros e nem nos
movimentos de translao e de rotao, fazendo com que o
equacionamento das posturas do rob possa ser efetuado
por dead reckoning [Dudek e Jenkin, 2000]. Com esta
tcnica h a integrao das medidas relativas das posturas
atravs das medidas dos odmetros. Como o simulador no
introduz imprecises nas medidas dos odmetros, essa
tcnica no causa diferenas nos valores das posturas do
rob mvel durante o trajeto.
Os valores da postura atual so obtidos recursivamente
atravs da interao entre a postura anterior e os dados
provenientes dos odmetros da roda direita (OD) e da roda
esquerda (OE).
Devido aos movimentos de translao e rotao serem
independentes, para os movimentos de rotao, a postura
atual calculada conforme o conjunto de equaes (6):
( )
R
OD OE k k
k k
k k
k k
y y
x x
+ =
=
=
) ( ) (
) 1 ( ) (
) 1 ( ) (
) 1 ( ) (
90
(6)
J para os movimentos de translao, a postura atual
calculada conforme o conjunto de equaes (7):
( )
( )
( )
( )
) 1 ( ) (
) 1 (
) ( ) (
) 1 ( ) (
) 1 (
) ( ) (
) 1 ( ) (
2
2
cos
+
+
=
+
=
+
=
k k
k
k k
k k
k
k k
k k
sen y y
x x
OD OE
OD OE
(7)
4.2 Rob Real
Ao contrrio do simulador do rob mvel em MatLab, o
rob real introduz imprecises s posturas. Essas
imprecises so decorrentes dos sensores de proximidade,
dos odmetros, de escorregamentos das rodas e
imperfeies fsicas do rob e tambm do ambiente.
No caso do rob real, os valores da postura atual so
obtidos recursivamente atravs da interao entre a postura
anterior, os dados provenientes dos movimentos de
translao (MOVE), da correo de translao ( ), do
movimento de rotao (TURN) e da correo de
rotao ( ). Os valores de correo de translao e de
rotao so fornecidos pelo mdulo de localizao, baseado
em filtro de Kalman estendido [Fracasso e Rosa, 2004].
Para os movimentos de rotao, a postura atual calculada
conforme o conjunto de equaes (8):
) ( ) ( ) 1 ( ) (
) 1 ( ) (
) 1 ( ) (
k k k k
k k
k k
TURN
y y
x x
+ + =
=
=
(8)
J para os movimentos de translao, a postura atual
calculada conforme o conjunto de equaes (9):
( ) ( )
( ) ( )
) 1 ( ) (
) ( ) ( ) 1 ( ) 1 ( ) (
) ( ) ( ) 1 ( ) 1 ( ) ( cos
+
+
=
+ =
+ =
k k
k k k k k
k k k k k
MOVE
MOVE
sen y y
x x
(9)
4.3 Ambiente de Testes
O ambiente de testes para a validao da navegao reativa
utilizando lgica nebulosa um espao livre e cercado, com
lados iguais a 6000mm de comprimento cada. Neste espao
so inseridas placas de madeira para os dois tipos de
experimentos propostos: experimento com pontos de
origem e alvo iguais (Figura 8) e experimento com pontos
de origem e alvo diferentes (Figura 9).
Figura 8 Ambiente de testes do experimento
com pontos de origem e alvo iguais.
Figura 9 Ambiente de testes do experimento
com pontos de origem e alvo diferentes.
VII SBAI/ II IEEE LARS. So Lus, setembro de 2005 7
4.4 Experimento com Pontos de Origem
e Alvo Iguais
Esse experimento consiste na navegao do rob mvel em
volta de um quadrado de 2000mm de lado, inserido no
centro do ambiente de testes, com origem e alvo
coincidentes no mesmo ponto (1) e trajetria descrita por
quatro posturas (1 4), conforme ilustra a Figura 10. Nesta
figura tambm so ilustrados os resultados do experimento
com pontos de origem e alvo iguais.
Neste experimento os trs comportamentos (aproximao,
correo da direo e anticoliso) tiveram suas
funcionalidades exploradas, alm da capacidade do rob
mvel retornar ao mesmo local depois de percorrida a
trajetria. Pode-se observar uma ligeira diferena entre as
execues efetuadas no simulador do rob em MatLab e no
rob real. Alm das diferenas causadas pela introduo de
imprecises, principalmente atravs de escorregamento das
rodas nos movimentos de rotao, h tambm a grande
influncia das imprecises causadas pelos sensores de
proximidade quando estes detectam cantos e quinas. Nos
sensores de proximidade os erros tendem a aumentar
medida que os objetos ficam mais paralelos ao feixe do
sonar. As diferenas entre as simulaes no foram maiores
devido presena do mdulo de localizao que, aps cada
iterao, corrige a postura do rob mvel. Outra
caracterstica que bem evidenciada pelos resultados o
comportamento de anticoliso, que faz com que o rob
mvel desvie das quinas do quadrado interno do ambiente
de testes. Finalmente, pode-se observar que o rob mvel
atingiu a postura alvo de forma satisfatria tanto para
a simulao em MatLab quanto para o experimento
no rob real.
Figura 10 Resultado do experimento com
pontos de origem e alvo iguais.
4.5 Experimento com Pontos de Origem
e Alvo Diferentes
Esse experimento consiste na navegao do rob mvel em
torno de duas paredes horizontais de 4000mm de
comprimento, dispostas nas posies verticais 2000mm e
4000mm do ambiente de testes, com origem (1) e alvo (12)
diferentes e trajetria descrita por doze posturas (1 12),
conforme mostra a Figura 11. Nesta figura tambm so
ilustrados os resultados do experimento com pontos de
origem e alvo diferentes.
Neste experimento a principal capacidade observada foi a
realizao de curvas pelo rob, uma vez que este tipo de
movimento introduz grande parcela de erro ao controlador e
eventualmente pode denegrir a atuao do mdulo de
navegao reativa. Como no experimento anterior, pode-se
tambm observar uma ligeira diferena entre as execues
efetuadas no simulador do rob mvel em MatLab e no
rob real, devido novamente introduo de imprecises
principalmente atravs de escorregamento das rodas nos
movimentos de rotao e translao e pelos sensores de
proximidade, quando estes detectam cantos e quinas. As
maiores diferenas ocorrem quando o rob mvel efetua as
duas semi-circunferncias, devido a imprecises nos dados
fornecidos pelos odmetros nos movimentos de rotao.
Essas imprecises so em grande parte corrigidas pelo
mdulo de localizao quando o rob mvel efetua os
movimentos de translao, uma vez que esse tipo de
movimento introduz menos impreciso s leituras dos
odmetros. Como no experimento anterior, o rob mvel
tambm atingiu a postura alvo de forma satisfatria, em
ambos os casos.
Figura 11 Resultado do experimento com
pontos de origem e alvo diferentes.
5 CONCLUSES
Atravs da navegao reativa utilizando lgica nebulosa
com ponderao nas regras de inferncia, pode-se concluir
que, com a enumerao de poucas regras, consegue-se obter
elevada velocidade de processamento do sistema de
controle nebuloso (cerca de 30ms por iterao, incluindo a
aquisio dos dados e o clculo dos movimentos a serem
efetuados), o que proporciona respostas rpidas do rob
mvel aos estmulos do ambiente.
Com a adoo da ponderao das regras de inferncia do
sistema nebuloso de navegao, h uma reduo
significativa no nmero de regras que modelam a
navegao em comparao com abordagens semelhantes
VII SBAI/ II IEEE LARS. So Lus, setembro de 2005 8
[Parasuraman, Ganapathy e Shirinzadeh, 2004], [Zhu e
Yang, 2004] e [Selekwa e Collins Jr., 2003]. Alm disso,
ocorrem melhorias nos movimentos de sada, tornando-os
mais suaves, ou seja, sem mudanas bruscas e repentinas
quando chaveiam de comportamento. A ponderao das
regras possibilita o uso de um nmero menor de regras,
quando comparado com controladores que no usam esta
tcnica. Apesar dessas vantagens, os valores de ponderao
das regras so de difcil determinao.
Observa-se que o sistema de navegao nebuloso produz
respostas que no foram explicitamente descritas na base de
conhecimento. Comparativamente, outras abordagens
exigiriam a descrio das respostas do rob para cada tipo
de estmulo, tornando assim o problema bastante complexo
para a grande quantidade de variveis envolvidas no
problema abordado.
Dentre as dificuldades encontradas na abordagem proposta,
pode-se citar: encontrar a melhor descrio das variveis
lingsticas de entrada e de sada, a melhor e mais concisa
elaborao da base de regras de inferncia, como tambm a
obteno das ponderaes entre as regras de inferncia.
Durante os experimentos com o rob real houve a
necessidade da introduo do mdulo de localizao, uma
vez que a impreciso da localizao por dead reckoning,
utilizando somente os odmetros, grande. O mdulo de
navegao, previamente implementado por Fracasso e Rosa
[2004], reduziu significativamente a introduo de erros
pelo rob e pelo ambiente, fazendo com que os resultados
para os dois experimentos fossem satisfatrios.
Um fato marcante observado nos experimentos foi que
dentre todas as imprecises introduzidas no algoritmo, a
mais significativa foi a impreciso nos movimentos de
rotao, que conseqentemente afetava as medidas dos
odmetros. Alm disso, os sensores de proximidade
tambm apresentaram dados ruidosos, o que implica a
necessidade de um filtro nos sensores de proximidade para
eliminao dos dados esprios.
Os prximos passos incluem a definio e implementao
do mdulo de planejamento de caminho, de modo a
adquirir automaticamente a descrio dos pontos
intermedirios a alcanar para a realizao da tarefa.
Esforos tambm sero dirigidos para a adaptao
automtica da ponderao das regras de inferncia, de
acordo com a situao do ambiente e da descrio da tarefa
da navegao.
AGRADECIMENTOS
Este trabalho foi parcialmente financiado pelo projeto
MultiBot, CAPES-GRICES N.099/03.
REFERNCIA BIBLIOGRFICA
ActivMedia Robotics. Pioneer 2DX Mobile Robot:
Operational Manual, 2000.
Arkin, Ronald C. Behavior-Based Robotics. The
Massachusetts Institute of Technology Press, 1999.
Brooks, R. A Robust Layered Control System for a Mobile
Robot. IEEE Journal of Robotics and Automation,
vol. 1, pp. 1-10, 1986.
Brown, Robert Grove; Hwang, Patrick. Introduction to
Random Signals and Applied Kalman Filtering. John
Wiley & Sons, 3rd edition, 1997.
Connell, Jonathan. SSS: A Hybrid Architecture Applied to
Robot Navigation. Proceedings of the IEEE
Conference on Robotics and Automation (ICRA),
pp. 2719-2724, 1992.
Dudek, Gregory; Jenkin, Michael. Computational
Principles of Mobile Robotics, Cambridge
University Press, 2000.
Fracasso, Paulo Thiago; Rosa, Hugo Velasco. Navegao e
Localizao do Rob Pioneer 2DX. Projeto de
Formatura Engenharia Eltrica. Escola Politcnica
da Universidade de So Paulo, 2004.
Lee, Chien Chuen. Fuzzy Logic in Control Systems: Fuzzy
Logic Controller Part II. IEEE Transaction on
Systems, Man and Cybernetics, vol. 20, n.2, pp. 419-
435, March 1990.
Murphy, R. Introduction to AI Robotics. The Massachusetts
Institute of Technology Press, 2000.
Pacheco, Rafael Neto; Costa, Anna Helena Reali.
Navegao de Robs Mveis Utilizando o Mtodo
de Campos Potenciais. Workshop de Computao
WORKCOMP'2002, pp. 125-130, Instituto
Tecnolgico de Aeronutica, 2002.
Parasuraman, S.; Ganapathy, V.; Shirinzadeh, Bijan.
Behavior Based Mobile Robot Navigation
Technique for Real World Environments Using
Fuzzy Logic System. 2004 IEEE International
Conference on Systems, Man and Cybernetics,
pp. 3359-3364, 2004.
Saffiotti, Alessandro; Konolige, Kurt; Ruspini, Enrique. A
Multivalued Logic Approach to Integrating Planning
and Control. Artificial Intelligence, vol. 76,
pp. 481-526, 1995.
Selekwa, Majura; Collins Jr., Emmanuel. Centralized Fuzzy
Behavior Control for Robot Navigation. Proceedings
of the 2003 IEEE International Symposium on
Intelligent Control, Houston, TX, pp. 602-607, 2003.
Selvatici, Antonio Henrique Pinto. AAREACT: Uma
Arquitetura Comportamental Adaptativa para Robs
Mveis que Integra Viso, Sonares e Odometria.
Dissertao de Mestrado Engenharia Eltrica.
Escola Politcnica da Universidade de So Paulo,
2005.
Zhu, Anmin; Yang, Simon. A Fuzzy Logic Approach to
Reactive Navigation of Behavior-Based Mobile
Robots. Proceedings of the 2004 IEEE International
Conference on Robotics & Automation, New
Orleans, LA, pp. 5045-5050, 2004.