• Nenhum resultado encontrado

Sistema de Navegação Autônoma de Robôs Móveis em Ambiente com Obstáculos em Movimento. Resumo

N/A
N/A
Protected

Academic year: 2021

Share "Sistema de Navegação Autônoma de Robôs Móveis em Ambiente com Obstáculos em Movimento. Resumo"

Copied!
8
0
0

Texto

(1)

SiStema de Navegação autôNoma de RobôS móveiS

em ambieNte com obStáculoS em movimeNto

Felipe a. Pinagé1,

Hayanna S. Pinheiro2,

José P. Queiroz-Neto 3

ReSumo

O presente artigo consiste em uma pesquisa experimental que propõe desenvolver um sistema, utilizando técnicas de visão computacional, para navegação de um robô autônomo não tripulado baseando-se em imagens coletadas do ambiente. O sistema proposto é baseado em um mapa e permite a um robô móvel a capacidade de determinar uma trajetória de um ponto de partida até um alvo em ambiente dinâmico, desviando-se de obstáculos estáticos ou em movimento e com capacidade de percorrer o caminho replanejando sua trajetória a cada instante de tempo e com isto alcançando seu objetivo. O trabalho utiliza um sistema integrado a um par câmera/robô, cujas limitações são inerentes ao posicionamento da câmera e à capacidade de movimento e processamento do robô móvel utilizado, e apresenta resultados experimentais que demonstram seu funcionamento.

Palavras-chave: navegação autônoma, robô move, visão computacional.

abStRact

This article presents an experimental research that proposes to develop a system using computer vision techniques, for navigation of an unmanned autonomous robot based on images acquired from the environment. The proposed system is map-based and allows a mobile robot the ability to determine a trajectory from a point of departure to a target in a dynamic environment, considering static or moving obstacles and able to travel the path replanning its trajectory at each step and with it reaching its goal. The paper uses an integrated system to a pair camera/robot, whose limitations are inherent to the camera placement and movement capability and processing of mobile robot used, and We presents experimental results that demonstrate its operation.

Key-words: autonomous navigation, mobile robot, computer vision.

1 Mestrando em Ciência da Computação. Bolsista do PPGI/DCC/UFAM, e-mail: felipepinage@gmail.com, autor para

correspondência.

2 Graduanda em Tecnologia em Mecatrônica Industrial. Bolsista de IC do IFAM/Campus Distrito Industrial, e-mail:

hayanna.soares@gmail.com

3 Doutor em Ciência da Computação. Professor e pesquisador do IFAM/Campus Distrito Industrial, e-mail:

(2)

1. iNtRodução

Nos últimos anos, muitos pesquisado-res da área da robótica têm se voltado para projetos que integram a visão computacio-nal para auxiliar na navegação de robôs mó-veis.

Segundo ARAÚJO (2006), Robôs de navegação autônoma geralmente são obje-tos de grande admiração dada a sua “inteli-gência” para se deslocarem de maneira inde-pendente.

A robótica móvel busca solucionar problemas relacionados à navegação em ambientes complexos, com obstáculos está-ticos e móveis.

Para que o robô opere neste tipo de ambiente, é necessário que se possa extrair e utilizar informações adquiridas do lugar, como estimar posições, reconhecer obstá-culos e ter a capacidade de se movimentar (RUSSEL & NORVIG, 2004).

O tipo de navegação apresentado no artigo é baseado em um mapa de ocu-pação, onde é necessário ter um modelo do ambiente, representado por uma grade bidimensional. Representações baseadas em mapa de ocupação são ainda usadas em muitas pesquisas sobre sistemas de navega-ção robótica.

A tarefa do sistema de visão é então buscar detectar os pontos de referência pre-sentes na imagem. Uma vez detectados, o sistema usa o mapa para estimar as posições do robô, alvo e obstáculos (DESOUZA & KAK, 2002).

O maior problema em sistemas de navegação é identificar e ou prever os alvos que se encontram entre o ponto de partida e o alvo, que no caso simples considera obs-táculos estáticos, mas na prática os ambien-tes não estão livres de obstáculos que na sua maioria têm posição dinâmica, o que torna a solução não trivial, sendo necessário que o robô esteja a cada instante realizando os

passos de percepção do ambiente, planeja-mento da trajetória e atuação no mesmo.

Para criar sistemas de percepção ro-bustos, o pesquisador deve alavancar os campos de análise de sinais e corpos de co-nhecimentos especializados, tais como visão computacional adequada para empregar uma grande variedade de tecnologias de sensores (SIEGWART & NOURBAKHSH, 2004).

Em (PINAGÉ, 2009) desenvolveu-se um sistema que permitisse, com apenas uma imagem do ambiente, a detecção de uma trajetória em que o robô chegasse a um de-terminado alvo sem colidir com obstáculos. Adotou-se o uso de uma câmera posicionada perpendicularmente ao ambiente e técnicas para extração de informações da imagem para encontrar as posições do robô, obstácu-los e do alvo. O autor valida o método utiliza-do afirmanutiliza-do sucesso na busca por trajetó-ria, contudo o sistema desenvolvido é eficaz para ambientes com obstáculos estáticos, mas não possui solução para ambientes com obstáculos móveis.

Este trabalho propõe a automação na análise de imagens do ambiente capturadas em intervalos regulares, para atualização do mapa e replanejamento da trajetória, levan-do em consideração que haja obstáculos móveis e um alvo fixo como meta.

Na Seção 2 é descrita a metodologia utilizada, incluindo a descrição do ambiente. A Seção 3 apresenta os resultados de valida-ção do sistema proposto, e a Sevalida-ção 4 com as considerações finais.

2. SiStema de Navegação

O método proposto consiste em obter dados em instantes definidos (passo) e gerar uma trajetória parcial para o robô em direção ao alvo, que será obtida novamente a cada passo do robô até atingir o objetivo, confor-me Figura 1.

(3)

Figura 1: Fluxograma do sistema de navegação autôno-ma.

Este trabalho apresenta uma imple-mentação do método e realização de testes utilizando o kit robótico da linha Lego Minds-torms, devido principalmente às facilidades que a sua mecânica confere, possibilitando privilegiar a parte computacional do projeto, o que não exclui o uso do método em outras plataformas.

Quanto ao uso de dispositivos para percepção do ambiente, adotou-se somente o uso de uma câmera digital como sensor, pois viabiliza a extração de características do ambiente sem a necessidade do contato físico. As imagens capturadas devem ser da vista superior do ambiente.

Usando tais informações, o trajeto é calculado por um algoritmo de busca que, a partir de funções heurísticas, tenta escolher o melhor caminho, considerando as particu-laridades do ambiente.

2.1 descrição do ambiente

Para a criação do cenário foram defi-nidas cores para cada elemento envolvido no ambiente e a posição da câmera. As cores foram adotadas aleatoriamente, sendo elas, vermelho para o robô, azul para o alvo, verde para os obstáculos e preto para o fundo.

A câmera é posicionada de forma per-pendicular ao plano de cena, possibilitando uma imagem panorâmica do ambiente, ten-do em vista toten-dos os elementos constituintes do cenário, conforme verificado na Figura 2. É estabelecido um tempo de realimentação para o sistema e é feita a captura de imagens pela câmera.

Figura 2: Arranjo esquemático do cenário: Aquisição da imagem, processamento do sistema e transmissão dos comandos ao robô. FONTE: (PINAGÉ, 2009)

Segundo (PINAGÉ, 2009), o tamanho do ambiente deve ser definido a priori, tendo dimensões selecionadas correspondentes com os pixels do tamanho de uma imagem a ser capturada, permitindo uma divisão em grade do ambiente que deve ser aproxima-damente múltipla da área equivalente ao ta-manho do robô.

2.2 Sistema de navegação

autôno-ma

O sistema de visão assume as etapas seguintes: Aquisição da imagem em formato RGB (Red, Blue, Green), e convertida para o formato HSI (Hue, Saturation, Intensity), que

(4)

passa por algumas técnicas de processamen-to de imagens para redução de ruídos e para auxiliar na segmentação e detecção do robô, alvo e obstáculos e a partir da imagem de saí-da é gerasaí-da uma matriz correspondente. Esta matriz é a instância do algoritmo A* (A-star), que gera uma trajetória possível para o robô.

2.2.1 aquisição da imagem

A imagem captura pela câmera é co-lorida do tipo RGB. Neste modelo cada pixel é representado por três canais, onde cada um indica a intensidade de uma cor (verme-lho, azul ou verde).

Segundo (GONZALEZ & WOODS, 2000), no modelo de cor RGB, uma imagem colorida pode ser vista como um conjunto de três imagens em níveis de cinza indepen-dentes.

A imagem é lida como uma matriz M(i,j), onde i reapresenta as linhas, e j repre-senta as colunas.

2.2.2 conversão Rgb para HSi

Devido à iluminação do ambiente, houve erro na detecção das cores no modelo RGB, a imagem foi então convertida para o modelo HSI, cuja banda H trabalha com a cor exata, sem a interferência da iluminação.

O espaço de cores HSI particiona uma cor em Matiz, Saturação e Intensidade, sendo a Matiz a cor propriamente dita, a saturação identifica o quão forte é a cor e a intensidade identifica a luminância da cor (PENHARBEL, 2004).

2.2.3 detecção dos elementos

Para detectar cada elemento do am-biente, foi feita a separação da cor atribuída a cada elemento, sendo esta a cor relevante.

O processo é feito por uma varredura na banda H, identificando as três cores rele-vantes neste trabalho. Então são criadas três imagens binarizadas, cada uma com um dos elementos em destaque na cor branca.

Para garantir ainda mais precisão na segmentação dos elementos, também é feita uma varredura nas bandas S e I.

2.2.4 Filtro gaussiano

As três imagens geradas podem apre-sentar falhas, denominadas ruídos, que po-dem induzir a erros de análise, detectando erroneamente os elementos.

Os filtros suavizam os valores de cada pixel e são usados para eliminar as caracte-rísticas indesejáveis presentes nas imagens.

O filtro gaussiano utilizado neste tra-balho usa a máscara 5x5 apresentada abaixo, o que não impede que o filtro seja projetado de outra maneira:

A Equação 1 apresenta a fórmula do filtro gaussiano, que deve ser aplicado na operação de convolução na imagem de en-trada.

Equação 1: Equação do Filtro Gaus-siano. w(i, j) é o coeficiente de ponderação; g(x, y) é o valor associado ao pixel; G’(x,y) é o novo valor associado ao pixel; M e N são as dimensões da janela de vizinhança do pixel analisado; e D o fator de divisão.

2.2.5 limiarização e binarização

As técnicas usadas para destacar os objetos de interesse geralmente são

(5)

referi-das como técnicas de segmentação de ob-jetos, isto é, destacar do plano de fundo os elementos principais. Uma das técnicas mais conhecidas é a do corte, ou limiarização (thresholding) (GAZZONI, 2006).

Mesmo com o uso do filtro gaussia-no a imagem ainda apresenta ruídos, ape-sar destes terem sido suavizados. Com isto, utiliza-se a um limiar para binarizar a imagem e realçar as áreas de interesse. Mais especi-ficamente, nesta binarização deve-se utilizar um limiar para determinação da cor do pixel, se o pixel de entrada for maior ou igual ao limiar previamente determinado, o pixel de saída recebe o valor 255 (cor branca), se o pi-xel de entrada for menor que o limiar, o pipi-xel de saída assume o valor 0 (cor preta).

2.2.6 mapa e matriz

corresponden-te

A imagem é dividida em uma grade onde cada célula tem dimensões de 100x100 pixels, e cada uma é considerada ocupada caso tenha pelo menos parte de um elemen-to detectado nela.

Em seguida a grade é transformada em uma matriz de posição M(i,j). A grade e a matriz possuem as mesmas dimensões em termos de linhas e colunas e cada célula da grade na imagem equivale a um valor da ma-triz.

Para a construção da matriz corres-pondente foram adotados valores aleatórios a cada elemento presente no ambiente. Tais valores são: 1 para células livres; 2 para o alvo; 3 para o robô; e 9 para os obstáculos.

2.2.7 algoritmo da trajetória

O algoritmo usado para a trajetória foi o A* Pathfinding, conhecido como A-estrela, ele busca o caminho em um grafo de um ponto inicial até um ponto final (RUSSEL & NORVIG, 2004).

Como foi dito anteriormente, a ma-triz correspondente é a instância de entrada para o algoritmo A*. A trajetória encontrada

é o caminho mais curto entre o valor 3 até o valor 2, evitando os valores 9.

O algoritmo é baseado em uma fun-ção heurística: F=G+H. Onde F fornece a es-timativa da distância total; G é a eses-timativa da distância do ponto de partida até o ponto atual; e H é uma estimativa da distância de um estado até o objetivo levando em consi-deração apenas movimentos na horizontal ou vertical; Conforme pode ser verificado na Figura 3.

Os movimentos a serem executados dependem do robô utilizado, neste caso são: esquerda, direita e frente. O algoritmo A* atua do seguinte modo:

1. São guardadas as coordenadas da célula em que se encontra o valor 3 (robô), e este é o ponto de partida.

Figura 3: Algoritmo de trajetória. Fonte: (RUSSEL & NOR-VIG, 2004).

2. As células adjacentes ao ponto de partida formam uma lista aberta, elas são verificadas, e se contendo o valor 1, permi-tem a passagem do robô. A célula escolhida é a que possui o menor valor de F. Cada uma dessas novas células guardadas tornando-se um novo ponto de partida.

3. A célula atual sai da lista aberta e passa para uma lista fechada, para não ser verificada novamente.

(6)

3. ReSultadoS e diScuSSõeS

O sistema restringe a sua atuação para robôs móveis que se locomovem com a utili-zação de rodas, em ambientes planos, e com a possibilidade de obtenção de imagens do espaço a ser navegado contendo informa-ções sobre a estrutura do lugar, como a posi-ção do alvo e de possíveis obstáculos.

A metodologia proposta foi imple-mentada utilizando-se um conjunto de robó-tica para área educacional, o kit Lego Minds-torms montado como apresentado na Figura 4, e uma câmera digital colorida modelo Life-Cam VX7000.

O sistema de navegação proposto uti-lizou para implementação as linguagens C e C++ e a biblioteca para processamento de imagens denominada FreeImage com licen-sa GLP. A máquina utilizada foi um Pentium V em uma plataforma Windows XP.

A realização dos testes para verifica-ção do sistema de visão e da trajetória do robô consistiu primeiramente na organiza-ção do ambiente, distribuindo o robô, o alvo e os obstáculos, ambos cobertos com cores distintas: robô na cor vermelha, alvo na cor azul e obstáculos na cor verde.

Figura 4: Imagem do robô Lego Mindstorms utilizado para os experimentos práticos

Então o sistema capta uma imagem do tipo RGB, a qual passa por todo um pro-cessamento de conversão para HSI e

detec-ção dos elementos, onde são geradas três outras imagens, cada uma identificando as posições relativas a cada elemento. Nestas imagens são aplicadas as técnicas do filtro gaussiano e binarização. Uma grade é gerada em cada imagem, formando um mapa. Este resultado pode ser observado na Figura 5.

Figura 5: (a) Vista superior da imagem do ambiente. (b) Imagem de saída coma posição do alvo. (c) Imagem de saída com a posição relativa do robô. (d) Imagem de saí-da com as posições relativas dos obstáculos.

Cada célula da grade da imagem re-presenta um valor da matriz M (5,7), sendo este valor, correspondente ao elemento que representa. Conforme representação abaixo:

1- Células livres; 2- Alvo;

3- Robô; 9- Obstáculos.

Figura 6: Matriz de posições

Esta matriz é lida pelo algoritmo A*, que fornece como resultado a coordenada correspondente a próxima célula da grade, na qual o robô deve se posicionar, ou seja, o próximo passo a ser dado.

(7)

O caminho é definido considerando apenas as células livres do ponto inicial até o alvo.

Uma vez que o caminho do passo é achado, o comando é codificado para a lingua-gem NXC (Not Exactely C) e transmitido ao robô via Bluetooth. Então o robô move-se de uma célula à próxima, e caso não tenha atingido o alvo, o sistema é iniciado novamente, desde a aquisição de uma nova imagem do ambiente até o rastreamento de um novo passo.

Um resultado experimental mostrando a trajetória encontrada para chegar ao alvo, é apresentado na Figura 7, onde pode ser con-ferido um passo do método, como exemplo dos demais. Observa-se que, conforme o robô realiza o trajeto, os obstáculos mudaram de po-sição.

Figura 7: Exemplos de instantes distintos de navegação do robô (a) e (b).

4. coNcluSõeS

Este trabalho apresentou uma pposta de um sistema para navegação ro-bótica autônoma considerando obstáculos móveis. Os resultados obtidos comprovam a validação do sistema, porém com determina-das restrições: (a) Um ambiente perceptível por uma câmera posicionada ortogonalmen-te em relação à cena, evitando oclusões de obstáculos e do robô móvel; (b) Cores distin-tas entre robô, alvo e obstáculos, de tal ma-neira que um processo simples de extração, como o utilizado neste trabalho, seja eficaz para determinar tais elementos;

A técnica proposta, apesar de restrita, é bem interessante. Aborda tanto o proble-ma de o robô perceber o ambiente, quanto o problema da navegação, e os resultados são significativos e servem como um estágio consistente para o aprimoramento do méto-do, reduzindo seus fatores limitantes e per-mitindo mais robustez no sistema.

Como trabalho futuro, pretende-se utilizar um conjunto de câmeras atuando em conjunto para melhorar a localização dos elementos da cena.

5. ReFeRêNciaS

SIEGWART, R.; NOURBAKHSH, I. R. Introduction

to Autonomous Mobile Robots. Massachusetts:

“A Bradford Book”, 2004. 8 p.

RUSSELL, S.; NORVIG, P. Inteligência Artificial. 2 ed. Rio de Janeiro: Elsevier, 2004.

PINAGÉ, F. A. et al. Um Sistema Para Navegação

Autônoma De Robôs Terrestres. In: CONNEPI,

IV, Belém, 2009.

ARAÚJO, S. A. de; LIBRANTZ, A. F. H.; FLÓRIO FILHO, O. Navegação autônoma

de robôs: uma implementação utilizando o kit Lego Mindstorms. In CONGRESSO SUL

CATARINENSE DE COMPUTAÇÃO, 2, 2006. Criciúma: Sulcomp, 2006. Disponível em: <http://www..dcc.unesc.net/sulcomp/

(8)

artigos/sessaoOral/22003.pdf> Acesso em: 27 jul. 2009.

GONZALEZ, R. C.; WOODS, R. E. Processamento

Digital de Imagens. São Paulo: Blucher, 2000.

DESOUZA, G. N.; KAK, A. V. Vision for

Mobile Robot Navigation: A Survey. IEEE

TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 24, NO. 2, 2002 PENHARBEL, Éder A. et al. Filtro de imagem

baseado em matriz RGB de Cores-Padrão para futebol de robôs. Centro Universitário da FEI –

UniFEI, São Bernardo do Campo, 2004. GAZZONI, J. C., Marcon, C. L., Franciscon, M. A., Moraes F. B. Limiarização e binarização

na análise de objetos em imagens digitais.

Synergismus scyentifica UTFPR, Pato Branco, 2006. 01 (1,2,3,4) : 1-778.

Referências

Documentos relacionados

For a better performance comparison, and due to the difficulty in categorizing ML approaches in a simple way, we began by characterizing them in agreement with Caret’s

Assim, este trabalho apresenta uma abordagem que tem como objetivo principal: (i) analisar a cobertura de código levando em consideração os fluxos de chamadas existentes no sistema

As métricas por trás do Tomatometer, os seus diversos critérios de cálculo, o selo Certified Fresh, o conceito de Top Critic, como também a possibilidade que usuários cadastrados

A esperança tem força ainda, mas não é mais para apontar rumos para a sociedade, como na teleologia histórica que modula as imagens de um filme como Deus e o Diabo

O plug-in desenvolvido, acrescenta algumas funcionalidades à gestão de tarefas e compromissos do Outlook, com os seguintes objetivos: facilitar a gestão pessoal

Mais uma característica importante do parque habitacional português prende-se com a pouca atractividade do mercado de arrendamento, que pode ser explicada pela falta de procura

Neste sentido, elegemos estudar uma importante área geográfica da região transmontana e duriense, designada nas Inquirições de 1220 e 1258 como Terra e Julgado de

I: hum hum.. 125 M: A forma como intarigir com eles… Saber estar com eles, e essa foi uma das maiores lições. Sabermos nós, saber lidar com eles. Ah, conhece-los mais. No âmbito em