• Nenhum resultado encontrado

Mapeamento robótico 2,5-D com representação em grade de ocupação-elevação

N/A
N/A
Protected

Academic year: 2017

Share "Mapeamento robótico 2,5-D com representação em grade de ocupação-elevação"

Copied!
103
0
0

Texto

(1)

UNIVERSIDADEFEDERALDO RIO GRANDE DO NORTE

UNIVERSIDADEFEDERAL DORIOGRANDE DO NORTE CENTRO DETECNOLOGIA

PROGRAMA DEPÓS-GRADUAÇÃO EMENGENHARIAELÉTRICA E DECOMPUTAÇÃO

Mapeamento Robótico 2,5-D com

Representação em Grade de

Ocupação-Elevação

Anderson Abner de Santana Souza

Orientador: Prof. Dr. Luiz Marcos Garcia Gonçalves

Tese de Doutorado apresentada ao Pro-grama de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Doutor em Ciências.

(2)

Souza, Anderson Abner de Santana

Mapeamento robótico 2,5-D com representação em grade de ocupação-elevação/ Anderson Abner de Satana Souza - Natal, RN, 2012

109 f.:il

Orientador: Luiz Marcos Garcia Gonçalves

Tese (Doutorado) - Universidade Federal do Rio Grande do Norte. Centro de Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica e de Com-putação.

1. Inteligência artificial - Mapeamento - Tese. 2. Grade de ocupação-elevação - Computação - Tese. 3. Visão estéreo - Computação - Tese. 4. Modelagem probabilística - Computação - Tese. 5. Robótica - Tese. I. Gonçalves, Luiz Marcos Garcia. II. Universidade Federal do Rio Grande do Norte. III. Título.

(3)

Mapeamento Robótico 2,5-D com

Representação em Grade de

Ocupação-Elevação

Anderson Abner de Santana Souza

Tese de Doutorado aprovada em 03 de agosto de 2012 pela banca examinadora composta pelos seguintes membros:

Prof. Dr. Luiz Marcos Garcia Gonçalves (orientador) . . . UFRN

Prof. Dr. Pablo Javier Alsina . . . UFRN

Prof. Dr. Diogo Fernandes Pedrosa . . . UFRN

Prof. Dr. Flávio Tonidandel . . . FEI

(4)
(5)

Agradecimentos

Ao Senhor criador de todas as coisa por ser o meu constante ajudador e sustentador. “Todas as coisas foram feitas por ele, e sem ele nada do que foi feito se fez”. Toda honra e glória ao Deus supremo.

Agradeço aos meus pais Marlene e Abdênego pelo grande incentivo, apoio e orações, que foram e são de fundamental importância para alcançar os objetivos da minha vida. Por me ensinar o verdadeiro caminho a ser trilhado na busca de uma vida justa e íntegra.

Não posso deixar de agradecer a minha preciosa e amável esposa Verónica, por sempre me inspirar e incentivar, mesmo quando isso significava renunciar momentos juntos. Sou grato pelas sua orações e súplicas diante do nosso Deus, pedindo-lhe forças para tornar-me um vencedor.

Aos meus irmãos Afrânio e Andressa, pessoas importantíssimas na minha vida.

Ao meu orientador, professor Dr. Luiz Marcos Garcia Gonçalves, sou grato pelas orien-tações, conselhos e ensinamentos. Pelo apoio e incentivo para que essa valiosa conquista na minha formação fosse alcaçada.

Sou grato ao meu grande amigo e companehiro de trabalho André Macedo, à compan-heira de doutorado Rosiery pelos conselhos e incentivo, e aos demais companheiros do laboratório NatalNet.

(6)

Este trabalho apresenta um novo método de mapeamento de ambientes com robôs móveis com informações tridimensionais para navegação. Muitas abordagens de mapea-mento 3D, usam o método em grade de ocupação, o que resulta no uso de muito recurso computacional tanto na construção como no armazenamento desses mapas. A presente pesquisa apresenta o mapeamento 2,5-D em grade de ocupação-elevação, a qual é definida como uma representação discreta, onde cada célula armazena uma probabilidade de ocu-pação, a altura do espaço mapeado e a variância desse valor de altura.

Essa representação permite que um robô móvel tenha a ciência se um lugar do seu ambiente está ocupado por um obstáculo e qual a altura desse obstáculo. Dessa forma, ele pode decidir se é possível navegar sobre o obstáculo ou não, de acordo com suas habilidades motoras. As informações sensoriais necessárias para construir o mapa são providas por um sistema de visão estéreo, o qual foi modelado através de uma robusta análise estatística, considerando os ruídos presentes no processamento estéreo. Os mapas resultantes favorecem a execução de tarefas como tomadas de decisões na navegação autônoma, exploração, localização e planejamento de caminhos. Experimentos práticos reais mostram que o método de mapeamento apresentado é útil para a navegação de robôs autônomos.

(7)

Abstract

This work introduces a new method for environment mapping with three-dimensional information from visual information for robotic accurate navigation. Many approaches of 3D mapping using occupancy grid typically requires high computacional effort to both build and store the map. We introduce an 2.5-D occupancy-elevation grid mapping, which is a discrete mapping approach, where each cell stores the occupancy probability, the height of the terrain at current place in the environment and the variance of this height.

This 2.5-dimensional representation allows that a mobile robot to know whether a place in the environment is occupied by an obstacle and the height of this obstacle, thus, it can decide if is possible to traverse the obstacle. Sensorial informations necessary to construct the map is provided by a stereo vision system, which has been modeled with a robust probabilistic approach, considering the noise present in the stereo processing. The resulting maps favors the execution of tasks like decision making in the autonomous navigation, exploration, localization and path planning. Experiments carried out with a real mobile robots demonstrates that this proposed approach yields useful maps for robot autonomous navigation.

(8)

Sumário i

Lista de Figuras iii

Lista de Tabelas v

1 Introdução 1

1.1 Contribuições . . . 4

1.2 Motivação e Justificativa . . . 6

1.3 Organização do trabalho . . . 7

1.4 Produções Científicas . . . 8

2 Mapeamento 11 2.1 O Problema do Mapeamento Robótico . . . 11

2.2 Desafios do problema de mapeamento robótico . . . 12

2.2.1 Imprecisões sensoriais . . . 12

2.2.2 Dimensionalidade . . . 13

2.2.3 Associação de dados - Matching . . . . 14

2.2.4 Dinamicidade do ambiente . . . 14

2.2.5 Estratégia de exploração . . . 15

2.3 Tipos de Representações . . . 15

2.3.1 Mapas Topológicos . . . 16

2.3.2 Mapas Métricos . . . 17

2.3.3 Mapas topológicos vs. Mapas métricos - Vantagens e Desvantagens 19 2.3.4 Trabalhos Relacionados . . . 20

3 Mapeamento Visual 23 3.1 Contextualização . . . 23

3.2 Configurações de Câmeras mais Utilizadas no Mapeamento Visual . . . . 24

3.2.1 Visão Monocular . . . 24

3.2.2 Visão Estéreo . . . 25

3.3 Estereoscopia . . . 26

3.3.1 Geometria Estéreo e Reconstrução 3D . . . 26

3.3.2 Disparidade Estéreo . . . 28

3.4 Trabalhos Relacionados . . . 30

(9)

4 Grade de Ocupação e Mapas de Elevação 33

4.1 Grade de Ocupação . . . 33

4.1.1 Modelo Probabilístico do Sensor . . . 35

4.1.2 Algoritmo de Mapeamento em Grade de Ocupação . . . 37

4.1.3 Trabalhos Relacionados . . . 38

4.2 Mapas de Elevação . . . 41

4.2.1 Filtro de Kalman . . . 42

4.2.2 Trabalhos Relacionados . . . 45

4.3 Considerações . . . 46

5 Grade de Ocupação-Elevação 47 5.1 Contextualização . . . 47

5.2 Definição - Grade de Ocupação-Elevação . . . 48

5.2.1 Etapas do Mapeamento em Grade de Ocupação-Elevação . . . 50

5.3 Posicionamento - Modelagem Cinemática . . . 52

5.4 Aquisição e Interpretação de Dados Sensoriais . . . 54

5.4.1 Aquisição de Imagens . . . 54

5.4.2 Calibração Estéreo . . . 55

5.4.3 Retificação . . . 55

5.4.4 Correspondência Estéreo . . . 56

5.4.5 Cálculo das Coordenadas dos Pontos Detectados . . . 56

5.5 Modelagem Sensorial . . . 57

5.5.1 Modelagem Sensorial para Estimar o Valor de Ocupação . . . 57

5.5.2 Modelagem Sensorial para Estimar o Valor de Elevação . . . 59

5.5.3 Modelagem das Incertezas e Ruídos Sensoriais . . . 60

5.6 Integração de Dados . . . 63

5.6.1 Integração dos Valores de Ocupação . . . 63

5.6.2 Integração dos Valores de Elevação . . . 63

5.6.3 Definição do Campo Visual de Células Atualizáveis . . . 64

5.7 Conclusão . . . 65

6 Experimentos e Resultados 67 6.1 Visão Geral do Sistema Robótico . . . 67

6.2 Calibração Estéreo . . . 68

6.3 Estimativa das Incertezas Visuais . . . 69

6.4 Tratamento de Incoerências no Valor de Elevação . . . 70

6.5 Experimento em Ambiente Interno . . . 72

6.6 Experimento em Ambiente Externo . . . 75

6.7 Experimento em Ambiente Misto . . . 76

6.8 Comparações . . . 81

6.9 Análise Geral dos Resultados . . . 81

7 Conclusão e Perspectivas 83

(10)

1.1 Diagrama hierárquico do processo de navegação. . . 2

1.2 Processo de contrução do mapa em grade de ocupação-elevação. . . 5

2.1 Grafico de composição do mapeamento. . . 12

2.2 Mapa corrompido por erros de odometria. . . 13

2.3 Mapa corrompido por erros de odometria. . . 14

2.4 O problema da exploração é a integração do Mapeamento com o Planeja-mento de caminhos [Stachniss 2009]. . . 15

2.5 Mapemento topológico. . . 17

2.6 Representação de uma medição de um sonar em uma grade de ocupação. . 18

2.7 Construção de um mapa de características a partir da detecção de retas. . . 19

3.1 Câmeras monoculares. . . 25

3.2 Câmeras estereoscópicas: (a) câmeras binocular e trinocular; (b) câmera ominidirecional. . . 25

3.3 Geometria estéreo. . . 27

3.4 Mapa de disparidade gerado pelo algoritmo de janela variável; (a) imagem original; (b) mapa de disparidade. . . 29

3.5 Mapa de disparidade gerado pelo algoritmo de graph-cuts; (a) imagem original; (b) mapa de disparidade. . . 30

4.1 Gráfico da Distribuição Normal. . . 36

4.2 Modelo de medição sensorial. Valores de ocupação para medições de 20m, 30m e 40m. O valor de ocupação se dá com as médias (medidas) e variâncias (erros) das medições. . . 37

4.3 Modelagem Gaussiana bidimensional de um sensor. . . 37

4.4 Ilustração da representação em grade de ocupação 3D. . . 42

4.5 Representação em grade de ocupação 2.5D. É necessária uma estrutura de dados de 72 elementos para mapear o ambiente ilustrado. . . 43

5.1 Formação da grade de ocupação-elevação. . . 49

5.2 Etapas do mapeamento em grade de ocupação-elevação. . . 51

5.3 Modelagem cinemática de movimento. . . 53

5.4 Câmera estéreo Minoru 3D utilizada no mapeamento. . . 54

5.5 Processo de retificação estéreo. . . 55

5.6 Construção do mapa de disparidade. . . 56

(11)

5.7 Modelo inverso do sensor aplicado ao cálculo de ocupação para lp=10m

e lp=15m. . . . 58

5.8 Referenciais de coordenadas envolvido no mapeamento. . . 59 5.9 Comportamento do modelo sensorial para o cálculo de elevação de uma

célula, levando em consideração as incertezas, para uma madição ht=2m,

com distâncias lp=1m, lp=2m e lp=3m, σt =0.032m, σt =0.13m e σt=0.28m, respectivamente. . . . 60

5.10 O efeito de escorço da superfície não paralela S é diferente para as duas câmeras: a projeção de S nos planos de imagens tem comprimentos difer-entes lle lr. . . 61

5.11 Desalinhamento vertical dos planos de imagens. . . 62

6.1 Plataforma robótica utilizada nos experimentos. . . 68 6.2 Cena de uma possível passagem: (a) Mesa de computador; (b) Imagem

capturada pela câmera do robô; (c) Mapa de disparidade estimado. . . 70 6.3 Mapas estimados: (a) Valores de ocupação; (b) valores de elevação sem

heurística; (c) valores de elevação com heurística. . . 71 6.4 Cenas visualizadas pelo robô durante o mapeamento: (a) Visão do

corre-dor e armários presentes; (b) Portão gradeado; (c) Terminal de consultas. . 72 6.5 Vistas superiores do ambiente: (a) Visão superior do prédio explorado a

partir do Google Earth com latitude -5.842853 e longitude -35.197341; (b)Planta baixa do corredor mapeado. . . 73 6.6 Mapeamento em grade de ocupação-elevação para o ambiente interno.

(a)Valores de ocupação. (b) Valores de elevação; (c) Variância das ele-vações. . . 74 6.7 Imagens capturadas pelo robô durante o mapeamento. . . 76 6.8 Ambiente externo mapeado: (a) Visão superior do ambiente, limitado

pelo retângulo em amarelo (visão do Google Earth) de latitude -5.842677 e longitude -35.19724; (b) Planta baixa. . . 77 6.9 Mapeamento em grade de ocupação-elevação para o ambiente externo:

(a)Valores de ocupação. (b) Valores de elevação; (c) Variância das ele-vações. . . 78 6.10 Vista superior do ambiente mapeado: (a) vista do Google Earth de latitude

-5.842677 e longitude -35.19724; (b) Planta baixa. . . 79 6.11 Diferentes cenas encontradas durante o mapeamento: (a) e (b) Cenas de

ambiente interno. (c) e (d) Cenas de ambiente externo. . . 79 6.12 Resultado do mapeamento do ambiente misto: (a) Valores de ocupação;

(12)

6.1 Comparação de requisitos de memória. . . 81

(13)

Capítulo 1

Introdução

A robótica vem se destacando como uma das áreas das ciências exatas de mais rá-pida evolução. Com o objetivo de conceber máquinas (os robôs) que auxiliem ou mesmo substituam os homens em tarefas repetitivas, fastidiosas, de grande precisão e perigosas, a robótica vem sendo explorada com grande empolgação por cientistas de todo mundo. Thrun et al. (2005) definem, de uma maneira mais formal, a Robótica como sendo a ciência de perceber e manipular o mundo físico através de dispositivos controlados com-putacionalmente.

Pode-se dividir a robótica em duas grandes categorias: a robótica de manipuladores e a robótica móvel. O objetivo principal da robótica de manipuladores é desenvolver braços robóticos, que emulam os movimentos dos braços humanos. Tais robôs são aplicados principalmente nas indústrias, com destaque maior para as linhas de montagens automo-bilísticas. Porém, apesar do seu grande sucesso, os robôs manipuladores possuem uma desvantagem fundamental: falta de mobilidade. Um manipulador tem uma região limi-tada de trabalho que depende de onde está fixado [Siegwart & Nourbakhsh 2004]. Por outro lado, a robótica móvel trata com robôs que possuem a habilidade de se locomover, isto é, robôs móveis que podem trafegar através de um ambiente, o que flexibiliza a at-uação destes. A robótica móvel é constituída pela classe dos robôs terrestres, aéreos, subaquáticos e robôs híbridos (capazes de se movimentar em diferentes espaços).

Aliando a capacidade de locomoção dos robôs móveis com recursos computacionais, poder de comunicação de dados, capacidade de percepção (sensores), entre outros, é pos-sível empregá-los em diversos tipos de aplicações práticas. Como ilustração, pode-se citar aplicações domésticas (por exemplo, aspiradores de pó e cortadores de grama), industri-ais (por exemplo, transporte automatizado), urbanas (por exemplo, transportes públicos, cadeiras de rodas robotizadas), militares (por exemplo, sistemas de monitoramento aéreo remoto, transporte de suprimentos e de armazenamento em zonas de guerra, sistemas táti-cos de e combate), de segurança e defesa civil, e militar (por exemplo, patrulhamento de ambientes, resgate e exploração em ambientes hostis, combate a incêndios) [Wolf et al. 2009]. Assim, fica clara a importância de se investir em pesquisas para o desen-volvimento desta área tão promissora.

(14)

características importantes. A primeira delas é a capacidade de percepção, onde através de sensores, o robô deve perceber o ambiente no qual esta inserido. Como segunda ca-racterística o robô deve ser capaz de agir por meio de atuadores e motores, que o habilitam a produzir ações tais como deslocamento. Por fim, um robô autônomo deve apresentar

robustez e inteligência para lidar com as mais diversas situações, de modo a resolver e

executar tarefas, por mais complexas que sejam [Wolf et al. 2009].

Analisando essas características fundamentais, pode-se entender que um robô móvel autônomo deve ser capaz de se locomover no seu ambiente de trabalho partindo de uma configuração inicial até alcançar uma configuração final, guiando-se por um determinado caminho planejado, de forma segura, ou seja, desviando-se de obstáculos, e obedecendo às restrições temporais impostas para o cumprimento dessa tarefa. Isto é, o robô deve estar apto a navegar no seu ambiente de trabalho. O processo de navegação pode ser subdividido em etapas hierarquizadas (Figura 1.1) que devem ser seguidas e executadas: Mapeamento de Ambientes, Localização, Planejamento de Caminho, Geração de Tra-jetória e Execução de TraTra-jetória [Alsina et al. 2002].

Mapeamento de Ambientes

Localização

Planejamento de Caminho

Geração de Trajetória

Execução de Trajetória

(15)

3

• Mapeamento de Ambientes - percepção e construção de um modelo do ambiente a partir de informações sensoriais;

• Localização - baseando-se do modelo obtido na etapa anterior juntamente com in-formações sensoriais extras, é deduzida a pose do robô dentro do ambiente;

• Planejamento de Caminho - o robô calcula um caminho partindo de sua configu-ração inicial até a configuconfigu-ração final desejada, evitando obstáculos;

• Geração de Trajetória - o caminho gerado é adaptado às restrições temporais e en-tão é calculada a velocidade com que se deseja movimentar;

• Execução da Trajetória - os atuadores são controlados de forma a executarem a trajetória gerada o mais fielmente possível.

No nível de mapeamento de ambientes, o robô deve coletar dados do seu entorno, utilizando sensores, visando gerar modelos computacionais com as principais caracterís-ticas estruturais do ambiente. Para isso, é necessário que os robôs sejam equipados com dispositivos de percepção capazes de fornecer algum tipo de informação de seu entorno, de modo que, a partir de algum processamento, essas informações sejam empregadas na construção de um mapa do ambiente. Além disso, para que um sistema robótico possa construir um mapa consistente, é necessário determinar sua pose (posição e orientação) com relação a algum referencial fixo no mundo. Esse processo de obtenção de dados sen-soriais, seu subsequente processamento mais a inferência da pose do robô, tendo como objetivo a construção de um mapa do espaço no qual o robô está inserido, é chamado de mapeamento robótico.

O mapeamento pode ser realizado em diferentes tipos espaços, seja em ambientes in-ternos (indoor), ambientes exin-ternos (outdoor), ambientes subterrâneos e ambientes sub-aquáticos. Quanto à utilização, os mapas construídos podem ser considerados na re-alização de diversas tarefas, desde as mais simples, tais como, desvio de obstáculos, planejamento de caminhos e localização, às tarefas de maior complexidade, por exem-plo, exploração de minas subterrâneas, de instalações nucleares, limpeza de ambientes tóxicos, combate a incêndios e resgate de suas vítimas, entre outras atividades de maior dificuldade. Os robôs de diferentes capacidades motoras podem utilizar-se de mapas para realizar tais missões, por exemplo, Dryanovski et al. (2010) utilizaram um micro veículo aéreo para mapear ambientes para fins de localização e planejamento de caminho. No trabalho de Marjovi et al. (2009) foi desenvolvido um time de robôs terrestres que uti-lizam um mapa para exploração e detecção de fogo em um ambiente. Já no trabalho de Johannsson et al. (2010) um algoritmo de mapeamento foi implementado em um robô subaquático com o objetivo de aplica-lo em vigilância de portos e inspeções de casco de navios.

(16)

obter a melhor precisão possível na representação do ambiente, sempre com a preocu-pação de lidar com a alta dimensionalidade dos espaços.

No ano de 2002, Thrun (2002) propôs uma classificação para as representações em mapeamento robótico, segundo duas abordagens principais: a abordagem métrica e a topológica. Enquanto os mapas da abordagem métrica armazenam propriedades ge-ométricas do ambiente, os mapas da abordagem topológica descrevem a conectividade entre diferentes compartimentos do espaço mapeado. Essa classificação é a mais adotada até hoje, entretanto, uma variação sutil da abordagem métrica, acrescentando a classe de mapas baseados em características aparece em alguns trabalhos.

Diversos tipos de sensores podem ser utilizados no mapeamento robótico. Os mais comuns são os sonares, os lasers e as câmeras. Os sonares são atrativos por conta do custo, são sensores relativamente baratos e podem ser facilmente encontrados no mercado. Entretanto, apresentam imprecisões significativas nas suas medições. Os lasers, por outro lado, são altamente precisos e propiciam a aquisição de mapas bem detalhados. Mas, devido o seu elevado custo monetário deixam de ser atrativos. As câmeras são sensores que a cada dia estão ficando mais baratos e possibilitam a aquisição de grande quantidade de dados no entorno do robô. Por esses motivos, as câmeras estão alcançando um papel de destaque dentre os sensores mais utilizados para mapeamento robótico.

No próximo capítulo o problema do mapeamento robótico será apresentado com maior profundidade, no qual o problema será mais bem fundamentado com sua formalização, e suas principais características serão exploradas.

1.1

Contribuições

O presente trabalho propõe um método de mapeamento robótico de ambientes inter-nos e/ou exterinter-nos, baseado em um sistema de visão com câmeras estéreo usando uma representação inspirada em uma abordagem métrica probabilística do ambiente mapeado através de grade de ocupação com informações tridimensionais (mapa 2,5-D), chamada de grade de ocupação-elevação. Com o sistema de visão estéreo, o robô pode coletar informações de diferentes lugares com variados tipos de obstáculo, não ficando depen-dente do tipo de ambiente em que se encontra, tampouco do tipo de características que este lugar possui. O algoritmo de mapeamento proposto considera uma modelagem prob-abilística para o sistema de visão utilizado pelo robô, bem como para os movimentos realizados pelo mesmo. Com isso, os resultados obtidos (os mapas) estarão coerentes com as informações sensoriais colhidas pelo robô.A Figura 1.2 ilustra de forma simplifi-cada o processo proposto de construção do mapa em grade de ocupação-elevação, onde a partir dos dados processados e interpretados do sistema de visão, integrados com a pose (coordenadas e orientação) do robô estimada, o mapa em grade é construído.

(17)

1.1. CONTRIBUIÇÕES 5

Modelo de Odometria Imagem direita

Cálculo Estéreo Imagem esquerda

Mapa de Disparidade Câmera

Estéreo

Robô

Coordenadas (x, y) Orientação (θ)

Grade de Ocupação-Elevação

Figura 1.2: Processo de contrução do mapa em grade de ocupação-elevação.

estão presentes no espaço de trabalho do robô, diferente de outros tipos de mapas, que dependem, por exemplo, detecção de características ou marcos presentes no ambiente.

Além disso, com as informações 3D o robô terá condições de identificar obstáculos possíveis de serem transpassados ou não. Cada célula que compõe o mapa em grade de ocupação-elevação tem armazenada, por meio de técnicas probabilísticas, informações de ocupação e altura dos obstáculos. Com isso, o robô pode identificar se um determinado local do ambiente está ocupado por um obstáculo e se o mesmo pode ser superados.

(18)

Assim, pode-se destacar como contribuições principais a modelagem probabilística do sensor utilizado, no caso um sistema de visão estéreo, de modo que o mapa adquirido possa representar com fidelidade as informações capturadas e também a construção de um mapa em grade de ocupação probabilística com informações 3D, sem a necessidade de uma estrutura de dados tridimensional (mapa 2,5-D, aqui chamado de grade de ocupação-elevação), que seria custosa computacionalmente.

Diferente das abordagens existentes na literatura, cada célula do mapa gerado terá um valor da probabilidade de ocupação, terá uma estimativa da altura dos obstáculos e da variância da altura, indicando sua acurácia. Deste modo, pode-se identificar obstáculos possíveis de serem superados a partir do mapa de ocupação-elevação construído, con-siderando os erros inerentes ao sistema perceptivo robô, os quais são modelados por meio de técnicas probabilísticas,

1.2

Motivação e Justificativa

Uma das etapas capitais do problema de navegação inteligente consiste no mapea-mento de ambientes. Esta fase requer que o robô esteja munido de sensores que o habilite a construir uma descrição espacial do ambiente no qual está inserido, a partir de infor-mações desses sensores. De posse da descrição espacial ou mapa construído o robô é capaz de interagir de forma coerente com seu ambiente, realizando uma navegação efi-ciente e agindo de modo flexível frente a situações inesperadas. Assim, o robô poderá realizar diferentes tipos de tarefas de forma inteligente e sem a interferência humana, por exemplo, planejamento de caminhos, exploração, manipulação de objetos, resgates, limpeza de ambientes contaminados, entre outras.

Entre as maneiras mais difundidas de representação de ambientes mapeados está a grade de ocupação, proposta inicialmente por Elfes (1987), que modela o estado de ocu-pação de um ambiente. Nesta abordagem o mapa é representado por uma matriz de célu-las, que podem estar ocupadas, livres ou pode não ter sido mapeadas. Através dessa abordagem é possível representar o ambiente mapeado de forma relativamente precisa. Além disso, os mapas em grade de ocupação facilitam a aplicação direta de algoritmos de planejamento de caminhos, de exploração, de desvio de obstáculo e de localização. Em anos posteriores, alguns pesquisadores propuseram a expansão da grade de ocupação para o mapeamento tridimensional dos ambientes, aplicando-o, principalmente, para os casos onde o terreno de navegação dos robôs não é plano, e nos casos onde é necessário que seja realizada uma navegação precisa entre os objetos, considerando a altura deles dentro do ambiente [Moravec 1996, Andert 2009, Dryanovski et al. 2010]. Porém, a construção desses tipos de mapas requer um vasto custo computacional para o seu armazenamento e processamento. Para superar esse problema, surgiram, então, os mapas 2,5-D, que ar-mazenam informação tridimensionais em uma estrutura de dados bidimensional.

(19)

1.3. ORGANIZAÇÃO DO TRABALHO 7

grande quantidade de dados que podem ser obtidos por esses sensores, fazem com esses dispositivos alcancem um papel de destaque em aplicações atuais com robô autônomos.

Entretanto, certas características relacionadas aos sensores podem interferir na quali-dade dos mapas construídos pelos robôs, e devem ser consideradas no processo de mapea-mento. Os sistemas de percepção possuem imprecisões intrínsecas à natureza do disposi-tivo de percepção utilizado, que podem distorcer as medições dos dados coletados. Como consequência, o mapa construído pode possuir incoerências importantes que por sua vez, comprometem a interação do robô com o seu ambiente de trabalho. Ou seja, o robô pode construir um mapa inconsistente, fora da realidade espacial do ambiente mapeado. Para lidar de forma adequada com as imprecisões e incertezas sensoriais surgiram as abor-dagens de mapeamento baseadas em técnicas e ferramentas probabilísticas. Através das teorias da probabilidade é possível modelar explicitamente as diversas fontes de ruído e seus efeitos nas medições.

Diante desse contexto, este trabalho propõe o método de mapeamento em grade de ocupação-elevação, onde informações tridimensionais dos ambientes mapeamedos serão armazenadas juntamanete com a probabilidade de ocupação dos mesmos. As informações que compõem o mapa são tratadas com ferramentas estocásticas para garantir a manipu-lação adequada dos dados sensoriais, providos por um sistema de câmeras estéreo.

1.3

Organização do trabalho

A apresentação desse trabalho prossegue de acordo com a seguinte organização:

• O Capítulo 2 aborda o tema do mapeamento robótico mais formalmente, apresen-tando os fundamentos teóricos do problema, desafios que devem ser superados e classificações;

• O Capítulo 3 trás uma explicação geral sobre o mapeamento de ambientes através de sistemas de visão e posteriormente aborda o mapeamento visual em grade de ocupação;

• O Capítulo 4 descreve o mapeamento em grade de ocupação e os mapas de elevação com suas formalizações matemáticas;

• O Capítulo 5 define o método de mapeamento proposto formalmente, detalhando a estrutura de construção do mapa em grade de ocupação-elevação e a forma de integração das informações sensoriais no mapa.

• O Capítulo 6 apresenta os experimentos realizados com o sistema proposto, con-siderando a aplicabilidade do mesmo tanto em ambientes internos quanto em am-bientes externos;

(20)

1.4

Produções Científicas

Capítulos de Livro

Souza, A. A. S., A. M. Santana, A. A. D. Medeiros, L. M. G. Gonçalves.

Mapea-mento de Ambientes. In: Robótica Móvel. (Org.) Roseli A. Francelin Romero;

Edson Prestes; Fernando Osório; Denis Wolf. LTC/Elsevier, Em publicação.

Souza, A. A. S., R. S. Maia, L. M. G. Gonçalves. 3D Probabilistic Occupancy

Grid to Robotic Mapping with Stereo Vision. In: Current Advancements in Stereo

Vision. Dr. Asim Bhatti. (Org.). Rijeka: InTech, v. 1, p. 1-21, 2012.

Souza, A. A. S., A. M. Santana, A. A. D. Medeiros, L. M. G. Gonçalves.

Prob-abilistic Mapping by Fusion of Range-Finders Sensors and Odometry. In: Sensor

Fusion, Aleksandar Lazinica. (Org.). Rijeka: SCIYO, 2010.

Santana, A. M., A. A. S. Souza, P. J. Alsina, A. A. D. Medeiros, L. M. G. Gonçalves.

Fusion of Odometry and Visual Datas to Localization a Mobile Robot Using Ex-tended Kalman Filter. In: Sensor Fusion, Aleksandar Lazinica (Org.). Sensor

Fu-sion. Rijeka: SCIYO, 2010.

Artigos em Congressos

Souza, A. A. S., L. M. G. Gonçalves. 2.5-Dimensional Grid Mapping from Stereo

Vision for Robotic Navigation. In: LARS/SBR - Latin American Robotics

Sympo-sium, Fortaleza-CE, 2012.

Souza, A. A. S., L. M. G. Gonçalves. 3D Probabilistic Occupancy Grid to Robotic

Mapping. In: ICINCO - International Confrrence on Informatics in Control,

Au-tomation and Robotics, Noordwijkerhout, 2011.

Souza, A. A. S., L. M. G. Gonçalves. Mapeamento de Ambientes em Grade de

Ocupação Probabilística a Partir de Visão Estéreo. In: Simpósio Brasileiro de

Au-tomação Inteligente - SBAI São João Del Rei-MG, 2011.

Souza, A. A. S., R. S. Maia, L. M. G. Gonçalves. Uma Proposta de um Time de

Robôs Heterogêneos Baseados na Tecnologia Sun SPOT para Mapeamento de Am-bientes. In: ROBOCONTROL 2010 Workshop de Robótica Aplicada e Automação,

Bauru, 2010.

Nascimento, C. V., L. M. G. Gonçalves, A. A. S. Souza, R. Q. Gardiman. Towards

Fine Control Based on Sun SPOT Architecture. In: ROBOCONTROL 2010

(21)

1.4. PRODUÇÕES CIENTÍFICAS 9

R. S. Maia, A. A. S. Souza, L. M. G. Gonçalves. Um modelo do Processo de

Aprendizagem proposto para um ambiente multi-robô. In: Peruvian Computing

(22)
(23)

Capítulo 2

Mapeamento

Este capítulo apresenta a fundamentação teórica relacionada ao problema de Mapea-mento de ambientes com robôs móveis. Aqui serão apresentados os desafios a serem suplantados, a classificação adotada para distinguir os diferentes tipos de mapas robóti-cos, destacando as vantagens e desvantagens de cada abordagem. Ao final do capítulo será apresentada uma seção ressaltando trabalhos recentes da literatura que utilizam o mapeamento de ambientes com robôs, com distintos sensores e tipos de mapas, na reali-zação de diferentes tarefas.

2.1

O Problema do Mapeamento Robótico

A tarefa de mapeamento é muitas vezes considerada o mais importante problema na robótica, cujo progresso pode impactar uma grande parte dos problemas baseados em per-cepção como, localização, navegação, exploração, assim por diante [Yang & Wang 2011]. E para formalizar melhor o problema do mapeamento algumas observações devem ser destacadas. A primeira delas diz respeito ao sistema perceptivo dos robôs. Para realizar o mapeamento de um determinado espaço, um robô deve possuir um conjunto de sen-sores, que o habilite a obter dados sobre o ambiente. A segunda observação é que este mesmo sistema de percepção deve fornecer uma estimativa exata da pose (coordenadas e orientação) do robô em relação a algum referencial fixo global.

Feitas essas observações, o mapeamento de ambientes com robôs pode ser visto como o problema de construir um modelo espacial do ambiente do robô, com uma representação computacional, baseando-se nos dados fornecidos pelos sensores internos e externos do sistema robótico. A Figura 2.1 é uma forma clássica de ilustrar o processo de mapeamento em gráfico. A referida figura, representa a pose do robô por x e as medições sensoriais adquiridas a partir de inspeções no ambiente no decorrer do tempo por z. Ambas as variáveis devem ser conhecidas para que o robô tenha a possibilidade de construir o mapa

m. Perceba que o mapeamento é um processo que se desenvolve com o tempo.

(24)

Figura 2.1: Grafico de composição do mapeamento.

sucesso na construção de um mapa coerente depende do conhecimento preciso da pose do robô, e para inferir uma estimativa correta da pose do robô é necessário um mapa do am-biente a priori. Percebe-se que existe uma interdependência entre localização (inferência da posição e orientação do robô no ambiente) e mapeamento. Por conta dessa dificul-dade muitos pesquisadores desdobram o problema de mapeamento para uma problema de localização e mapeamento simultâneos ou SLAM (do inglês, Simultaneous Localization

and Mapping)[Grisetti et al. 2007].

Neste trabalho será considerado que o robô possui um sistema de localização baseado em odometria que fornece uma estimativa relativamente precisa de sua pose, dado que é feita uma calibração anterior apresentada em [Souza 2008]. Esta abordagem é conhecida como mapeamento com pose conhecida [Thrun et al. 2005]. O foco do trabalho esta em fornecer um novo modelo de representação para mapeamento baseado em grade de ocupação com informações 3D, a fim de que o robô possua a capacidade de determinar se um dado obstáculo pode ser transposto ou não.

2.2

Desafios do problema de mapeamento robótico

Em um dos trabalhos mais referenciados na área de mapeamento robótico, Thrun (2002) evidencia alguns desafios que devem ser considerados durante o processo de ma-peamento. A seguir, cada desafio será exposto de forma concisa.

2.2.1

Imprecisões sensoriais

(25)

2.2. DESAFIOS DO PROBLEMA DE MAPEAMENTO ROBÓTICO 13

como as incertezas presentes nos parâmetros que fazem parte da modelagem cinemática do robô (diferenças no tamanho das rodas, medição equivocada de eixo, etc.) e/ou fatores não sistemáticos, como as incertezas oriundas de situações inesperadas (colisão com ob-jetos inesperados, escorregamentos das rodas, derrapagens, etc.), também são fontes de incertezas, que tornam imprecisas as informações do sistema robótico.

Aqui, a grande dificuldade está na natureza do ruído presente nas medições, isto é, modelar o problema de mapeamento robótico seria relativamente fácil se o ruído em diferentes medições fosse estatisticamente independente. No entanto, o que se vê é uma dependência estatística, pois os erros intrínsecos aos movimentos do robô interferem na forma como as medições sensoriais são interpretadas.

A Figura 2.2 ilustra uma situação em que erros de medição dos movimentos preju-dicaram a construção de um mapa preciso, em um robô equipado com sonares. O contorno mais contínuo em vermelho representa a configuração das paredes do ambiente mapeado, no caso, um corredor. O ponto na extremidade direita da figura representa a posição do robô ao término da tarefa de mapeamento.

Figura 2.2: Mapa corrompido por erros de odometria.

Uma boa alternativa para se alcançar o sucesso diante desse desafio é modelar as fontes de erros por funções probabilísticas, permitindo que os dados sensoriais, mesmo incertos, sejam tratados de forma adequada durante o processo de mapeamento. Quando esses fatores são desconsiderados, estamos propensos a testemunhar a construção de ma-pas inconsistentes e imprecisos.

2.2.2

Dimensionalidade

No mapeamento com robôs deve ser observado também a dimensão dos ambientes. Não se pode considerar que o mapeamento de um ambiente simples e estruturado, como um corredor, é igual ou possui os mesmos requisitos e complexidade que o mapeamento de um ambiente de grandes dimensões, por exemplo, um bairro de uma cidade. Questões como, tipo de representação utilizada para reproduzir o ambiente mapeado, nível de de-talhamento do mapa, dimensões do mapa (2D ou 3D), espaço computacional disponível (memória), recursos de processamento, entre outras, devem ser analisadas.

(26)

2.2.3

Associação de dados - Matching

É natural que um objeto inserido em um ambiente a ser mapeado seja detectado mais de uma vez durante o mapeamento em diferentes instantes de tempo. É impor-tante que o robô tenha a capacidade de diferenciar objetos já mapeados dos que ainda não o foram. Este problema é conhecido como associação de dados ou correspondên-cia de dados (matching). Com o auxílio da Figura 2.3 pode-se entender melhor essa questão. Nesta figura há duas imagens coletadas, em instantes e posições diferentes, por uma câmera embarcada em um robô móvel. Todos os pontos interligados por segmen-tos de retas entre as duas imagens foram reconhecidos, mesmo tendo sido capturadas a partir de locais distintos. Para outros pontos não foi possível encontrar o seu correspon-dente. Caso os movimentos realizados dentro do intervalo de captura das imagens fossem ainda mais acentuados a dificuldade de se encontrar pontos correspondentes nas imagens aumentaria.

Figura 2.3: Mapa corrompido por erros de odometria.

Ignorar o problema da associação de dados no mapeamento pode conduzir a incon-sistências e divergências nos mapas. Um esquema eficiente e efetivo de associação de dados deve estabelecer diferenças entre medições espúrias e novas medições juntamente com uma função básica para integrar ao mapa disponível, novas medidas sensorais.

2.2.4

Dinamicidade do ambiente

(27)

2.3. TIPOS DE REPRESENTAÇÕES 15

Um local já mapeado que sofre em algum instante, determinadas mudanças estruturais pode não ser reconhecido pelo robô. Dessa forma, há uma grande chance de o robô considerar esse espaço como sendo uma nova área ainda não mapeada ou até mesmo desconsiderar as medições coletadas e classificá-las como incoerentes.

2.2.5

Estratégia de exploração

Durante o mapeamento, o sistema robótico deve escolher certos caminhos a serem seguidos. A questão central é: dado que o robô tem algum conhecimento sobre o mundo, para onde ele deverá se mover para adquirir novas informações? A resposta a essa per-gunta é de responsabilidade da estratégia de exploração, a qual deve estabelecer princípios para que o robô se movimente com o objetivo de explorar todo o ambiente a ser mapeado. A estratégia de exploração admite que a pose do robô é precisamente conhecida e procura direcioná-lo, de modo eficiente, ao longo do ambiente a fim de que o mapa seja construído em sua totalidade [Stachniss 2009]. Diante disso, é preciso considerar o mod-elo do ambiente parcialmente montado, e a partir dele, planejar o movimento a ser reali-zado. O diagrama da Figura 2.4 adaptado do trabalho de Stachniss (2009), considera que a exploração é uma tarefa que engloba o problema de mapeamento e o planejamento de caminhos.

Mapeamento

Localização

Planejamento

Exploração Localização ativa

SLAM

Abordagem integrada

Figura 2.4: O problema da exploração é a integração do Mapeamento com o Planejamento de caminhos [Stachniss 2009].

Neste mesmo trabalho, Stachniss (2009) apresenta um apanhado geral das várias téc-nicas de exploração desenvolvidas, traçando um comparativo com sua proposta, baseada em mapas de cobertura (coverage maps).

2.3

Tipos de Representações

(28)

de representação baseado em características encontradas nos ambientes [Choset & Fox 2004][Rocha 2006]. Porém, os mapas de características armazenam, na verdade, infor-mações métricas relacionadas às características, por esse motivo essa abordagem será considerada, nesse trabalho, como uma instância dos mapas métricos. A seguir, as duas abordagens serão mais bem explanadas.

2.3.1

Mapas Topológicos

A abordagem topológica representa computacionalmente um ambiente mapeado por meio de um grafo. Em termos gerais, os grafo descrevem a conectividade entre compar-timentos de um ambiente mapeado. Os nós do grafo correspondem a áreas que possuem informações sensoriais homogêneas e as arestas reproduzem a relação de conexão entre essas regiões representadas por nós.

Do ponto de vista do sistema computacional do robô, a representação de um ambi-ente mapeado através de um grafo é uma boa alternativa, visto que os grafos são estru-turas compactas e podem ser armazenados em uma quantidade relativamente reduzida de memória. Além disso, a representação em grafos favorece a execução de tarefas de mais alto nível, como planejamento de caminhos, simplesmente pela aplicação de algoritmos tradicionais de busca em grafos.

Um problema importante desta abordagem é verificado quando se procura um padrão de definição de quais estruturas poderão ser consideradas nós e quais relações serão pon-deradas para a criação das arestas. Ademais, esse tipo de representação trata o problema de localização de uma forma abstrata, isto é, não é possível inferir de forma explícita as coordenadas e a orientação de um robô em um mapa topológico. É possível apenas afirmar em qual nó, ou seja, em qual área do ambiente o robô se encontra.

Para explicar o processo de construção de um mapa topológico, a Figura 2.5 traz a ilustração de um cenário típico de um escritório simples, no qual um robô (marco em vermelho) munido de sonares está encarregado de criar uma representação topológica do ambiente. Na Figura 2.5(a), o robô começa o processo de mapeamento colhendo informações de seu entorno, a partir das medidas sensoriais (as 16 linhas que se origi-nam do robô), e identifica os limites do primeiro cômodo. Neste momento, o primeiro compartimento passa a ser classificado como o nó inicial do mapa topológico. Com o objetivo de mapear as demais áreas do ambiente, o robô sai do espaço mapeado e segue o caminho tracejado que o leva a um segundo compartimento, passando a explorá-lo (Figura 2.5(b)). Esse novo espaço, após ser identificado, é classificado como um novo nó do mapa topológico. Seguindo a trajetória especificada, o robô passa a um novo compartimento, explorando-o (Figura 2.5(c)) e posteriormente classificando-o como o terceiro nó do grafo (Figura 2.5(d)). O processo de mapeamento segue (Figura 2.5(e)) e a cada novo cômodo identificado um novo nó é adicionado ao mapa topológico. É importante observar que as arestas estão identificando a conexão que existe entre os compartimentos.

(29)

am-2.3. TIPOS DE REPRESENTAÇÕES 17

( a ) ( b )

( c ) ( d )

( e ) 1

1

2 3

1 2

3

1

2 4

Figura 2.5: Mapemento topológico.

biguidades que podem existir nas informações sensoriais, que geralmente são esparsas. Isso pode ter como consequência direta, falhas na identificação de áreas já mapeadas e não mapeadas (problema de associação de dados). Essa característica dificulta a cons-trução e a manutenção de mapas desse tipo.

2.3.2

Mapas Métricos

(30)

Grade de Ocupação (occupancy grid maps)

O modelo de mapeamento em grade de ocupação foi proposto inicialmente em 1987 e formalizado em 1989 pelo cientista brasileiro Alberto Elfes [Elfes 1987][Elfes 1989]. É o método de mapeamento mais representativo, cuja função é reproduzir um espaço em uma grade (grid) de células, as quais modelam o estado de ocupação do ambiente [Yang & Wang 2011]. A Figura 2.6 ilustra uma medição realizada por um sonar e como seria a sua representação em uma grade de ocupação. As células preenchidas de preto representam prováveis obstáculos detectados pelo sonar, as células em branco representam regiões do ambiente possivelmente livres ou não ocupadas, por fim, as células em cinza representam regiões ainda não mapeadas pelo sonar.

Figura 2.6: Representação de uma medição de um sonar em uma grade de ocupação.

O valor de ocupação atribuído às células é inferido por uma função probabilística, cujo resultado indica a probabilidade de um lugar estar ocupado, a partir de uma medição sensorial interpretada. A cada nova medição sensorial o valor de ocupação das células dentro do campo visual dos dispositivos de percepção é atualizado. O modelo espacial probabilístico baseado em grade de ocupação se apresenta como uma forma de represen-tação que pode ser usada diretamente na realização de tarefas de navegação, tais como planejamento de caminho com desvio de obstáculo e estimativa de posição [Elfes 1989].

Neste trabalho o mapeamento em grade de ocupação é utilizado para representar o ambiente mapeado por um robô munido de um sistema de visão estéreo. A grade de ocu-pação foi escolhida por apresentar algumas interessantes vantagens em relação a outras representações de mapas. Em um capítulo posterior, o mapeamento em grade de ocupação será explorado com mais detalhes.

Mapas de características (feature-based maps)

(31)

2.3. TIPOS DE REPRESENTAÇÕES 19

em contornos de portas, janelas, piso, etc., são vistos como formas notáveis e adequadas para a construção de um mapa de características.

Figura 2.7: Construção de um mapa de características a partir da detecção de retas.

Uma vantagem significativa desse tipo de mapa é que muitas vezes possibilita uma construção compacta se comparada a representações em grade de ocupação. Porém, tam-bém possui desvantagens, e a principal delas é a dependência de um procedimento pré-definido para detectar e extrair características do ambiente [Stachniss 2009].

2.3.3

Mapas topológicos vs. Mapas métricos - Vantagens e

Desvan-tagens

Diante do apresentado acima é interessante traçar um diagnóstico comparativo entre as duas abordagens citadas, conferindo vantagens e desvantagens de cada uma. Para isso, serão adotados como base os parâmetros levantados no trabalho de Thrun [Thrun 1998].

Uma vantagem importante dos mapas métricos em relação aos topológicos, é que são mais simples de serem construídos e mantidos, ainda que sejam considerados os ambientes complexos e grandes. Ainda, a representação métrica torna mais fácil o re-conhecimento de lugares diferentes com base na posição geométrica do robô dentro de um sistema de coordenadas global. Com base em uma boa estimativa da pose do robô, as diversas medições sensoriais semelhantes, tomadas de diferentes posições, podem ser distinguíveis. Com isso, locais geometricamente próximos são diferenciados com certa facilidade. Porém, deve-se atentar para a prerrogativa de se ter uma boa estimativa da pose do robô, o que não é tão trivial de se obter.

Como já mencionado anteriormente, existe certa dificuldade na construção de mapas topológicos, ligada a definição de quais estruturas serão classificadas como nós e de quais informações serão compostas as arestas. Isso se torna ainda mais dificultoso se as in-formações sensoriais do robô forem esparsas e ambíguas. Porém, como vantagem em relação à abordagem métrica, a pose do robô não precisa ser exatamente conhecida.

(32)

com-putacional para armazenar mapas dessa abordagem, principalmente quando se tem mapas em grade de ocupação com uma resolução fina ou mapas de características com grandes quantidades de características armazenadas. Os mapas topológicos, por sua vez, são com-pactos de resolução proporcional à complexidade do ambiente. Essa estrutura compacta favorece o armazenamento em reduzido espaço de memória e a resolução de problemas de mais alto nível com menor necessidade de processamento.

É possível também, combinar diferentes tipos de representação de mapas em uma abordagem híbrida [Blanco et al. 2008]. O principal objetivo desta representação é in-tegrar as principais vantagens das abordagens métrica e topológica, o que deve reduzir as desvantagens pontuais de cada enfoque. Assim, o robô pode, eficientemente, executar as tarefas mais adequadas para cada tipo de representação. Por exemplo, o robô pode navegar pelo seu ambiente, planejando rotas através de algoritmos de busca em grafo pelo mapa topológico, e ao mesmo tempo, pode adotar estratégias locais de desvio de obstáculos utilizando a representação métrica.

2.3.4

Trabalhos Relacionados

As primeiras investigações que se destacaram na linha de mapeamento de ambi-entes com robôs surgiram no final da década de 1980. Nesta época foram publicados os primeiros trabalhos com resultados relevantes. Com essas primeiras pesquisas aparece-ram vários modelos de mapeamento usando diversas estruturas geométricas e topológicas, com o objetivo de se alcançar a melhor precisão possível na representação do ambiente, considerando a dificuldade de lidar com a alta dimensionalidade dos espaços.

Os pesquisadores propuseram em seus trabalhos formas de representações como, rep-resentação geométrica 3D por esferas [Goldstein et al. 1987], reprep-resentação poligonal [de Saint Vincent 1987], representação por meio de características como pontos, arestas e cantos [Merat & Wu 1987], modelos geométricos hierárquicos [Kriegman et al. 1987], representação por grade de ocupação [Elfes 1987], representação baseada na topologia do ambiente [Kuipers & Byun 1988], entre outras [Angelopoulou et al. 1992].

Posteriormente, em um artigo descrevendo o estado da arte do mapeamento robótico, Thrun (2002) propôs uma classificação das representações de mapas nas duas classes apresentadas anteriormente: topológica e métrica. De forma simplista, a abordagem topológica engloba todas as representações cujo enfoque é reproduzir mapas na forma de grafo, onde os nós são lugares e a conectividade entre os locais é descrita por suas arestas. E a abordagem métrica passou a compreender as representações que presam em armazenar propriedades geométricas do ambiente.

Uma forma mais recente de representar ambientes é através do uso de informações semânticas que podem ser extraídas dos mapas. É possível, por exemplo, obter uma classificação dos obstáculos mapeados (cadeiras, mesas, portas abertas ou fechadas, etc.) através de técnicas semânticas [Wolf & Sukhatme 2008].

(33)

2.3. TIPOS DE REPRESENTAÇÕES 21

para implementar um sistema de mapeamento de linhas no plano do piso do ambiente, sabendo-se que os espaços entre os bloco acabam originando linhas. Gallelos & Rives (2010), por sua vez, utilizaram um robô equipado de diferentes sensores para mapear am-bientes internos e construíram uma representação 3D do ambiente mapeado. Passando para ambientes externos, Yang & Wang (2011) apresentaram uma abordagem de mapear ambientes urbanos considerando a existência de objetos estáticos e dinâmicos. Eles exibi-ram os resultados de seus estudos em mapas baseados em grades de ocupação. Silver et al. (2004) utilizaram um robô para mapear e explorar minas subterrâneas, atividade essa, que pode apresentar riscos a seres humanos. Johannsson et al. (2010), por sua vez apresen-taram um robô submarino que detecta características a partir de imagens de sonares para construir um mapa que é posteriormente utilizado em vigilância submarina. Esses são alguns exemplos de trabalhos que mostram a diversificação de ambientes que podem ser mapeados utilizando-se diferentes técnicas de mapeamento.

Para que um sistema robótico tenha sucesso em seu mapeamento é interessante que possua sensores que capturem informações do seu entorno, com certas características desejáveis: campo de visão amplo, acurácia, dados de fácil interpretação, baixo consumo de energia, tamanho e peso reduzidos, entre outras. Distintos tipos de sensores podem ser utilizados, porém os de maior destaque são os sonares, os scanners lasers e as câmeras.

Os sonares são sensores atrativos pelo seu baixo custo, entretanto possuem proprieda-des que os tornam sensores em proprieda-desuso. Muitas medições são imprecisas por serem afe-tadas por problemas de falsas reflexões das ondas sonoras em superfícies planas. Um recente trabalho que se utiliza de sonares para extrair características de ambientes desor-denados foi apresentado por [Lee & Son 2010].

Uma interessante alternativa para a construção de mapas densos são os scanners lasers, esses são sensores bastante precisos, eficientes e fornecem informações de fácil interpre-tação e que não necessitam de processamento complexo. Porém, esses sensores não são hábeis no tratamento de superfícies de vidro. Ademais, são sensores que apresentam um alto custo monetário. Ruhnke et al. (2011) implementaram um algoritmo de mapeamento de alta precisão baseado em informações de sensores lasers. Eles propuseram a aplicação de técnicas de otimização para melhorar as estimativas da pose do robô e das medições sensoriais, a fim de obter um mapa mais acurado do ambiente.

As câmeras vêm ganhando destaque nos trabalhos relacionados a mapeamento de am-bientes e navegação com robôs, por serem dispositivos que podem prover uma grande quantidade de informações sobre o ambiente no qual estão inseridas. Além disso, são compactas, leves e podem ser encontradas com custo moderado. Seja com um sistema de múltiplas câmeras, como os sistemas de visão estéreo e sistemas de câmeras omnidi-recionais, ou com sistemas monoculares, são inúmeras as possibilidades de técnicas para geração de mapas a partir das câmeras, que dependem do tratamento dado às imagens.

(34)

sensorial probabilístico que adota a função Gama em seu cerne. Ao final,o mapa adquirido comporta informações sobre o quão navegável é um determinado terreno.

Com frequência se encontra na literatura autores propondo o uso em conjunto de sen-sores distintos. O objetivo principal é fundir as informações de todas as fontes para al-cançar um mapeamento mais rico e eficiente. Gallelos & Rives (2010), por exemplo, utilizam um robô provido de uma câmera omnidirecional e um laser para realizar o ma-peamento de ambientes internos. No trabalho de Ahn et al. (2007), os autores fundiram informações de um sistema de visão estéreo e sonares para coletar informações planares de ambientes internos.

(35)

Capítulo 3

Mapeamento Visual

Este capítulo contextualiza o problema de mapeamento com sensores visuais, ou seja, a construção de uma representação espacial a partir de imagens. Este procedimento é tam-bém conhecido como mapeamento visual. O capítulo exporá as técnicas de mapeamento visual com diferentes configurações de câmeras. Ademais, alguns pontos importantes serão destacados para explicar quais e como as informações visuais podem extraídas e manipuladas para a construção de mapas robóticos. Semelhantemente ao capítulo anterior, serão apresentados trabalhos correlacionados ao tema, expondo as técnicas e novidades utilizadas mais recentemente.

3.1

Contextualização

Como anteriormente explicitado, a tarefa de mapeamento tem um grande impacto em tarefas que dependem do sistema perceptivo dos robôs como, localização, navegação, ex-ploração, entre outras. Quando este problema é considerado na conjunção dos sensores visuais ou câmeras, passa a ser denominado de mapeamento visual. Neste contexto, as in-formações visuais capturadas são utilizadas para que o robô realize sua tarefa empregando uma navegação visual segura e eficiente, podendo abranger a vigilância de ambientes, resgate em acidentes ou catástrofes, identificação e rastreamento de objetos, exploração aérea, patrulhamento, entre outras.

A inspiração para essa abordagem vem da fisiologia humana. O principal sentido empregado na navegação e localização de uma pessoa entre objetos e obstáculos é o da visão. Do mesmo modo, na robótica um sistema visual artificial construído a partir de câmeras pode ser muito útil na navegação e localização de um robô em seu ambiente.

(36)

& Gonçalves 2012]. Essas são características que permitem o desenvolvimento de um grande conjunto de funcionalidades essenciais na robótica: detecção de obstáculos, ras-treamento de pessoas, servovisão, etc. [Lemaire et al. 2007].

Quando aplicadas ao mapeamento robótico, o uso das câmeras traz algumas outras vantagens: primeira, os dados são percebidos em um ângulo sólido, o que permite abor-dagens de mapeamento 3D. Segunda, técnicas visuais de estimativa de movimento pode fornecer um resultado muito preciso sobre os movimentos do robô. E por fim, caracterís-ticas muito estáveis podem ser detectadas em diferentes imagens, o que dá a possibilidade de derivar algoritmos que permitam o associação de dados (matching) entre elas mesmo com alterações significativas do ponto de vista [Lemaire et al. 2007].

Um grande desafio relacionado aos sistemas de visão artificial está em como tirar proveito dos sensores visuais com algoritmos confiáveis e eficazes que possam extrair as informações necessárias para a resolução de problemas [Santana 2011]. Muitas pesquisas mais antigas ressaltam a dificuldade de que os sistemas baseados em câmeras necessitam de grandes recursos de processamento para se obter resultados em tempo real. Porém, com os grandes avanços alcançados no desenvolvimento de processadores mais rápidos, se percebe um aumento significativo de pesquisas recentes que utilizam os sistemas vi-suais como fontes de informações sensoriais. O rápido aumento no poder de proces-samento dos computadores faz com que seja possível lidar com uma maior quantidade de informações, permitindo melhor compreensão do ambiente, facilitando a tomada de decisões por parte dos robôs.

3.2

Configurações de Câmeras mais Utilizadas no

Ma-peamento Visual

Os principais sistemas de percepção visual utilizados em robôs móveis são: visão monocular e visão estéreo.

3.2.1

Visão Monocular

Os sistemas de visão monocular utilizam apenas uma câmera para coletar informações do entorno do robô (Figura 3.1). Civera et al. (2008) definem um sistema monocular como um sensor projetivo cujo objetivo é medir o deslocamento das características em uma imagem. Com isso, dada uma sequência de imagens de uma cena, tomadas a partir de uma câmera em movimento, é possível computar a estrutura da cena e o movimento da câmera a menos de um fator de escala. Geralmente as informações 3D são representadas por um conjunto esparso de pontos de interesses ou características detectadas. Ou seja, o uso de sistemas monoculares é mais relevante na construção de mapas de características.

(37)

3.2. CONFIGURAÇÕES DE CÂMERAS MAIS UTILIZADAS NO MAPEAMENTO VISUAL25

Figura 3.1: Câmeras monoculares.

(2008). Os autores apresentaram uma solução baseada em uma parametrização da profun-didade inversa para representar pontos detectados. Essa informação pode ser incorporada na estimativa dos dados de uma característica, a partir da primeira imagem capturada onde a característica é observada. Para calcular as estimativas os autores utilizaram o FKE (Filtro de Kalman Estendido).

3.2.2

Visão Estéreo

Visão estéreo se refere à habilidade de inferir informações de estruturas 3D e distância à uma cena a partir de duas ou mais imagens tomadas de diferentes pontos de vista. Os sistemas de visão estéreo se baseiam no sistema visual humano. A diferença na localiza-ção da retina esquerda e direita é usada pelo cérebro para reconstruir uma representalocaliza-ção 3D do que se vê [Trucco & Verri 1998]. Tendo isso como inspiração, foram desenvolvi-dos os sistemas de visão estéreo artificiais, os quais podem conter duas ou mais câmeras para adquirir informações de estruturas 3D. Alguns sistemas dispõem de várias câmeras arranjadas estrategicamente para capturar imagens em um ângulo de 360 graus, dando uma visão esférica do ambiente, tais câmeras são chamadas de omnidirecionais. A Figura 3.2 abaixo, ilustra alguns desses sistemas de câmeras estéreo.

(a) (b)

(38)

Um sistema de visão estéreo provê, de forma direta, medidas de distâncias aos objetos capturados em ambas as imagens. Essa é considerada a principal vantagem desse sistema em relação à visão monocular. O presente trabalho faz uso de um sistema de visão estéreo de baixo custo com duas câmeras para o mapeamento de ambientes. Por esse motivo, a seguir, será explanado todo o processo de visão estéreo responsável pela inferência de informações 3D de estruturas presentes em um ambiente.

3.3

Estereoscopia

Para inferir informações de estruturas 3D a partir de duas imagens tomadas de locais distintos, usando ferramentas computacionais, é preciso considerar a resolução de dois problemas principais. O primeiro é conhecido como problema de correspondência, que consiste em determinar quais pontos capturados na câmera esquerda estão sendo vistos também pela câmera direita. O segundo está relacionado com a reconstrução da cena vista pelas câmeras, dados os pontos identificados no problema anterior e a geometria do sistema estéreo [Trucco & Verri 1998].

Esse processo segue alguns passos importantes: primeiro, calibração das câmeras, o qual possibilita estimar parâmetros internos das câmeras e parâmetros relativos entre câmeras; segundo, retirada de distorções das imagens, efeitos esses que são introduzidos por defeitos de fabricação das lentes; terceiro, retificação das imagens, alinhando-se os planos das imagens e os eixos óticos; e quarto, estimação do mapa de disparidade ou imagem de profundidade. Para entender melhor esses problemas é interessante analisar primeiro a geometria estéreo, usando o modelo de câmera pinhole.

3.3.1

Geometria Estéreo e Reconstrução 3D

Com o auxílio da Figura 3.3 é possível analisar geometricamente como se dá todo o processo de calculo de coordenadas 3D de um objeto a partir de imagens 2D capturadas por duas câmeras. Formulando matematicamente, considere o ponto P no mundo de coor-denadas desconhecidas, o qual é detectado pelas câmeras esquerda e direita de um sistema estéreo. Para simplificação do problema, deve-se ponderar que as câmeras possuem os planos de imagem coplanares e eixos óticos paralelos. Na Figura 3.3, Oe O representam os centros de projeção das câmeras, f é a distância focal das câmeras (distância entre o centro de projeção e o plano de imagem), a distância b entre os centros de projeção O′e

O, é chamada de linha de base. f e b são parâmetros do sistema estéreo que podem ser

inferidos por uma calibração estéreo.

As coordenadas(xlo,ylo) e(xro,yro)representam os pontos pelos quais os eixos óticos intersectam os planos de imagens em ambas as câmeras. O ponto P é representado pelos pixels de coordenadas (xl,yl) e(xr,yr)nos planos de imagem, ou seja, (xl,yl)e (xr,yr)

são as projeções do ponto P na imagem esquerda e direita respectivamente. Como os planos de imagem são coplanares e os eixo óticos paralelos, então podemos assumir que

(39)

3.3. ESTEREOSCOPIA 27 P b f f zc eixo óptico eixo óptico plano da imagem O’ O ) , (0 0

l l y x ) , (0 0

r r y x ) , (xl yl

) ,

(xr yr

Figura 3.3: Geometria estéreo.

O método pelo qual a posição do ponto P no espaço tridimensional é determinada é chamado de triangulação, o qual considera a intersecção dos raios definidos pelos centros de projeção (Oe O) e as coordenadas de imagem do ponto P ((xl,yl)e(xr,yr)). Porém, a triangulação depende da solução do problema de correspondência, ou seja, (xl,yl) e

(xr,yr)devem classificados por algum método como pontos correspondentes. Posterior-mente, serão apresentados alguns métodos utilizados para encontrar a correspondência entre pontos de ambos os planos de imagens.

A profundidade zc pode ser encontrada por semelhança de triângulos, como segue na

Equação 3.1.

b(xlxr)

zcf

= b

zc

(3.1)

Desenvolvendo a Equação 3.1 chega-se a Equação 3.2.

zc=

b.f

(xlxr) (3.2)

Essa equação mostra que a profundidade zc é inversamente proporcional à diferença ou

disparidade entre as duas vistas, assim a disparidade pode ser definida matematicamente

por d=xlxr. Modificando a Equação 3.2 tem-se a Equação 3.3.

zc=

b.f

(40)

Com essa expressão tem-se a definição de uma das coordenadas do ponto P em relação ao referencial da câmera estéreo, o qual será descrito por Pc. A disparidade é dada pela

solução do problema de correspondência, a qual deve apresentar como resultado final uma imagem bidimensional, também chamada de mapa de disparidade, cujos valores dos pixels d(x,y)descrevem a diferença entre duas imagens [Andert 2009]. Usando o mesmo raciocínio de triangulação e as informações do mapa de disparidade, pode-se encontrar as coordenadas xc e yc do ponto Pc= (xc,yc,zc)T. As Equações 3.4 e 3.5 expressam essas

relações.

xc=zc.

(xx0)

f (3.4)

yc=zc.

(yy0)

f (3.5)

Nas equações acima (x,y) e (x0,y0) são coordenadas de uma das imagens (esqueda ou direita). Na prática se limita o valor assumindo valores máximo e mínimo para a distância

zcmin <zc <zcmax, com zcmin >0 [Andert 2009]. Com as coordenadas do ponto Pc = (xc,yc,zc)T, a matrix de orientação R e o vetor de translação T que mapeiam o sistema de

câmera em coordenadas de mundo, pode-se, agora, calcular as coordenadas de P.

P=RT.Pc+T (3.6)

Assim, têm-se as coordenadas do ponto P, antes desconhecida, calculadas através dos artifícios da geometria estéreo. Nesse ponto, a etapa de reconstrução 3D é concluída.

3.3.2

Disparidade Estéreo

O termo disparidade foi relacionado primeiro ao sistema preceptivo visual humano para descrever a diferença entre cenas correspondentes enxergadas pelo olho esquerdo e direito [Sharstein & Szeliski 2002]. Trazendo essa definição para o campo da visão com-putacional, a disparidade pode ser entendida como a diferença entre as coordenadas de imagem de um ponto no mundo, capturado pelas câmeras esquerda e direita de um sis-tema estéreo. Alguns pesquisadores têm definido a disparidade como uma transformação projetiva tridimensional do espaço 3D [Sharstein & Szeliski 2002].

Neste trabalho, considera-se o uso de um sistema estéreo cujos planos de imagens são coplanares e os eixos óticos estão alinhados. Essa restrição limita a dedução da dispari-dade para apenas as coordenadas x das imagens (d =xlxr), podendo ser chamada de disparidade horizontal. Essa prerrogativa facilita a busca e a identificação dos pixels cor-respondentes(xl,yl)e(xr,yr), fazendo com que seja realizada uma redução no espaço de busca de 2D para 1D, que será apenas uma linha horizontal, restrita ao eixo x dos planos de imagem esquerdo e direito. Essa consideração é conhecida por restrição epipolar.

(41)

3.3. ESTEREOSCOPIA 29

classificaram os algoritmos de correspondência estéreo em duas categorias: algoritmos locais (baseados no conceito de janelas) e algoritmos globais (baseados em técnicas de minimização).

Algoritmos Locais

Os algoritmos locais, também chamados de algoritmos de janela variável de pixel (ou

block-macthing), procuram fazer a associação de pixels entre duas imagens de maneira

rápida e com redução de ruído. No momento de realizar uma comparação entre imagens, não só o valor do pixel buscado é levado em consideração e sim, uma janela de pixels vizinhos. A premissa por trás dessa abordagem é que a disparidade entre pixels da mesma janela é aproximadamente igual, isso favorece a redução de ambiguidades na associação dos pixels entre duas imagens. Basicamente este método gera o mapa de disparidade seguindo três passos principais: o primeiro passo tem como função a normalização do brilho das imagens e o realce de textura. O segundo passo, é a busca de pixels correspon-dentes considerando a restrição epipolar. Aqui, utiliza-se a soma das diferenças absolutas entre janelas de mesmo tamanho em ambas as imagens para se encontrar a correspondên-cia. O terceiro passo consiste na eliminação de falsas correspondências. Finalmente, após a execução desses passos a disparidade é calculada para os pixels com valores de dispari-dade válidos [Bradski & Kaehler 2008]. Essa abordagem gera resultados razoáveis em tempo-real. A Figura 3.4 apresenta um resultado de um mapa de disparidade gerado pelo algoritmo de janela variável.

(a)

(b)

Figura 3.4: Mapa de disparidade gerado pelo algoritmo de janela variável; (a) imagem original; (b) mapa de disparidade.

Algoritmos Globais

Imagem

Figura 1.2: Processo de contrução do mapa em grade de ocupação-elevação.
Figura 2.3: Mapa corrompido por erros de odometria.
Figura 2.4: O problema da exploração é a integração do Mapeamento com o Planejamento de caminhos [Stachniss 2009].
Figura 2.5: Mapemento topológico.
+7

Referências

Documentos relacionados

Um tempo em que, compartilhar a vida, brincar e narrar são modos não lineares de viver o tempo na escola e aprender (BARBOSA, 2013). O interessante é que as crianças

Todavia, nos substratos de ambos os solos sem adição de matéria orgânica (Figura 4 A e 5 A), constatou-se a presença do herbicida na maior profundidade da coluna

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

A Proposta apresentada permitirá à empresa João Tomé Saraiva-Sociedade de Construções, Lda., implementar um Sistema de Gestão da Qualidade segundo os requisitos da norma

Nome: UNIVERSIDADE FEDERAL DO RIO DE JANEIRO País: BRASIL Atuação Acadêmica Afastamento Motivo afastamento: Mês de fim do afastamento: Mês de início do afastamento: Número

Coordenação: Bas´Ilele Malomalo; Sebastião André Alves de Lima Filho ; Elcimar Simão Martins (Unilab)..

1 Instituto de Física, Universidade Federal de Alagoas 57072-900 Maceió-AL, Brazil Caminhadas quânticas (CQs) apresentam-se como uma ferramenta avançada para a construção de

111 A nossa percepção da arte verbal, em seus níveis mais profundos, poderia colocar a poesia não mais no “ícone impresso cujo comprimento é uma linha metricamente regular”, mas