Sie sind auf Seite 1von 122

Mapeamento de ambientes externos

utilizando robs mveis


Alberto Yukinobu Hata

SERVIO DE PS-GRADUAO DO ICMC-USP


Data de Depsito: 21 de maro de 2010
Assinatura:

Mapeamento de ambientes externos utilizando robs mveis

Alberto Yukinobu Hata

Orientador: Prof. Dr. Denis Fernando Wolf

Dissertao apresentada ao Instituto de Cincias Matemticas e de Computao ICMC-USP, como parte dos requisitos para obteno do ttulo de Mestre em Cincias
Cincias de Computao e Matemtica Computacional.

USP - So Carlos
Maro/2010

Agradecimentos

rimeiramente agradeo ao professor Denis Fernando Wolf pela oportunidade dada para trabalhar junto ao seu grupo de pesquisa, pelos seus ensinamentos cientficos, pela sua compreenso e ateno
por este trabalho, e acima de tudo, pela sua amizade.

Agradeo tambm aos amigos do LRM (Laboratrio de Robtica Mvel) pela assistncia oferecida para a execuo dos experimentos e a companhia ao longo dos anos. No poderia tambm deixar de agradecer as
diversas amizades criadas com os alunos do curso de ps-graduao.
Por fim, agradeo o apoio financeiro concedido pela FAPESP (Fundao de Amparo Pesquisa do Estado de SP) pelo processo 2008/02204-4
e ao INCT-SEC (Instituto Nacional de Cincia e Tecnologia - Sistemas
Embarcados Crticos) pelos processos 573963/2008-8, 08/57870-9 e
08/09713-1.

Resumo

robtica mvel autnoma uma rea relativamente recente que


tem como objetivo a construo de mecanismos capazes de executar tarefas sem a necessidade de um controlador humano. De
uma forma geral, a robtica mvel defronta com trs problemas fundamentais: mapeamento de ambientes, localizao e navegao do rob.
Sem esses elementos, o rob dificilmente poderia se deslocar autonomamente de um lugar para outro. Um dos problemas existentes nessa rea a
atuao de robs mveis em ambientes externos como parques e regies
urbanas, onde a complexidade do cenrio muito maior em comparao aos ambientes internos como escritrios e casas. Para exemplificar,
nos ambientes externos os sensores esto sujeitos s condies climticas
(iluminao do sol, chuva e neve). Alm disso, os algoritmos de navegao dos robs nestes ambientes devem tratar uma quantidade bem maior
de obstculos (pessoas, animais e vegetaes).
Esta dissertao apresenta o desenvolvimento de um sistema de classificao da navegabilidade de terrenos irregulares, como por exemplo,
ruas e caladas. O mapeamento do cenrio realizado atravs de uma
plataforma robtica equipada com um sensor laser direcionado para o
solo. Foram desenvolvidos dois algoritmos para o mapeamento de terrenos. Um para a visualizao dos detalhes finos do ambiente, gerando
um mapa de nuvem de pontos e outro para a visualizao das regies
prprias e imprprias para o trfego do rob, resultando em um mapa de
navegabilidade. No mapa de navegabilidade, so utilizados mtodos de
aprendizado de mquina supervisionado para classificar o terreno em navegvel (regies planas), parcialmente navegvel (grama, casacalho) ou
no navegvel (obstculos). Os mtodos empregados foram, redes neurais artificais e mquinas de suporte vetorial. Os resultados de classificao obtidos por ambos foram posteriormente comparados para determinar
a tcnica mais apropriada para desempenhar esta tarefa.

iii

Abstract

utonomous mobile robotics is a recent research area that focus


on the construction of mechanisms capable of executing tasks
without a human control. In general, mobile robotics deals with
three fundamental problems: environment mapping, robot localization
and navigation. Without these elements, the robot hardly could move
autonomously from a place to another. One problem of this area is the
operation of the mobile robots in outdoors (e.g. parks and urban areas),
which are considerably more complex than indoor environments (e.g. offices and houses). To exemplify, in outdoor environments, sensors are
subjected to weather conditions (sunlight, rain and snow), besides that
the navigation algorithms must process a larger quantity of obstacles (people, animals and vegetation).
This dissertation presents the development of a system that classifies
the navigability of irregular terrains, like streets and sidewalks. The scenario mapping has been done using a robotic platform equipped with a
laser range finder sensor directed to the ground. Two terrain mapping
algorithms has been devolped. One for environment fine details visualization, generating a point cloud map, and other to visualize appropriated
and unappropriated places to robot navigation, resulting in a navigability
map. In this map, it was used supervised learning machine methods to
classify terrain portions in navigable (plane regions), partially navigable
(grass, gravel) or non-navigable (obstacles). The classification methods
employed were artificial neural networks and support vector machines.
The classification results obtained by both were later compared to determine the most appropriated technique to execute this task.

Sumrio

Agradecimentos

Resumo

iii

Abstract

Lista de Figuras

xi

Lista de Tabelas

xv

Introduo
1.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Organizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Sensores
2.1 Modelo Comportamental do Rob
2.2 Classificao dos Sensores . . . .
2.3 Odmetros . . . . . . . . . . . . .
2.4 Dispositivos GPS . . . . . . . . .
2.5 Sensor Laser . . . . . . . . . . . .
2.6 Sonares . . . . . . . . . . . . . .
2.7 Consideraes Finais . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

Algoritmos Fundamentais da Robtica Mvel


3.1 Mapeamento . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Grades de Ocupao . . . . . . . . . . . . . .
3.1.2 Mapas Topolgicos . . . . . . . . . . . . . . .
3.2 Localizao . . . . . . . . . . . . . . . . . . . . . . .
3.3 Navegao . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Planejamento de Rotas em Mapas Topolgicos
3.3.2 Planejamento de Rotas em Mapas Mtricos . .
vii

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

1
2
3
4

.
.
.
.
.
.
.

5
5
6
7
8
8
9
10

.
.
.
.
.
.
.

11
12
14
15
16
19
20
20

3.4
4

3.3.3 Desvio de Obstculos . . . . . . . . . . . . . . . . . . . . . . . . . . .


Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Navegao e Mapeamento de Ambientes Externos Utilizando Robs Mveis


4.1 Representao Computacional de Ambientes Externos . . . . . . . . . .
4.2 Mapeamento Tridimensional de Ambientes Externos . . . . . . . . . . .
4.3 Navegao Autnoma em Ambientes Externos . . . . . . . . . . . . . .
4.4 Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

21
24

.
.
.
.
.

27
28
29
32
35
37

Ambiente de Simulao de Robs Mveis Player/Stage


5.1 Estrutura do Software Player/Stage . . . . . . . . . .
5.1.1 Servidor Player . . . . . . . . . . . . . . . .
5.2 Ambiente de Simulao Stage e Gazebo . . . . . . .
5.3 Modelo dos Dispositivos . . . . . . . . . . . . . . .
5.4 Consideraes Finais . . . . . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

39
40
40
41
42
43

Mtodos de Aprendizado Supervisionado


6.1 Redes Neurais Artificiais . . . . . . . . . .
6.1.1 Arquiteturas de RNAs . . . . . . .
6.2 Algoritmo de Aprendizado de RNAs . . . .
6.3 Generalizao em RNAs . . . . . . . . . .
6.4 Mquinas de Suporte Vetorial . . . . . . . .
6.4.1 SVM para Classificao Linear . .
6.4.2 SVM para Classificao No-Linear
6.4.3 SVM para Classificao Multiclasse
6.5 Consideraes Finais . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

45
46
47
50
53
54
54
56
57
58

Desenvolvimento do Sistema
7.1 Mapeamento de Terrenos . . . . . .
7.1.1 Mapeamento 3D de Terrenos
7.2 Mapa de Navegabilidade do Terreno
7.3 Classificao de Terrenos . . . . . .
7.4 Experimentos e Resultados . . . . .
7.4.1 Mapeamento de Terrenos . .
7.4.2 Classificao de Terrenos . .
7.5 Concluso . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

61
62
62
64
66
67
67
71
77

Concluso
8.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

79
81

.
.
.
.
.
.
.
.

Referncias Bibliogrficas

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

83

viii

A Mapeamento 3D de Ambientes
A.1 Desenvolvimento do Mtodo de Mapeamento 3D de Ambientes . . . . . . . .
A.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91
91
92

B Exemplo de Cdigo em C Utilizando a Biblioteca Player/Stage

95

C Exemplo de Cdigo VRML para representao de pontos

99

D Publicaes Decorrentes Deste Trabalho


101
D.1 Artigos Publicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
D.2 Artigos Submetidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

ix

Lista de Figuras

2.1
2.2
2.3
2.4

3.1
3.2
3.3

3.4
3.5
3.6
3.7
3.8
3.9
4.1

Processo de interao com o ambiente por meio de sensores. . . . . . . . . . .


Representao de um encoder ptico (adaptado de (Borenstein et al., 1997)). . .
(a) Funcionamento de um sensor laser (adaptado de (Siegwart e Nourbakhsh,
2004)). (b) Modelo de sensor laser SICK LMS 200. . . . . . . . . . . . . . . .
Modelo de um sonar. A parte circular corresponde membrana e o circuito que
se interliga encarregado de analisar o som capturado pelo sensor (Murphy,
2000). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tipos de mapas utilizados na robtica (Thrun, 2003). . . . . . . . . . . . . . .
Modelo de sensor inverso de um sonar. Clulas claras denotam regies livres e
clulas escuras, reas ocupadas (Thrun, 2003). . . . . . . . . . . . . . . . . . .
Mapa topolgico de um escritrio. Os ns representam os cmodos e as arestas
indicam a existncia de uma passagem entre os ns (Siegwart e Nourbakhsh,
2004). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Passos para a criao de um mapa topolgico a partir de um mapa mtrico
(Thrun et al., 1998b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Representao do funcionamento do algoritmo de localizao por Markov (Thrun, 2003). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(a) Mapa original. (b) Caminho de custo mnimo obtido pela tcnica apresentada por (Thrun et al., 1998a). . . . . . . . . . . . . . . . . . . . . . . . . . .
Deteco de obstculos por VFH (Borenstein e Koren, 1991). . . . . . . . . . .
Rota gerada atravs dos campos potenciais (Borenstein e Koren, 1990). . . . .
(a) Cenrio percorrido pelo rob. (b) Espao de velocidade da viso local do
rob (Thrun et al., 1998a). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Imagem de um gato em nuvem de pontos (a) e em malha triangular (b) (Hormann e Reimers, 2003). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xi

6
8
9

10
13
15

16
17
19
21
22
23
24
29

4.2

4.3
4.4

4.5

4.6

5.1
5.2
5.3
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
7.1

7.2
7.3
7.4

Exemplos de resultados de mapas 3D obtidos utilizando-se sensor laser. (a)


Mapeamento de um corredor realizado por grupo de robs (Thrun et al., 2000).
(b) Mapa de nuvem de pontos otimizado por meio da substituio de planos
(Hhnel et al., 2003). (c) Mapa de nuvem de pontos de um ptio (Wolf et al.,
2005a). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modelo de elevao gerada por meio do mapeamento de uma via pblica. O
ambiente real apresentado em (a) e o seu respectivo mapa em (b). . . . . . . .
Resultados de reconstruo em 3D de estruturas combinando sensor laser e cmera. A figura (a) mostra um ambiente recriado com dados coletados por meio
de um carro (Bok et al., 2007) e a (b) por meio de um balo (Banno e Ikeuchi,
2005). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(a) Rota gerada para a navegao do rob em ambientes externos (Ye, 2007).
(b) Mtodo de classificao de terreno, sendo que objeto amarelo representa
troncos de rvores, azul representa cabos, vermelho indica o cho e verde indica
vegetao (Lalonde et al., 2006). . . . . . . . . . . . . . . . . . . . . . . . . .
(a) Stanley, carro vencedor da segunda edio do DARPA Grand Challenge.
(b) Boss, carro vencedor do DARPA Urban Challenge. (c) e (d) Cenrios do
Tsukuba Challenge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30
32

33

34

36

Modelo de cliente/servidor utilizado no Player/Stage. . . . . . . . . . . . . . .


Interface grfica do Stage exibindo alguns obstculos, robs e a atuao de um
sensor laser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ambiente de simulao de robs Gazebo. . . . . . . . . . . . . . . . . . . . .

40

Componentes bsicos de um neurnio artificial (adaptado de (Haykin, 1998)). .


Rede neural perceptron com 4 neurnios na camada de entrada e 3 neurnios
na camada de sada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rede neural multi-layer perceptron com 2 neurnios na camada intermediria. .
Uma rede recorrente com uma camada intermediria. Neste exemplo, as sadas
da ltima camada alimentam a camada de entrada. . . . . . . . . . . . . . . . .
Curva do erro gerado conjunto de validao e de treinamento. ta , tb e tc indicam
respectivamente os pontos de underfitting, treinamento ideal e overfitting. . . .
Ilustrao do problema do SVM linear. Deve-se obter um hiperplano que maximize a margem (d) dos planos (H1 e H2 ) que separam as duas classes. . . . .
(a) Conjunto de dados que no podem ser separados linearmente. (b) Mapeamento dos dados para uma espao que permite a separao linear (Burges, 1998).
Separao de 3 classes (1 , 2 e 3 ) com SVM multiclasse. . . . . . . . . . . .

47

57
58

Representao grfica da funo () de mapeamento 3D. Esta funo transforma o ponto Pl S coletado pelo laser em um ponto Pr <3 do espao do
rob. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Decomposio do feixe do laser no plano zx. . . . . . . . . . . . . . . . . . . .
Decomposio do feixe do laser no plano xy. . . . . . . . . . . . . . . . . . .
Representao de um mapa de navegabilidade de tamanho 9 7. . . . . . . . .

63
64
65
66

xii

42
43

48
49
50
53
56

7.5

7.6
7.7
7.8
7.9
7.10
7.11

7.12

7.13

O algoritmo de classificao utiliza os valores da altura absoluta e relativa da


clula para verificar a navegabilidade. Aps isso, a categoria de terreno (navegvel, parcialmente navegvel e no navegvel) retornado pelo classificador
armazenada na clula. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Plataforma robtica utilizado nos experimentos. . . . . . . . . . . . . . . . . .
Ambientes utilizados nos experimentos. (a) Via com grama na lateral. (b)
Rampa. (c) Via com grama nas laterais. (d) Paraleleppedo. . . . . . . . . . . .
Mapas 3D gerados pelo algoritmo de mapeamento. Mapas I a IV correspondem
respectivamente aos Cenrios I a IV. . . . . . . . . . . . . . . . . . . . . . . .
Mapas de navegabilidade dos Cenrios I e II. . . . . . . . . . . . . . . . . . .
Ilustrao das duas topologias de rede neural utilizadas nos experimentos. . . .
Grficos da generalizao de cada rede neural que obteve os melhores resultados para cada Padro. A curva em preto representa o erro no processo de
treinamento dos dados de treinamento e a curva em vervelho dos dados de validao. A funo de erro utilizado o erro quadrtico mdio. . . . . . . . . . .
Resultado das melhores classificaes utilizando RNA. Clulas vermelhas representam as regies no navegveis, azuis as regies parcialmente navegveis
e verdes as regies navegveis. . . . . . . . . . . . . . . . . . . . . . . . . . .
Resultado das melhores classificaes utilizando SVM. Clulas vermelhas representam as regies no navegveis, azuis as regies parcialmente navegveis
e verdes as regies navegveis. . . . . . . . . . . . . . . . . . . . . . . . . . .

A.1 (a) Elementos do feixe de laser apontado para cima. (b) Elementos do feixe do
laser e da posio do rob. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Mapeamento 3D de ambientes realizado com o rob. . . . . . . . . . . . . . .

xiii

67
68
69
70
70
72

75

76

76
92
93

Lista de Tabelas

6.1

Exemplos de funes kernel, onde a, b, c e d so parmetros da funo. . . . .

7.1

Lista do conjunto de padres com informaes sobre qual ambiente foi extrado
os exemplos e o nmero de padres de treinamento e de validao utilizados. .
Taxa de erro no processo de validao das redes neurais para cada padro(n.o.
denota o nmero de neurnios ocultos usados na rede). As menores taxas de
erros de cada modelo avaliado esto destacadas em negrito. . . . . . . . . . . .
Taxa de erro no processo de validao dos classificadores SVM utilizando quatro diferentes kernels. As menores taxas de erros de cada modelo avaliado esto
destacadas em negrito. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nmero de vezes que os classificadores RNA e SVM obtiveram as menores
taxas de erro para cada conjunto de validao. . . . . . . . . . . . . . . . . . .

7.2

7.3

7.4

xv

57
71

73

74
77

C APTULO

1
Introduo

muito tempo, o homem vem desenvolvendo ferramentas para tornar as suas tarefas
mais seguras e rpidas. No dia a dia, por exemplo, os trabalhos domsticos, dispem
de diversos instrumentos que, se no existissem, tornariam esse servio demorado
e desgastante. Os meios de transporte so um exemplo claro de mecanismos que facilitam a
locomoo do homem de um local para outro em pouco tempo. Entretanto, essas ferramentas
necessitam de algum para oper-los. Assim, primeiramente necessrio que o futuro usurio
passe por uma fase de aprendizagem para poder manipular esses instrumentos. Esse requisito,
em muitos casos (em especial, quando o equipamento envolve partes eletro-mecnicas), torna
o seu uso no imediato. Alm disso, a exigncia do contato direto do manipulador com essa
ferramenta no o deixa completamente seguro. Com isso, seria interessante automatizar essas
ferramentas de forma a adquirirem um alto grau de independncia do homem.

A robtica mvel autnoma uma rea da robtica que tem como objetivo desenvolver
dispositivos (robs) com a capacidade de executarem tarefas sem a necessidade da interveno
humana. Para isso, esta rea investiga mtodos que tornam o comportamento do rob o mais
prximo possvel do ser humano. As pesquisas na robtica mvel envolvem alm da Computao, estudos de diversas outras reas como Engenharia Eltrica, Engenharia Mecncia, Fsica,
Matemtica, Estatstica, entre outros. Diversas propostas de robs mveis tm sido apresentadas, entre elas destacam-se aqueles utilizados nas exploraes espaciais, servios domsticos,
atividades agrcolas e servios militares (Murphy, 2000).
1

1.1. Motivao

Apesar das diversas propostas de aplicaes para a robtica mvel, esta ainda uma rea
relativamente nova (Thrun et al., 2005), sendo que seus primeiros robs datam do perodo
da segunda guerra mundial (Sandler, 1991). Alm disso, por diversos motivos, relativamente
poucos robs so comercializados. Uma das razes o alto custo para a sua produo. Outro
fator que no h uma garantia de que os algoritmos implementados iro funcionar em todas as
circunstncias, principalmente nas imprevistas. Dessa forma, a maioria dos robs comerciais,
at o momento, trabalha apenas em ambientes controlados como no interior de casas ou dentro
de fbricas, pois existe um menor nmero de elementos a serem considerados. Por outro lado,
robs que atuam em ambientes externos como, por exemplo, em uma rua, devero identificar as
regies transitveis, reconhecer os objetos que so obstculos e aqueles que no so, alm da
necessidade de correo da leitura dos sensores prejudicada por fatores naturais.
Para entender melhor o problema para possibilitar a atuao de um rob no ambiente externo, podemos citar a competio DARPA Grand Challenge (Thrun et al., 2006), organizado
pela agncia militar norte-americana DARPA. Este desafio compreendeu em uma corrida realizada entre diversos carros autnomos no-tripulados, sendo que a equipe vencedora recompensada com um prmio em dinheiro. A primeira edio desse evento, ocorrido em 2004,
consistia em atravessar o deserto de Mojave (EUA) com 240 km de extenso, utilizando um
veculo autnomo. No entanto, nenhum dos 107 robs (carros) inscritos completou a prova. No
ano seguinte, ocorreu a sua segunda edio, observando-se um grande progresso das equipes,
sendo que dentre os 195 robs inscritos, 5 conseguiram concluir a prova. Em 2007, foi lanado
o DARPA Urban Challenge, em que diferentemente dos desafios anteriores, neste, as provas foram efetuadas em ambientes urbanos do estado da Califrnia (EUA). Dessa forma, os veculos
autnomos tinham que seguir as regras de trnsito local para cumprir as tarefas. Nessa edio,
dentre os 55 inscritos, 3 carros conseguiram cumprir todas as provas. Isto mostra claramente
o avano das tcnicas de controle de robs mveis, uma vez que o problema de automatizao
no est no hardware, mas sim no software do rob. Por outro lado, percebe-se que esta no
uma tarefa simples, sendo necessrio um maior amadurecimento nas pesquisas dessa rea.

1.1

Motivao

Um dos ramos que vem explorando a atuao de robtica em ambientes externos o setor automobilstico. Existem inmeras vantagens de se automatizar totalmente um automvel. Uma
delas a possibilidade da pessoa encarregar a tarefa rdua de dirigir horas e horas ao prprio
carro. Outra vantagem a possvel reduo no nmero de acidentes de trnsito, que consequentemente poderia diminuir os gastos com reparos de veculos e atendimento s vtimas. Alm

Captulo 1. Introduo

disso, muitos deficientes fsicos tambm se beneficiariam com essa tecnologia, utilizando-o
para se locomoverem com maior facilidade e dispensando a presena de outra pessoa para essa
tarefa. Essa mesma idia poderia ser estendida para a aviao e embarcaes. Assim, independente do meio de transporte, no seria mais necessrio o seu controle pelo homem, mas apenas
pelo sistema de navegao do rob.
O uso de robs autnomos poderia tambm ser ampliado a outras aplicaes como, por
exemplo, na atuao de veculos em regies contaminadas por produtos txicos, mapeamento
de reas com risco de desabamento e tambm em atividades militares. Com isso, pessoas que
trabalham em locais de risco ficariam encarregadas simplesmente de atribuir um conjunto de
tarefas para o veculo, eliminando riscos de acidentes.
O Laboratrio de Robtica Mvel do ICMC-USP em parceria com o INCT-SEC (Instituto
Nacional de Cincia e Tecnologia em Sistemas Embarcados Crticos), por meio do financiamento da FAPESP (Fundao de Amparo Pesquisa do Estado de So Paulo) e do CNPq
(Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico) tem participado de um projeto para automatizao de um carro. O veculo est equipado com sensores laser, cmera, GPS
e IMU. Nesse sentido, o sistema de mapeamento proposto pode contribuir significativamente
para o desenvolvimento de um sistema de navegao veicular autnomo nacional.

1.2

Objetivos

Este trabalho teve como objetivo principal, o desenvolvimento de algoritmos que auxiliam na
atuao de robs autnomos em terrenos externos semi-estruturados ou desestruturados. O
sensoriamento do ambiente externo pelo rob realizado atravs de um sensor laser.
Basicamente foram desenvolvidos dois conjuntos de algoritmos, um para realizar o mapeamento do ambiente e outro para a classificao dos terrenos. O algoritmo de mapeamento gera
representaes computacionais do cenrio de forma que o rob possa identificar os elementos
presentes ao seu redor. Enquanto que no algoritmo de classificao realizada a deteco das
pores do terreno que so consideradas navegveis para o rob e aquelas que no so. Para
a classificao, foram utilizados dois mtodos de aprendizado supervisionado, sendo estes, redes neurais artificiais e mquinas de suporte vetorial. Para o desenvolvimento e simulao dos
programas, alm do controle do rob real para a coleta de dados do ambiente, foi utilizada a
biblioteca Player/Stage.
O sistema de navegao desenvolvido poder futuramente ser aplicado aos veculos terrestres, tornando possvel a locomoo dos mesmos sem a necessidade do controle humano,
facilitando no acesso a ambientes desestruturados considerados inacessveis ou perigosos.

1.3. Organizao

1.3

Organizao

Os captulos seguintes da monografia abordaro os seguintes contedos:


Captulo 2: Modelos de sensores mais utilizados na robtica mvel.
Captulo 3: Principais conceitos da robtica mvel, sendo eles, mapeamento, localizao
e navegao.
Captulo 4: Tcnicas para navegao e mapeamento em ambientes externos utilizados
atualmente.
Captulo 5: Ambiente de simulao e programao de robs mveis Player/Stage adotado
neste trabalho.
Captulo 6: Mtodos de aprendizado de mquina utilizados no projeto.
Captulo 7: Desenvolvimento e os resultados obtidos do projeto.

C APTULO

2
Sensores

s tarefas essnciais de um rob mvel, tais como: a estimao da sua posio, a construo do mapa local e o deslocamento de um local para outro, no seriam possveis
se o rob no pudesse interagir com o ambiente. O rob, da mesma forma como
qualquer ser vivo, necessita de determinados mecanismos para capturar informaes do seu
meio e posteriormente gerar algum comportamento especfico (Murphy, 2000). Por isso, para
que o rob mvel possa atuar em qualquer ambiente, fundamental que seja estabelecido algum
mtodo de percepo. Os mecanismos responsveis pelo sistema de observao do rob so os
sensores. As aes do rob so calculadas atravs das medies dos sensores e pela extrao de
informaes significativas dessas medies (Siegwart e Nourbakhsh, 2004). Atualmente existem inmeros sensores disponveis no mercado, sendo que cada um deles est direcionado a
um propsito especfico. No decorrer desta seo sero abordados alguns dos sensores mais
utilizados na robtica mvel.

2.1

Modelo Comportamental do Rob

O processo de aquisio de dados do ambiente e a sua transformao em ao resumido por


meio da Figura 2.1. Existem trs fases distintas envolvidas nesse processo. Na primeira etapa,
o sensor captura sinais do ambiente e transforma-os em dados interpretveis para o computador
ou para o ser humano, sendo nesse caso, referido como observao. Em seguida, por meio
5

2.2. Classificao dos Sensores

Ambiente

Sensores

Observao

Sensoriamento

Ao do
Rob

Percepo

Esquema
Perceptivo
Comportamento

Esquema
Motriz
Ao

Figura 2.1: Processo de interao com o ambiente por meio de sensores.


do esquema perceptivo, esses dados so convertidos em informaes teis ao rob, como posio de objetos ou velocidade do rob, na qual chamado de percepo. As informaes
da percepo so associadas aos comandos do rob, como por exemplo, virar esquerda devido deteco de uma parede. Por fim, o conjunto de comandos executado durante a fase
denominada ao (Murphy, 2000).

2.2

Classificao dos Sensores

De acordo com (Murphy, 2000) e (Siegwart e Nourbakhsh, 2004), os sensores podem ser classificados de duas formas. A primeira classificao leva em conta o meio em que efetuada a
medio, sendo ela dividida em sensores proprioceptivos e exteroceptivos.
Proprioceptivo: Os sensores medem valores de componentes internos do rob. Por exemplo, velocidade, carga da bateria, inclinao e altura do rob.
Exteroceptivo: Os sensores adquirem dados do meio externo ao rob, ou seja, do ambiente ao seu redor. Por exemplo, temperatura, iluminao e distncia dos obstculos.
A segunda forma de classificao tem em vista a forma como os sensores capturam os sinais,
podendo ser um sensor passivo ou ativo:
Passivo: Sensores que recebem apenas energia do meio. Por exemplo, cmeras, microfones e termmetros.
Ativos: Sensores que emitem energia no ambiente para realizar as medies. Por exemplo, lasers, sonares e infravermelho.

Captulo 2. Sensores

2.3

Odmetros

Os odmetros so os tipos de sensores mais utilizados na robtica, principalmente pelo fato


de possurem um baixo custo comercial, boa preciso em curtas distncias e apresentarem alta
taxa de amostragem (Borenstein et al., 1997). Esses sensores possibilitam realizar a medio
da velocidade do rob e da distncia percorrida. Para aumentar a sua preciso, normalmente
os odmetros so utilizados juntamente com outros sensores, pois, a longo prazo, o sistema
de estimao da posio inevitavelmente acumula erros. Os erros de estimativa podem ser
causados por diversas razes, dentre elas citamos as principais (Borenstein e Feng, 1996):
Atrito da superfcie: Dependendo do local em que o rob est se movendo, as rodas realizam mais ou menos revolues para um mesmo espao a ser percorrido. Isto causado
pela variao na fora de atrito gerada atravs da frico entre a roda e o cho. As superfcies lisas possuem a tendncia de causarem maior derrapagem nas rodas. Por isso,
prefere-se o uso de superfcies mais speras para se reduzir os erros de medio.
Diferena entre os dimetros das rodas do rob: Uma pequena variao no tamanho das
rodas pode causar um pequeno desvio angular na trajetria do rob que poder se acumular ao longo do tempo.
De uma forma geral, os erros de odometria so classificados em dois tipos quanto localizao
da fonte geradora do erro (Borenstein e Feng, 1996):
Erros sistemticos: So erros causados pelas imperfeies fsicas do rob (exemplo: dimetro das rodas diferentes).
Erros no-sistemticos: Erros causados pela interao das rodas do rob com o solo
(exemplo: derrapagem das rodas no gelo).
Os mecanismos mais comuns para o funcionamento do odmetro utilizam encoders pticos
(Figura 2.2). O encoder formado por um disco que possui vrios furos dispostos em distncias
regulares em sua extremidade. O disco est junto roda do rob e, assim, os dois giram na
mesma velocidade. No momento em que a roda gira, um feixe de luz atravessa os furos do
disco, gerando uma onda quadrada que representa a freqncia de leitura desse feixe. A partir
da anlise da onda quadrada, so estimadas a velocidade e a distncia percorrida do rob.

2.4. Dispositivos GPS

Figura 2.2: Representao de um encoder ptico (adaptado de (Borenstein et al., 1997)).

2.4

Dispositivos GPS

Um recurso inicialmente exclusivo dos militares, os dispositivos GPS (do ingls, Global Positioning System) esto ganhando cada vez mais espao na robtica, sendo amplamente aplicados
na localizao de robs mveis. O GPS calcula a sua posio geogrfica triangulando-se em relao a no mnimo quatro satlites, determinando a localizao atravs das diferenas no tempo
existentes para a chegada das informaes dos satlites (Borenstein et al., 1996).
Em geral, a preciso do GPS est em torno de 15m. A preciso do GPS pode ser influenciada pelo nmero de sinais de satlites recebidos, a disposio geomtrica dos satlites e a
existncia de construes prximo ao receptor (Balaguer e Carpin, 2008). Porm, existe um
mtodo denominado DGPS (do ingls, Differential GPS) no qual associa dois receptores GPS,
aumentando-se a preciso para 10cm. O primeiro sensor fixado em um ponto cuja posio
conhecida e apenas o segundo GPS utilizado pelo usurio. Dessa forma, os erros acumulados
no GPS fixo podem ser determinados e em seguida descontados do segundo GPS (Borenstein e
Feng, 1996)(Murphy, 2000).
Uma grande desvantagem destes sensores a impossibilidade de utilizao em ambientes
internos. Analogamente aos aparelhos celulares, o seu uso pode ser comprometido devido
perda dos sinais causada pelas estruturas das construes.

2.5

Sensor Laser

Os sensores laser ou lidar (do ingls, light detection and ranging) permitem coletar dados do
ambiente por meio de repetitivas emisses de radiao eletromagntica ao meio (Figura 2.3(a)).
Para cada pulso de laser emitido pelo sensor, medido o tempo decorrido entre a sua sada e a
sua respectiva captura pelo sensor. Com esse tempo, calculada a distncia dos objetos sua
frente (Borenstein et al., 1997).

Captulo 2. Sensores

(a)

(b)

Figura 2.3: (a) Funcionamento de um sensor laser (adaptado de (Siegwart e Nourbakhsh,


2004)). (b) Modelo de sensor laser SICK LMS 200.
Sensores tais como o SICK LMS 200, mostrado na Figura 2.3(b), apresentam boa preciso
dos dados coletados. Com eles, pode-se ter uma resoluo angular de 0,5 , com alcance de at
81,90m, coletando 180 pontos (dados) do ambiente a uma freqncia de no mximo 75Hz. Uma
caracterstica deste sensor que deve ser levada em considerao que este realiza apenas leituras
planares, sendo assim, chamados de sensores 2D. Para cada ponto capturado so retornados
dois valores: a distncia e o ngulo do ponto em relao direo de emisso do feixe do
laser. Existem modelos de sensores lasers 3D, porm so muito mais caros e, em geral, no
apresentam uma preciso to boa quanto aos sensores 2D. Por serem dispositivos que emitem
luz, estes sensores so incapazes de detectar superfcies que no refletem perfeitamente a luz,
como no caso de vidros.

2.6

Sonares

Tendo um princpio de funcionamento similar ao do sensor laser, o sonar (do ingls, sound navigation and ranging) ou sensor ultrasnico utiliza o som para detectar os objetos que esto sua
volta. O sonar, como mostrado na Figura 2.4, possui uma membrana que vibra de acordo com
pulsos de uma onda, emitindo um sinal sonoro com uma determinada freqncia, gerando-se,
um "cone"que varre uma rea do ambiente. O som refletido, ou ecoado, captado pela mesma
membrana, gerando um sinal que amplificado e posteriormente filtrado. Quando o sinal recebido muito fraco, considera-se o som captado como sendo uma forma de rudo (Borenstein
et al., 1996). Caso contrrio, o sinal validado e computado o tempo gasto para sair e voltar
membrana. A partir desse valor, pode-se determinar a distncia do objeto ao sensor. Como os
sonares possuem o campo de viso em formato de cone e retornam apenas a distncia radial at

10

2.7. Consideraes Finais

Figura 2.4: Modelo de um sonar. A parte circular corresponde membrana e o circuito que se
interliga encarregado de analisar o som capturado pelo sensor (Murphy, 2000).
o obstculo mais prximo, no so capazes de informar o ngulo em que o objeto foi detectado
(Borenstein e Koren, 1991). Um modo de contornar esse problema o uso associado de vrios
sonares para se ter uma melhor estimao da localizao do objeto.
Apesar de serem dispositivos baratos e apresentarem uma razovel faixa de alcance, os
sonares apresentam algumas limitaes (Murphy, 2000). Um dos problemas que pode ocorrer
a reflexo do som em superfcies com ngulos agudos, fazendo com que o som no volte ao
sonar. Este fato denominado reflexo especular ou regular. O ideal seria refletir o som em
superfcies planas e paralelas em relao membrana do sonar.

2.7

Consideraes Finais

Os sensores so uns dos dispositivos mais fundamentais da robtica. por meio deles que os
robs conseguem capturar as informaes do ambiente. Cada tipo de sensor possui um mtodo
especfico para a coleta de dados do meio, sendo assim, a escolha do sensor implica diretamente
no modo como o rob ir interagir com o ambiente.
Este captulo apresentou alguns dos sensores mais utilizados na robtica, sendo eles: odmetro, sensor laser e sensor sonar. Foram descritos o funcionamento, vantagens e desvantagens
de cada um. No Captulo 3 sero apresentados mtodos computacionais fundamentais que possibilitam a atuao do rob no ambiente utilizando os dados coletados pelos sensores.

C APTULO

3
Algoritmos Fundamentais da
Robtica Mvel

robtica mvel autnoma uma subrea da robtica que tem como objetivo desenvolver dispositivos capazes de se deslocarem sem o controle humano para cumprir
determinadas tarefas. Dentre as principais vantagens dos robs autnomos est a
aplicao industrial com a substituio parcial ou total do homem em trabalhos pesados e arriscados, aumentando-se a produtividade e a segurana do trabalhador (Thrun, 2003). A rea
militar tem investido muito na robtica, com a construo de veculos autnomos para evitar a
perda de grande quantidade de soldados durante as suas operaes (Bishop, 2000) (Rasmussen,
2002). Com o barateamento dos componentes eletrnicos, vem se observando o crescimento do
nmero de robs domsticos disponveis no mercado. Exemplos de robs venda esto: robs
aspiradores, robs cortadores de grama, mquinas agrcolas autnomas, alm de inmeros robs
com fins de entretenimento.

Sendo uma rea multidisciplinar, a robtica mvel envolve problemas de diversas reas
como a Fsica, a Matemtica, a Engenharia e principalmente a Computao. Esta ltima
compromete-se com a criao de programas de forma a tornar o rob capaz de tomar as decises corretas para a execuo das tarefas. Em outras palavras, a Computao tem como objetivo desenvolver a parte inteligente do rob. O sistema inteligente consiste no controle do
rob, que composto por trs elementos: sensoriamento, planejamento e ao (Gat, 1998). O
11

12

3.1. Mapeamento

processo de sensoriamento permite ao rob capturar informaes do ambiente para calcular a


posio do mesmo e dos obstculos sua volta. O planejamento permite determinar as rotas a
serem percorridas pelo rob utilizando os dados do ambiente. E na ao, o rob ir executar as
operaes mecnicas necessrias para seguir as rotas estabelecidas na etapa de planejamento.
Neste captulo sero apresentados conceitos bsicos sobre mapeamento, localizao e navegao. Estes assuntos so muito importantes para compreender as principais idias envolvidas
no projeto, as quais so mapeamento e navegao. Dessa forma, aqui ainda no ser focada
a atuao dos robs mveis em ambientes externos, mas apenas em ambientes internos. Com
isso, o objetivo deste captulo a de introduzir o conceito de robtica mvel. Assim, no sero necessariamente apresentadas as tcnicas e os mtodos mais inovadores, porm, os mais
importantes.

3.1

Mapeamento

Uma das funes fundamentais do rob para que possa cumprir corretamente suas tarefas, tanto
em ambientes internos como nos externos, a aquisio de informaes espaciais do ambiente
em que se situa atravs da construo de mapas do local. Sem esses mapas, o clculo da posio
relativa dos objetos ao redor do rob e tambm a determinao das rotas a serem seguidas seriam
mais difceis e imprecisas (Kortenkamp et al., 1998). Com isso, importante que o rob consiga
realizar corretamente o mapeamento do local, pois mapas imprecisos podem implicar na falha
de interpretao do posicionamento do rob, causando a execuo imperfeita de suas operaes.
Para o processo de mapeamento, essencial que o rob esteja equipado com sensores. Dentre os
sensores mais utilizados para esta tarefa esto: sensores laser, cmeras, odmetros, dispositivos
GPS e sonares. Os principais sensores so apresentados no captulo sobre sensores (Captulo 2).
Geralmente, os mapas utilizados pelos robs so classificados, de acordo com a sua estrutura, em dois tipos: mtricos ou topolgicos (Murphy, 2000) (Thrun, 2003). Os mapas mtricos
normalmente so representados atravs de um plano dividido em clulas de tamanhos iguais,
que tambm chamada de grade (ou grid). Cada clula representa uma poro fixa do espao e
armazena um valor que indica o estado desta clula como, por exemplo, a presena ou a ausncia de um obstculo (Thrun, 1998). Na Figura 3.1(a) ilustrado um exemplo de mapa mtrico,
sendo que os pontos escuros representam obstculos e os claros, regies livres. O mapa mtrico
mais comum a grade de ocupao que ser visto mais frente.
No caso dos mapas topolgicos, diferentemente do mtodo anterior, o ambiente representado por meio da conexo entre pontos de referncia (Thrun, 2003). Assim, nesse mapa,
so utilizados grafos para a representao do ambiente, onde os ns representam determinados

Captulo 3. Algoritmos Fundamentais da Robtica Mvel

13

(a) Mapa Mtrico

(b) Mapa Topolgico

Figura 3.1: Tipos de mapas utilizados na robtica (Thrun, 2003).


locais (por exemplo, cmodos de uma casa) e as arestas so utilizadas para indicar a existncia
de algum caminho entre esses lugares (Figura 3.1(b)). Os mapas mtricos possuem a vantagem
de serem mais robustos, pois garantem uma localizao precisa e apresentam um bom funcionamento em locais fechados. Por outro lado, os mapas topolgicos, por serem mais compactos
(em termos de armazenamento), facilitam o planejamento rpido de rotas do rob (Congdon
et al., 1993) (Thrun e Bcken, 1996). Cada uma destas representaes ser vista com mais
detalhes nas prximas subsees.

14

3.1.1

3.1. Mapeamento

Grades de Ocupao

O mapeamento por grades de ocupao (tambm conhecido como occupancy grid ou certainty
grid) foi introduzido por Hans Moravec e Alberto Elfes em 1985 (Moravec e Elfes, 1985) e at
hoje uma das representaes mtricas mais utilizadas (Thrun et al., 2000). A idia central das
grades de ocupao gerar os mapas levando-se em conta a impreciso e o rudo presente nas
medies feitas pelos sensores dos robs (Thrun et al., 2005).
Nesta tcnica utiliza-se uma rea reticulada, onde cada clula armazena um valor binrio,
indicado por m, que especifica se esse campo est ocupado (m = 1) ou livre (m = 0). Dessa
forma, conhecendo-se de antemo a posio x e o conjunto das medies z realizadas pelo
rob, a grade de ocupao utiliza essas informaes para calcular a probabilidade a posteriori
de todas as clulas do mapa. A probabilidade calculada por meio da seguinte expresso:
p(m|z, x)

(3.1)

Em muitos casos, a dimenso do mapa pode ser muito grande, chegando a milhares de clulas. Em um mapa com n clulas e considerando que cada uma pode armazenar dois valores (uma
para indicar que a clula est vazia e outra para indicar que est ocupada), o nmero de mapas
diferentes que poder ser representado ser 2n . Isso torna o problema extremamente complexo
para valores de n muito grandes. Para contornar essa restrio, o clculo da probabilidade a
posteriori divido em subproblemas menores. Sendo assim, ao invs de calcular diretamente
a probabilidade do mapa, calcula-se a probabilidade de cada uma das clulas, multiplicando-as
no final (Thrun et al., 2005). Entretanto, deve-se observar que essa simplificao no permite
mais assumir dependncia entre as clulas.
Outro conceito importante existente na grade de ocupao o modelo inverso de sensor
(ou inverse sensor model). Esse modelo expressa a probabilidade de uma clula estar ocupada
por um obstculo a partir das leituras realizadas pelo sensor, existindo um modelo especfico
para cada tipo de sensor (Thrun, 2003). Por exemplo, no modelo de um sonar, as clulas que
se encontram na faixa do arco do cone tm o valor da probabilidade de ocupao incrementada,
enquanto que a probabilidade de ocupao das clulas internas ao cone de leitura decrementada. Na Figura 3.2 apresentado o modelo de sensor inverso de um sonar, onde a probabilidade
de ocupao das clulas representada por meio de cores. As cores mais escuras remetem a
uma probabilidade de ocupao alta e cores mais claras o contrrio.

Captulo 3. Algoritmos Fundamentais da Robtica Mvel

15

Figura 3.2: Modelo de sensor inverso de um sonar. Clulas claras denotam regies livres e
clulas escuras, reas ocupadas (Thrun, 2003).

3.1.2

Mapas Topolgicos

Ao contrrio dos mapas mtricos, os mapas topolgicos so as representaes que mais se


assemelham maneira de como o homem se orienta em um ambiente desconhecido. Nesses
mapas, os elementos do ambiente so utilizados como pontos de referncia para a localizao
do rob. Assim, objetos como portas, cadeiras e marcaes podem ser aproveitados para a
orientao do rob.
De acordo com o objeto utilizado, os pontos de referncia podem ser naturais ou artificiais:
Pontos de referncia naturais: Compreende-se do conjunto de elementos que a princpio
no foram construdos para serem utilizados como marcos de referncia. Tais elementos
podem ser casas, monumentos, prdios e rvores.
Pontos de referncia artificiais: Consiste nas caractersticas adicionadas aos objetos de
forma a oferecer suporte ao reconhecimento do ponto de referncia. Esses elementos
so facilmente encontrados no trnsito, como os adesivos refletivos nas pistas e placas de
trnsito com figuras e cores para facilitar a identificao delas.
Como os mapas topolgicos dependem apenas de caractersticas do ambiente, a estrutura
do mapa constituda basicamente dos pontos de referncia e das ligaes entre eles. Com o
intuito de facilitar a representao computacional, os mapas so construdos por meio de grafos,
onde os ns representam os pontos de referncia e as arestas indicam a interligao entre os
pontos de referncia. Na Figura 3.3 ilustrado o mapa topolgico de um escritrio. As salas
e os corredores so representados por meio de ns no grafo e as arestas indicam a existncia
de uma passagem de um local para outro. Em comparao com os mapas mtricos, os mapas
topolgicos tm a vantagem de serem mais compactos, pois armazenam poucos elementos do
cenrio em sua estrutura. Porm, estes ltimos, devido sua representao simplificada, no

16

3.2. Localizao

Figura 3.3: Mapa topolgico de um escritrio. Os ns representam os cmodos e as arestas


indicam a existncia de uma passagem entre os ns (Siegwart e Nourbakhsh, 2004).
retratam a geometria do ambiente e, com isso, no possibilitam determinar com preciso a
localizao do rob no ambiente.
Existem diversos trabalhos sobre tcnicas de criao de mapas topolgico na literatura como
(Kuipers e tai Byun, 1991), (Mataric, 1990) e (Mata et al., 2003). Em (Thrun et al., 1998b)
apresentado um mtodo para converso dos mapas mtricos em mapas topolgicos, resultando
em representaes mais compactas. Esta tcnica consiste em seccionar os espaos livres do
mapa mtrico para determinar os ns do mapa. A Figura 3.4 ilustra os resultados decorrentes
dos passos realizados nesse mtodo. A reduo da quantidade de informaes para a descrio
do ambiente pode ser constatado pela comparao do mapa mtrico original(Figura 3.4(a)) com
o mapa topolgico resultante (Figura 3.4(d)).

3.2

Localizao

O problema de localizao de robs mveis no o foco deste trabalho, porm, um assunto


importante diretamente relacionado com o processo de navegao e mapeamento. Como ser
visto, vrios mtodos de localizao dependem dos mapas do ambiente para estimar a posio
do rob de forma precisa.
Analogamente aos seres humanos, para um rob autnomo chegar a um local do mapa
necessrio conhecer a sua localizao. Em teoria, tendo-se o mapa prvio do ambiente, o
problema de localizao do rob poderia ser resolvido com mtodos de transformao de coordenadas. Nesse processo, as coordenadas locais obtidas pelo odmetro seriam transformadas

Captulo 3. Algoritmos Fundamentais da Robtica Mvel

17

(a) Diagrama de Voronoi (Mapa Original)

(b) Pontos e linhas crticos

(c) Diviso em regies

(d) Mapa final

Figura 3.4: Passos para a criao de um mapa topolgico a partir de um mapa mtrico (Thrun
et al., 1998b).
em coordenadas relativas ao mapa (coordenadas globais). Entretanto, como normalmente a leitura realizada pelo odmetro afetada por rudos (mais detalhes no Captulo 2.3), necessrio
o uso de tcnicas de localizao que levem em conta esse fator.
Uma das solues amplamente utilizadas associar informaes provindas de outros sensores ao odmetro para aumentar a preciso da localizao (Thrun, 1998) (Siegwart e Nourbakhsh,
2004). O uso conjunto de sensores exteroceptivos (por exemplo, sensor laser) com o odmetro
possibilita a utilizao de tcnicas que associam as leituras atuais com as anteriores para se
estimar a posio atual. Pelo fato das leituras dos sensores serem armazenadas nos mapas,
essencial que esses ltimos no contenham erros para evitar falhas no processo de localizao.
De uma forma geral, o problema de localizao pode ser classificado em trs tipos (Thrun et
al., 2005) (Borenstein et al., 1996) (Burgard et al., 1996):

18

3.2. Localizao
Rastreamento da Posio (ou Position Tracking): Nesse problema, considera-se que a posio inicial do rob em relao ao mapa (posio global) conhecida. Entretanto, com a
movimentao do rob, a localizao prejudicada devido aos erros de leitura do sensor,
como por exemplo, o odometro. O problema de rastreamento da posio tem como foco
estimar esses erros, de forma a calcular corretamente a posio local do rob. Normalmente os erros so aproximados por meio de uma distribuio unimodal (por exemplo,
distribuio normal).
Localizao Global (ou Global Localization): Ao contrrio do problema de rastreamento
da posio, na localizao global o rob no conhece a sua posio inicial no mapa. Dessa
forma, so buscadas estratgias para se estimar a posio inicial do rob, considerando
inclusive, o problema de rastreamento da posio.
Problema do Rob Raptado (ou Kidnapped Robot Problem): Esse problema uma extenso da localizao global. No problema do rob raptado, assume-se que a qualquer
momento, o rob poder ser transferido para outra posio sem ser informado. Caso isso
ocorra, o rob dever detectar a alterao em sua posio e logo em seguida, calcular a
sua nova localizao. Em termos prticos, a ocorrncia dessa situao mnima. Porm,
esse problema pode ser utilizado para verificar a capacidade de recuperao do rob em
falhas repentinas, de forma que possa manter o sistema de localizao intacto.

Atualmente existem diversas tcnicas que possibilitam estimar precisamente a posio do


rob. A maioria delas tem foco nos problemas de rastreamento da posio. Algumas das
abordagens podem ser encontradas em (Schiele e Crowley, 1994). Em relao ao problema de
localizao global, muitos focam o uso de mtodos estatsticos (Thrun et al., 2000). Entre eles
destacam-se: Filtro de Kalman (Smith et al., 1990), mtodo de Monte Carlo (Dellaert et al.,
1999) e mtodo de grid (Fox, 1998).
Com o intuito de ilustrar o funcionamento do processo de localizao, representado na
Figura 3.5 o funcionamento do algoritmo de localizao por mtodo de Markov. A primeira
figura (item a) mostra um rob percorrendo um corredor, mas no se sabe a sua posio. O
grfico da funo bel(x) (ou funo belief ) representa a estimao da posio calculada pelo
rob. No momento em que encontra uma porta (item b), o algoritmo de localizao logo conclui
que o rob est em uma das trs portas possveis. Quando o rob no observa mais nenhum
ponto de referncia, o valor de bel(x) diminui (item c). Ao identificar a prxima porta, o
algoritmo mostra que h uma grande probabilidade do rob estar na segunda porta, j que esta
a mais prxima da primeira (item d). Por fim, quando o rob se locomove, bel(x) reduzido
novamente devido incerteza de sua posio (item e).

Captulo 3. Algoritmos Fundamentais da Robtica Mvel

19

Figura 3.5: Representao do funcionamento do algoritmo de localizao por Markov (Thrun,


2003).

3.3

Navegao

Como visto na Seo 3.1 e na Seo 3.2, os mtodos de mapeamento e de localizao so algoritmos bsicos necessrios para permitir a interao do rob com o ambiente. Entretanto, o uso
exclusivo desses mtodos no suficiente para o rob calcular as rotas que levem aos seus locais de destino. Dessa forma, os mtodos de navegao so introduzidos para definir estratgias
que permitam ao rob deslocar de um ponto a outro do mapa (Siegwart e Nourbakhsh, 2004).
Para determinar essas rotas, podem-se priorizar certas restries, como por exemplo, chegar ao
destino em menor tempo possvel ou gastar o mnimo de combustvel (Murphy, 2000).

20

3.3. Navegao

De acordo com (Lin et al., 2006) o processo de navegao composto pelos seguintes
componentes:
Mapeamento
Localizao
Planejamento de rotas
Desvio de obstculos
O problema de planejamento de rotas discute metodologias para se estabelecer os melhores
caminhos que levam o rob de um ponto A at B. Os algoritmos de planejamento de rotas
so divididos, de acordo com o mapa utilizado, em duas categorias: os que utilizam mapas
topolgicos e os que utilizam mapas mtricos (Heero, 2006). Obtidos os caminhos, o algoritmo
de desvio de obstculos utilizado para determinar as operaes mecnicas que o rob dever
tomar, de forma que trafegue na rota sem colidir com obstculos.

3.3.1

Planejamento de Rotas em Mapas Topolgicos

Como os mapas topolgicos esto estruturados por meio de grafos, podem-se aproveitar algoritmos de busca em grafos para gerar os caminhos de menor custo. Nesses algoritmos, dado
um grafo de entrada, um vrtice de partida e um vrtice de chegada, ser gerado na sada, um
conjunto de vrtices e arestas do grafo que interliga o vrtice de partida ao vrtice de chegada,
sendo que a soma dos pesos dessas arestas dever ser o menor possvel. Alguns dos algoritmos
de busca que podem ser utilizados so: Dijkstra, Floyd, Warshal, A? e programao dinmica
(Thrun et al., 1998b).

3.3.2

Planejamento de Rotas em Mapas Mtricos

Existem inmeros algoritmos para navegao em mapas mtricos. Uma das tcnicas mais utilizadas consiste na converso do mapa mtrico em um grafo, considerando cada clula como
um n e as arestas, as conexes entre as clulas. A partir disso, podem-se aplicar algoritmos de
busca de caminhos em grafos como A? ou D? . Existem tambm outros que so derivados destes, como Incremental A? , Focussed D? , D? lite e Delayed D? (Heero, 2006). Na Figura 3.6
ilustrado o resultado de um mtodo de planejamento de rotas proposto em (Thrun et al., 1998a).
Esse mtodo tem como base a programao dinmica e o algoritmo A? para gerar as rotas mais
curtas. O caminho gerado escolhendo-se sempre as clulas de menor custo.

Captulo 3. Algoritmos Fundamentais da Robtica Mvel

(a)

21

(b)

Figura 3.6: (a) Mapa original. (b) Caminho de custo mnimo obtido pela tcnica apresentada
por (Thrun et al., 1998a).

3.3.3

Desvio de Obstculos

Os mtodos de desvio de obstculos permitem que o rob percorra da maneira mais segura
possvel a trajetria definida no planejamento de rotas. Basicamente as rotinas que compem
o desvio de obstculos controlam a velocidade e orientao do rob, fazendo com que, por
exemplo, o rob no realize converses muito bruscas a fim de evitar colises com as paredes
ou outros obstculos. Os mtodos de planejamento de aes e de desvio de obstculos podem
ser classificados em dois grupos: globais e locais (ou reativos) (Siegwart e Nourbakhsh, 2004).
Globais: Neste mtodo, so determinados todos os movimentos a serem efetuados pelo
rob no trajeto, antes de iniciar a navegao do rob. Assim, esta abordagem depende
que os mapas estejam livres de erros e de imprecises para que o algoritmo seja eficiente.
E como, o clculo realizado em uma nica etapa para toda a trajetria, dependendo da
sua extenso, pode-se ter um custo computacional elevado.
Locais: Diferentemente da abordagem global, este mtodo avalia apenas pores do mapa
que esto prximas ao rob para se gerar os movimentos. Dessa forma, apresenta um
baixo custo computacional. Porm, as tcnicas locais para desvio de obstculos tm o
risco de carem em mnimos locais, principalmente em regies em formato de U.
Dentre os mtodos de desvio de obstculos globais podemos citar road-maps, decomposio
celular (ou cell decomposition) e campos potenciais (ou potential fields). Os mtodos de desvio

22

3.3. Navegao

(a) Mapa do ambiente

(c) Polar histogram

(b) Histogram grid

(d) Polar histogram sobreposto


ao histogram grid

Figura 3.7: Deteco de obstculos por VFH (Borenstein e Koren, 1991).


de obstculos locais, normalmente apresentam dois estgios distintos (Fox et al., 1997). A
primeira consiste em adquirir a direo do movimento e na segunda, so gerados os comandos
que iro movimentar o rob na direo especificada (Borenstein e Koren, 1990) (Khatib, 1986).
Outro estgio levantado em (Fox et al., 1997) o clculo da inrcia do rob para permitir, por
exemplo, a realizao de converses em curvas estreitas em altas velocidades.
Em relao s tcnicas de deteco de obstculos locais, podemos citar o mtodo de deteco de bordas (ou edge-detection) (Borenstein e Koren, 1991). Neste, como o prprio nome
diz, o rob toma como referncia a posio das bordas verticais existentes no cenrio para
contorn-los. Uma desvantagem presente neste mtodo a necessidade do rob ter que permanecer parado em frente ao obstculo para coletar informaes. Outra restrio a necessidade
de sensores precisos para efetuar a anlise do ambiente. Outra tcnica amplamente utilizada
o VFH (do ingls, Vector Field Histogram) (Borenstein e Koren, 1991). Nesta tcnica, o algo-

Captulo 3. Algoritmos Fundamentais da Robtica Mvel

23

ritmo conta com um mapa de histogramas, denominado histogram grid que mantm a confiana
da existncia de um obstculo em um determinado local (Figura 3.7(b)). Pode-se perceber que
esse mapa possui caractersticas similares s grades de ocupao. A partir do histogram grid,
constri-se outro grfico denominado polar histogram, o qual tem como objetivo restringir a
quantidade de informaes do primeiro mapa para focar apenas nos obstculos ao redor do
rob (Figura 3.7(c)). Dado um limiar, o rob escolhe as regies do grfico desse valor para
escolher seu prximo passo (Figura 3.7(d)).
Outro algoritmo amplamente utilizado so os campos potenciais (ou potencial fields), pois
so fceis de serem implentados (Borenstein e Koren, 1990). Nesse mtodo, cada obstculo
do mapa possui uma fora repulsiva e o destino, uma fora atrativa ao rob. Deste modo, o
rob tratado como um ponto no mapa influenciado pelos campos atrativos e repulsivos e, por
meio, deles obtido o modelo do movimento do rob (Figura 3.8). Entretanto esse mtodo
nem sempre garante as melhores solues, pois existe a possibilidade de encontrar mnimos
locais (Pimenta et al., 2006). Para contornar esse problema pode-se associar a essa tcnica as
transformadas de frente de ondas (Batavia e Nourbakhsh, 2000).
A abordagem proposta em (Thrun et al., 1998a) denominada de janela dinmica (ou dynamic
window) prope uma busca de controles admissveis em um espao de velocidades do rob.

Figura 3.8: Rota gerada atravs dos campos potenciais (Borenstein e Koren, 1990).

24

3.4. Consideraes Finais

(a)

(b)

Figura 3.9: (a) Cenrio percorrido pelo rob. (b) Espao de velocidade da viso local do rob
(Thrun et al., 1998a).
Essa tcnica permite que robs trafeguem a altas velocidades, tomando vantagem sobre outros
mtodos. O espao de velocidade um grfico contendo a representao local do ambiente,
sendo que dado um ponto para o qual se deseja se deslocar obtida a velocidade linear e angular
para que o rob possa se locomover com segurana at esse local. Alm disso, como o seu
algoritmo no apresenta uma complexidade elevada, pode-se garantir a eficincia do mtodo. A
Figura 3.9 mostra um exemplo do espao de velocidade de um corredor.

3.4

Consideraes Finais

Os algoritmos apresentados so essenciais para a robtica mvel, na medida que sem eles no
seria possvel realizar a navegao autnoma dos robs. Um algoritmo de navegao ideal
conta com quatro componentes: mapeamento, localizao, planejamento de rotas e desvio de
obstculos. O mapeamento tem como funo gerar informaes espaciais sobre o ambiente ao
redor do rob. Na localizao, a posio do rob determinada considerando-se os erros obtidos

Captulo 3. Algoritmos Fundamentais da Robtica Mvel

25

na leitura de seus sensores. O algoritmo de planejamento de rotas calcula o melhor trajeto a ser
percorrido pelo rob para se chegar ao seu destino. E por fim, no desvio de obstculos so
determinados os movimentos necessrios de forma que o rob trafegue pelo trajeto sem colidir
com obstculos.

C APTULO

4
Navegao e Mapeamento de
Ambientes Externos Utilizando Robs
Mveis

abordagem realizada no Captulo 3 teve como objetivo introduzir os elementos bsicos presentes no software de um rob mvel autnomo. Entretanto, muitos dos
algoritmos e mtodos apresentados aplicam-se apenas aos robs que trafegam em
ambientes internos, como, por exemplo, dentro de um andar de edifcio. Nesses casos, o ambiente possui apenas objetos estruturados (caixas, portas e paredes), no exigindo, portanto,
anlises muito complexas do cenrio. Quando se trata de um ambiente externo, existem inmeros parmetros adicionais a serem ponderados. A saber, um rob que trafega em um cenrio
urbano dever ter a capacidade de diferenciar entre regies trafegveis e no trafegveis, dever
considerar inmeros obstculos imprevistos (pedestres e animais), levar em conta novos fatores
de rudos em seus sensores (iluminao, tipo de terreno), alm de diversos outros aspectos. Por
essa razo, muitas vezes os robs que atuam em ambientes externos exigem algoritmos mais
complexos e robustos comparados aos que atuam apenas em ambientes internos. Conseqentemente, os algoritmos utilizados para operar robs em ambientes estruturados necessitam de
adaptaes para atuarem em ambientes externos.

27

28

4.1. Representao Computacional de Ambientes Externos

Neste captulo sero descritos dois componentes fundamentais para a operao de robs em
ambientes externos: mapeamento e navegao. Sero tambm discutidas algumas aplicaes
robticas que esto sendo pesquisadas atualmente na comunidade cientfica.

4.1

Representao Computacional de Ambientes Externos

Para permitir que o rob navegue em um ambiente desestruturado essencial que o mesmo
realize o mapeamento do cenrio ao seu redor para identificar as regies livres de obstculos e
seguir a sua rota com segurana. Normalmente, robs que navegam em locais internos trabalham bem com mapas bidimensionais (ou mapas 2D), j que ambientes desse tipo so altamente
estruturados e no apresentam alta complexidade. Em relao aos ambientes externos, mtodos
de representao como mapas topolgicos e mtricos (por exemplo, grades de ocupao) so
insuficientes para retratar detalhadamente todo o cenrio. Isto se justifica pelo fato de que os
mapas topolgicos so muito simples e os mapas mtricos, no caso das grades de ocupao, exigiriam alta capacidade de armazenamento para representar todo o ambiente (Thrun et al., 2004).
Para resolver esse problema, so adotados mtodos de representao tridimensionais utilizados
na visualizao computacional. Entre as diversas representaes de mapas tridimensionais (ou
mapas 3D) que podemos encontrar na literatura, podemos citar algumas mais utilizadas como,
nuvem de pontos (ou point clouds) e malhas triangulares (ou triangular meshes).
Os mapas do tipo nuvem de pontos so representaes do ambiente construdas a partir dos
dados brutos obtidos por meio de sensores laser. Como tais dados consistem basicamente de
um conjunto coordenadas de pontos, os mapas resultantes tm aspecto de uma malha de pontos
espalhados no ambiente (Figura 4.1(a)). As imagens em nuvem de pontos podem ser convertidas em estruturas slidas, para facilitar a sua visualizao. Uma das transformaes existentes
a triangulao de Delaunay, resultando em uma estrutura denominada malha triangular. Esses tipos de representaes so construdos a partir da unio dos pontos da nuvem de pontos,
resultando em imagens formadas por tringulos de diversos tamanhos que ressaltam o aspecto
tridimensional dos objetos (Figura 4.1(b)).

Captulo 4. Navegao e Mapeamento de Ambientes Externos Utilizando Robs Mveis

(a)

29

(b)

Figura 4.1: Imagem de um gato em nuvem de pontos (a) e em malha triangular (b) (Hormann
e Reimers, 2003).

4.2

Mapeamento Tridimensional de Ambientes Externos

Para que o rob determine se um objeto sua frente ser tratado como um obstculo ou no,
primordial que o mesmo seja capaz de mapear o ambiente. Como mencionado na Seo 4.1, os
ambientes externos so melhor representados por meio de mapas tridimensionais, pois permitem representar os obstculos com maior detalhamento em comparao com os mapas bidimensionais. Dentre os sensores mais utilizados para criar os mapas 3D encontram-se os sensores
laser e as cmeras. Considerando-se que o sensor laser o sensor adotado neste trabalho, sero
tomados como foco os mtodos que utilizam esse dispositivo para efetuar o mapeamento.
Existem vrios mtodos de mapeamento tridimensional que utilizam exclusivamente sensores laser 2D. Dentre os mais recentes, podemos citar (Thrun et al., 2000) que utiliza dois
sensores laser de alta resoluo afixados ao rob. Um sensor laser direcionado para frente
utilizado para a tarefa de localizao do rob no ambiente e o outro, direcionado para cima
utilizado para realizar o mapeamento 3D do ambiente. Com o sensor nesta configurao,
necessrio que o rob esteja em movimento para realizar a varredura do ambiente, uma vez
que estes sensores realizam apenas leituras planares. Para a localizao do rob, so utilizados
dados coletado por outros robs que circulam no mesmo ambiente. Na Figura 4.2(a) ilustrado
um cenrio virtual gerado por meio dessa tcnica.

30

4.2. Mapeamento Tridimensional de Ambientes Externos

(a)

(b)

(c)

Figura 4.2: Exemplos de resultados de mapas 3D obtidos utilizando-se sensor laser. (a) Mapeamento de um corredor realizado por grupo de robs (Thrun et al., 2000). (b)
Mapa de nuvem de pontos otimizado por meio da substituio de planos (Hhnel
et al., 2003). (c) Mapa de nuvem de pontos de um ptio (Wolf et al., 2005a).
Em (Wolf et al., 2005a), o grupo de robs substitudo por um GPS para estimar a posio
do rob. A partir disso, so mapeadas construes urbanas como prdios e casas em representao de nuvem de pontos (Figura 4.2(c)). Aproveitando-se a estrutura dessas construes,
pode-se realizar tambm a identificao do conjunto de pontos que formam planos no ambiente
para substituir tais pontos por simples planos. Isso permite reduzir drasticamente a quantidade
de memria necessria para armazenar os mapas (Figura 4.2(b)).
Na abordagem dada por (Harrison e Newman, 2008), o sensor laser 2D acoplado em
uma plataforma mvel fixada ao rob. Para realizar o mapeamento do ambiente, a plataforma
rotaciona o laser para cima e para baixo com um perodo de 1,2s, permitindo gerar as imagens
tridimensionais mesmo com o rob parado. Porm, para gerar um mapa perfeito do ambiente, a
cada leitura do laser necessrio conhecer precisamente a inclinao da plataforma. Isto acaba

Captulo 4. Navegao e Mapeamento de Ambientes Externos Utilizando Robs Mveis

31

demandando um sincronismo perfeito entre o sensor laser e o mecanismo de inclinao do laser,


o que nem sempre possvel. Uma metodologia similar apresentada em (Blaer e Allen, 2007),
porm, utilizado um sensor laser 3D, descartando-se a presena de uma plataforma mvel. O
problema desse mtodo o custo desses tipos de sensores que so muito mais caros em relao
aos lasers 2D.
No trabalho proposto em (Pfaff et al., 2007), utilizado um carro autnomo para construir mapas 3D de regies mais extensas, do tamanho de vilas ou pequenas cidades. O carro
equipado com um sensor GPS para a localizao do rob e cinco sensores laser 2D para mapeamento. Trs sensores laser esto direcionados para frente e os outros dois esto fixados
verticalmente em um suporte rotativo no teto do carro. Os sensores que esto fixados na frente
so utilizados para mapear o terreno, permitindo detectar as regies navegveis e os sensores
que esto na parte superior possibilitam a varredura completa ao redor do carro.
Dentre os trabalhos que realizam o mapeamento de ambientes, existem aqueles que focam
na construo de mapas 3D da superfcie na qual o rob trafega. Esses mapas so necessrios
para definir se um determinado obstculo poder ser atravessado ou desviado (Ye e Borenstein,
2004). O modelo de representao utilizado para ilustrar os terrenos um mapa comumente
utilizado na geologia denominado modelo de elevao (ou elevation map). Nesses mapas, a
geometria do terreno denotada por meio de pontos dispostos em uma grade, os quais se elevam
de acordo com a salincia do solo (Figura 4.3 (b)) (Kweon e Kanade, 1990).
Em (Wolf et al., 2005b) so utilizados robs mveis equipados com um sensor laser 2D
inclinado para baixo. A partir do mapa gerado do ambiente (Figura 4.3(a)), o terreno classificado em regies navegveis e no navegveis (Figura 4.3(b)). Dessa forma, locais planos, tais
como caladas so rotulados como seguros para a passagem do rob e superfcies no uniformes
como grama e cascalho so avaliadas como inseguras. No trabalho apresentado em (Schafer et
al., 2008), foi construdo um rob dedicado ao mapeamento de coberturas vegetais. Para isso, o
rob est munido alm do sensor laser, uma cmera estreo e um pra-choque sensvel presso. Devido ao fato do terreno estar parcialmente coberto pela grama, o modelo da superfcie
composto somente pelas leituras do sensor laser que no so interceptadas pela vegetao. Com
isso, calculado o ngulo de inclinao do terreno que, se for maior do que um limiar, o rob
procurar outra regio navegvel.
Entre outras tcnicas de mapeamento 3D, destaca-se o uso associado da cmera e do sensor
laser para permitir a recriao do ambiente levando-se em considerao a textura dos objetos,
resultando em mapas mais realsticos. Em (Bok et al., 2007) feita uma correlao entre os
pixels das imagens capturadas pela cmera com as coordenadas dos pontos coletados pelo laser.
Os dispositivos so fixados em um carro que realiza a coleta dos dados. Assim, ao invs de
criar mapas de nuvem de pontos, so criados mapas contendo as prprias imagens do ambiente

32

4.3. Navegao Autnoma em Ambientes Externos

(a)

(b)

Figura 4.3: Modelo de elevao gerada por meio do mapeamento de uma via pblica. O ambiente real apresentado em (a) e o seu respectivo mapa em (b).
(Figura 4.4(a)). De forma similar ao mtodo anterior, no trabalho proposto em (Banno e Ikeuchi,
2005), foi utilizado um balo com os mesmos sensores para mapear o ambiente. Porm, nesse
caso, a cmera desempenhou o papel de texturizador do mapa e de correo dos dados da leitura
do laser provocados pela trepidao do laser (Figura 4.4(b)).

4.3

Navegao Autnoma em Ambientes Externos

A navegao autnoma de robs mveis em terrenos irregulares exige a capacidade de escolher


apropriadamente os caminhos mais seguros frente do rob (Langer et al., 1994). Outra habilidade necessria a gerao correta dos comandos de direo e de velocidade para desviar
dos obstculos. Esses dois requisitos formam a negociao de obstculo (ou obstacle negotiation) (Ye e Borenstein, 2003). A tarefa de negociao de obstculos possui dois assuntos
relacionados: mapeamento de terrenos (Seo 4.2) e planejamento de rotas.
Cang Ye e Johann Borenstein ainda subdividem o tpico planejamento de rotas em dois
subproblemas, anlise da navegabilidade do terreno e gerao de rotas (Ye e Borenstein, 2004).
A anlise da navegabilidade do terreno tem como funo identificar no plano do rob as regies
que possibilitam realizar as travessias mais seguras. Aps essa verificao, a tarefa de gerao
de rotas se encarrega de traar no mapa os caminhos de menor custo at o destino.
Na literatura podem ser encontradas diversas metodologias para a deteco das regies navegveis de um terreno e tambm para a gerao das rotas. A tcnica adotada em (Castejon et al.,

Captulo 4. Navegao e Mapeamento de Ambientes Externos Utilizando Robs Mveis

33

(a)

(b)

Figura 4.4: Resultados de reconstruo em 3D de estruturas combinando sensor laser e cmera.


A figura (a) mostra um ambiente recriado com dados coletados por meio de um
carro (Bok et al., 2007) e a (b) por meio de um balo (Banno e Ikeuchi, 2005).
2008) identifica as reas navegveis atravs da anlise estatstica do terreno. Nesse processo,
calculada a varincia esfrica do cho para examinar o vetor normal dos pontos do mapa.
Utilizando-se essa anlise, ao contrrio dos outros mtodos, pode-se classificar a navegabilidade de estruturas inclinadas (pequenas pedras e rampas). As rotas do rob so construdas por
meio do diagrama de Voronoi, no qual computa as trajetrias maximizando-se a distncia entre
o rob e os obstculos.
O mtodo proposto em (Ye, 2007) para a identificao das regies navegveis consiste em
atribuir um ndice de navegabilidade em cada clula do mapa do terreno, resultando em um
mapa de navegabilidade do terreno. Esse processo composto por duas etapas. Na primeira
estimada a inclinao e a irregularidade do terreno e na segunda, calculado o ndice de navegabilidade para cada clula. Para o planejamento de rotas computado para cada clula ao redor

34

4.3. Navegao Autnoma em Ambientes Externos

(a)

(b)

Figura 4.5: (a) Rota gerada para a navegao do rob em ambientes externos (Ye, 2007). (b)
Mtodo de classificao de terreno, sendo que objeto amarelo representa troncos
de rvores, azul representa cabos, vermelho indica o cho e verde indica vegetao
(Lalonde et al., 2006).
do rob o ndice polar de navegabilidade que permite buscar e agrupar os morros e vales mais
seguros para a passagem do rob (Figura 4.5(a)).
Na abordagem proposta em (Lalonde et al., 2006) utilizado um classificador bayesiano
para rotular pores do mapa em trs categorias: "disperso"para indicar grama e folhagens; "linear", para representar fios e ramos de rvore e "superfcie", para objetos slidos, como pedras,
cho e troncos de rvores (Figura 4.5(b)). Dessa forma, ao invs de classificar simplesmente o
terreno em navegvel ou no, permite-se um refinamento mais detalhado do cenrio, possibilitando o uso do rob em ambientes compostos por vegetaes ou em florestas.
A estratgia tomada por pesquisadores da Universidade Carnegie Mellon (Hamner et al.,
2006) para planejar o controle do rob utiliza informaes de um veculo controlado manualmente para treinar o sistema de desvio de obstculos. Dessa maneira o rob simula os controles
de um humano para navegar pelo ambiente. No carro autnomo desenvolvido pela universidade
de Stanford (Stavens e Thrun, 2006), o processo de classificao de terrenos feito pelo clculo
da diferena das alturas dos pontos com seus adjacentes. Assim de acordo com esse resultado, a
clula classificada em livre, ocupado ou desconhecido. De forma a corrigir erros de classificao causados por erros de leitura dos sensores, utilizado um modelo markoviano que ajusta os
parmetros dos dados. As restries tomadas para a gerao das rotas levam em considerao o
nmero de obstculos sobre o caminho e rotas que esto o mais prximo possvel do centro da
via.

Captulo 4. Navegao e Mapeamento de Ambientes Externos Utilizando Robs Mveis

4.4

35

Aplicaes

Quando se trata de robs mveis autnomos que atuam em ambientes externos, pode-se pensar
em inmeras possibilidades de atuao desses mecanismos para auxiliar nas tarefas do homem.
Isso permite, por exemplo, utilizar robs para substituir o ser humano em trabalhos realizados
em lugares perigosos ou de difcil acesso. Dessa forma, um trabalho de risco poderia ser trocado
por uma simples tarefa de ajuste do rob.
Entre as diversas aplicaes possveis para esses robs, certamente uma das mais promissoras so os veculos autnomos. Uma das primeiras tentativas para se automatizar a direo
de um carro foi dada por uma iniciativa do governo europeu em um programa de reduo de
acidentes e aumento da eficincia do trfego denominado PROMETHEUS (Sun et al., 2004).
Entretanto, devido a dificuldades financeiras, esse projeto no conseguiu ter continuidade. No
ano de 2004, a agncia militar americana DARPA organizou a primeira competio entre carros autnomos, denominada Grand Challenge, oferecendo um prmio de um milho de dlares
para o primeiro colocado. A prova consistia em atravessar um trecho de 240 km do deserto
norte-americano utilizando um carro autnomo no tripulado. Mesmo com vrias equipes inscritas no evento, nenhuma conseguiu completar a prova, mostrando a grande dificuldade existente na construo de um carro autnomo. Este evento acabou por motivar toda a comunidade
cientfica, gerando excelentes trabalhos (Bajracharya et al., 2008). Em 2005, ocorreu a segunda edio do Grand Challenge, mantendo-se o objetivo do primeiro evento, mas agora com
prmio de dois milhes de dlares. Com os aperfeioamentos realizados nos carros, diversas
equipes conseguiram completar a prova, indicando um considervel progresso nas pesquisas. O
vencedor dessa edio foi a equipe da Universidade de Stanford, sendo que o carro autnomo
(Figura 4.6(a)) contava com 5 sensores lasers para mapeamento de ambiente e uma cmera para
detectar as regies navegveis (Thrun et al., 2006). A ltima competio de carros autnomos
promovida pelo DARPA ocorreu em 2007. Neste, focou-se a atuao dos carros em ambientes
urbanos, assim, a edio ficou conhecida como Urban Challenge. Aqui o desafio era construir
robs (veculos) capazes circular dentro de cidades da Califrnia respeitando as leis de trnsito
local (Patz et al., 2008). Desta vez, a equipe vencedora foi da Universidade de Carnegie Mellon (Urmson et al., 2008) que centralizou o sistema no planejamento dos movimentos do rob
(Figura 4.6(b)).
Outro evento relacionado chamado Tsukuba Challenge com menores propores em relao
ao DARPA foi realizado em 2007 no Japo (Morales et al., 2008). A idia dessa competio
era fazer um rob autnomo percorrer uma distncia de 1 km em uma via pblica, onde normalmente circulam pedestres e bicicletas. Dessa forma, os robs deveriam cumprir a prova

36

4.4. Aplicaes

(a)

(c)

(b)

(d)

Figura 4.6: (a) Stanley, carro vencedor da segunda edio do DARPA Grand Challenge. (b)
Boss, carro vencedor do DARPA Urban Challenge. (c) e (d) Cenrios do Tsukuba
Challenge.
evitando trazer qualquer perturbao ao pblico e tambm no efetuar alteraes no ambiente a
sua volta (Figura 4.6(c) e (d)).
Alm da automatizao de veculos, os robs autnomos podem ser aplicados na busca de
vtimas de acidentes em locais de difcil acesso ao homem, como em tneis, reas desabadas e
locais incendiados. Em (Kurisu et al., 2007) proposto um rob capaz de mapear ambientes
em busca de vtimas de acidentes utilizando um sensor laser. J em (Zhang et al., 2007) so
utilizadas cmeras para o resgate das vtimas. H tambm a proposta de um sistema para a
localizao de vtimas em avalanches (Pinies et al., 2006) e tambm uso de mapas de elevao
de terrenos para anlise de terremotos (Muller e Harding, 2007).
Nota-se que existem diversas reas nas quais os robs mveis podem ser aplicados, sendo
possvel auxiliar nas tarefas realizadas pelo homem ou at mesmo substituir completamente os
comandos do homem, como no caso dos carros autnomos. Porm muitas vezes, esses robs esto preparados para agirem apenas em ambientes controlados, funcionando assim, de um modo
restrito. Com isso, mesmo j tendo obtido excelentes resultados com robs autnomos, ainda

Captulo 4. Navegao e Mapeamento de Ambientes Externos Utilizando Robs Mveis

37

preciso muitas pesquisas para que os robs funcionem perfeitamente em qualquer situao,
sem oferecer risco ao usurio.

4.5

Consideraes Finais

Os robs que atuam em ambientes externos interagem com elementos que muitas vezes no
esto presentes em um ambiente internos. Como esses elementos no possuem uma estrutura
ou comportamento definido (terreno, rvores, pedestres), a anlise do cenrio ao redor do rob
torna-se uma tarefa difcil. Sendo assim, existem muitos problemas que ainda no foram resolvidos pela comunidade cientfica. Apesar disso, pode-se constatar por meio dos trabalhos publicados sobre esse tema, uma grande evoluo nas pesquisas. Pode-se dizer que os resultados
mais promissores provm dos veculos autnomos construdos para as competies organizadas pelo DARPA. Nela, foram apresentadas diversas solues inovadoras para problemas como
localizao, mapeamento e navegao de robs em ambientes externos.
Alm desses, h tambm diversas propostas interessantes para resolver problemas fundamentais de robs para trabalharem em ambientes externos. No caso de mapeamento, encontramos abordagens que utilizam associao de diversos sensores. Em relao navegao, tm-se
mtodos estatsticos e de aprendizado de mquina para resolver esse problema.
Observa-se que dada extenso do tema, diferentes propostas podem ser apresentadas, com
cada uma focando uma parte especfica do problema. Dessa forma, o presente trabalho pode
ser visto como uma contribuio para a rea da robtica, na qual apresenta novos mtodos de
mapeamento e navegao em ambientes externos.

C APTULO

5
Ambiente de Simulao de Robs
Mveis Player/Stage

uitas vezes, a programao dos controladores dos robs mveis pode ser uma tarefa
complicada e demorada, dado que o rob conta com diversos sensores e dispositivos que trabalham em conjunto (Gerkey et al., 2001). Essa tarefa pode tornar-se
ainda mais complexa, caso estiver trabalhando com muitos robs ou com robs distribudos.
Para facilitar a programao do controle do rob, foram criados programas de simulao que
tornam o seu desenvolvimento mais rpido. Dentre os simuladores disponveis esto: Microsoft
Robot Studio, Webots, URBI e Player/Stage.

Player/Stage um software em cdigo aberto sob licena pblica da GNU e foi criado pelo
laboratrio de robtica da Universidade do Sul da Califrnia. Essa ferramenta tem como objetivo permitir a programao em alto nvel do sistema de controle dos robs mveis, facilitando
a manipulao dos diversos sensores equipados nos robs. A ferramenta oferece tambm suporte programao de sistemas multirobticos, alm de que todos os programas podem ser
simulados em cenrios que podem ser construdos pelo usurio. Como um produto de cdigo
aberto, os usurios esto livres para modific-lo, podendo inserir novos modelos de robs ou
controladores de sensores. Devido a essas e outras vantagens, neste projeto de pesquisa foi escolhido o uso do software de simulao Player/Stage para a simulao de ambientes e controle
do rob em experimentos reais.
39

40

5.1. Estrutura do Software Player/Stage

5.1

Estrutura do Software Player/Stage

O software Player/Stage um sistema baseado no modelo cliente/servidor para efetuar a comunicao entre o hardware do rob e o usurio. Isto proporciona ao usurio uma ferramenta de
alto nvel para desenvolver o controlador dos dispositivos equipados no rob, facilitando a sua
programao.
O componente Player desempenha o papel de servidor das informaes dos perifricos do
rob e o Stage a interface de simulao de robs. Nas sees seguintes, ser tratada em detalhes
cada uma destas partes.

5.1.1

Servidor Player

De maneira anloga a um servidor de dispositivos soquetes, o software Player possibilita integrar os diversos dispositivos do rob (atuadores e sensores) com os clientes atravs do protocolo
de comunicao TCP (do ingls, Transfer Control Protocol). Deste modo, os computadores que
executam o servidor Player devem ter acesso aos perifricos do rob e os mesmos devem oferecer uma interface TCP (Gerkey et al., 2001). Na Figura 5.1 est representado o modelo de
cliente/servidor do Player.
O uso de um protocolo de rede para a comunicao traz algumas vantagens como:
Neutralidade da linguagem de programao: Como a transferncia de informaes feita
por meio do protocolo TCP, qualquer linguagem que oferea suporte a soquetes pode
ser utilizada para o desenvolvimento dos programas clientes. Entre as linguagens que
facilitam este trabalho esto, C, C++, Tcl, Phyton, Java e Common LISP.
Cliente
- Usurio
- Rob

TCP
Servidor

TCP

Rob
- Dispositivos

Baixo nvel

Hardware do
rob

Figura 5.1: Modelo de cliente/servidor utilizado no Player/Stage.

Captulo 5. Ambiente de Simulao de Robs Mveis Player/Stage

41

Neutralidade de plataforma: Os programas podem ser desenvolvidos para diversas plataformas, como Windows e Linux. Dessa forma, permite-se uma grande flexibilidade nas
plataformas que podem ser aproveitadas.
Neutralidade de localidade: O uso de soquetes permite ainda que o programa cliente
possa ser executado em qualquer computador com conexo rede. Isto torna possvel a
construo de sistemas de controle e de sensoriamento distribudos.

5.2

Ambiente de Simulao Stage e Gazebo

Os programas desenvolvidos com o Player, antes de serem utilizados diretamente nos robs
fsicos, podem ser testados no software de simulao Stage. Da mesma forma que o Player,
o Stage atua como um servidor de dados utilizando o protocolo TCP, tornando possvel o uso
de dispositivos virtuais como se fossem hardwares reais. Dessa forma, para o cliente torna-se
indiferente se est manipulando um dispositivo do Stage ou um dispositivo real, pois os comandos continuam iguais para os dois casos, sendo a nica diferena, o endereo IP onde sero
requisitados os dados.
Com a ferramenta Stage, pode-se testar um ou vrios robs simultaneamente, diversos tipos
de sensores, e tambm a capacidade de criar cenrios para realizar as simulaes (Figura 5.2).
O uso do Stage possui a princpio, trs objetivos (Gerkey et al., 2001):
Possibilitar o desenvolvimento rpido de controladores que sero utilizados posteriormente em robs reais.
Possibilitar a realizao de experimentos com robs em ambientes aos quais no se tem
o acesso fsico.
Realizao de experimentos inovadores com dispositivos ainda no fabricados.
De acordo com os desenvolvedores, no h nenhuma garantia de que as simulaes realizadas no ambiente virtual sejam iguais ao mundo real (Yan et al., 2006). Entretanto, testes
realizados apontam que o Stage funciona perfeitamente com pouca ou nenhuma modificao
dos robs reais.
Outro ambiente de simulao que pode ser utilizado juntamente com o Player o Gazebo
(Figura 5.3). Com recursos e funcionalidade semelhante ao Stage, o Gazebo se difere pelo
fato de oferecer um ambiente de simulao tridimensional e tambm ter suporte simulao da
fsica de objetos. Os programas clientes implementados para o Stage funcionam normalmente

42

5.3. Modelo dos Dispositivos

Figura 5.2: Interface grfica do Stage exibindo alguns obstculos, robs e a atuao de um
sensor laser.
no Gazebo, exigindo s vezes alguma ou nenhuma modificao. Uma vez que o Stage foi
projetado para suportar muitos robs com baixa fidelidade, o Gazebo permite a simulao de
poucos robs (muitas vezes devido limitao do prprio hardware de simulao), mas com
alta fidelidade.

5.3

Modelo dos Dispositivos

Da mesma forma que o sistema UNIX, os dispositivos do Player so tratados como arquivos
para serem manipulados. Com isso, para se controlar os dispositivos, so utilizados os comandos de tratamento de arquivos. Para exemplificar, quando o usurio desejar obter os dados
obtidos pelos sensores, ser utilizado o comando READ pelo cliente. Seguindo a mesma idia,
para se controlar um atuador, o cliente acessar o sensor utilizando o comando WRITE (Gerkey et al., 2001). No Apndice B apresentado um exemplo de cdigo em C com comandos
bsicos do Player.
Alm de trazer uma interface de alto nvel para o controle dos dispositivos, outro grande benefcio do Player a interface padro de comunicao. Essa caracterstica permite que o mesmo
programa utilizado para controlar um determinado rob seja capaz de funcionar em outro, sem
a necessidade de efetuar modificaes em seu cdigo. Entre os dispositivos suportados esto
variados sensores de distncia, atuadores, identificadores de cor, GPS, cmeras e odmetros de
robs.

Captulo 5. Ambiente de Simulao de Robs Mveis Player/Stage

43

Figura 5.3: Ambiente de simulao de robs Gazebo.

5.4

Consideraes Finais

Este captulo apresentou os principais recursos da ferramenta Player/Stage que foi fundamental
no desenvolvimento da inteligncia do rob. O software possibilita a programao em alto nvel
dos controladores do rob, logo, facilita e reduz o tempo de desenvolvimento de aplicativos
robticos. Alm disso, oferece um simulador que permite validar os algoritmos elaborados
antes de implant-lo em um rob real.

C APTULO

6
Mtodos de Aprendizado
Supervisionado

Aprendizado de Mquina (AM) uma rea da Inteligncia Artificial (IA) na qual


so investigados mtodos computacionais que automatizam a tarefa de aquisio de
conhecimento, processo tambm denominado de aprendizagem (Baranauskas e Monard, 2003). Algoritmos de aprendizagem tm como objetivo simular comportamentos naturais
ou artificiais. O AM divide os mtodos de aprendizagem em trs categorias: aprendizado supervisionado, aprendizado no-supervisionado e aprendizado por reforo (Baranauskas e Monard,
2003) (Mitchell, 1997) (Carbonell et al., 1984).

Em relao ao algoritmo de aprendizado supervisionado, fornecido a um modelo um conjunto de pares de valores (entradas e sadas) rotulados que exemplificam o comportamento de
um determinado ambiente. Para cada valor de entrada alimentado ao modelo, verificado se o
resultado produzido corresponde com o valor de sada fornecido. Caso isto no ocorra, o modelo reestruturado de forma a produzir o resultado desejado (Mitchell, 1997). O processo de
adapatao do modelo ao comportamento do ambiente denominado treinamento. Exemplos
de mtodos que entram nessa categoria incluem redes neurais artificiais (multi-layer perceptron), mquinas de suporte vetorial, kNN (k-Nearest Neighbour) e rvores de deciso. Por outro
lado, no aprendizado no-supervisionado, no fornecido um conjunto de exemplos. Com isso,
dado os valores de entrada, o algoritmo de aprendizado dever ter a capacidade de separ-los
45

46

6.1. Redes Neurais Artificiais

em grupos de acordo com critrios do problema (Ghahramani, 2003). Redes neurais artificiais
(self-organizing maps) e Redes Bayesianas so exemplos de mtodos de aprendizado no supervisionado. Por ltimo, no algoritmo de aprendizado por reforo, caso o modelo gere aes
positivas, o ambiente o retribui com recompensas. Assim, esse paradigma tem como objetivo
criar modelos que recebam o maior nmero de recompensas possveis (Kaelbling et al., 1996).
Mtodos tradicionais desta classe incluem Q Learning e aprendizado por diferena temporal.
As sees seguintes apresentam os dois mtodos de aprendizado supervisionado adotados
neste projeto: redes neurais artificiais e mquinas de suporte vetorial.

6.1

Redes Neurais Artificiais

As redes neurais artificiais (RNAs), de uma forma simples, compreendem no paradigma da IA


que busca a soluo dos problemas por meio da simulao computacional dos mecanismos e
estruturas do crebro humano. Assim, como no modelo biolgico, as RNAs so formadas por
um conjunto de neurnios e suas interligaes, os quais so responsveis pelo processamento
das informaes. As RNAs determinam as solues por meio da generalizao de um conjunto
de dados que modela o comportamento do problema. Devido a essa propriedade, as RNAs so
normalmente utilizadas em problemas de classificao e de regresso (Rojas, 1996).
O elemento bsico de uma RNA o neurnio artificial que composto de trs elementos
bsicos:
1. Conexes: Permitem realizar ligaes entre os neurnios de forma a propagar os dados
atravs da rede. A cada conexo est associado um peso que possui a funo de amplificar
ou atenuar o sinal originado dessa ligao. Assim, um sinal xj que provm de uma
conexo j e que chega ao neurnio k, tem o seu valor multiplicado por um peso wkj .
2. Somador: Efetua a somatria de todos os sinais multiplicados pelos respectivos pesos das
conexes que chegam ao neurnio.
3. Funo de ativao: Esta funo determina o valor do sinal de sada do neurnio de acordo
com o resultado atingido pelo somador. Em geral, os valores das sadas dos neurnios so
normalizados para o intervalo [0, 1] ou [1, 1].
Na Figura 6.1 ilustrada a estrutura bsica de um neurnio. As entradas so denotadas por
x1 ...xm , sendo wk1 ...wkm os seus respectivos pesos. representa o somador da rede, k o valor
da somatria dos sinais, a funo de ativao e yk o sinal de sada do neurnio. O parmetro

Captulo 6. Mtodos de Aprendizado Supervisionado

x2

wk2
...

wk1

...

entrada

x1

xm

wkm

47

bk

yk
sada

Figura 6.1: Componentes bsicos de um neurnio artificial (adaptado de (Haykin, 1998)).


bk corresponde ao bias do neurnio que tem a finalidade de aumentar ou diminuir o valor do
sinal de entrada para a funo de ativao (Haykin, 1998).
O primeiro modelo de neural artificial foi proposto por McCulloch e Pitts em 1943 (McCulloch e Pitts, 1943). Nesse modelo, a sada do neurnio assume um estado de ativao (valor 1)
quando a somatria dos sinais das conexes que o atingem maior que zero. Caso contrrio, a
sada do neurnio no ativada (valor 0). A funo de ativao do modelo de McCulloch-Pitts
descrita anteriormente denominada funo Heavyside (Haykin, 1998). As Equaes 6.1 e 6.2
descrevem a funo de ativao do modelo McCulloch-Pitts. Alm deste, existem outros tipos
de funo de ativao como a funo Piecewise-Linear e a funo Sigmoidal Simtrica (Haykin,
1998).
(
yk = (k ) =

k =

m
X

1 se k 0
0 se k < 0

wkj xj + bk

(6.1)

(6.2)

j=1

Uma rede neural consiste basicamente na interligao dos neurnios artificiais, formando
uma malha composta de algumas ou vrias unidades de processamento de sinais. A estrutura da
RNA adotada implica diretamente no algoritmo de aprendizado a ser utilizado. por meio do
algoritmo de aprendizado que a RNA obtm os conhecimentos necessrios para a resoluo do
problema. Consequentemente, este algoritmo acaba por determinar a capacidade de resoluo
de problemas pelas RNAs. Na Seo 6.1.1 sero descritas as principais arquiteturas de redes
neurais e na Seo 6.1.2 os algoritmos de aprendizado de RNAs mais utilizados.

6.1.1

Arquiteturas de RNAs

As redes neurais podem ser organizadas em diversas configuraes que so chamadas de arquiteturas ou topologias de RNAs. A arquitetura de uma RNA est diretamente ligada com o

48

6.1. Redes Neurais Artificiais

algoritmo de aprendizado a ser utilizado (mais detalhes na Seo 6.2). Dessa forma, uma anlise dos tipos de redes neurais deve ser feita para que o mesmo possa obter as melhores solues
para o problema (Braga et al., 2000).
Tradicionalmente, nas RNAs os neurnios so dispostos em camadas, sendo que cada uma
possui uma funo especfica para a rede. A primeira camada de uma rede, denominada camada
de entrada, tem como finalidade nica, fornecer dados para os neurnios da camada subsequente. Os neurnios presentes nessa camada, em geral, no realizam nenhum processamento.
Por essa razo, no so contabilizados na contagem de camadas da rede neural. A camada intermediria da RNA possui o papel de computar os dados recebidos pela camada anterior. Em
uma rede, pode-se ter nenhuma ou vrias camadas ocultas. Por fim, a ltima camada da RNA,
a de sada, efetua o ltimo processamento dos dados e gera a resposta da rede. Os sinais da
rede seguem um fluxo unidirecional e todos os sinais passam simultaneamente pela mesma camada. A arquitetura das RNAs classificada em trs grupos principais: perceptron, muli-layer
perceptron e recorrente (Braga et al., 2000).
Perceptron
A arquitetura perceptron (ou single-layer feedforward) consiste na configurao mais bsica de
RNA, sendo composta apenas de uma camada (ou seja, single-layer). Dessa forma, essa rede
constituda somente de uma camada de entrada e uma camada de sada, sendo esta ltima a
nica responsvel pela computao dos dados. Outra caracterstica importante que essa rede
no possui ciclos em sua estrutura (acclico), ou seja, a sada de um neurnio no realimentada
para a prpria rede. Devida a sua estrutura simplificada, essas redes esto limitadas resoluo
de problemas lineares (Braga et al., 2000).

Camada de
Entrada

Camada de
Sada

Figura 6.2: Rede neural perceptron com 4 neurnios na camada de entrada e 3 neurnios na
camada de sada.

Captulo 6. Mtodos de Aprendizado Supervisionado

49

Em geral, as RNAs so representadas por meio de grafos direcionados (Haykin, 1998).


Assim, os neurnios so denotados por meio de vrtices do grafo e as suas interconexes por
meio das arestas. Na Figura 6.2 ilustrada uma rede neural perceptron.
Multi-Layer Perceptron
A arquitetura multi-layer perceptron (MLP ou multi-layer feedforward) adiciona topologia
perceptron as camadas intermedirias, formando uma rede neural que contm mais de uma camada (ou seja, multi-layer). A adio das camadas intermedirias permite que a rede neural represente funes contnuas, e dependendo do nmero de camadas ocultas utilizadas, pode representar funes no contnuas, tornando-o capaz de resolver problemas mais complexos (Russell
e Norvig, 2003). Nesse sentido, existem pesquisas que investigam o nmero ideal de elementos
intermedirios a serem utilizados para cada problema (Haykin, 1998). Em geral, os mtodos
que determinam esse nmero, realizam testes exaustivos na rede neural (Braga et al., 2000). Na
Figura 6.3 pode-se verificar um exemplo de rede neural multi-layer perceptron.

Camada de
Entrada

Camada
Intermediria

Camada de
Sada

Figura 6.3: Rede neural multi-layer perceptron com 2 neurnios na camada intermediria.

Recorrente
Na arquitetura recorrente, h a presena de algum lao que conecta o neurnio de uma camada posterior com o neurnio de uma camada anterior, de forma a realimentar os sinais da
RNA. Com essa estrutura, as redes recorrentes possuem a capacidade de simular uma memria de curto prazo. Estruturas recorrentes admitem tambm um nmero indefinido de camadas
intermedirias (Rojas, 1996). A Figura 6.4 ilustra uma rede recorrente com uma camada intermediria.

50

6.2. Algoritmo de Aprendizado de RNAs

Camada de
Entrada

Camada
Intermediria

Camada de
Sada

Figura 6.4: Uma rede recorrente com uma camada intermediria. Neste exemplo, as sadas da
ltima camada alimentam a camada de entrada.

6.2

Algoritmo de Aprendizado de RNAs

O processo de aprendizagem uma fase preliminar da RNA necessria para a resoluo dos
problemas. Nesse processo, os parmetros da rede neural (bias e pesos das conexes) so ajustados de modo que o sistema se comporte o mais prximo possvel do ambiente o qual se deseja
simular (Russell e Norvig, 2003). Existem trs paradigmas de aprendizado de RNAs: aprendizado supervisionado, aprendizado no-supervisionado e aprendizado por reforo. Cada um
deles utiliza uma tcnica diferente para determinar os parmetros da rede (pesos das conexes
e bias). Pelo fato de que o atual projeto de pesquisa envolve apenas aprendizado supervisionado, somente este ser abordado nesta seo (mais detalhes dos outros paradigmas podem ser
conferidos na introduo deste captulo).
No algoritmo de aprendizado supervisionado utilizado um conjunto de exemplos rotulados
contendo entradas e sadas esperadas. Para cada exemplo de entrada, comparada a sada gerada
com a sada esperada, sendo essa diferena refletida nos pesos das conexes. Os parmetros da
rede (peso das conexes e bias) so ento modificados at que a sada gerada e a esperada fiquem
prximas ou iguais (Braga et al., 2000). Um dos algoritmos de aprendizado mais utilizados para
treinamento de redes do tipo perceptron e multi-layer perceptron o backpropagation e suas
derivaes (por exemplo, Rprop e Quickprop), os quais so descritos a seguir.
Backpropagation
O algoritmo de aprendizado backpropgation (ou backprop) (Rumelhart et al., 1986) realiza
o ajuste dos parmetros da rede por meio da retropropagao do erro da sada para os pesos

Captulo 6. Mtodos de Aprendizado Supervisionado

51

das conexes. Esse processo desempenhado em duas etapas distintas, uma de propagao
(fase forward) e uma de retropropagao (fase backward). Na primeira etapa, os sinais de
entrada propagam pela rede para gerar uma resposta da rede, no havendo alteraes nos pesos
das conexes. Na segunda, computado o erro da sada gerado para determinar o fator de
correo do peso das conexes, considerando que esse clculo feito de um neurnio por vez,
indo em direo camada de entrada (khalil Sari Alsmadi et al., 2009). Para o clculo desse
erro, o backpropagation utiliza uma adaptao da Regra Delta (Rojas, 1996) que utilizado
no aprendizado de redes perceptron. Nessa adaptao, levado em conta o sinal gerado pelo
neurnio. A Equao 6.3 mostra o clculo do gradiente do erro:
E
E
= yi
wij
yi wij

(6.3)

onde, E corresponde ao erro obtido pela rede neural, wij o peso da conexo que liga o
neurnio i ao neurnio j e yi o sinal gerado pelo neurnio i. Essa equao representa o valor
do gradiente E em relao a um determinado sinal gerado por um neurnio da rede. A soma
dos erros da fase backward at um determinado elemento chamado de erro retropropagado.
Se considerarmos o erro retropropagado at o neurnio j como j , podemos reescrever a Equao 6.3:
E
= y i j
wij

(6.4)

Utilizando a derivada parcial da Equao 6.4, utilizamos o mtodo do gradiente decrescente


pela adio de cada wij , o valor de wij que dado por:
wij = yi j

(6.5)

onde representa a taxa de aprendizado do backpropagation. A atualizao dos pesos deve


ser realizada para todas as conexes, a cada exemplo alimentado na rede. Esse processo termina
quando o erro atinge um valor baixo ou quando o algoritmo alcana um determinado nmero
de iteraes.
Resilient Backpropagation
O algoritmo resilient backpropagation (Rprop) (Riedmiller e Braun, 1993) uma adaptao
do backpropagation com o intuito de suprimir suas desvantagens. O backpropagation torna-se
lento quando utilizado para treinar redes com muitos ns, alm disso, dependendo dos parmetros escolhidos para o algoritmo, esse tempo pode-se tornar ainda maior. Sendo assim, o Rprop

52

6.2. Algoritmo de Aprendizado de RNAs

realiza uma otimizao no-linear sobre o backpropagation, tornando a atualizao dos pesos
dependente apenas da taxa de aprendizagem e do sinal da derivada parcial do erro em relao
ao peso (Riedmiller e Braun, 1994). Isto permite que o algoritmo venha a convergir mais rpido quando est prximo do mnimo local. A taxa de aprendizado do Rprop mostrada na
equao a seguir:

E(t) E(t1)

min(i (t)u, max ) se wij wij > 0


E(t1)
i (t + 1) =
max(i (t)d, min ) se E(t)
<0
wij
wij

(t)
para outros casos
i

(6.6)

onde, t a iterao atual, 0 < u < 1 < d, i a taxa de aprendizado do neurnio i, min e
max so respectivamente o valor mnimo e mximo estabelecidos para a taxa de aprendizagem.
Os valores min e max so necessrios para impedir que a aprendizagem acelere ou desacelere excessivamente. De um modo simples, toda vez que a derivada parcial troca de sinal, ou
seja, quando o algoritmo ultrapassou o mnimo local, o valor da taxa de aprendizado reduzido.
E se a derivada parcial mantm o sinal, a taxa de aprendizado incrementada para acelerar a
convergncia (Rojas, 1996). Por fim, a atualizao dos pesos dada pela Equao 6.7.
(
wij =

i (t) sinal

E(t)
wij

se

E(t) E(t1)
wij
wij

>0

(6.7)

para outros casos

Nessa equao pode-se perceber que os pesos sero modificados apenas se na iterao atual
o sinal da derivada parcial for alterado.
Quickprop
Da mesma forma como o Rprop, o algoritmo quickprop (Fahlman, 1988) surgiu da modificao do backpropagation, despendendo menos iteraes para a convergncia da RNA. A ideia
empregada no quickprop a aproximao da funo do erro da rede neural em uma funo
quadrtica. Tal considerao verificada pela expanso da srie de Taylor da funo do erro
(Fahlman, 1988). No algoritmo assume-se tambm que a atualizao de um peso no modifica
outros pesos, isto , os pesos so independentes. Na Equao 6.8 mostra a equao para a
atualizao dos pesos:

wij = i (t)wij
onde, E(t) =

E(t)
wij

E(t)
E(t 1) E(t)

e t representa a iterao atual.


(6.8)

Captulo 6. Mtodos de Aprendizado Supervisionado

53

A Equao 6.8 pode ser tambm vista como uma aproximao do mtodo de Newton. Por
meio desta tcnica, o quickprop consegue utilizar passos maiores para encontrar mais facilmente
o mnimo local.

6.3

Generalizao em RNAs

A generalizao atingida em uma RNA quando ela consegue determinar corretamente uma
sada, dada uma entrada nunca apresentada rede (Braga et al., 2000) (Rosin e Fierens, 1995).
Os dados utilizados para a verificao da rede so chamados de dados de validao (ou teste).
Existem dois conceitos associados generalizao. O primeiro o overfitting que ocorre quando
a rede neural treinada demasiadamente, ocasionando a memorizao dos dados utilizados
no treinamento. Consequentemente, caso a rede seja alimentada com dados diferentes dos
de treinamento, estes sero interpretados como rudos do sistema. O segundo conceito o
underfitting que ocasionado pela falta de treinamento da rede neural, tendo-se assim, pouca
capacidade de generalizao (Rosin e Fierens, 1995).
Para que uma rede possa generalizar adequadamente qualquer entrada fornecida, necessrio que o treinamento seja feito at atingir os nveis entre underfitting e overfitting (Haykin,
1998). A tcnica denominada early stopping utilizada para encontrar esse ponto. Nesse mtodo, a cada treinamento com o conjunto de treinamento, a rede alimentada com o conjunto
de validao sem realizar a atualizao dos pesos. Este ciclo repetido at que no se observe
mais a reduo do erro gerado pelo conjunto de validao (Prechelt, 1998).
Erro
treino
validao

Ciclos
ta

tb

tc

Figura 6.5: Curva do erro gerado conjunto de validao e de treinamento. ta , tb e tc indicam


respectivamente os pontos de underfitting, treinamento ideal e overfitting.

54

6.4. Mquinas de Suporte Vetorial

Na Figura 6.5 pode-se verificar um exemplo de treinamento com early stopping. Nota-se que
no ciclo tb a rede neural no apresenta mais melhorias para o conjunto de validao, indicando
que a rede j capaz de generalizar satisfatoriamente dados desconhecidos. Se o treinamento
fosse interrompido antes de tb (por exemplo, ciclo ta ), entraria no estado de underfitting, pois o
erro ainda poderia ser reduzido. E caso suspenso aps o ciclo tb (ciclo tc ), o treinamento entraria
no ponto de overfitting, pelo fato de que j teria ultrapassado o menor nvel de erro obtido pela
rede.

6.4

Mquinas de Suporte Vetorial

O algoritmo de aprendizado supervisionado das mquinas de suporte vetorial (SVM, do ingls


Support Vector Machines) tem como fundamento, a determinao de um hiperplano que maximize a margem de separao de um conjunto de dados em classes distintas (Haykin, 1998)
(Lorena e de Carvalho, 2007) (Wolf, 2006). Na fase de treinamento, exemplos constitudos por
pares de entradas e sadas desejadas, so alimentados no SVM para determinar os melhores parmetros desse hiperplano. Em virtude do seu modo de operao, o SVM largamente utilizado
em problemas de otimizao e de regresso no-linear (Russell e Norvig, 2003). O SVM mais
simples que consiste em um classificador linear (isto , dados so separados em duas classes)
descrito na Seo 6.4.1, o SVM para classificao no-linear (isto , dados podem ser separados em diversas classes) detalhado na Seo 6.4.2 e o SVM para classificao multicalsse na
Seo 6.4.3.

6.4.1

SVM para Classificao Linear

Os SVMs lineares separam os dados de entrada em duas classes, atravs de um hiperplano.


Para detalhar o seu funcionamento, consideramos um conjunto de treinamento com N padres
que podem ser separados linearmente, {(xi , yi )}N
i=1 , onde xi e yi so respectivamente o i-simo
padro de entrada e sada desejado. Com xi X e X <n , yi Y e Y = {1, 1}. A sada yi
pode assumir os valores 1 ou +1 para representar as duas classes. O hiperplano de separao
das classes representado na Equao 6.9.
wx+b=0

(6.9)

onde, x o vetor de entrada, w X, um vetor para o ajuste dos pesos de xi , e b o bias


do hiperplano. O valor b/ kwk fornece a distncia do hiperplano ao ponto de origem. A partir
disso, podemos definir um sistema para dividir as duas classes:

Captulo 6. Mtodos de Aprendizado Supervisionado


(

55

wxi + b +1 se yi = +1
wxi + b 1 se yi = 1

(6.10)

Este sistema pode ser simplificado como mostra a Equao 6.11.


yi (wxi + b) 1 0

(6.11)

Os pontos (xi , yi ) que satisfazem a equao anterior, mas com o sinal de igualdade, so
chamados de vetores de suporte. Os vetores de suporte determinam hiperplanos que limitam a
regio de cada classe, assim, denotamos H1 para o hiperplano da classe yi = +1 e H2 para o
hiperplano da classe yi = 1. Sendo H1 e H2 paralelos, eles devem possuir a mxima distncia
d para otimizar a diviso das classes (vide Figura 6.6). Para isso, seja o ponto x1 pertencente ao
H1 : wxi + b = 1 e o ponto x2 pertencente ao H2 : wxi + b = 1, a distncia d dada por:

d = (x1 x2 )

w x1 x2
kwk kx1 x2 k


(6.12)

Sabendo que wx1 b = +1 e wx2 + b = 1, podemos reformular a equao d como:


d=

2
kwk

(6.13)

Com isso, a determinao do hiperplano pode ser resumida minimizao da Equao 6.14.
d = min


1
w2
2

(6.14)

Para a resoluo desse problema, multiplicadores de Lagrange so utilizados. Obtendo-se o


seguinte valor para w:

w=

N
X

i xi y i

(6.15)

i=1

onde i o multiplicador de Lagrange do i-simo padro. Finalmente, o classificador linear


do SVM dado por:
!
sinal

X
xi

i xi yi +b

(6.16)

56

6.4. Mquinas de Suporte Vetorial

6.4.2

SVM para Classificao No-Linear

O SVM linear apresentado anteriormente calcula um hiperplano para a separao das classes.
Porm, em muitas situaes, o conjunto de treinamento apresentado ao classificador no permite que sejam separados por esse mecanismo, como pode ser conferido no exemplo mostrado
na Figura 6.7 (Cristianini e Shawe-Taylor, 2000) (Wolf, 2006). Por essa razo, os dados de
treinamento devem ser transferidos para uma dimenso maior na qual possibilite efetuar a separao linear (Burges, 1998). Esta nova dimenso denominada espao de caracterstica e a
dimenso de origem, espao de entrada (Lorena e de Carvalho, 2007). Esse mapeamento pode
ser escrito como : <d 7 =, sendo que = representa o espao de caracterstica.
Para realizar as transformaes de espao, necessrio utilizar uma funo chamada kernel
que dado dois pontos do espao de entrada, calcula o produto escalar entre eles no espao de
caracterstica. Formalmente, a funo kernel definido como:
k(x1 , x2 ) = (x1 ) (x2 )

(6.17)

onde K a funo kernel e x1 e x2 pertencem ao espao de entrada. Adaptando o kernel


para o classificador linear, a Equao 6.13 reestruturada na seguinte forma:

w=

N
X

i yi (si )(xi ) + b =

i=1

N
X

i yi K(si , xi ) + b

(6.18)

i=1

onde, si denota o vetor de suporte.


x1

H1

Vetor de
suporte

wx+b = 0
H2
Vetor de
suporte

Exemplos
positivos

H
de ipe
se rpla
pa n
ra o

Exemplos
negativos

x2

Figura 6.6: Ilustrao do problema do SVM linear. Deve-se obter um hiperplano que maximize
a margem (d) dos planos (H1 e H2 ) que separam as duas classes.

Captulo 6. Mtodos de Aprendizado Supervisionado

57

Na literatura, podemos encontrar diversas funes (Lorena e de Carvalho, 2007) para o


kernel. Algumas delas esto listadas na Tabela 6.1:
Funo
Polinomial
Funo de Base Radial(RBF)
Sigmoid

Equao
K(s, x) = (as x + b)c
2
K(s, x) = edksxk
K(s, x) = tanh(as x + b)

Tabela 6.1: Exemplos de funes kernel, onde a, b, c e d so parmetros da funo.

6.4.3

SVM para Classificao Multiclasse

Como o algoritmo padro do SVM est restrito classificao de dados em apenas dois grupos, no poderia ser aplicado em problemas de classificao de ordens superiores. Entretanto,
essa desvantagem vm sendo superada com uma categoria de SVM, chamada SVM multiclasse,
que possibilita a classificao em vrias classes. Um dos mtodos mais utilizados a combinao de vrios classificadores SVM tradicionais para a resoluo de problemas multiclasse
(Crammer et al., 2001). Dentre esses, destaca-se o mtodo one-versus-all aplicando a estratgia
winner-takes-all e o mtodo one-versus-one utilizando max-wins voting (Duan e Keerthi, 2005).
Na Figura 6.8 ilustrado graficamente o problema do SVM multiclasse.
Para a descrio desses dois mtodos, consideramos n o nmero de classes do problema,
sendo que i , i = 1, ..., n representa cada classe e yi a sada gerado pelo i-simo classificador.
x1

z1
Superfcie de
separao nolinear

Superfcie de
separao linear

z2

x2
(a)

z3
(b)

Figura 6.7: (a) Conjunto de dados que no podem ser separados linearmente. (b) Mapeamento
dos dados para uma espao que permite a separao linear (Burges, 1998).

58

6.5. Consideraes Finais


x1

H1

H2
1
d

2
d

H3

x2

Figura 6.8: Separao de 3 classes (1 , 2 e 3 ) com SVM multiclasse.


One-Versus-All com Winner-Takes-All
Neste mtodo so criados n classificadores SVM binrios, sendo que o i-simo classificador
treinado com dados de i , rotulados como exemplos positivos. Dados provindos de outras
classes so considerados exemplos negativos. Um novo valor x, ser atribudo classe que
resultar o maior valor de yi .
One-Versus-One com Max-Wins Voting
Para este mtodo so formados classificadores SVM binrios para cada par distinto de classes,
obtendo-se assim n(n 1)/2 classificadores. O classificador binrio Cij treinado, tomando
os exemplos de i como positivos e j como negativos. Na classificao de um valor x, se
Cij indicar que esse dado pertence classe i , ento i receber um voto. Caso contrrio, j
receber o voto. Aps a votao realizado por todos os classificadores, x ser associado classe
que receber mais votos.

6.5

Consideraes Finais

O aprendizado supervisionado um dos paradigmas mais utilizados em problemas de classificao. Isto se deve principalmente pela facilidade de uso de seus mtodos e aos seus resultados
positivos. Neste projeto, redes neurais artificiais e mquinas de suporte vetorial foram escolhidos para desempenhar a tarefa de identificao das pores navegveis de um terreno. Mesmo
as duas tcnicas possuindo finalidades iguais, o princpio de funcionamento muito diferente, o

Captulo 6. Mtodos de Aprendizado Supervisionado

59

que reflete nos resultados obtidos pelos mesmos. A idia determinar qual abordagem permite
desempenhar com maior preciso a tarefa de classificao de terrenos.

C APTULO

7
Desenvolvimento do Sistema

este captulo so descritos os procedimentos e os mtodos utilizados para o desenvolvimento do sistema de mapeamento e de classificao de terrenos. Basicamente o
sistema todo est dividido em duas partes: o algoritmo de mapeamento e o algoritmo
de classificao de mapas. O processo de mapeamento tem como objetivo coletar dados do terreno por meio de um sensor e em seguida criar modelos computacionais desse ambiente. Dois
mtodos de mapeamento foram abordados: mapeamento 3D e mapas de navegabilidade. Para
demonstrar o funcionamento dos algoritmos de mapeamento foram utilizados dados de ambientes reais coletados por meio de uma plataforma robtica equipada com um sensor laser 2D
de alta resoluo. Quanto ao mtodo de classificao de mapas, este permite determinar quais
regies do terreno so apropriadas para a passagem do rob e quais no so. Sendo o aprendizado de mquina (AM), um dos paradigmas mais utilizados e bem sucedidos para problemas de
classificao (Braga et al., 2000), este foi escolhido como a base do nosso classificador. Com
isso, foram desenvolvidos dois mtodos de classificao, um fundamentado em redes neurais
artificiais (RNAs) e o outro em mquinas de suporte vetorial (SVMs). As RNAs e SVMs so
consideradas as tcnicas mais importantes de AM supervisionado (Haykin, 1998). Posteriormente, os classificadores com RNAs e SVMs desenvolvidos foram comparados com o intuito
de identificar qual tcnica a mais apropriada para a tarefa de classificao de terrenos.

61

62

7.1

7.1. Mapeamento de Terrenos

Mapeamento de Terrenos

O mapeamento uma das fases preliminares que possibilita a atuao do rob em um ambiente desconhecido (Thrun, 2003). Com os mapas, o rob torna a conhecer os obstculos que
esto a sua volta. Como a idia desse sistema a atuao do rob em um ambiente externo,
ser realizado o mapeamento do terreno para identificar as reas seguras para a navegao. O
mapeamento realizado por meio de um sensor laser 2D disposto em um rob mvel.
Foram desenvolvidos dois mtodos de mapeamento. O primeiro, mapeamento 3D, consiste
no arranjamento de pontos dos objetos capturados pelo sensor em um cenrio tridimensional
(tambm chamado mapa de nuvem de pontos). O segundo, mapa de navegabilidade, consiste
na simplificao do modelo criado anteriormente. Assim, ao invs dos pontos, so utilizados
clulas que representam pores dos terrenos, reduzindo o tamanho dos mapas. Nas prximas
subsees so detalhados os dois mtodos criados.

7.1.1

Mapeamento 3D de Terrenos

Como descrito na Seo 3.1, o mapeamento um componente essencial para auxiliar na navegao de robs. Neste projeto, o mapeamento utilizado para possibilitar a atuao de robs
em terrenos acidentados.
Basicamente, o algoritmo de mapeamento converte a coordenada do ponto coletado pelo
sensor em coordenada do rob. Isto posteriormente, permitir o rob ter o conhecimento da
posio dos obstculos a sua volta. Nos experimentos de mapeamento efetuados para a validao do algoritmo, utilizou-se conjunto de dados de ambientes previamente capturados pela
navegao manual do rob.
O sistema de mapeamento foi desenvolvido para operar com um sensor laser 2D levemente
inclinado com um ngulo de 10 em relao ao solo. Esse valor foi escolhido empiricamente,
levando-se em considerao a altura da plataforma robtica na qual o sensor afixado e a
distncia necessria para que o rob pudesse desviar de obstculos. Nessa disposio, o sensor
capaz de detectar objetos a aproximadamente 2 metros frente. Na Figura 7.2 ilustrada a
configurao do ambiente de experimentao. Para cada leitura realizada pelo laser retornado
um ponto Pl (r, ) no espao de coordenadas polares, sendo que d e so respectivamente a
distncia e o ngulo do obstculo detectado (Figura 7.1).
O algoritmo de mapeamento 3D consiste basicamente em transformar o espao de coordenada polar dos pontos (S) coletados pelo sensor para o espao cartesiano (<3 ) do rob. Essa
funo pode ser descrita como:

Captulo 7. Desenvolvimento do Sistema

63

: S 7 <3
onde, S = {(r, )|r, <} e <3 = {(x, y, z)|x, y, z <}. Na Figura 7.1 pode-se visualizar
graficamente a transformao realizada pela funo de mapeamento 3D.
Com isso, esse problema resume-se na obteno do valor de Pr (lx , ly , lz ) <3 , dado o
valor de entrada Pl (r, ) S. Para simplificar, primeiramente analisamos o problema apenas
no plano zx do rob, como pode ser visto na Figura 7.2. Examinando essa ilustrao e sabendo
que os valores de h e r so obtidos previamente, as incgnitas d e lz podem ser determinadas
por meio de clculos trigonomtricos. Assim, chegamos s seguintes expresses:
d = r cos(10 )
lz = h r sin(10 )
Posteriormente, para determinar as coordenadas lx e ly , analisamos o plano xy como mostra
a Figura 7.3. Os valores px , py e podem ser obtidos pelo odmetro do rob, um dado
indicado pelo sensor laser e d foi calculado anteriormente. Assim, o problema reduzido ao
clculo dos catetos do tringulo retngulo ABC, o que leva s equaes:
lx = px + r cos( + )
ly = py + r cos( + )
Com isso, a funo de mapeamento 3D de terrenos dada na Equao 7.1. O ponto
Pr (lx , ly , lz ) referente a apenas um dado da leitura do laser. Dessa forma, so necessrias
z

Pl(,r)

Pr(lx,ly,lz)
x

Figura 7.1: Representao grfica da funo () de mapeamento 3D. Esta funo transforma
o ponto Pl S coletado pelo laser em um ponto Pr <3 do espao do rob.

64

7.2. Mapa de Navegabilidade do Terreno


Onde:
r a distncia entre o sensor laser e o obstculo em relao ao
plano do laser (valor dado diretamente pelo sensor)

d a distncia entre o rob e o


obstculo em relao ao plano
do rob

lz a altura do obstculo detectado pelo laser

10

lz

h a altura do laser em relao ao plano do rob (o valor


uma constante obtida pela aferio manual)

Figura 7.2: Decomposio do feixe do laser no plano zx.


sucessivas transformaes dos pontos coletados pelo sensor para se ter um mapa denso com os
elementos do mundo real.
Para a representao dos mapas utilizada uma linguagem para modelagem de cenrios
virtuais chamada VRML (do ingls, Virtual Reality Modeling Language). A linguagem VRML
possibilita descrever formatos e comportamentos de objetos 3D em arquivos texto e o seu resultado visualizado atravs de um interpretador desse arquivo. No Apndice C apresentada a
estrutura bsica da linguagem VRML para a representao dos pontos do terreno.

lx = px + r cos( + )
Pr = (r, ) =
ly = py + r cos( + )

lz = h r sin(10 )

7.2

(7.1)

Mapa de Navegabilidade do Terreno

Como descrito na sesso anterior, os mapas criados pelo algoritmo de mapeamento descrevem
os terrenos por meio de um conjunto de pontos dispostos em um espao 3D. Esse tipo de mapa
capaz de representar cenrios com um alto nvel de detalhes, porm, a quantidade de pontos
que esse arquivo possui pode tornar o processo de busca por obstculos muito lento. Por essa
razo, interessante construir mapas mais compactos que possibilite ao algoritmo de classificao analisar pores do terreno, ao invs de pontos do terreno. Dessa forma, o algoritmo

Captulo 7. Desenvolvimento do Sistema

65

Onde:
o ngulo de deslocamento do rob
A

lx
px

o ngulo do feixe do laser

d distncia entre o rob e o obstculo

lx e ly so as coordenadas do obstculo
em relao ao plano xy

y
py

ly

px e py so as coordenadas do rob em
relao ao plano xy

Figura 7.3: Decomposio do feixe do laser no plano xy.


de mapeamento foi remodelado para criar mapas reduzidos do terreno, chamados de mapas de
navegabilidade.
O mapa de navegabilidade representado atravs de uma grade bidimensional, sendo que
cada poro, denominada clula, corresponde a uma regio do terreno, o que reduz consideravelmente a quantidade de informaes necessrias para descrever o terreno (Figura 7.4). A
grade, bem como as suas clulas, possuem tamanhos ajustveis. Cada clula armazena trs
valores que informam certas caractersticas da superfcie:
1. Altura absoluta: Indica a altura da clula em relao ao plano do rob.
2. Altura relativa: Indica a altura da clula em relao s suas clulas vizinhas.
3. Navegabilidade: Indica se essa clula navegvel ou no.
No mapa de navegabilidade, o rob possui uma posio fixa no centro da grade. Dessa
forma, a grade desloca-se conforme o movimento do rob. Em outras palavras, o mapa de
navegabilidade funciona como uma janela que possui informaes da rea do terreno sendo
explorada pelo rob. Na Figura 7.4 ilustrado um mapa de navegabilidade de tamanho 9 7
cobrindo uma regio de terreno.
O passo inicial para construir o mapa de navegabilidade igual ao do mapa 3D do terreno.
Assim, primeiramente, para cada dado de leitura do sensor laser, deve-se computar os valores lx ,
ly e lz . Aps isso, verificado por meio do par lx e ly , em qual clula tal ponto se posiciona. Caso
esta clula ainda no contenha nenhuma informao, armazena-se o valor da altura absoluta que
dada por lz . Porm, se essa clula no esteje vazia, prevalece a maior altura absoluta. Toda
vez que uma nova altura absoluta armazenada deve-se atualizar a altura relativa da clula.

66

7.3. Classificao de Terrenos

Altura absoluta
Altura relativa
Navegabilidade
Feixe
do laser

Rob

Figura 7.4: Representao de um mapa de navegabilidade de tamanho 9 7.


Para obter a altura relativa, calcula-se a diferena das alturas absolutas entre a clula atual e
as vizinhas (apenas se no estiver vazia). A altura relativa ser aquela que resultar na maior
diferena. Outro item que deve ser computado a navegabilidade do terreno, que detalhado
na prxima seo (Seo 7.3). Para a representao do mapa de navegabilidade, foi utilizada a
biblioteca grfica OpenCV (Bradski, 2000).

7.3

Classificao de Terrenos

Para que um rob possa navegar em um terreno desconhecido, necessrio saber os caminhos mais seguros a serem seguidos. Para determinar quais partes do terreno so trafegveis,
utiliza-se um classificador que com base nas informaes contidas na clula do mapa de navegabilidade, retorna o nvel de segurana. O classificador utilizado baseado em mtodo de
aprendizado de mquina supervisionado. Cada clula classificada em trs categorias diferentes: navegvel (ruas pavimentadas e caladas), parcialmente navegvel (grama e cascalho) e
no navegvel (paredes e postes).
O algoritmo de classificao utiliza os dados da altura relativa e absoluta da clula para
verificar a navegabilidade. Sendo um mtodo baseado em AM, a classificao realizada atravs do modelo generalizado do conjunto de dados de treinamento. Dessa forma, para que o
classificador funcione corretamente, necessrio que o mesmo seja treinado com exemplos
que caracterizam adequadamente cada tipo de terreno. O classificador possui trs sadas, uma
para cada categoria de terreno, sendo que apenas uma pode ser ativada. Por fim, essa sada
armazenada na clula. A Figura 7.5 esquematiza o funcionamento da classificao de uma
clula.

Captulo 7. Desenvolvimento do Sistema

67

Para a classificao foram utilizados dois mtodos: rede neural artificial (RNA) e mquina
de suporte vetorial (SVM). Estas duas tcnicas foram escolhidas pois so citadas na literatura
como eficientes mtodos para a resoluo de problemas de classificao (Haykin, 1998) (Rojas,
1996) (Cristianini e Shawe-Taylor, 2000). Para a classificao com RNAs, contou-se com o
auxlio da biblioteca SNNS (Zell et al., 1993) e para a classificao com SVM, utilizou-se a
biblioteca SVM Light (Joachims, 2002).

Clula
Entrada

Altura absoluta
Altura relativa
Navegabilidade

AM

Sada

Classificao

Navegvel
Parc. navegvel
No navegvel

Figura 7.5: O algoritmo de classificao utiliza os valores da altura absoluta e relativa da clula
para verificar a navegabilidade. Aps isso, a categoria de terreno (navegvel, parcialmente navegvel e no navegvel) retornado pelo classificador armazenada na
clula.

7.4

Experimentos e Resultados

Nesta seo sero apresentados resultados obtidos pelo algoritmo de mapeamento e de classificao de terrenos, utilizando dados de terrenos reais coletados por meio de uma plataforma
robtica. Os resultados so tambm discutidos para demonstrar a validade dos mtodos desenvolvidos.

7.4.1

Mapeamento de Terrenos

O primeiro experimento realizado consistiu na validao do algoritmo de mapeamento de terrenos. Inicialmente, foram coletados manualmente dados de terrenos utilizando um rob Pioneer
3-AT equipado com um sensor laser 2D SICK LMS 200, como mostrado na Figura 7.6. O
sensor est configurado para coletar a cada varredura, 181 pontos do ambiente 10Hz. Para
controlar a plataforma robtica, a biblioteca Player foi empregada para intermediar a comunicao entre o servidor e o cliente. Todas as informaes coletadas pelo rob (odometria e dados

68

7.4. Experimentos e Resultados

Figura 7.6: Plataforma robtica utilizado nos experimentos.


do sensor laser) foram armazenadas em arquivos de registros (log files) criados pela interface
Player.
Foram escolhidos quatro cenrios distintos (rotulados como Cenrio I~IV) para a coleta dos
dados, cada uma possuindo caractersticas especficas.
Cenrio I: Terreno inclinado com obstculos e vegetao alta nas laterais (Figura 7.7(a)).
Cenrio II: Terreno plano com grama baixa na lateral (Figura 7.7(b)).
Cenrio III: Passagem com vegetao de tamanhos diversos nas laterais (Figura 7.7(c)).
Cenrio IV: Paraleleppedo com vegetao nas laterais (Figura 7.7(d)).
Aps a fase de coleta de dados, os arquivos de registro foram alimentados no algoritmo
de mapeamento 3D de terrenos. Para cada cenrio foi gerado o mapa de nuvem de pontos
no formato VRML, cujos resultados so apresentados na Figura 7.8. Nota-se que nos mapas
gerados, pde-se recriar detalhes precisos do terreno. Os mapas possuem na ordem de 150 mil
pontos e arquivos com mdia de 5MB, para percursos de aproximadamente 10m. Ou seja, em
mdia, temos 15 mil pontos para descrever um trecho de 1m.
Para a criao dos mapas de navegabilidade, foram utilizados os mesmos arquivos de registro coletados pela plataforma robtica apresentada inicialmente. A grade do mapa foi ajustada
para tamanho 600600 e clulas com dimenso de 5cm5cm. Sendo assim, a grade forma um
janela que cobre uma rea do terreno de 15m 15m. Em um trecho de 1m, so utilizadas 6 mil
clulas, isto corresponde menos da metade da quantidade de pontos utilizados no mapa 3D
para descrever a mesma extenso. Com isso, podemos notar a reduo obtida no mapa de navegabilidade. A Figura 7.9 mostra mapas de navegabilidade representando a altura absoluta e a

Captulo 7. Desenvolvimento do Sistema

(a) Cenrio I

69

(b) Cenrio II

(c) Cenrio III

(d) Cenrio IV

Figura 7.7: Ambientes utilizados nos experimentos. (a) Via com grama na lateral. (b) Rampa.
(c) Via com grama nas laterais. (d) Paraleleppedo.
altura relativa do Cenrio I e do Cenrio II. As alturas so representadas por meio de uma escala
de cores, sendo que cores vermelhas denotam valores positivos, cores azuis, valores negativos e
cores verdes, valores prximos a zero.
Analisando-se os mapas com as alturas absolutas, nota-se que a representao da altura
do relevo do terreno compatvel com o cenrio real. Porm, no poderamos utilizar este
valor como a nica referncia para a classificao de terrenos, pois o mesmo no detectaria
declives e aclives, os quais possivelmente seriam rotulados como obstculos (Figura 7.9(a) e
Figura 7.9(c)). Em contrapartida, o uso exclusivo da altura relativa para a classificao do
terreno, falharia na classificao de superfcies planas e altas como obstculos (Figura 7.9(b)
e Figura 7.9(d)). Sendo assim, esses dois valores foram utilizados em conjunto para avaliar a
navegabilidade das pores do terreno.

70

7.4. Experimentos e Resultados

(a) Mapa I

(b) Mapa II

(c) Mapa III

(d) Mapa IV

Figura 7.8: Mapas 3D gerados pelo algoritmo de mapeamento. Mapas I a IV correspondem


respectivamente aos Cenrios I a IV.

(a) Mapa I: Altura Abso- (b) Mapa I: Altura Rela- (c) Mapa II: Altura Abso- (d) Mapa II: Altura Relativa
luta
tiva
luta

Figura 7.9: Mapas de navegabilidade dos Cenrios I e II.

Captulo 7. Desenvolvimento do Sistema

7.4.2

71

Classificao de Terrenos

Para a classificao das clulas do mapa de navegabilidade gerados pelo processo de mapeamento, foram aplicados dois paradigmas de aprendizado supervisionado: RNA e SVM. Posteriormente, os resultados obtidos pelos dois mtodos foram comparados de forma a determinar o
classificador ideal para o conjunto de terrenos utilizados neste experimento (Cenrio I~IV). No
funcionamento do classificador de terrenos, a partir dos dados de entrada, os quais so a altura
absoluta e relativa da clula, determinada a classe de navegabilidade dessa poro de terreno,
que se compreende em navegvel (terrenos planos), parcialmente navegvel (grama e cascalho)
e no navegvel (postes e paredes).
O passo inicial para a criao dos classificadores foi a gerao de um conjunto de padres
de treinamento e um outro de validao. Na criao desse conjunto de dados, foram extradas
amostras de clulas do mapa de navegabilidade e rotulados manualmente. Para cada terreno
apresentado na seo anterior (Cenrio I~IV) foi criado um arquivo com padro de treinamento
e de validao (Padro I~IV), utilizando amostras de clulas do mesmo cenrio. Um arquivo
adicional (Padro V) contendo todos os padres de treinamento do Cenrio I a IV e um outro
arquivo contendo todos os padres de validao desses cenrios foram gerados. Pelo fato de
que o Cenrio I visualmente no apresentava muitas pores de terreno consideradas parcialmente navegveis, particularmente para este terreno, os arquivos de treinamento e de validao
no continham padres rotulados nessa categoria. Na Tabela 7.1 so listados os conjuntos de
padres criados e a quantidade de padres de treinamento e de validao contidos em cada arquivo. Os modelos de redes neurais e SVM criados foram treinados e avaliados com os Padres
I~V.
No caso da RNA, foram utilizadas redes modeladas com a arquitetura multilayer perceptron.
A topologia da rede consiste em 3 camadas, composta por 2 elementos de entrada (altura relativa
e altura absoluta) e 3 elementos de sada (classes navegvel, parcialmente navegvel e no
navegvel). O nmero de elementos na camada oculta foi variado, sendo que foram criadas

Conjunto de padro
Padro I
Padro II
Padro III
Padro IV
Padro V

Terreno
Cenrio I
Cenrio II
Cenrio III
Cenrio IV
Cenrios IIV

Nmero de padres
Treinamento Validao
628
363
783
262
2478
825
2529
841
6418
2291

Tabela 7.1: Lista do conjunto de padres com informaes sobre qual ambiente foi extrado os
exemplos e o nmero de padres de treinamento e de validao utilizados.

72

7.4. Experimentos e Resultados

(a) RNA com 4 elementos na camada


oculta

(b) RNA com 32 elementos na camada oculta

Figura 7.10: Ilustrao das duas topologias de rede neural utilizadas nos experimentos.
redes com 4, 8, 16 e 32 elementos nessa camada. Para a manipulao das RNAs, contou-se com
a biblioteca SNNS (Zell et al., 1993). Na Figura 7.10 so ilustradas as topologias com 4 e 32
neurnios na camada oculta empregadas. Para o treinamento das redes neurais foi utilizado o
algoritmo de aprendizado resilient backpropagation. Cada treinamento foi realizado com 10000
ciclos, sendo que foi constatado por mtodos empricos que este perodo suficiente para a
generalizao das redes. Aps o processo de treinamento, cada rede neural foi testada com os
conjuntos de validaes (Padro I~IV) de forma a verificar a acurcia dos classificadores. A
Tabela 7.2 mostra o erro obtido por cada classificador neural. Nota-se que as taxas de erro so
menores nas redes testadas com padres extrados dos mesmos cenrios que a do padro de
treinamento. Alm disso, como mencionado anteriormente, como o Padro I s tinha rtulos
para duas classes (navegvel e no navegvel), a rede treinada com o mesmo no foi capaz de ser
testada para outros padres de validao, os quais possuiam trs classes de sada. Na Figura 7.11
so ilustrados os grficos de generalizao das redes neurais que obtiveram os menores erros
para cada padro validado. Nota-se que em todos os casos, aps 10000 ciclos de treinamento a
rede perde a capacidade de generalizao.
Para o treinamento do classificador SVM, foram utilizados quatro kernels diferentes: linear (K0), polinomial (K1), funo base radial (RBF) (K2) e sigmoid (K3). A biblioteca SVM
Light (Joachims, 2002) foi utilizada para a criao dos classificadores. Com o intuito de comparar o desempenho do SVM com a RNA, foram efetuados os mesmos experimentos no processo
de treinamento e de validao dos classificadores SVM. Assim, os padres de treinamento foram utilizados para a aprendizagem dos classificadores e em seguida testados com os padres
de validao. A Tabela 7.3 mostra as taxas de erro no processo de classificao dos padres de
validao. Note que o algoritmo de treinamento no convergiu para o kernel RBF para o Padro
IV e o Padro V, consequentemente no puderam ser criados classificadores obtidos por meio
destes padres. Da mesma forma como nas RNAs, os modelos avaliados utilizando os mesmos
cenrios que os do treinamento obtiveram os menores erros de classificao.

Captulo 7. Desenvolvimento do Sistema

73

Conjunto de validao (erro%)


Modelo de treinamento

Padro I

Padro II

Padro III

Padro IV

Padro V

Padro I

Padro II

Padro III

Padro IV

Padro V

4 n.o.

>0,00%

8 n.o.

>0,00%

16 n.o.

>0,00%

32 n.o.

>0,00%

4 n.o.

2,29%

1,10%

10,67%

21,05%

12,00%

8 n.o.

5.73%

0,28%

6,91%

14,15%

8,38%

16 n.o.

16,03%

4,68%

7,76%

42,93%

21,13%

32 n.o.

11,83%

2,20%

5,45%

33,53%

15,98%

4 n.o.

13,36%

1,10%

5,45%

42,69%

19,34%

8 n.o.

8,02%

3,03%

4,85%

34,72%

15,89%

16 n.o.

11,07%

1,38%

4,48%

36,03%

16,32%

32 n.o.

11,45%

2,75%

6,55%

37,46%

17,85%

4 n.o.

11,45%

1,65%

22,67%

11,89%

14,10%

8 n.o.

10,31%

5,23%

19,52%

10,23%

12,79%

16 n.o.

11,45%

4,96%

20,12%

12,01%

13,75%

32 n.o.

11,07%

6,34%

20,97%

11,77%

14,14%

4 n.o.

6,87%

>0,00%

6,67%

13,67%

7,99%

8 n.o.

4,96%

>0,00%

6,91%

11,41%

7,16%

16 n.o.

4,96%

0,28%

5,94%

14,39%

8,03%

32 n.o.

3,82%

>0,00%

7,27%

13,91%

8,21%

Tabela 7.2: Taxa de erro no processo de validao das redes neurais para cada padro(n.o.
denota o nmero de neurnios ocultos usados na rede). As menores taxas de erros
de cada modelo avaliado esto destacadas em negrito.

74

7.4. Experimentos e Resultados

Conjunto de validao (erro%)


Modelo de treinamento

Padro I

Padro II

Padro III

Padro IV

Padro V

Padro I

Padro II

Padro III

Padro IV

Padro V

K0

34,35%

K1

0,38%

K2

0,38%

K3

0,38%

K0

70,61%

52,62%

49,94%

41,62%

45,00%

K1

38,55%

0,28%

11,76%

22,59%

13,92%

K2

38,17%

2,20%

13,70%

22,59%

14,32%

K3

38,55%

1,93%

12,24%

21,05%

13,79%

K0

91,60%

74,10%

51,52%

68,85%

62,55%

K1

46,56%

1,10%

7,27%

38,41%

18,03%

K2

48,09%

1,38%

6,79%

37,46%

17,37%

K3

47,71%

0,83%

7,15%

33,53%

15,93%

K0

79,77%

50,96%

54,30%

43,64%

47,58%

K1

32,06%

11,02%

33,70%

17,72%

21,96%

K2

32,44%

10,74%

33,09%

17,48%

21,56%

K3

K0

79,39%

51,24%

54,06%

43,28%

47,45%

K1

42,37%

1,10%

12,24%

20,69%

12,75%

K2

41,98%

1,10%

12,00%

20,69%

12,70%

K3

Tabela 7.3: Taxa de erro no processo de validao dos classificadores SVM utilizando quatro diferentes kernels. As menores taxas de erros de cada modelo avaliado esto
destacadas em negrito.

Captulo 7. Desenvolvimento do Sistema

75

(a) RNA - Padro I

(b) RNA - Padro II

(c) RNA - Padro III

(d) RNA - Padro IV

(e) RNA - Padro V

Figura 7.11: Grficos da generalizao de cada rede neural que obteve os melhores resultados
para cada Padro. A curva em preto representa o erro no processo de treinamento
dos dados de treinamento e a curva em vervelho dos dados de validao. A funo
de erro utilizado o erro quadrtico mdio.
Aps o treinamento e teste dos classificadores de terrenos, utilizamo-os para classificar os
arquivos de registros coletados inicialmente pela plataforma robtica (cada arquivo de registro
contm dados de um terreno (cenrio) capturado pelo sensor laser). Para esta tarefa utilizamos
as redes e modelos SVM que obtiveram os menores erros no processo de validao de cada
cenrio. Na Figura 7.12 so apresentados os cenrios classificados com RNA e na Figura 7.13
com SVM. Os pontos vermelhos se referem s pores no navegveis, pontos azuis s pores

76

7.4. Experimentos e Resultados

(a) Cenrio I

(b) Cenrio II

(c) Cenrio III

(d) Cenrio IV

Figura 7.12: Resultado das melhores classificaes utilizando RNA. Clulas vermelhas representam as regies no navegveis, azuis as regies parcialmente navegveis e verdes as regies navegveis.

(a) Cenrio I

(b) Cenrio II

(c) Cenrio III

(d) Cenrio IV

Figura 7.13: Resultado das melhores classificaes utilizando SVM. Clulas vermelhas representam as regies no navegveis, azuis as regies parcialmente navegveis e verdes as regies navegveis.
parcialmente navegveis e pontos verdes s pores navegveis. Nos Cenrios I, II e IV, ambos
os mtodos obtiveram resultados bem similares, porm quanto ao Cenrio III, atravs da anlise
visual, notamos que o mtodo SVM classificou incorretamente algumas clulas do mapa que
eram parcialmente navegveis como no navegveis.
Para determinar qual tcnica de aprendizado de mquina alcanou os melhores resultados
na tarefa de classificao de terrenos, foi comparado o nmero de vezes, para todos os modelos
treinados, qual classificador obteve a menor taxa de erro para cada conjunto de validao. A
Tabela 7.4 mostra os resultados da comparao. Nesta tabela podemos observar que exceto
para o modelo treinado com o Padro III, em todos os outros o classificador por RNA obteve
melhores resultados. Em outras palavras, as redes neurais classificaram melhor 13 vezes contra

Captulo 7. Desenvolvimento do Sistema


Modelo treinado
Padro I
Padro II
Padro III
Padro IV
Padro V
Total

77
Classificador
RNA SVM
1
0
3
0
2
2
4
0
4
0
13
2

Tabela 7.4: Nmero de vezes que os classificadores RNA e SVM obtiveram as menores taxas
de erro para cada conjunto de validao.
duas para o SVM. Alm de que nos resultados grficos, pde-se confirmar a superioridade
das RNAs por gerar classificaes mais precisas, como mencionado para o Cenrio III. Outra
desvantagem encontrada no SVM foi a incapacidade do algoritmo de convergir para o Padro
IV e Padro V. Uma explicao para os resultados inferiores para o classificador SVM o fato
de que este mtodo necessita do ajuste correto de diversos parmetros de forma a funcionar
corretamente.

7.5

Concluso

Neste captulo foi apresentado um mtodo para mapeamento e classificao de ambientes externos. Na realizao dos experimentos para a validao dos resultados, foram utilizados dados
reais de ambientes coletados por meio de um sensor laser 2D equipado em um rob mvel.
Primeiramente, foi desenvolvido um mtodo para criao de mapas 3D de ambientes. Este
mapa composto por um conjunto de pontos que descrevem objetos do ambiente. Nos mapas
gerados, nota-se que detalhes minuciosos dos terrenos puderam ser reproduzidos, constatando a
preciso do algoritmo. Entretanto, aplicar um mapa de nuvem de pontos para a classificao de
terrenos no seria muito interessante, pois, seria necessrio realizar uma anlise ponto a ponto.
Dessa forma, uma estrutura chamada mapas de navegabilidade foi desenvolvida para reduzir
a quantidade de informao a ser processada para a identificao de obstculo nos terrenos.
A unidade bsica dos mapas de navegabilidade so as clulas, as quais representam regies
quadriculares do terreno. Utilizando esta estrutura, pode-se reduzir mais que pela metade o
volume de informaes que seriam necessrias para a classificao de terrenos.
Em relao ao sistema de classificao de terrenos, foram abordados dois mtodos baseados
em aprendizado de mquina supervisionado, sendo estes, RNA e SVM. Para o treinamento dos
classificadores, foram utilizados padres de treinamento e de validao extrados de ambientes

78

7.5. Concluso

reais e rotulados manualmente. Verificando os resultados obtidos pela validao dos resultados,
nota-se que os classificadores por RNAs geraram classificaes mais precisas. Alm disso,
verificando-se os resultados grficos das classificaes, constata-se a superioridade das RNAs
nestes experimentos.

C APTULO

8
Concluso

sta dissertao apresentou um sistema de classificao da navegabilidade de terrenos


acidentados utilizando tcnicas de aprendizado supervisionado (RNA e SVM). Os resultados das classificaes so apresentados em um mapa de navegabilidade, distinguindo as regies navegveis, parcialmente navegveis e no navegveis do terreno.

Para o desenvolvimento deste trabalho, inicialmente foram pesquisados os diversos tipos


de sensores aplicados na robtica mvel. Foi verificado que o sensor laser possui uma alta
freqncia para coleta de dados, alm de uma boa faixa de alcance, dessa forma, este sensor foi
escolhido neste projeto. Posteriormente, foram abordados os principais algoritmos utilizados
na robtica mvel, divididos em mapeamento, localizao e navegao. Por meio deste estudo,
pde-se constatar que o algoritmo de mapeamento exerce um papel fundamental para a navegao autnoma, pois, fornece ao rob informaes sobre os possveis obstculos existentes no
ambiente. Em seguida, foi realizado um levantamento bibliogrfico com os pricipais trabalhos
sobre mapeamento e navegao robtica am abientes externos dos ltimos anos. Constatou-se
que para a atuao de robs nos ambientes externos, a anlise do ambiente muito mais minuscioso em relao aos ambientes internos, devido a presena de obstculos complexos e imprevistos. Resultados promissores foram obtidos pela competio de carros autnomos organizado
pelo DARPA, mostrando a evoluo e a importncia que este problema tm trazido pela comunidade cientfica. Foram tambm estudados os dois mtodos de aprendizado de mquina
supervisionado utilizados neste projeto: RNAs e SVMs. O funcionamento desses mtodos
79

80
baseado na generalizao de modelos treinados com um conjunto de dados que retratam o comportamento de um determinado sistema. Sendo assim, os dados e o algoritmo de treinamento
escolhidos influenciam na capacidade de resoluo de problemas pelo modelo.
Quanto ao desenvolvimento do algoritmo de classificao de terrenos, este foi dividido em
duas etapas: mapeamento e classificao de terrenos. O algoritmo de mapeamento consiste na
criao de um modelo virtual do terreno por meio dos dados coletados por um sensor. Nos
exeprimentos realizados, foi utilizado uma plataforma robtica Pioneer AT-3 equipado com um
sensor laser SICK LMS 200. Com o mapa de nuvem de pontos gerados pde-se observar o
alto nvel de detalhamento do cenrio reproduzido. Considerando que o elevado nmero de
pontos poderia se tornar um garagalo para o algoritmo de classificao de terrenos, este mapa
foi convertido em um mapa de navegabilidade. Este mapa composto por clulas quadradas
que representam uma poro do terreno. Dessa forma, a quantidade de informaes do mapa
foi reduzida aproximadamente pela metade.
Os algoritmos para a classificao foram treinados e validados com dados reais extrados de
quatro terrenos coletados pela plataforma robtica. Comparando-se as taxas de acerto obtidos
pelos dois mtodos de aprendizado supervisionado, verificou-se que as RNAs resultaram em
classificaes mais precisas comparados com as SVMs. Analisando-se os mapas de navegabilidade classificados com as RNAs, nota-se que este sistema poderia ser eficientemente utilizado
na navegao de robs em terrenos desestruturados.
Este projeto demonstrou que apesar das diversas tcnicas de mapeamento e classificao
existentes na literatura, este um assunto da robtica mvel que ainda pode ser explorado
buscando-se algoritmos cada vez mais eficientes. Isto se justifica pelo fato de que os robs
que iro utilizar este sistema atuaro em ambientes externos, sendo assim, os mesmos devero
operar em tempo real, ser tolerante s falhas e ter baixo consumo de energia. Com isso, devemos
apresentar as mais diversas solues possveis para este problema, de modo a determinar qual
tcnica se adapta melhor.
Alm disso, este trabalho contribui para o projeto do Laboratrio de Robtica Mvel do
ICMC-USP em parceria com o INCT-SEC que tem como proposta o desenvolvimento de um
carro autnomo. O veculo ir navegar autonomamente pelo ambiente, dispensando a presena
do motorista. Dessa forma, o sistema de mapeamento e classificao de terrenos apresentado
pode ser visto tambm como uma contribuio para o sistema de navegao deste veculo, sendo
que pode-se utilizar o mapa de navegabilidade para determinar as reas navegveis da rua.

Captulo 8. Concluso

8.1

81

Trabalhos Futuros

Dentre os trabalhos futuros inclui o teste do sistema de classificao com outros mtodos de
aprendizado como algoritmos genticos e lgica difusa. Alm disso, visa-se a integrao do
sistema de classificao de terrenos com um algoritmo de navegao, possibilitando a atuao
autnoma de robs em ambientes externos. Podem ser realizados tambm testes experimentais
com robs em alta velocidade, de modo a verificar se o sistema permite operar em tempo real.
Com isso, pode-se verificar a validade do mtodo implementado para aplicaes reais (veculos
autnomos), analisando-se as melhorias que poderiam ser feitas ao sistema.

Referncias Bibliogrficas

BAJRACHARYA , M.; TANG , B.; H OWARD , A.; T URMON , M.; M ATTHIES , L. Learning
long-range terrain classification for autonomous navigation. In: Proc. IEEE International
Conference on Robotics and Automation ICRA 2008, 2008, p. 40184024.
BALAGUER , B.; C ARPIN , S. Where am i? a simulated gps sensor for outdoor robotic applications. In: SIMPAR 08: Proceedings of the 1st International Conference on Simulation,
Modeling, and Programming for Autonomous Robots, Berlin, Heidelberg: Springer-Verlag,
2008, p. 222233.
BANNO , A.; I KEUCHI , K. Shape recovery of 3d data obtained from a moving range sensor by
using image sequences. In: Proc. Tenth IEEE International Conference on Computer Vision
ICCV 2005, 2005, p. 792799.
BARANAUSKAS , J. A.; M ONARD , M. C. Combining symbolic classifiers from multiple
inducers. Knowledge-Based Systems, v. 16, n. 3, p. 129 136, 2003.
Disponvel
em
http://www.sciencedirect.com/science/article/
B6V0P-45PK78W-3/2/097ca485beaba2de5390be29611fa7d6
BATAVIA , P. H.; N OURBAKHSH , I. Path planning for the cye personal robot. In: Proc.
IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2000), 2000, p.
1520.
B ISHOP, R. Intelligent vehicle applications worldwide. IEEE Intelligent Systems, v. 15, n. 1,
p. 7881, 2000.
B LAER , P.; A LLEN , P. Data acquisition and view planning for 3-d modeling tasks. In:
Intelligent Robots and Systems, 2007. IROS 2007. IEEE/RSJ International Conference on,
2007, p. 417422.
B OK , Y.; H WANG , Y.; K WEON , I.-S. Accurate motion estimation and high-precision 3d
reconstruction by sensor fusion. In: ICRA, 2007, p. 47214726.
B ORENSTEIN , J.; E VERETT, H.; F ENG , L. "where am i?"sensors and methods for autonomous mobile robot positioning. Relatrio Tcnico, University of Michigan, 1996.
83

84

Referncias Bibliogrficas

B ORENSTEIN , J.; E VERETT, H.; F ENG , L.; W EHE , D. Mobile robot positioning sensors and
techniques. Journal of Robotic Systems, Special Issue on Mobile Robots, Vol. 14, No. 4,
1997.
B ORENSTEIN , J.; F ENG , L. Measurement and correction of systematic odometry errors in
mobile robots. Robotics and Automation, IEEE Transactions on, v. 12, n. 6, p. 869880,
1996.
B ORENSTEIN , J.; KOREN , Y. Real-time obstacle avoidance for fast mobile robots in cluttered
environments. In: Proc. IEEE International Conference on Robotics and Automation, 1990,
p. 572577.
B ORENSTEIN , J.; KOREN , Y. The vector field histogram-fast obstacle avoidance for mobile
robots. Robotics and Automation, IEEE Transactions on, v. 7, n. 3, p. 278288, 1991.
B RADSKI , G. The OpenCV Library. Dr. Dobbs Journal of Software Tools, 2000.
B RAGA , A. P.; DE C ARVALHO , A. P. L.; L UDERMIR , T. B. Redes neurais artificiais - teoria
e aplicaes. 2 ed. Rio de Janeiro: LTC, 2000.
B URGARD , W.; F OX , D.; H ENNIG , D.; S CHMIDT, T. Estimating the absolute position of a
mobile robot using position probability grids. In: In Proceedings of the Thirteenth National
Conference on Artificial Intelligence, Menlo Park, AAAI, AAAI Press/MIT Press, 1996, p.
896901.
B URGES , C. J. C. A tutorial on support vector machines for pattern recognition. Data Mining
Knowl. Discov., v. 2, n. 2, p. 121167, 1998.
C ARBONELL , J. G.; M ICHALSKI , R. S.; M ITCHELL , T. M. An overview of machine learning. In: M ICHALSKI , R. S.; C ARBONELL , J. G.; M ITCHELL , T. M., eds. Machine
Learning: An Artificial Intelligence Approach, Berlin, Heidelberg: Springer, p. 323, 1984.
C ASTEJON , C.; B LANCO , D.; M ORENO , L. Compact modeling technique for outdoor navigation. IEEE Transactions on Systems, Man and Cybernetics, Part A, v. 38, n. 1, p. 924,
2008.
C ONGDON , C.; H UBER , M.; KORTENKAMP, D.; B IDLACK , C.; C OHEN , C.; H UFFMAN , S.;
KOSS , F.; R ASCHKE , U.; W EYMOUTH , T. Carmel vs flakey: A comparison of two robots.
AI Magazine, 1993.
C RAMMER , K.; S INGER , Y.; C RISTIANINI , N.; S HAWE - TAYLOR , J.; W ILLIAMSON , B. On
the algorithmic implementation of multiclass kernel-based vector machines. Journal of Machine Learning Research, v. 2, p. 2001, 2001.
C RISTIANINI , N.; S HAWE -TAYLOR , J. An introduction to support vector machines: and
other kernel-based learning methods. New York, NY, USA: Cambridge University Press,
2000.
Disponvel em http://portal.acm.org/citation.cfm?id=345662

Referncias Bibliogrficas

85

D ELLAERT, F.; F OX , D.; B URGARD , W.; T HRUN , S. Monte carlo localization for mobile
robots. In: IEEE International Conference on Robotics and Automation (ICRA99), 1999.
D UAN , K.-B.; K EERTHI , S. S. Which is the best multiclass svm method? an empirical study.
p. 278285, 2005.
Disponvel em http://dx.doi.org/10.1007/11494683_28
FAHLMAN , S. E. Faster-learning variations on back-propagation: An empirical study. In:
Connectionist Models Summer School, Los Altos CA: Morgan-Kaufmann, 1988, p. 1120.
F OX , D. Markov localization: A probabilistic framework for mobile robot localization and
navigation. Tese de Doutorado, University of Bonn, Germany, 1998.
Disponvel em citeseer.ist.psu.edu/fox98markov.html
F OX , D.; B URGARD , W.; T HRUN , S. The dynamic window approach to collision avoidance.
Robotics & Automation Magazine, IEEE, v. 4, n. 1, p. 2333, 1997.
G AT, E. Three-layer architectures. In: Artificial intelligence and mobile robots: case studies
of successful robot systems, Cambridge, MA, USA: MIT Press, 1998, p. 195210.
G ERKEY, B. P.; VAUGHAN , R. T.; S TOY, K.; H OWARD , A.; S UKHATME , G. S.; M ATA RIC , M. J. Most valuable player: a robot device server for distributed control. In: Proc.
IEEE/RSJ International Conference on Intelligent Robots and Systems, 2001, p. 12261231.
G HAHRAMANI , Z.
2003, p. 72112.

Unsupervised learning.

In: Advanced Lectures on Machine Learning,

H HNEL , D.; B URGARD , W.; T HRUN , S. Learning compact 3d models of indoor and outdoor
environments with a mobile robot. Robotics and Autonomous Systems, v. 44, n. 1, p. 1527,
2003.
H AMNER , B.; S CHERER , S.; S INGH , S. Learning to drive among obstacles. In: Proc.
IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006, p. 26632669.
H ARRISON , A.; N EWMAN , P. High quality 3d laser ranging under general vehicle motion.
In: Proc. IEEE International Conference on Robotics and Automation ICRA 2008, 2008, p.
712.
H AYKIN , S. Neural networks: A comprehensive foundation (2nd edition). 2 ed. Prentice
Hall, 1998.
Disponvel
em
http://www.amazon.com/exec/obidos/redirect?tag=
citeulike07-20&path=ASIN/0132733501
H EERO , K. Path planning and learning strategies for mobile robots in dynamic partially
unknown environments. Tese de Doutorado, Faculty of Mathmatics and Computer Science,
University of Tartu, Estonia, 2006.

86

Referncias Bibliogrficas

H ORMANN , K.; R EIMERS , M. Triangulating point clouds with spherical topology. In:
LYCHE , T.; M AZURE , M.-L.; S CHUMAKER , L. L., eds. Curve and Surface Design:
Saint-Malo 2002, Modern Methods in Mathematics, Brentwood, TN: Nashboro Press, p.
215224, 2003.
J OACHIMS , T. SVM light, http://svmlight.joachims.org. 2002.
K AELBLING , L. P.; L ITTMAN , M. L.; M OORE , A. W. Reinforcement learning: A survey.
JOURNAL OF ARTIFICIAL INTELLIGENCE RESEARCH, v. 4, p. 237285, 1996.
K HATIB , O. Real-time obstacle avoidance for manipulators and mobile robots. Int. J. Rob.
Res., v. 5, n. 1, p. 9098, 1986.
KORTENKAMP, D.; B ONASSO , R. P.; M URPHY, R., eds. Artificial intelligence and mobile
robots: case studies of successful robot systems. Cambridge, MA, USA: MIT Press, 1998.
K UIPERS , B.; TAI B YUN , Y. A robot exploration and mapping strategy based on a semantic
hierarchy of spatial representations. Journal of Robotics and Autonomous Systems, v. 8,
p. 4763, 1991.
K URISU , M.; M UROI , H.; YOKOKOHJI , Y.; K UWAHARA , H. Development of a laser range
finder for 3d map-building in rubble; installation in a rescue robot. In: Proc. International
Conference on Mechatronics and Automation ICMA 2007, 2007, p. 20542059.
K WEON , I. S.; K ANADE , T. High resolution terrain map from multiple sensor data. In:
Proc. IEEE International Workshop on Intelligent Robots and Systems 90. Towards a New
Frontier of Applications IROS 90, 1990, p. 127134.
L ALONDE , J.-F.; VANDAPEL , N.; H UBER , D.; H EBERT, M. Natural terrain classification
using three-dimensional ladar data for ground robot mobility, v. 23, n. 1, p. 839 861, 2006.
L ANGER , D.; ROSENBLATT, J. K.; H EBERT, M. A behavior-based system for off-road navigation. v. 10, n. 6, p. 776783, 1994.
L IN , W.; M U , C.; TAKASE , K. Path planning with topological map built with id tag and web
camera. In: Mechatronics and Automation, Proceedings of the 2006 IEEE International
Conference on, 2006, p. 17391744.
L ORENA , A. C.; DE C ARVALHO , A. C. P. L. F. Uma introduo s support vector machines.
Revista de Informtica Terica e Aplicada (RITA), v. XIV, n. 2, p. 4367, 2007.
M ATA , M.; A RMINGOL , J. M.; DE LA E SCALERA , A.; RODRIGUEZ , F. J. A deformable
model-based visual system for mobile robot topologic navigation. In: Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003), 2003, p. 35043509.
M ATARIC , M. J. A distributed model for mobile robot environment-learning and navigation.
Relatrio Tcnico, Cambridge, MA, USA, 1990.

Referncias Bibliogrficas

87

M C C ULLOCH , W. S.; P ITTS , W. A logical calculus of the ideas immanent in nervous activity.
Bulletin of Mathematical Biophysics, v. 5, p. 115137, 1943.
M ITCHELL , T. Machine learning (mcgraw-hill international edit). 1st ed. McGraw-Hill
Education (ISE Editions), 1997.
Disponvel
em
http://www.amazon.com/exec/obidos/redirect?tag=
citeulike07-20&path=ASIN/0071154671
M ORALES , Y.; TAKEUCHI , E.; C ARBALLO , A.; T OKUNAGA , W.; K UNIYOSHI , H.; A BURA DANI , A.; H IROSAWA , A.; NAGASAKA , Y.; S UZUKI , Y.; T SUBOUCHI , T. 1km autonomous robot navigation on outdoor pedestrian paths &unning the tsukuba challenge 2007&.
In: Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems IROS 2008,
2008, p. 219225.
M ORAVEC , H.; E LFES , A. E. High resolution maps from wide angle sonar. In: Proceedings
of the 1985 IEEE International Conference on Robotics and Automation, 1985, p. 116 121.
M ULLER , J. R.; H ARDING , D. J. Using lidar surface deformation mapping to constrain
earthquake magnitudes on the seattle fault in washington state, usa. In: Proc. Urban Remote
Sensing Joint Event, 2007, p. 17.
M URPHY, R. R. Introduction to ai robotics. Cambridge, MA, USA: MIT Press, 2000.
PATZ , B. J.; PAPELIS , Y.; P ILLAT, R.; S TEIN , G.; H ARPER , D. A practical approach to
robotic design for the darpa urban challenge. J. Field Robot., v. 25, n. 8, p. 528566, 2008.
P FAFF , P.; T RIEBEL , R.; S TACHNISS , C.; L AMON , P.; B URGARD , W.; S IEGWART, R.
Towards mapping of cities. In: Proc. IEEE International Conference on Robotics and Automation, 2007, p. 48074813.
P IMENTA , L.; F ONSECA , A.; P EREIRA , G.; M ESQUITA , R.; S ILVA , E.; C AMINHAS , W.;
C AMPOS , M. Robot navigation based on electrostatic field computation. Magnetics, IEEE
Transactions on, v. 42, n. 4, p. 14591462, 2006.
P INIES , P.; TARDOS , J. D.; N EIRA , J. Localization of avalanche victims using robocentric
slam. In: Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006,
p. 30743079.
P RECHELT, L. Early stopping-but when? In: Neural Networks: Tricks of the Trade, this book
is an outgrowth of a 1996 NIPS workshop, London, UK: Springer-Verlag, 1998, p. 5569.
R ASMUSSEN , C. Combining laser range, color, and texture cues for autonomous road following. Proceedings of IEEE International Conference on Robotics & Automation, 2002.
R IEDMILLER , M.; B RAUN , H. A direct adaptive method for faster backpropagation learning:
the rprop algorithm. In: Neural Networks, 1993., IEEE International Conference on, 1993,
p. 586591 vol.1.

88

Referncias Bibliogrficas

R IEDMILLER , M.; B RAUN , H. Rprop description and implementation details. Relatrio


Tcnico, Universitat Karlsruhe, 1994.
Disponvel em citeseer.ist.psu.edu/riedmiller94rprop.html
ROJAS , R. Neural networks: a systematic introduction. New York, NY, USA: Springer-Verlag
New York, Inc., 1996.
ROSIN , P.; F IERENS , F. Improving neural network generalisation. In: Geoscience and
Remote Sensing Symposium, 1995. IGARSS 95. Quantitative Remote Sensing for Science
and Applications, International, 1995, p. 12551257 vol.2.
RUMELHART, D. E.; H INTON , G. E.; W ILLIAMS , R. J. Learning internal representations by
error propagation, p. 318362. 1986.
RUSSELL , S. J.; N ORVIG , P. Artificial intelligence: A modern approach. Pearson Education,
2003.
Disponvel em http://portal.acm.org/citation.cfm?id=773294
S ANDLER , B.-Z. Robotics : designing the mechanisms for automated machinery. London:
Prentice Hall International, London, 1991.
S ARI A LSMADI , M.; O MAR , K. B.; N OAH , S. A. Back propagation algorithm:
The best algorithm among the multilayer perceptron algorithm. International Journal of
Computer Science and Network Security (IJCSN), v. 9, n. 4, p. 378383, 2009.

KHALIL

S CHAFER , H.; H ACH , A.; P ROETZSCH , M.; B ERNS , K. 3d obstacle detection and avoidance
in vegetated off-road terrain. In: Proc. IEEE International Conference on Robotics and
Automation ICRA 2008, 2008, p. 923928.
S CHIELE , B.; C ROWLEY, J. L. A comparison of position estimation techniques using occupancy grids. In: In Proceedings of the 1994 IEEE International Conference on Robotics and
Automation, 1994, p. 16281634.
S IEGWART, R.; N OURBAKHSH , I. R. Introduction to autonomous mobile robots. Bradford
Book, 2004.
S MITH , R.; S ELF, M.; C HEESEMAN , P. Estimating uncertain spatial relationships in robotics,
p. 167193. 1990.
S TAVENS , D.; T HRUN , S. A self-supervised terrain roughness estimator for off-road autonomous driving. In: Proceedings of the Proceedings of the Twenty-Second Conference Annual
Conference on Uncertainty in Artificial Intelligence (UAI-06), Arlington, Virginia: AUAI
Press, 2006, p. 469476.
S UN , Z.; B EBIS , G.; M ILLER , R. On-road vehicle detection using optical sensors: a review.
In: Proc. 7th International IEEE Conference on Intelligent Transportation Systems, 2004, p.
585590.

Referncias Bibliogrficas

89

T HRUN , S. Bayesian landmark learning for mobile robot localization. Mach. Learn., v. 33,
n. 1, p. 4176, 1998.
T HRUN , S. Robotic mapping: a survey. In: Exploring artificial intelligence in the new
millennium, San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2003, p. 135.
T HRUN , S.; B CKEN , A. Integrating grid-based and topological maps for mobile robot navigation. Proceedings of AAAI, 1996.
T HRUN , S.; B CKEN , A.; B URGARD , W.; F OX , D.; F RHLINGHAUS , T.; H ENNIG , D.;
H OFMANN , T.; K RELL , M.; S CHMIDT, T. Map learning and high-speed navigation in
rhino, p. 2152. 1998a.
T HRUN , S.; B URGARD , W.; F OX , D. A real-time algorithm for mobile robot mapping with
applications to multi-robot and 3d mapping. In: Proc. IEEE International Conference on
Robotics and Automation ICRA 00, 2000, p. 321328.
T HRUN , S.; B URGARD , W.; F OX , D. Probabilistic robotics. MIT Press, 2005.
T HRUN , S.; G UTMANN , J.-S.; F OX , D.; B URGARD , W.; K UIPERS , B. Integrating topological and metric maps for mobile robot navigation: A statistical approach. In: AAAI/IAAI,
1998b, p. 989995.
T HRUN , S.; M ARTIN , C.; L IU , Y.; H AHNEL , D.; E MERY-M ONTEMERLO , R.; C HAKRA BARTI , D.; B URGARD , W. A real-time expectation-maximization algorithm for acquiring
multiplanar maps of indoor environments with mobile robots. IEEE Transactions on Robotics and Automation, v. 20, n. 3, p. 433443, 2004.
T HRUN , S.; M ONTEMERLO , M.; DAHLKAMP, H.; S TAVENS , D.; A RON , A.; D IEBEL , J.;
F ONG , P.; G ALE , J.; H ALPENNY, M.; H OFFMANN , G.; L AU , K.; OAKLEY, C.; PA LATUCCI , M.; P RATT, V.; S TANG , P.; S TROHBAND , S.; D UPONT, C.; J ENDROSSEK ,
L.-E.; KOELEN , C.; M ARKEY, C.; RUMMEL , C.; VAN N IEKERK , J.; J ENSEN , E.; A LES SANDRINI , P.; B RADSKI , G.; DAVIES , B.; E TTINGER , S.; K AEHLER , A.; N EFIAN , A.;
M AHONEY, P. Stanley: The Robot that Won the DARPA Grand Challenge, v. 23, n. 1,
p. 661692, 2006.
U RMSON , C.; A NHALT, J.; BAE , H.; BAGNELL , J. A. D.; BAKER , C.; B ITTNER , R. E.;
B ROWN , T.; C LARK , M. N.; DARMS , M.; D EMITRISH , D.; D OLAN , J.; D UGGINS , D.;
F ERGUSON , D.; G ALATALI , T.; G EYER , C. M.; G ITTLEMAN , M.; H ARBAUGH , S.; H E BERT, M.; H OWARD , T.; KOLSKI , S.; L IKHACHEV, M.; L ITKOUHI , B.; K ELLY, A.; M C NAUGHTON , M.; M ILLER , N.; N ICKOLAOU , J.; P ETERSON , K.; P ILNICK , B.; R AJKU MAR , R.; RYBSKI , P.; S ADEKAR , V.; S ALESKY, B.; S EO , Y.-W.; S INGH , S.; S NIDER ,
J. M.; S TRUBLE , J. C.; S TENTZ , A. T.; TAYLOR , M.; W HITTAKER , W. R. L.; W OL KOWICKI , Z.; Z HANG , W.; Z IGLAR , J. Autonomous driving in urban environments: Boss
and the Urban Challenge, v. 25, n. 1, p. 425466, 2008.
W OLF, D.; H OWARD , A.; S UKHATME , G. S. Towards geometric 3d mapping of outdoor environments using mobile robots. In: Proc. IEEE/RSJ International Conference on Intelligent
Robots and Systems (IROS 2005), 2005a, p. 15071512.

90
W OLF, D. F. Semantic mapping using mobile robots.
Southern California, 2006.

Referncias Bibliogrficas
Tese de Doutorado, University of

W OLF, D. F.; S UKHATME , G. S.; F OX , D.; B URGARD , W. Autonomous terrain mapping


and classification using hidden markov models. In: Proc. IEEE International Conference on
Robotics and Automation ICRA 2005, 2005b, p. 20262031.
YAN , X.; FENG L I , W.; FANG C HEN , D. A new mechanism for robots control based on
player/stage. In: Proc. IEEE International Conference on Robotics and Biomimetics ROBIO
06, 2006, p. 750754.
Y E , C. Polar traversability index: A measure of terrain traversal property for mobile robot
navigation in urban environments. In: Proc. ISIC Systems, Man and Cybernetics IEEE
International Conference on, 2007, p. 23422347.
Y E , C.; B ORENSTEIN , J. A new terrain mapping method for mobile robots obstacle negotiation. Unmanned Ground Vehicle Technology V, v. 5083, n. 1, p. 5262, 2003.
Disponvel em http://link.aip.org/link/?PSI/5083/52/1
Y E , C.; B ORENSTEIN , J. A method for mobile robot navigation on rough terrain. In: Proc.
IEEE International Conference on Robotics and Automation ICRA 04, 2004, p. 38633869.
Z ELL , A.; M ACHE , N.; H BNER , R.; M AMIER , G.; VOGT, M.; UWE H ERRMANN , K.; S CH MALZL , M.; S OMMER , T.; H ATZIGEORGIOU , A.; D RING , S.; P OSSELT, D.; M ARTIN ,
M. R. Snns - stuttgart neural network simulator, http://www.ra.cs.uni-tuebingen.de/snns/.
1993.
Z HANG , Z.; G UO , H.; N EJAT, G.; H UANG , P. Finding disaster victims: A sensory system
for robot-assisted 3d mapping of urban search and rescue environments. In: Proc. IEEE
International Conference on Robotics and Automation, 2007, p. 38893894.

A PNDICE

A
Mapeamento 3D de Ambientes

sistema de mapeamento abordado neste projeto teve como objetivo recriar modelos de
terrenos. Porm, muitas vezes interessante gerar mapas no apenas do terreno, mas
tambm contendo todos os elementos existentes no ambiente externo. Isto acontece
para casos em que utilizado utiliza-se robs areos para a navegao, manuteno de estruturas
de construes ou simplesmente para o reconhecimento de regies de difcil acesso.

O
A.1

Desenvolvimento do Mtodo de Mapeamento 3D


de Ambientes

Para realizar o mapeamento 3D de ambientes, foi utilizada a mesma plataforma robtica do


mapeamento de terrenos. Entretanto, o sensor laser 2D direcinado para cima (inclinao de
90 em relao ao solo), de forma a capturar dados dos objetos presentes ao redor do rob.
O processo de mapeamento consiste basicamente transformar o sistema coordenadas dos
pontos coletados pelo sensor laser no sistema de coordenadas do odmetro do rob. Assim,
dado o ponto Pl coletado pelo sensor, deve-se determinar as suas coordenadas lx , ly e lz em
relao a posio do rob.
Assim, primeiramente foi decomposto os componentes do laser obtendo-se os valores lz e
lw (Figura A.1(a)):
91

92

A.2. Resultados

x
z

Pl(,r)

lx

lz
px

lw

lw

o
(a)

y
ly

py
(b)

Figura A.1: (a) Elementos do feixe de laser apontado para cima. (b) Elementos do feixe do
laser e da posio do rob.

lz = r sin()

(A.1)

lw = r cos()

(A.2)

Em seguida, foi analisado o rob no plano xy para se determinar as coordenadas lx e ly do


ponto lido (Figura A.1(b)). Foram obtidas as seguintes expresses para lx e lz :
lx = px + lw sin()

(A.3)

ly = py lw cos()

(A.4)

Dessa forma, o algoritmo de mapeamento cosiste em obter sucessivamente os valores de lx ,


ly e lz para cada ponto lido pelo sensor laser, formando um mapa tridimensional do cenrio.

A.2

Resultados

Para avaliar o algoritmo de mapeamento de ambientes foram realizados experimentos com o


rob tanto em locais com elementos estrurados como prdios e desestruturados como rvores.
Na Figura A.2 so apresentados os resultados obtidos. Nota-se que o sensor pde capturar deta-

Captulo A. Mapeamento 3D de Ambientes

93

(a)

(b)

(c)

(d)

Figura A.2: Mapeamento 3D de ambientes realizado com o rob.


lhes de todos os elementos presentes no ambiente, comparando-se com as imagens do ambiente
real.

A PNDICE

B
Exemplo de Cdigo em C Utilizando a
Biblioteca Player/Stage

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

/ / Exemplo M a n i p u l a o do r o b
# i n c l u d e < s t d i o . h>
# i n c l u d e < l i b p l a y e r c / p l a y e r c . h>
i n t main ( i n t a r g c , c o n s t char a r g v )
{
int i ;
playerc_client_t client ;
playerc_position2d_t position2d ;
/ / C r i a o de um o b j e t o c l i e n t e e c o n e c t a o ao s e r v i d o r .
/ / Caso o S t a g e f o r u t i l i z a d o , a p r p r i a mquina l o c a l s e r
/ / o servidor ( localhost ) .
c l i e n t = p l a y e r c _ c l i e n t _ c r e a t e (NULL, " l o c a l h o s t " , 6 6 6 5 ) ;
i f ( p l a y e r c _ c l i e n t _ c o n n e c t ( c l i e n t ) != 0)
95

96
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

{
f p r i n t f ( s t d e r r , " e r r o r : %s \ n " , p l a y e r c _ e r r o r _ s t r ( ) ) ;
r e t u r n 1;
}
/ / C r i a um p r o x y p o s i t i o n 2 d ( o d m e t r o ) e a s s o c i a o no modo
// leitura / escrita
p o s i t i o n 2 d = p l a y e r c _ p o s i t i o n 2 d _ c r e a t e ( c l i e n t , 0) ;
i f ( playerc_position2d_subscribe ( position2d ,
PLAYERC_OPEN_MODE) ! = 0 )
{
f p r i n t f ( s t d e r r , " e r r o r : %s \ n " , p l a y e r c _ e r r o r _ s t r ( ) ) ;
r e t u r n 1;
}
/ / A t i v a o d o s m o t o r e s do r o b
p l a y e r c _ p o s i t i o n 2 d _ e n a b l e ( position2d , 1) ;
/ / Faz com que o r o b s e d e s l o q u e 0 . 4 m/ s e
/ / r o t a c i o n a n d o 0 . 1 rad / s
playerc_position2d_set_cmd_vel ( position2d , 0.4 , 0 , 0.1 , 1) ;
f o r ( i = 0 ; i < 2 0 0 ; i ++)
{
/ / L e i t u r a d o s d a d o s do s e r v i d o r
playerc_client_read ( client ) ;
/ / E x i b e a p o s i o a t u a l do r o b ( x , y , a z i m u t e )
p r i n t f ( " p o s i t i o n : %f %f %f \ n " ,
p o s i t i o n 2 d >px , p o s i t i o n 2 d >py , p o s i t i o n 2 d >pa ) ;
}
/ / D e s c o n e c t a o o d m e t r o e o c l i e n t e do s e r v i d o r
playerc_position2d_unsubscribe ( position2d ) ;
playerc_position2d_destroy ( position2d ) ;
playerc_client_disconnect ( client ) ;
playerc_client_destroy ( client ) ;

Captulo B. Exemplo de Cdigo em C Utilizando a Biblioteca Player/Stage


54
55
56 }

return 0;

97

A PNDICE

C
Exemplo de Cdigo VRML para
representao de pontos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# VRML V2 . 0 u t f 8
# Re p re s en ta o das coordenadas :
#
( 1 . 5 , 1 . 2 , 5 . 5 ) , ( 1 0 . 2 , 3.12 , 0 . 0 1 ) e ( 2 , 9, 1 0 0 0 )
Shape {
geometry PointSet {
coord Coordinate {
point [
1.5 1.2 5.5
1 0 . 2 3.12 0 . 0 1
2 9 1000
]
}
}
}

99

A PNDICE

D
Publicaes Decorrentes Deste
Trabalho

D.1

Artigos Publicados

1. HATA, A. Y.; WOLF, D. F. Mapeamento de ambientes externos utilizando robs mveis.


Workshop Robocontrol : Applied Robotics and Collaborative System Engineering, 2008.
2. HATA, A. Y.; WOLF, D. F. Mapeamento de terrenos utilizando robs mveis e sensor
laser. In: Latin American Informatics Conference (CLEI), Pelotas - RS: Universidade
Federal de Pelotas (UFPel), 2009, p. 49.
3. HATA, A. Y.; WOLF, D. F. Outdoor mapping using mobile robots and laser range finders. IEEE Electronics, Robotics and Automotive Mechanics Conference (CERMA), p.
209-214, 2009.
4. HATA, A. Y.; WOLF, D. F. Terrain mapping and classification using support vector machines. IEEE Latin American Robotic Symposium, LARS, 2009.
5. HATA, A. Y.; WOLF, D. F.; PESSIN, G.; OSRIO, F. S. Terrain mapping and classification
using neural networks. In: Proceedings of the 2009 ACM International Conference on
Hybrid Information Technology, ICHIT 2009, Daejeon, Korea, p. 438-442.
101

102

D.2. Artigos Submetidos

6. HATA, A. Y.; WOLF, D. F.; PESSIN, G.; OSRIO, F. S. Terrain mapping and classification in outdoor environments using neural networks. International Journal of u- and eService, Science and Technology (IJUNEST), p. 51-61, 2009.

D.2

Artigos Submetidos

1. HATA, A. Y.; WOLF, D. F. Comparing support vector machines and artificial neural
networks to terrain classification task. In: International Conference on Intelligent Autonomous Vehicles (IAV), 2010.
2. HATA, A. Y.; WOLF, D. F. Mapeamento e Classificao de Terrenos Utilizando Aprendizado Supervisionado. In: XVII Congresso Brasileiro de Automtica (CBA), 2010.

Das könnte Ihnen auch gefallen