• Nenhum resultado encontrado

NAVEGAÇÃO REATIVA DE ROBÔS MÓVEIS AUTÔNOMOS UTILIZANDO LÓGICA NEBULOSA COM REGRAS PONDERADAS

N/A
N/A
Protected

Academic year: 2021

Share "NAVEGAÇÃO REATIVA DE ROBÔS MÓVEIS AUTÔNOMOS UTILIZANDO LÓGICA NEBULOSA COM REGRAS PONDERADAS"

Copied!
8
0
0

Texto

(1)

NAVEGAÇÃO REATIVA DE ROBÔS MÓVEIS AUTÔNOMOS UTILIZANDO LÓGICA NEBULOSA COM REGRAS PONDERADAS

Paulo Thiago Fracasso Anna Helena Reali Costa

paulo.fracasso@poli.usp.br anna.reali@poli.usp.br

Laboratório de Técnicas Inteligentes – LTI Escola Politécnica da Universidade de São Paulo Av. Prof. Luciano Gualberto 158, trav. 3 – CEP 05508-900

São Paulo, SP, Brasil

ABSTRACT

This paper describes a behavior-based reactive navigation system for an autonomous mobile robot, which uses fuzzy logic combined with an inference rule weighting factor.

With the introduction of the weighting factor there is a decrease in the number of rules needed to model the navigation system, resulting in faster answers. The inputs of the fuzzy navigation system are: the data from the eight proximity sensors of the robot, the distance and the angular difference between the current pose and the desired next pose, which is defined by a path planning system. The intensity of the translational and rotational movements of the robot are the outputs of the fuzzy navigation system.

The experimental results obtained demonstrate the feasibility of the proposed navigation approach to real situations and implementations.

KEYWORDS: Mobile robots, fuzzy logic, reactive architecture, behavior coordination, navigation.

RESUMO

Este trabalho descreve um sistema de navegação reativa comportamental de robôs móveis autônomos utilizando lógica nebulosa combinada com uma ponderação entre as regra de inferência. Com a introdução dessas ponderações há uma diminuição na quantidade de regras necessárias para a modelagem do sistema de navegação, resultando em respostas rápidas. As entradas do sistema nebuloso de navegação são: os dados provenientes de oito sensores de proximidade do robô, a distância e a diferença angular entre a postura atual e a próxima postura desejada, que é definida por um sistema de planejamento de caminhos. As intensidades dos movimentos de translação e de rotação do robô são as saídas do sistema nebuloso de navegação. Os resultados experimentais obtidos demonstram que o sistema de navegação proposto é factível para situações e implementações reais.

PALAVRAS-CHAVE: Robôs móveis, lógica nebulosa, arquitetura reativa, coordenação de comportamentos, navegação.

1 INTRODUÇÃO

A navegação de robôs móveis autônomos é um grande desafio, devido principalmente ao ambiente ser dinâmico, haver sensoriamento ruidoso e exigências de controle e tomada de decisões em tempo real. Um sistema de navegação é responsável por fornecer ao robô móvel os comandos de movimentos necessários para a sua locomoção, de forma precisa e suave, ao mesmo tempo que permite reações rápidas às mudanças do ambiente para evitar colisões, garantindo que o destino seja atingido de forma satisfatória. Sistemas de navegação são organizados em arquiteturas que, juntamente com outros módulos, possibilitam ao robô executar tarefas, tomar decisões e interagir adequadamente com o ambiente onde está imerso.

Na robótica móvel, basicamente dois paradigmas guiam os projetos de diversos tipos de arquitetura: o reativo e o deliberativo [Murphy, 2000]. O paradigma reativo emula a reação imediata dos animais aos estímulos do ambiente. As arquiteturas reativas são geralmente utilizadas como uma camada de nível inferior na navegação de robôs móveis, com a vantagem de responderem em tempo real, por mapearem diretamente a leitura dos sensores em ações do robô [Arkin, 1999]. Já o paradigma deliberativo intercala o processo da tomada de decisão, desde a percepção até a ação, com uma etapa de planejamento. Em arquiteturas deliberativas este planejamento geralmente demanda grande tempo de processamento, dificultando a atuação do robô em tempo real. Soluções de compromisso são muito exploradas atualmente, definindo arquiteturas híbridas [Selvatici, 2005]

e [Connell, 1992], conjugando os paradigmas reativo e deliberativo.

Para tarefas de navegação em ambientes dinâmicos, os robôs necessitam reagir rapidamente a mudanças, tornando- se adequado o uso de uma arquitetura reativa no sistema de controle. Desta forma, o objetivo deste trabalho foi explorar a parte reativa de uma arquitetura híbrida futura de forma a adequar o sistema de navegação a responder rapidamente em ambientes dinâmicos, onde a arquitetura reativa é decomposta em módulos concorrentes que correspondem aos comportamentos [Saffiotti, Konolige e Ruspini, 1995].

(2)

Como vários comportamentos podem ser ativados simultaneamente, deve-se ainda estipular como as ações indicadas pelos comportamentos poderão ser coordenadas.

A coordenação competitiva, como na arquitetura de subsunção [Brooks, 1986] tem a desvantagem de tornar o trajeto pouco suave, uma vez que pode haver descontinuidades quando se chaveia de um comportamento para outro. Porém, coordenações cooperativas nem sempre são fáceis de se projetar [Pacheco e Costa, 2002] e [Selvatici, 2005]. Este trabalho propõe o uso da lógica nebulosa para definir a coordenação entre os comportamentos, explorando as funcionalidades oferecidas pelo uso de informações vagas e imprecisas nas regras lingüísticas e que são obtidas pelo conhecimento e experiência prévios do problema.

Atualmente, muitas abordagens do problema de navegação de robôs móveis utilizando lógica nebulosa são descritas na literatura: Parasuraman, Ganapathy e Shirinzadeh [2004]

utilizam um algoritmo de navegação baseado em comportamentos dividido em duas camadas nebulosas: a primeira camada determina a ponderação entre os comportamentos; já a segunda camada pondera a saída de cada comportamento. Nessa abordagem o algoritmo determina quais comportamentos devem atuar e nos comportamentos atuantes determina as intensidades das saídas, mas com a desvantagem de possuir muitas regras de inferência para a modelagem da navegação. Já Zhu e Yang [2004] propuseram um sistema de navegação reativa baseada em comportamentos utilizando lógica nebulosa sendo que o sistema nebuloso possui como entrada uma interpretação dos dados sensoriais, adquiridos por meio de uma fusão sensorial feita a priori. Além disso, tal sistema incorpora estratégias para eliminar a “indecisão simétrica” e os “ciclos viciosos” através do uso de regras obrigatórias e da atualização de uma variável de estado. Selekwa e Collins Jr. [2003] descrevem um sistema navegação baseado em fusão de comportamentos, divididos em dois blocos: o bloco consultivo, composto por vários comportamentos, e que decide quais comandos deverão estar disponíveis para o bloco subseqüente e o bloco de comando, que determina qual o melhor comando que satisfaça o maior número possível de comportamentos. Nessa abordagem também se sobressaem os problemas da existência de muitas regras de inferência e da dificuldade de determinar quais comandos devem estar presentes na modelagem, mas apresentam a vantagem de apenas um comando estar atuante por vez.

O sistema de navegação aqui proposto constitui-se de uma arquitetura reativa comportamental, cujo sistema de controle é efetuado com lógica nebulosa associado à regras de inferência ponderadas, que se encarrega de coordenar cooperativamente os diversos comportamentos disparados pelos dados sensoriados. O sistema foi desenvolvido e testado no robô móvel Pioneer 2DX e em um ambiente criado especialmente para impor dificuldades na obtenção de respostas mais próximas às diversas situações que o robô poderá encontrar.

Este trabalho está organizado da seguinte forma: na seção 2 é apresentada uma breve descrição sobre o robô Pioneer 2DX. A seção 3 descreve a modelagem do sistema nebuloso de navegação. Na seção 4 são exibidos os resultados dos experimentos realizados. Finalmente, a seção

5 apresenta as conclusões e considerações finais a respeito do sistema de navegação proposto.

2 ROBÔ PIONEER 2DX

O robô Pioneer 2DX utilizado é não-holonômico, diferencial, possui oito sensores de proximidade frontais, dois odômetros (um para roda esquerda e para a roda direita) para registrar os movimentos efetuados e conexão com um computador externo, através de uma porta serial para o processamento embarcado [ActivMedia Robotics, 2000]. Com exceção dos dois sensores laterais (S1 e S8), os demais sensores (S2, S3, S4, S5, S6 e S7) estão dispostos de forma que a direção entre os dois sonares consecutivos forme um ângulo de 20°, conforme a Figura 1.

Figura 1 – Disposição dos sonares no robô Pioneer 2DX.

3 SISTEMA NEBULOSO DE NAVEGAÇÃO

O sistema nebuloso de navegação aqui proposto fornece os comandos a serem efetuados pelo robô móvel para atingir um certo alvo a partir de uma postura conhecida. Para representar a postura do robô móvel que se move sobre um plano é definido um vetor composto por sua posição num plano bi-dimensional e por sua orientação em relação ao ambiente (x(k),y(k)(k)), a cada instante k [Dudek e Jenkin, 2000]. Este sistema é composto por três módulos independentes, conforme mostra a Figura 2: planejamento do caminho, módulo de navegação nebulosa reativa e módulo de localização.

Figura 2 – Sistema de navegação.

O módulo de planejamento de caminho fornece uma lista composta por posturas intermediárias que o robô móvel

(3)

deve alcançar para atingir o seu objetivo. O módulo de navegação nebulosa reativa é responsável por calcular os movimentos efetuados pelo robô para atingir um certo alvo a partir de uma origem conhecida. Já o módulo de localização, baseado em filtro de Kalman estendido [Brown e Hwang, 1997], calcula a estimativa da postura do robô móvel através das informações dos sensores de proximidade, dos odômetros e de uma representação interna do ambiente. Este trabalho concentra-se apenas na descrição do módulo de navegação desenvolvido.

No módulo de navegação nebulosa reativa, as intensidades dos movimentos de translação e rotação são calculadas por um controlador nebuloso, mostrado na Figura 3. Este controlador nebuloso recebe os valores da distância (D(k)) e da diferença de direção (ϕ(k)) entre a postura atual (x(k),y(k),θ(k)) e a próxima postura (x(k+1),y(k+1),θ(k+1)), e as medidas dos oitos sensores de proximidade (S1, S2, S3, S4, S5, S6, S7 e S8).

Figura 3 – Módulo de navegação nebulosa reativa.

A obtenção dos valores da distância e da diferença de direção entre a postura atual e a próxima postura, conforme ilustra a Figura 4, são descritos pelas equações (1) e (2) respectivamente:

(

( 1) ( )

) (

2 ( 1) ( )

)

2

)

(k x k x k yk y k

D = + − + +

(1)

− −

= +

+

) ( ) 1 (

) ( ) 1 1 (

) ( )

( tan

k k

k k k

k x x

y θ y

ϕ (2)

Figura 4 – Distância (D) e diferença de direção (ϕ) entre a postura atual e a próxima postura.

O sistema nebuloso de navegação tem como saída as intensidades dos movimentos de translação (MOVE(k)) e rotação (TURN(k)) efetuados pelo robô móvel. Para simplificar a modelagem da cinemática do robô móvel não foram consideradas as velocidades e acelerações dos movimentos, como também os movimentos de translação e

de rotação foram considerados separadamente. Desta forma, primeiro o robô móvel efetua o movimento de rotação e posteriormente, o movimento de translação. Além disso, o robô móvel possui uma camada que proporciona uma abstração da tensão elétrica aplicada em cada um dos motores, facilitando assim os comandos enviados para a navegação do robô móvel.

3.1 Controlador Nebuloso

Um controlador nebuloso típico é descrito na Figura 5.

Primeiramente as variáveis de entrada são fuzzyficadas para que os valores do universo clássico (crisp) sejam convertidos para valores do universo nebuloso. Estes valores são processados pelo módulo de inferência que, através do conjunto de regras descritos em linguagem natural e dos operadores nebulosos, fornece os valores nebulosos de saída. Os valores nebulosos de saída são então defuzzificados para serem obtidos os valores das variáveis de saída, novamente no universo dos números clássicos.

Figura 5 – Controlador Nebuloso.

3.2 Variáveis Lingüísticas de Entrada

A modelagem das entradas do problema de navegação nebulosa reativa consiste na elaboração de seis funções de pertinência para as dez variáveis lingüísticas de entrada (os oito sensores de proximidade S1 à S8, a distância D e a diferença de direção ϕ entre a postura atual e da próxima postura).

As variáveis lingüísticas dos sensores de proximidade foram divididas em quatro pares (S1/S8, S2/S7, S3/S6 e S4/S5) em função da disposição do sensor no robô móvel, conforme Figura 1. Estes quatro pares de variáveis lingüísticas têm universo de discurso de 0 a 3000mm e possuem dois valores lingüísticos: near (N) e far (F). A necessidade de apenas dois valores lingüísticos é justificada para proporcionar ao robô somente a percepção da proximidade de objetos que possam provocar colisão.

Devido ao sentido de movimento do robô, e visando maior segurança, definiu-se maior sensibilidade à proximidade de objetos para as variáveis lingüísticas dos sensores mais próximos ao eixo de locomoção do robô do que as variáveis lingüísticas dos sensores localizados ortogonalmente a este eixo.

As variáveis lingüísticas S1 e S8, correspondentes aos sensores ortogonais ao eixo de locomoção do robô, são descritas pela função de pertinência da Figura 6_a. A percepção dos objetos próximos é iniciada com distâncias menores que 500mm e ápice quando houver colisão.

As variáveis lingüísticas S2 e S7 são descritas pela função de pertinência da Figura 6_b. A percepção dos objetos próximos é iniciada com distâncias menores que 600mm e ápice quando houver colisão.

(4)

As variáveis lingüísticas S3 e S6 são descritas pela função de pertinência da Figura 6_c. A percepção dos objetos próximos é iniciada com distâncias menores que 750mm e ápice quando houver colisão.

Figura 6 – Funções de pertinência das variáveis lingüísticas de entrada: a) S1 e S8, b) S2 e S7,

c) S3 e S6, d) S4 e S5, e) D e f) ϕ.

As variáveis lingüísticas S4 e S5, correspondente aos sensores mais próximos ao eixo de locomoção do robô, são descritas pela função de pertinência da Figura 6_d. A percepção dos objetos próximos é iniciada com distâncias menores que 1000mm e ápice quando houver colisão.

A variável lingüística D é descrita pela função de pertinência da Figura 6_e. Esta função de pertinência tem universo de discurso de 0 a 5000mm e possui três valores lingüísticos: near (N), medium (M) e far (F). Através desses três valores lingüísticos é possível representar de forma

adequada a distância que o robô móvel está do seu alvo.

Estes valores lingüísticos foram modelados em função do tamanho físico do robô móvel.

A variável lingüística ϕ é descrita pela função de pertinência da Figura 6_f. Esta função de pertinência tem universo de discurso de -180 a 180° e possui sete valores lingüísticos: 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 lingüísticos também é possível representar de forma adequada a diferença angular de direção do robô móvel em relação ao alvo.

3.3 Variáveis Lingüísticas de Saída

As duas funções de pertinência de saída, com as suas respectivas variáveis lingüísticas (intensidade do movimento de translação MOVE e de rotação TURN), completam a modelagem do sistema de navegação.

A variável lingüística MOVE é descrita pela função de pertinência da Figura 7_a. Esta função de pertinência tem universo de discurso de 0 a 500mm e possui três valores lingüísticos: small (S), medium (M) e big (B). Através dos três valores lingüísticos é possível representar movimentos de translação somente no sentido positivo (para frente), o que possibilita a aproximação do robô móvel às posturas pré-determinadas. Quando houver necessidade de movimentos no sentido negativo (para trás), o robô primeiramente deverá executar um movimento de rotação de 180°, para depois efetuar os movimentos de translação, agora no sentido oposto.

Figura 7 – Funções de pertinência das variáveis lingüísticas de saída: a) MOVE e b) TURN.

A variável lingüística TURN é descrita pela função de pertinência da Figura 7_b. Esta função de pertinência tem universo de discurso de -180 a 180° e possui sete valores lingüísticos: negative big (NB), negative medium (NM), negative small (NS), zero (ZE), positive small (PS), positive medium (PM) e positive big (PB). Através desses sete valores lingüísticos é possível representar os movimento de rotação tanto no sentido horário (positivo) como no sentido anti-horário (negativo), fazendo com que o robô móvel corrija sua direção e também desvie de objetos que possam provocar colisão.

(5)

3.4 Regras de Inferência

A Tabela 1 descreve as regras que possibilitam a navegação do robô Pioneer 2DX a partir das informações dos sensores de proximidade, da distância e da diferença angular da direção entre a postura atual e a próxima postura. As regras para o sistema nebuloso de inferência têm como base três tipos de comportamentos distintos: aproximação (regras 1 à 3), correção da direção (regras 4 à 9) e anticolisão (regras 10 à 19).

O comportamento de aproximação é acionado quando a diferença angular da direção entre a postura atual e a próxima postura é muito pequena e também, quando não há nenhum objeto próximo ao robô. Já o comportamento de correção de direção é acionado quando a direção atual em relação à próxima postura não está correta e também, quando não há nenhum objeto próximo ao robô, permitindo que o mesmo possa corrigir a sua direção, evitando que o robô distancie-se ainda mais da próxima postura.

Finalmente, o comportamento de anticolisão faz com que o robô afaste-se dos objetos muito próximos a ele, evitando assim possíveis colisões.

Tabela 1 – Base de regras para o sistema nebuloso.

Os três comportamentos são combinados a partir de uma ponderação da composição das regras de inferências nebulosas, com valores variando de zero a um (coluna peso da Tabela 1). A limitação dos valores de ponderação visa restringir os valores resultantes de saída para que os mesmos não ultrapassassem os fundos de escalas das suas respectivas funções de pertinência.

A ponderação caracteriza a relevância de cada regra na decisão combinada de controle e é obtida através da análise dos gráficos das variáveis lingüísticas de entrada versus variáveis lingüísticas de saída, em relação ao conjunto de regras definido. Inicialmente, todos as regras possuem alta relevância (peso=1.0). Nos gráficos que apresentarem descontinuidades, a relevância das regras que as produzem são diminuídas até que essa descontinuidade seja suprimida do gráfico. As relevâncias são traduzidas em pesos de ponderação das regras. Dessa forma, é possível a

realização de um “ajuste fino” do controlador sem que haja a necessidade de inclusão de novas regras.

3.5 Inferência Nebulosa

No processo de inferência ocorrem as operações de decisão do controlador nebuloso. A base de regras é essencial ao controlador, uma vez que é ela que governa as relações entre as variáveis lingüísticas de entrada e de saída.

Neste trabalho o método de inferência empregado é o método dos mínimos de Mandani, onde o operador lógico mínimo () é utilizado como o método de implicação para cada regra e essas regras são agregadas através do operador lógico máximo (), conforme o conjunto de equações (3) [Lee, 1990]:

( ) ( )

(

A TURN

) (

A TURN

)

y

MOVE A

MOVE A

x

µ µ

µ

µ µ

µ

=

=

19 1

19 1

...

... (3)

onde µx e µy representam a agregação de inferência das variáveis de saída MOVE e TURN respectivamente e An é o valor de ativação da regra n, obtido conforme equação (4):

( )

µ

( )

µ

( )

µϕ

( )

ϕ

µS n s S n s Dn d n

An= 1 1 ... 8 8 (4)

onde µS1n, ... ,µS8n, Dnµ e µϕn representam as variáveis lingüísticas de entrada ativadas pela regra n e s1, ... , s8, d eϕ são os valores nebulosos correspondentes às variáveis lingüísticas de entrada.

3.6 Defuzzificação

A defuzzificação é o responsável por converter as informações obtidas do processo de inferência para um valor no universo clássico (crisp), associado a uma determinada saída.

Neste trabalho o método de defuzzificação utilizado é o método do centro de gravidade [Lee, 1990], onde se procura encontrar o valor do centro de gravidade da distribuição de saída, conforme o conjunto de equações (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 são os valores nebulosos das variáveis lingüísticas de saída referentes à regra i.

4 EXPERIMENTOS E RESULTADOS

Para validar o sistema de navegação reativa utilizando lógica nebulosa foram propostos dois experimentos: um com pontos de origem e alvo iguais e outro com pontos de origem e alvo diferentes.

(6)

Para realizar uma análise comparativa, os experimentos foram efetuados em dois ambientes de execução: no simulador do robô móvel em MatLab e no robô real. O simulador do robô móvel em MatLab é um ambiente de simulações preciso, ou seja, ideal. Já a execução com o robô real apresenta as condições que existem de fato, ou seja, com a introdução de imprecisões.

Todos os testes efetuados têm precisão de 100mm, ou seja, quando o robô se encontra dentro da circunferência de raio 100mm centrada nos pontos intermediários ou no alvo, o algoritmo considera que este ponto foi atingido.

4.1 Simulador do Robô Móvel em MatLab

Como citado anteriormente, o simulador do robô móvel em MatLab é preciso, ou seja, não há a introdução de ruídos nos sensores de proximidade, nos odômetros e nem nos movimentos de translação e de rotação, fazendo com que o equacionamento das posturas do robô possa ser efetuado por dead reckoning [Dudek e Jenkin, 2000]. Com esta técnica há a integração das medidas relativas das posturas através das medidas dos odômetros. Como o simulador não introduz imprecisões nas medidas dos odômetros, essa técnica não causa diferenças nos valores das posturas do robô móvel durante o trajeto.

Os valores da postura atual são obtidos recursivamente através da interação entre a postura anterior e os dados provenientes dos odômetros da roda direita (OD) e da roda esquerda (OE).

Devido aos movimentos de translação e rotação serem independentes, para os movimentos de rotação, a postura atual é calculada conforme o conjunto de equações (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 translação, a postura atual é calculada conforme o conjunto de equações (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 contrário do simulador do robô móvel em MatLab, o robô real introduz imprecisões às posturas. Essas imprecisões são decorrentes dos sensores de proximidade, dos odômetros, de escorregamentos das rodas e imperfeições físicas do robô e também do ambiente.

No caso do robô real, os valores da postura atual são obtidos recursivamente através da interação entre a postura anterior, os dados provenientes dos movimentos de translação (MOVE), da correção de translação (α), do

movimento de rotação (TURN) e da correção de rotação (ρ ). Os valores de correção de translação e de rotação são fornecidos pelo módulo de localização, baseado em filtro de Kalman estendido [Fracasso e Rosa, 2004].

Para os movimentos de rotação, a postura atual é calculada conforme o conjunto de equações (8):

) ( ) ( )

1 ( ) (

) 1 ( ) (

) 1 ( ) (

k k k

k k k

k k

TURN y

y x x

α θ

θ = + +

=

=

(8)

Já para os movimentos de translação, a postura atual é calculada conforme o conjunto de equações (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 validação da navegação reativa utilizando lógica nebulosa é um espaço livre e cercado, com lados iguais a 6000mm de comprimento cada. Neste espaço são 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.

(7)

4.4 Experimento com Pontos de Origem e Alvo Iguais

Esse experimento consiste na navegação do robô móvel 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 trajetória descrita por quatro posturas (1 à 4), conforme ilustra a Figura 10. Nesta figura também são ilustrados os resultados do experimento com pontos de origem e alvo iguais.

Neste experimento os três comportamentos (aproximação, correção da direção e anticolisão) tiveram suas funcionalidades exploradas, além da capacidade do robô móvel retornar ao mesmo local depois de percorrida a trajetória. Pode-se observar uma ligeira diferença entre as execuções efetuadas no simulador do robô em MatLab e no robô real. Além das diferenças causadas pela introdução de imprecisões, principalmente através de escorregamento das rodas nos movimentos de rotação, há também a grande influência das imprecisões 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 diferenças entre as simulações não foram maiores devido à presença do módulo de localização que, após cada iteração, corrige a postura do robô móvel. Outra característica que é bem evidenciada pelos resultados é o comportamento de anticolisão, que faz com que o robô móvel desvie das quinas do quadrado interno do ambiente de testes. Finalmente, pode-se observar que o robô móvel atingiu a postura alvo de forma satisfatória tanto para a simulação 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 navegação do robô móvel em torno de duas paredes horizontais de 4000mm de comprimento, dispostas nas posições verticais 2000mm e 4000mm do ambiente de testes, com origem (1) e alvo (12)

diferentes e trajetória descrita por doze posturas (1 à 12), conforme mostra a Figura 11. Nesta figura também são ilustrados os resultados do experimento com pontos de origem e alvo diferentes.

Neste experimento a principal capacidade observada foi a realização de curvas pelo robô, uma vez que este tipo de movimento introduz grande parcela de erro ao controlador e eventualmente pode denegrir a atuação do módulo de navegação reativa. Como no experimento anterior, pode-se também observar uma ligeira diferença entre as execuções efetuadas no simulador do robô móvel em MatLab e no robô real, devido novamente à introdução de imprecisões principalmente através de escorregamento das rodas nos movimentos de rotação e translação e pelos sensores de proximidade, quando estes detectam cantos e quinas. As maiores diferenças ocorrem quando o robô móvel efetua as duas semi-circunferências, devido a imprecisões nos dados fornecidos pelos odômetros nos movimentos de rotação.

Essas imprecisões são em grande parte corrigidas pelo módulo de localização quando o robô móvel efetua os movimentos de translação, uma vez que esse tipo de movimento introduz menos imprecisão às leituras dos odômetros. Como no experimento anterior, o robô móvel também atingiu a postura alvo de forma satisfatória, em ambos os casos.

Figura 11 – Resultado do experimento com pontos de origem e alvo diferentes.

5 CONCLUSÕES

Através da navegação reativa utilizando lógica nebulosa com ponderação nas regras de inferência, pode-se concluir que, com a enumeração de poucas regras, consegue-se obter elevada velocidade de processamento do sistema de controle nebuloso (cerca de 30ms por iteração, incluindo a aquisição dos dados e o cálculo dos movimentos a serem efetuados), o que proporciona respostas rápidas do robô móvel aos estímulos do ambiente.

Com a adoção da ponderação das regras de inferência do sistema nebuloso de navegação, há uma redução significativa no número de regras que modelam a navegação em comparação com abordagens semelhantes

(8)

[Parasuraman, Ganapathy e Shirinzadeh, 2004], [Zhu e Yang, 2004] e [Selekwa e Collins Jr., 2003]. Além disso, ocorrem melhorias nos movimentos de saída, tornando-os mais suaves, ou seja, sem mudanças bruscas e repentinas quando chaveiam de comportamento. A ponderação das regras possibilita o uso de um número menor de regras, quando comparado com controladores que não usam esta técnica. Apesar dessas vantagens, os valores de ponderação das regras são de difícil determinação.

Observa-se que o sistema de navegação nebuloso produz respostas que não foram explicitamente descritas na base de conhecimento. Comparativamente, outras abordagens exigiriam a descrição das respostas do robô para cada tipo de estímulo, tornando assim o problema bastante complexo para a grande quantidade de variáveis envolvidas no problema abordado.

Dentre as dificuldades encontradas na abordagem proposta, pode-se citar: encontrar a melhor descrição das variáveis lingüísticas de entrada e de saída, a melhor e mais concisa elaboração da base de regras de inferência, como também a obtenção das ponderações entre as regras de inferência.

Durante os experimentos com o robô real houve a necessidade da introdução do módulo de localização, uma vez que a imprecisão da localização por dead reckoning, utilizando somente os odômetros, é grande. O módulo de navegação, previamente implementado por Fracasso e Rosa [2004], reduziu significativamente a introdução de erros pelo robô e pelo ambiente, fazendo com que os resultados para os dois experimentos fossem satisfatórios.

Um fato marcante observado nos experimentos foi que dentre todas as imprecisões introduzidas no algoritmo, a mais significativa foi a imprecisão nos movimentos de rotação, que conseqüentemente afetava as medidas dos odômetros. Além disso, os sensores de proximidade também apresentaram dados ruidosos, o que implica a necessidade de um filtro nos sensores de proximidade para eliminação dos dados espúrios.

Os próximos passos incluem a definição e implementação do módulo de planejamento de caminho, de modo a adquirir automaticamente a descrição dos pontos intermediários a alcançar para a realização da tarefa.

Esforços também serão dirigidos para a adaptação automática da ponderação das regras de inferência, de acordo com a situação do ambiente e da descrição da tarefa da navegação.

AGRADECIMENTOS

Este trabalho foi parcialmente financiado pelo projeto MultiBot, CAPES-GRICES N.099/03.

REFERÊNCIA BIBLIOGRÁFICA

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. Navegação e Localização do Robô Pioneer 2DX. Projeto de Formatura – Engenharia Elétrica. Escola Politécnica da Universidade de São 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.

Navegação de Robôs Móveis Utilizando o Método de Campos Potenciais. Workshop de Computação WORKCOMP'2002, pp. 125-130, Instituto Tecnológico de Aeronáutica, 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 Robôs Móveis que Integra Visão, Sonares e Odometria.

Dissertação de Mestrado – Engenharia Elétrica.

Escola Politécnica da Universidade de São 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.

Referências

Documentos relacionados

A seletividade ao C1-C4 foi mostrada na figura 5.28, na qual é clara a maior seletividade para a amostra S-SAPO-11_02, sendo esta a que apresenta maior acidez nos sítios

b) a unidade consumidora faturada na estrutura tarifária convencional houver apre- sentado, nos últimos 11 (onze) ciclos de faturamento, 03 (três) registros consecutivos ou 06

O pagamento das taxas relativas à emissão de lavarás ou comunicação prévia previstas nos artigos 3.º, 9.º a 10.º e 23.º a 24.º da (TU) pode, por deliberação da

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia

The assays were conducted in vitro, using Vero and HepG2 cells and the activity of carrageenans was initially tested by plaque reduction assays, necessarily performed at a low

ENSINO FUNDAMENTAL MATEMÁTICA Geografia Geografia História Matemática Ciências Componentes Curriculares Áreas de Conhecimento Etapas Cada um dos componentes possui competências

GESTÃO PELA QUALIDADE TOTAL PLANEJAMENTO NEGÓCIO / MISSÃO PRINCÍPIOS VISÃO DIRETRIZES METAS METAS DESDOBRADAS AVALIAÇÃO AÇÕES CORRETIVAS AMBIENTE EXTERNO AMBIENTE

Matemática: Atividades de Apoio à Aprendizagem 5 - AAA5: diversidade cultural e meio ambiente: de estratégias de contagem às propriedades geométricas (Versão do Professor)..