67
Universidade Federal de Sergipe Pró-Reitoria de Pós-Graduação e Pesquisa Programa de Pós-graduação em Engenharia Elétrica PLANEJAMENTO DE MOVIMENTO PARA ROBÔS MÓVEIS BASEADO EM UMA REPRESENTAÇÃO COMPACTA DA RAPIDLY-EXPLORING RANDOM TREE (RRT) Stephanie Kamarry Alves de Sousa Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica (PROEE) da Universidade Federal de Sergipe, como parte dos requisitos necessários à obtenção do título de Mestre em Engenharia Elétrica. Orientador: Lucas Molina São Cristóvão Fevereiro de 2017

Universidade Federal de Sergipe Pró-Reitoria de Pós ... · Gostaria de agradecer primeiramente a Deus pela oportunidade dada, através da re-encarnação, de reparar os erros cometidos

Embed Size (px)

Citation preview

Universidade Federal de SergipePró-Reitoria de Pós-Graduação e Pesquisa

Programa de Pós-graduação em Engenharia Elétrica

PLANEJAMENTO DE MOVIMENTO PARA ROBÔS MÓVEIS BASEADO EM UMAREPRESENTAÇÃO COMPACTA DA RAPIDLY-EXPLORING RANDOM TREE

(RRT)

Stephanie Kamarry Alves de Sousa

Dissertação de Mestrado apresentada aoPrograma de Pós-Graduação em EngenhariaElétrica (PROEE) da Universidade Federalde Sergipe, como parte dos requisitosnecessários à obtenção do título de Mestreem Engenharia Elétrica.

Orientador: Lucas Molina

São CristóvãoFevereiro de 2017

FICHA CATALOGRÁFICA ELABORADA PELA BIBLIOTECA CENTRAL UNIVERSIDADE FEDERAL DE SERGIPE

S725p

Sousa, Stephanie Kamarry Alves de Planejamento de movimento para robôs móveis baseado em

uma representação compacta da Rapidly-exploring Random Tree (RRT) / Stephanie Kamarry Alves de Sousa ; orientador Lucas Molina. – São Cristóvão, 2017.

65 f. ; il. Dissertação (mestrado em Engenharia elétrica) – Universidade

Federal de Sergipe, 2017.

1. Engenharia elétrica. 2. Robótica. 3. Planejamento experimental. 4. Algoritmos computacionais. I. Molina, Lucas, orient. II. Título.

CDU: 621.3:007.52

Agradecimentos

Quando iniciei esse mestrado, objetivo tão importante na minha vida, acreditava quemeu maior desafio seria amadurecer a minha visão crítica e conhecimento científico, aoponto de verdadeiramente poder contribuir para a ciência... Esse desafio foi só a pontado iceberg. Ao longo desses dois anos, enfrentei barreiras que acreditava não conseguirencarar, fui testada em habilidades que jamais imaginei possuir, travei uma forte batalhainterna. Para superar tudo isso, contei com a ajuda especial de muitas “pessoas” e pretendoagradecê-las de forma singela.

Gostaria de agradecer primeiramente a Deus pela oportunidade dada, através da re-encarnação, de reparar os erros cometidos e desenvolver novos aprendizados.

A todos os meus familiares que sempre me apoiaram e acreditaram em mim. Emespecial, gostaria de agradecer ao meu irmão, Yago David, por ser meu grande amigo,estar sempre ao meu lado e me amar com tanta força. Muita das vezes que sou forte, épor você. Te amo!

Ao meu marido, Daniel Victor, por me dar o alicerce necessário para conseguir chegaraté aqui! Obrigada por me apoiar no meu sonho desde o princípio e me erguer quando euestava no chão, sozinha. Por me ensinar a enxergar e assumir os meus erros, e, com isso,buscar o melhor de mim. Seu amor, paciência, compreensão, atenção, dedicação foramessenciais. Te amo!

Quero agradecer do fundo do meu coração ao espírito de luz que Deus colocou naminha jornada, Lívia Gregorin. Você mudou a minha vida, me fez acreditar nas pessoas,mudou a minha forma de enxergar e sentir o mundo. Obrigada por me chacoalhar ecolocar o dedo na ferida! Obrigada por confiar em mim e abraçar o Irradiar quando eleainda era apenas um sonho. Obrigada por ser uma fonte de inspiração! Tenho muitoorgulho de poder te chamar de AMIGA e tenho certeza que essa é uma amizade que jáultrapassa encarnações.

Agradeço ao meu melhor amigo e irmão Phillipe Cardoso, parceiro de longas cami-nhadas, pela calma que sempre me transmitiu e por estar por perto, disposto a me ajudarem qualquer coisa. Por isso, a maior parte de tudo que conquistei na vida acadêmica évitória nossa. Fico imensamente feliz em ver que nossa parceria e irmandade vai além daUFS e da robótica! É pra vida inteira.

Ao meu orientador, Lucas Molina, que apostou em mim quando eu mesma não aposta-

ii

iii

ria, e me deu apoio nos momentos mais difíceis. Obrigada por me ensinar o que importade verdade na pesquisa e a criticar o meu próprio trabalho, de modo a buscar o meumelhor resultado. Obrigada por todas as horas dedicadas a corrigir o mesmo erro que euinsistia em cometer. Se hoje eu posso sonhar em ter um doutorado é graças a você.

Ao professor Eduardo Freire, por ser fonte constante de motivação, por todas as horasde conversas, consultorias e desabafos.

Ao meu orientador-em-tudo, Elyson Carvalho, pelos seus ensinamentos que ultrapas-sam a academia, pela dedicação ao Irradiar e pelo comprometimento social. Você é o meumaior exemplo de educador e pessoa! Muito, muito, muito obrigada!

Aos professores Jugurta e Jânio que sempre estiveram de portas abertas para escla-recer minhas dúvidas e apresentar soluções e questionamentos que sempre me levavam àevolução. Obrigada!

Aos meus amigos Ruan, Erik, Shyenne e Filpinho por todas as horas de risadas,conversas, construção de sonhos e debates. Vocês foram essenciais nessa caminhada.

A duas pessoas que “surgiram” na minha vida e fizeram meus dias serem cheios de amore de verdadeira amizade. Duas pessoas que entendem completamente os meus defeitos,minhas qualidades e minhas manias... Não só entendem, como me aceitam e me amamcomo eu sou. Muito obrigada pela melhor viagem que fiz na minha vida! Por recarregaremminhas baterias! Nara e Frans, obrigada por estarem sempre por perto. Amo vocês.

À Mayane por estar sempre disposta a ajudar desde quando eu ainda era aluna especialdo mestrado.

À FAPITEC pelo apoio financeiro que tornou possível a minha dedicação integral aomestrado.

Por fim, um agradecimento especial a todos os membros do Irradiar!!!

Resumo

PLANEJAMENTO DE MOVIMENTO PARA ROBÔS MÓVEIS BASEADO EM UMAREPRESENTAÇÃO COMPACTA DA RAPIDLY-EXPLORING RANDOM TREE

(RRT)

Stephanie Kamarry Alves de Sousa

Fevereiro/2017

Orientador: Lucas Molina

Departamento: Engenharia Elétrica (DEL/CCET/UFS)

A evolução na área de robótica móvel tem direcionado as pesquisas nesse campo paraa solução de tarefas cada vez mais complexas. Nessas tarefas, quando comportamentosotimizados são especificados, faz-se necessário um processo de deliberação para determi-nar a melhor ação a ser tomada antes de executá-la. Em arquiteturas de navegação, oprocesso de deliberação é normalmente realizado por uma estratégia de planejamento demovimento. Uma das técnicas de planejamento de movimento que tem recebido grandeparte da atenção dos pesquisadores dessa área nos últimos tempos é a Rapidly-exploringRandom Tree (RRT), pela sua capacidade de reduzir a dimensão da representação deforma rápida. A maioria dos trabalhos de pesquisa desenvolvidos utilizando RRT, até omomento, tem como foco principal desenvolver variantes dessa técnica para problemasespecíficos, sem apresentar análises aprofundadas quanto a influência das diferentes va-riáveis do algoritmo clássico. Neste trabalho de mestrado o foco é, justamente, supriressa carência, investigando a influência das diferentes variáveis que compõem o algoritmoclássico da RRT, ou seja, uma análise detalhada dos graus de liberdade da RRT e suasinfluências no resultado final. Além disso, diferentemente da maioria dos trabalhos emRRT, em que o objetivo é encontrar o melhor caminho entre dois pontos, esta disser-tação apresenta uma nova abordagem nas pesquisas em RRT ao combinar a busca poruma representação compacta e completa do espaço de configuração com um baixo custocomputacional e com o conhecimento a priori apenas da configuração de destino do robô.Para validar e analisar os resultados obtidos, testes por simulação são realizados.

palavras-chaves: RRT, PRM, planejamento de movimento, robótica, planejamentoprobabilístico.

iv

Abstract

MOTION PLANNING FOR MOBILE ROBOTS BASED ON A COMPACTREPRESENTATION OF RAPIDLY-EXPLORING RANDOM TREE (RRT)

Stephanie Kamarry Alves de Sousa

February/2017

Advisor: Lucas Molina

Department: Electrical Engineering (DEL/CCET/UFS)

The evolution of mobile robotics has directed research in this area to solve increasinglycomplex tasks. In these tasks, when optimized behaviors are specified, a deliberativeprocess is required in order to determine the best action before executing it. In naviga-tion architectures, the deliberation process is usually accomplished by a motion planningstrategy. One of the motion planning techniques which has received much of the attentionfrom the researches is the Rapidly-exploring Random Tree (RRT), because of its capacityto reduce representation dimension quickly. The vast majority of the research developedin this area, so far, is mainly focused on developing variants of the RRT for specificproblems, not providing detailed analyzes regarding the influence of different variablesin the classical algorithm. In this master’s work the focus is precisely to fill this gap byinvestigating the influence of different variables that compose the classic RRT algorithm,in other words, a detailed analysis of the RRT degrees of freedom and its influence onthe final result. In addition, unlike most RRT papers, where the objective is to find thebest path between two points, this dissertation presents a new approach in RRT searchesby combining the search for a compact and complete representation of the configurationspace with a low computational cost and knowledge of only the robot’s goal configuration.To validate and analyze the results obtained, tests by simulation are performed.

v

Sumário

Lista de Figuras viii

Lista de Tabelas x

1 Introdução 11.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Planejamento de movimento 52.1 Espaço de Configuração (C-space) . . . . . . . . . . . . . . . . . . . . . . . 62.2 Problema básico de planejamento . . . . . . . . . . . . . . . . . . . . . . . 72.3 Abordagens clássicas de planejamento . . . . . . . . . . . . . . . . . . . . . 8

2.3.1 Campos potenciais . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.2 Decomposição em células . . . . . . . . . . . . . . . . . . . . . . . . 92.3.3 Mapa de rotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Planejamento Probabilístico 143.1 Primitivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2 RRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 PRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Revisão Bibliográfica 21

5 Abordagem Proposta 255.1 Métrica de Densidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2 Dispersão dos Nós na RRT . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.3 Polarização das Amostras - R2 . . . . . . . . . . . . . . . . . . . . . . . . . 315.4 Polarização das Amostras - Rn . . . . . . . . . . . . . . . . . . . . . . . . . 34

6 Resultados 376.1 Configurações dos Experimentos . . . . . . . . . . . . . . . . . . . . . . . . 376.2 RRT Clássica x DRRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.2.1 Experimento 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386.2.2 Experimento 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

vi

SUMÁRIO vii

6.3 RRT Clássica x DRRT Polarizada . . . . . . . . . . . . . . . . . . . . . . . 416.3.1 Experimento 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416.3.2 Experimento 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.4 DRRT Polarizada x DRRT x RRT Clássica x PRM . . . . . . . . . . . . . 45

7 Conclusões e Trabalhos Futuros 48

Referências Bibliográficas 51

Lista de Figuras

2.1 Representação de um robô planar e sua trajetória em seu: (a) espaço detrabalho; e (b) espaço de configuração [1]. . . . . . . . . . . . . . . . . . . 7

2.2 Abordagem usando campos potenciais [2]. . . . . . . . . . . . . . . . . . . 92.3 Figura editada de [3]: Exemplo de decomposição exata juntamente com o

grafo resultante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 Figura editada de [3]: Exemplo de decomposição aproximada utilizando

grade regular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Exemplo de (a) Grafo de visibilidade; e (b) Diagram de Voronoi [1]. . . . . 12

3.1 A configuração inicial no Cfree é definida. . . . . . . . . . . . . . . . . . . . 163.2 Dada uma configuração inicial (qinit), o algoritmo sorteia uma nova confi-

guração aleatória válida (qrand). . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Seleção do nó mais próximo. . . . . . . . . . . . . . . . . . . . . . . . . . . 173.4 Segmento parte do qnear e vai até qnew. . . . . . . . . . . . . . . . . . . . . 173.5 Resultado da RRT clássica para K = 200. O caminho entre qinit e qgoal é

apresentado em vermelho. . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.6 Resultado da RRT para um ambiente sem obstáculos. . . . . . . . . . . . . 183.7 Um típico grafo gerado pelo PRM [4]. . . . . . . . . . . . . . . . . . . . . . 20

5.1 Resultado do algoritmo clássico da RRT (em verde) para dois ambientesdiferentes, o caminho obtido é apresentado em azul. . . . . . . . . . . . . . 25

5.2 Resultado da RRT para ocupação de 25% e 75% do ambiente, respectiva-mente: (a) e (c) Árvore; (b) e (d) Mapa de Densidade. . . . . . . . . . . . 27

5.3 Resultado da RRT para ocupação de 6% e 22% do ambiente, respectiva-mente: (a) e (c) Árvore; (b) e (d) Mapa de Densidade. . . . . . . . . . . . 28

5.4 Destaque de uma porção da RRT em que há agrupamento de nós. . . . . . 295.5 Círculo da restrição de sorteio. . . . . . . . . . . . . . . . . . . . . . . . . . 295.6 (a) Aplicação da função C(qi, r) para todos os nós; (b) Área de restrição

obtida através da união de (a). . . . . . . . . . . . . . . . . . . . . . . . . . 305.7 Resultado do algoritmo para um ambiente 100% ocupado: (a) Sem regra

de dispersão. (b) Com regra de dispersão. . . . . . . . . . . . . . . . . . . 31

viii

LISTA DE FIGURAS ix

5.8 Passos da polarização: (a) Representação do mapa inicial apenas com umnó na árvore, a área em amarelo corresponde à região de busca e a áreamarrom corresponde à região mapeada; (b) um novo nó foi adicionado naárvore, removendo a célula à qual ele pertence da região de busca; c and dcontinução do processo de polarização do crescimento. . . . . . . . . . . . 33

5.9 RRT 3D com nós de fronteira destacados em azul. . . . . . . . . . . . . . . 345.10 Região anular em torno da configuração qi modelada através da função

A(qi, r), em que a região de sorteio está destacada em amarelo e a regiãobloqueada em vermelho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.1 Mapas utilizados nos experimentos: (a) Mapa Armadilha; (b) Mapa Ba-gunça; (c) Mapa Corredor e (d) Mapa Casa. . . . . . . . . . . . . . . . . . 38

6.2 Resultado do algoritmo para um ambiente 100% ocupado: (a) RRT Clás-sica; (b) DRRT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.3 Resultado do crescimento da árvore para 600 nós: (a) RRT clássica; (b)Representação da ocupação de (a); (c) RRT utilizando a abordagem deregra de seleção proposta; (d) Representação de ocupação de (c). . . . . . . 41

6.4 Resultado do algoritmo para um ambiente 100% ocupado: (a) RRT Clás-sica; (b) DRRT Polarizada. . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.5 Representação do caminho encontrado: (a) RRT Clássica; (b) DRRT Po-larizada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.6 Resultado do algoritmo para um ambiente 100% ocupado com raiz no ex-tremo NO: (a) RRT Clássica; (b)DRRT Polarizada. Resultado do algo-ritmo para um ambiente 100% ocupado com raiz no extremo SE: (c) RRTClássica; (d) DRRT Polarizada. . . . . . . . . . . . . . . . . . . . . . . . . 44

6.7 Representação do caminho encontrado: (a) RRT Clássica; (b) DRRT Po-larizada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.8 Resultado dos algoritmos para um ambiente 50% ocupado com raiz noextremo noroeste: (a) RRT Clássica; (b) DRRT; (c) DRRT Polarizada; (d)PRM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Lista de Tabelas

5.1 Relação Nó x Número de Iterações x Densidade . . . . . . . . . . . . . . . 305.2 Relação entre número de iterações (K) e número de Nós (N) para a RRT

Clássica polarizada e a RRT Clássica não polarizada. . . . . . . . . . . . . 335.3 Número de descartes de nós para a RRT polarizada e a RRT não polarizada. 36

6.1 Experimento 1- DRRT x RRT Clássica. . . . . . . . . . . . . . . . . . . . . 396.2 Resultado obtido no segundo experimento. . . . . . . . . . . . . . . . . . . 406.3 Experimento 1 - DRRT Polarizada x RRT Clássica. . . . . . . . . . . . . . 426.4 Resultados obtidos no segundo experimento - Partindo da extremidade NO. 436.5 Resultados obtidos no segundo experimento - Partindo da extremidade SE. 446.6 Resultados para uma ocupação completa do ambiente - Número de Iterações. 466.7 Resultados para uma ocupação completa do ambiente - Número de Nós. . . 46

x

Capítulo 1

Introdução

Desde o século XX, os robôs deixaram de ser apenas ideias de roteiristas de filmesde ficção científica e passaram a ser o foco de estudos de pesquisadores, a fazer partede processos industriais e até mesmo a realizar cirurgias em seres humanos. A evoluçãoda automação industrial acarretou o avanço em pesquisas na área de robótica devido àfacilidade de encaixar robôs no processo de produção, executando tarefas com eficiênciae precisão, de forma a aperfeiçoar o trabalho e reduzir os custos. A evolução da robótica,por sua vez, tornou possível a realização de tarefas de grande importância para o desen-volvimento da humanidade, como é o caso de missões de exploração de longa duração emoutros planetas.

Uma das principais áreas de estudo dentro da robótica consiste em, com base eminformações do ambiente, determinar os movimentos necessários ao robô, para que estepossa se locomover da sua posição inicial até uma posição de destino [3]. Em determinadassituações isso ocorre em ambientes dinâmicos onde a capacidade de chegar ao ponto dedestino está associada à capacidade de reagir a estímulos externos de forma coerente. Emoutras situações, o robô pode necessitar que o desempenho seja ótimo, o que acarretauma etapa de planejamento para definir a melhor ação a ser tomada. Em ambos oscasos, a escolha da ação a ser executada pelo robô pode ser definida de diferentes formas,conhecidas como mecanismos de seleção de ação (MSA), ou simplesmente arquiteturasde navegação [5]. Tais arquiteturas são tradicionalmente divididas em três categorias:deliberativas, reativas e híbridas [6].

As arquiteturas reativas são geralmente utilizadas como uma camada de nível maisbaixo na navegação de robôs, com a vantagem de responderem em tempo real, por mapea-rem diretamente a leitura dos sensores em ações do robô [7]. Já o paradigma deliberativopossui, com base nas informações do sistema sensorial e/ou conhecimento a priori domapa, um modelo simbólico do ambiente que é usado para predizer o resultado das açõesescolhidas, possibilitando a otimização de desempenho relativo ao modelo do ambiente. Asarquiteturas híbridas, por sua vez, tentam unir as características dos dois tipos anteriorescom o objetivo de equilibrar os níveis de robustez e eficiência.

1

A etapa de planejamento de movimento é um ponto importante da arquitetura deli-berativa, sendo um dos problemas centrais para a área de navegação autônoma de robôs.Apesar da grande variedade de técnicas propostas para resolver esses problemas, caracte-rísticas como dimensionalidade do espaço podem inviabilizar a aplicação de muitas dessastécnicas.

No que diz respeito ao tipo de representação do espaço, os métodos de planejamentopodem ser classificados em exatos (ou combinatórios) e aproximados (ou baseados emamostragem). Estes últimos, apesar de não representarem fielmente o espaço de interesse,possibilitam uma representação mais compacta do mesmo, o que torna possível a aplicaçãode técnicas de planejamento em espaços de dimensão elevada [5].

Entre os planejadores de movimento baseados em amostragem, estão os planejadoresprobabilísticos, que têm como seus maiores representantes o PRM (do inglês, ProbabilisticRoad Map) [8] e a RRT (do inglês, Rapidly-exploring Random Tree) [9].

O PRM foi introduzido por Kavraki et al. (1996) como forma de superar a bemconhecida maldição da dimensionalidade, existente nos planejadores clássicos. O PRMimplementa dois procedimentos principais para gerar um mapa de rotas probabilístico: (1)aprendizagem e (2) consulta. Na fase de aprendizagem que ocorre primeiro, o espaço deconfigurações é amostrado por um determinado período. As amostras, ou configuraçõesno espaço livre, são mantidas, enquanto aquelas no espaço de obstáculos são descartadas.Além disso, cada amostra livre sorteada é conectada, iterativamente, nas configuraçõesvizinhas, gerando as rotas. Por fim, é executada a fase de consulta, onde as configuraçõesde início e de destino são definidas e ligadas ao mapa de rotas para efetuar a busca porum caminho válido entre as duas configurações.

O Mapa de Rotas Probabilístico é capaz de resolver diferentes instâncias do problemano mesmo ambiente, por isso, é definido como um planejador de multi-consulta. O tempode planejamento é investido na amostragem e na geração de um roteiro para que as con-sultas sejam resolvidas rapidamente. Porém, a depender do número de conexões criadasentre as configurações, ou seja, do número de caminhos existentes no mapa de rotas, a fasede consulta torna-se computacionalmente custosa e inviável. Além disso, alguns roteiroscontêm milhares de vértices, o que pode levar a um tempo de computação substancialpara determinar vértices próximos (conexões).

Com o objetivo de encontrar um caminho válido entre duas configurações, sem anecessidade de representar o ambiente por completo, surgiu a RRT. Esta técnica de pla-nejamento foi apresentada por Lavalle como uma estrutura de dados eficiente que visarealizar uma busca em espaços com grandes dimensões.

Uma árvore é incrementalmente crescida a partir da configuração inicial até a con-figuração de destino, ou vice-versa. A ideia chave é tender em direção à exploração departes inexploradas do espaço através da amostragem aleatória de pontos no espaço deconfigurações.

2

O sucesso do desempenho da RRT em muitos problemas de planejamento de movi-mento tem levado a grandes extensões e aplicações desta abordagem. Há uma variedadede linhas de pesquisas em RRT e a maioria delas considera que são conhecidas a priori aconfiguração inicial e a configuração de destino do robô. Nestas propostas, o objetivo éencontrar um caminho entre esses dois pontos, considerando as restrições impostas. Parasolucionar o problema aprensentado, vários outros surgem como custo computacional, altonúmero de nós na árvore, colisão com obstáculos, etc.

Um problema bastante comum é a grande quantidade de memória necessária paraarmazenar a árvore [10]. Isso ocorre devido ao alto número de nós utilizados para re-presentar pequenas porções do ambiente, acarretando em uma redundância de nós [4].Poucos trabalhos abordam o problema da baixa dispersão de nós na RRT. Além disso, amaior parte dos trabalhos de pesquisa em RRT, até o momento, tem como foco principaldesenvolver variantes dessa técnica para problemas específicos, sem apresentar análisesaprofundadas quanto à influência das diferentes variáveis do algoritmo clássico, como jálevantado por Elbanhawi, recentemente, no seu artigo de revisão sobre métodos de pla-nejamento probabilísticos [11].

Os planejadores probabilísticos, de modo geral, são bastante sensíveis à sua imple-mentação e muita atenção deve ser dada à seleção dos parâmetros corretos [12]. Sucan eKavraki destacam a importância da análise dos parâmetros e argumentam que os detalhesda implementação muitas vezes não são mencionados quando os planejadores são apre-sentados [13]. Lavalle, motivado pela dependência da RRT em heurísticas, destacou queo ajuste e análise dos parâmetros básicos da RRT são fundamentais para o desempenhodo método [14].

Neste trabalho de mestrado o foco é, justamente, suprir essa carência, investigando ainfluência das diferentes variáveis que compõem o algoritmo clássico da RRT, através deuma análise detalhada dos graus de liberdade da RRT e sua influência no resultado final.Além disso, diferentemente da maioria dos trabalhos em RRT, em que o objetivo é encon-trar o melhor caminho entre dois pontos, esta dissertação apresenta uma nova abordagemnas pesquisas em RRT ao combinar a busca por uma representação compacta e completado espaço de configuração com um baixo custo computacional e com o conhecimento apriori apenas da configuração de destino do robô. Para validar e analisar os resultadosobtidos em comparação com a técnica clássica, testes por simulação são realizados.

A presente dissertação está organizada da seguinte forma. O capítulo 2 terá comoobjetivo apresentar uma ampla revisão bibliográfica sobre a área de planejamento. Nocapítulo 3 são apresentados os dois maiores representantes dos planejadores probabilísti-cos, seguidos por uma revisão bibliográfica específica sobre a RRT, a ser apresentada nocapítulo 4. Posteriormente, será apresentado no capítulo 5 o desenvolvimento do trabalhoe os resultados obtidos no capítulo 6. Por fim, são apresentadas as conclusões (capítulo7), seguidas pela lista de referências bibliográficas desse trabalho.

3

1.1 Objetivos

O objetivo geral deste trabalho é investigar a influência das diferentes variáveis quecompõem o algoritmo clássico da RRT e, através desta análise, desenvolver um novométodo de planejamento de movimento para robôs móveis baseado em uma representaçãocompacta do espaço de configurações livre.

São objetivos específicos desse trabalho:

• Realizar uma ampla revisão bibliográfica para avaliar o estado da arte em métodosde planejamento de movimento com foco em planejamento probabilístico;

• Estudar as técnicas clássicas de planejamento de movimento utilizando RRT e PRM;

• Analisar os aspectos poucos explorados da técnica clássica utilizando RRT e buscarsolucionar os problemas encontrados;

• Desenvolver melhorias na RRT através das análises levantadas e implementá-lasutilizando simulação;

• Comparar os resultados obtidos através de experimentos com o algoritmo clássicoda RRT e do PRM.

4

Capítulo 2

Planejamento de movimento

Planejamento é um termo que tem diferentes significados para grupos de pessoas distin-tos. Há pesquisas em planejamento de movimento nas mais diversas áreas como robótica,controle, inteligência artificial, gestão empresarial, etc. Em robótica, são necessários al-goritmos que possibilitem ao robô movimentar-se de um ponto de origem para um pontode destino. Já a teoria de controle, historicamente, se preocupa com as entradas dirigi-das a sistemas físicos descritos por equações diferenciais, como a construção de entradaspara um sistema dinâmico não linear que necessita levá-lo a partir de um estado inicialpara um estado final especificado. Em inteligência artificial o planejamento de movimentotem, normalmente, uma característica mais discreta como resolver o problema do cubo deRubik ou alcançar uma tarefa que é modelada de forma discreta [2].

No caso específico da robótica, os estudos sobre planejamento iniciaram em 1979 como trabalho de Lozano-Pérez [15], quando foi proposto o espaço de configuração (C-space)na área de planejamento de trajetória. Essa técnica foi melhor detalhada posteriormenteem 1983 por este mesmo pesquisador em [16].

O espaço de configuração é definido como um conjunto de todas as configurações queum robô pode alcançar. Uma vez que este é claramente compreendido, muitos problemasde planejamento considerados diferentes em termos de geometria e cinemática podem serresolvidos pelo mesmo algoritmo de planejamento, bastando para isso mapear o problemano espaço de configuração.

Utilizando o C-space, o planejamento de movimento torna-se um problema mais sim-ples, onde um robô é mapeado em um ponto no espaço de configurações e a tarefa deplanejamento tem como principal objetivo levar o robô de uma configuração inicial a umaconfiguração final desejada, evitando colisões com os obstáculos presentes no ambientedurante o percurso. Mesmo com as simplificações agregadas pelo uso do C-space, essa éainda uma tarefa desafiadora e considerada um dos problemas fundamentais da robóticaautônoma [17].

Com o intuito de possibilitar um melhor entendimento da nomeclatura utilizada nessetrabalho, serão apresentados nesse capítulo os conceitos e definições relacionados com

5

o planejamento de movimento. Adicionalmente, será abordado de forma qualitativa oproblema básico de planejamento de movimento e apresentada a taxonomia clássica dastécnicas que solucionam esse problema.

2.1 Espaço de Configuração (C-space)

O espaço de configurações é uma representação matemática que permite tratar o robôcomo um ponto em um espaço apropriado, simplificando assim a tarefa de planejamento.

Usada pela primeira vez por Lozano-Pérez e Wesley [15], esta representação permiteque problemas de planejamento que parecem diferentes em termos de geometria e cine-mática sejam resolvidos pelo mesmo algoritmo, se mapeados no espaço de configuração.

Para facilitar o entendimento dos conceitos abordados nesse trabalho, serão apresenta-das formalmente as definições associadas à representação de um problema de planejamentono espaço de configuração. As definições apresentadas a seguir foram retiradas de [5].

Definição 1 Configuração q de um robô:É o conjunto de n parâmetros que especifica completamente a posição de um robô, A,

em seu espaço de trabalho, W.Definição 2 Espaço de configuração C ou Cspace :É o espaço n-dimensional C que contém todas as possíveis configurações q de um robô

A em seu espaço de trabalho W .Definição 3 Caminho τ :Dada uma configuração inicial do robô A , qinit, e uma configuração final desse mesmo

robô, qgoal, um caminho no espaco de configuração é o mapeamento definido por :

τ [0 : 1]→ Cspace|τ(0) = qinit e τ(1) = qgoal. (2.1)

Definição 4 Obstáculos no Cspace ou Cobs: Seja B o conjunto de todas as regiõesBi ocupadas em W e A(q) a parte de W ocupável pelo robô A em uma dada configuraçãoq. Então, os obstáculos no Cspace são definidos como:

Cobs = {q ∈ Cspace | A(q) ∩B ̸= 0 }. (2.2)

Definição 5 Região navegável do Cspace ou Cfree: É o subconjunto do espaço deconfiguração que não pertence ao Cobs, ou seja:

Cfree = Cspace\Cobs. (2.3)

Para uma melhor visualização dos conceitos apresentados, é mostrada na figura 2.1a representação de um robô manipulador planar no espaço de trabalho e no espaço deconfigurações, respectivamente. O experimento ilustrado evidencia a simplificação pro-

6

porcionada pelo uso do Cspace, o problema de planejamento de movimento de um ma-nipulador planar, com duas juntas de revolução (θ1 e θ2) é mapeado em um problemade planejamento de movimento de um robô pontual, no espaço de configurações. Essanova representação é, claramente, um problema de resolução mais simples. Além disso, ocaminho resultante do planejamento realizado no espaço de configuração define de formadireta a sequência de ângulos a serem atribuídos às juntas, θ1 e θ2, para que o efetua-dor saia de sua posição inicial qinit e vá para a sua posição de destino qgoal, sem que omanipulador colida com os obstáculos.

(a) (b)

Figura 2.1: Representação de um robô planar e sua trajetória em seu: (a) espaço detrabalho; e (b) espaço de configuração [1].

O experimento apresentado tornou possível entender por que os estudos associados aoplanejamento de movimento de robôs pontuais recebem tanta atenção dos pesquisadoresde robótica, mesmo sendo esta uma situação, aparentemente, sem importância prática.

Em sua forma mais básica, o planejamento considerando robôs pontuais é chamadode planejamento de caminho, tema discutido com mais detalhes na seção a seguir.

2.2 Problema básico de planejamento

O problema básico de planejamento é conhecido como planejamento de caminho (doinglês, path planning), este pode ser encarado como uma simplificação na qual as questõesbásicas do problema são isoladas e estudadas em profundidade antes de serem consideradasdificuldades adicionais.

Neste problema, assume-se que o robô é o único objeto em movimento no espaço detrabalho, e são ignoradas as propriedades dinâmicas do robô. Restringe-se também osmovimentos do robô àqueles que não envolvem contato, de forma que as iterações pro-venientes de dois objetos físicos em contato podem ser desconsideradas. Estas restriçõestransformam o problema em questão em um problema puramente geométrico. Aindafaz-se a simplificação de que o robô é considerado pontual (sem forma ou dimensões rele-

7

vantes), característica obtida pelo uso do C-space, ficando os movimentos do robô restritosapenas pela presença dos obstáculos.

O problema básico de planejamento pode então ser resumido como o problema de,a partir de uma posição e uma orientação inicial, gerar um caminho composto por umasequência contínua de posições e orientações do robô que evitam o contato com os outrosobjetos no espaço de trabalho e que termina numa posição de destino pré-estabelecida.

Durante muitos anos, diferentes técnicas e abordagens foram desenvolvidas para so-lucionar o problema de planejamento de caminho. Na seção a seguir são apresentadasalgumas dessas técnicas que, com o tempo, tornaram-se referência na área de planeja-mento e passaram a ser referenciadas como abordagens clássicas.

2.3 Abordagens clássicas de planejamento

Existe um grande número de métodos para resolver problemas gerais de planejamentode movimentos. Entretanto, nem todos resolvem todas as generalizações deste problema.Por exemplo, alguns métodos necessitam que o espaço de trabalho seja bidimensional e osobstáculos poligonais. No entanto, apesar de muitas diferenças externas, muitos métodossão baseados em algumas técnicas gerais. Segundo Latombe [1], essas técnicas podem seragrupadas em três categorias, qualitativamente semelhantes:

• Campos potenciais (Potential Field);

• Decomposição em células (Cell Decomposition);

• Mapa de rotas (Road Maps).

As principais características de cada um dos grupos propostos em [1] serão brevementeapresentadas nas demais seções deste capítulo.

2.3.1 Campos potenciais

Os campos potenciais foram propostos para planejar caminho por Khatib [18]. Noentanto, a técnica de campos potenciais em robótica só ganhou notoriedade internacionalem 1986 pelo trabalho, do mesmo autor, que é tido como precursor [19]. Nessas técnicas,um campo potencial é criado considerando o objetivo (destino) e os obstáculos existentesno ambiente. Os obstáculos influenciam o campo potencial, criando uma força repulsivaafastando o robô do Cobs. Já o objetivo influencia no campo potencial criando uma forçaatrativa, levando o robô até o seu destino, qgoal. Por fim, o robô é influenciado por essasforças, sendo então guiado até o objetivo. A ideia então é que, a cada configuração,a direção do movimento do robô seja determinada pela força resultante proveniente docampo potencial nesta determinada configuração.

8

Na figura 2.2, tem-se uma demonstração visual de como os campos potenciais funcio-nam. Em um primeiro momento, tem-se uma representação do cenário em duas dimensões.Na figura, a posição do robô é marcada com um círculo verde, o objetivo com um "X",e os obstáculos estão destacados com um retângulo e um triângulo. Cria-se então umasuperfície cujo ponto mais baixo, de menor valor potencial, representa a posição obje-tivo. Adicionalmente, é criada uma segunda superfície onde os pontos de alto potencialrepresentam os obstáculos. Por fim, combinam-se as duas superfícies para obter o campopotencial final, U(q). As ações de controle recebidas pelo robô são geradas a partir deuma força F (q) que segue o gradiente negativo do campo potencial, ou seja:

F (q) = −∇U(q). (2.4)

Figura 2.2: Abordagem usando campos potenciais [2].

Dessa forma, para toda configuração navegável, ou seja, q ∈ Cfree, o campo Uatr(q)

será definido pela soma de dois outros pontenciais: um atrativo, Uatr(q), e um repulsivoUrep(q) [19].

2.3.2 Decomposição em células

Os métodos baseados em decomposição em células consistem em criar um grafo nãodirigido que represente a relação de adjacência entre as células da região navegável dorobô, o Cfree. Este grafo é denominado grafo de conectividade. A principal diferençaentre os métodos baseados em decomposição de célula e os outros métodos baseados emgrafos está na construção do grafo. Na decomposição em células é dada maior ênfaseaos nós do grafo que, por sua vez, representam regiões inteiras (células) do espaço deconfiguração, fazendo com que as arestas que conectam um nó a outro sejam definidastrivialmente por uma conexão direta entre células vizinhas [5].

Os métodos baseados em decomposição em células podem ser divididos ainda emexatos e aproximados:

9

• Métodos exatos de decomposição em células decompõem o espaço livre em um con-junto de células cuja união cobre exatamente o espaço livre;

• Métodos aproximados de decomposição em células dividem o espaço livre em umconjunto de células de forma predefinida cuja união está estritamente contida noespaço livre.

Uma diferença que decorre diretamente das definições apresentadas anteriormente éque os métodos exatos são ditos completos, isto é, eles permitem que um caminho entrequaisquer duas configurações seja obtido sempre que este existir, dado que seja utilizadoum algoritmo de busca apropriado. Contudo, os métodos aproximados são mais simples,sendo os mais utilizados na prática.

A seguir, são apresentadas com mais detalhes ambas as classes de métodos de decom-posição em células.

Métodos exatos de decomposição em células

O princípio do método exato de decomposição em células é primeiramente decompor oespaço livre do robô em regiões que não se sobrepõem, cuja união é exatamente o Cfree. Arepresentação matemática do contorno dos obstáculos é utilizada como parte das equaçõesque definem as células próximas a eles. Em seguida, é construído o grafo de conectividadee então é feita uma busca no mesmo. Se existir um caminho entre qinit e qgoal, será geradoum canal unindo as células correspondentes às configurações inicial e final. Finalmente éconstruído um caminho a partir dessa sequência, como mostrado na figura 2.3.

Figura 2.3: Figura editada de [3]: Exemplo de decomposição exata juntamente com ografo resultante.

Para ambientes poligonais, o processo de decomposição exata apresentado é capazde representar o ambiente por completo utilizando um número finito de células, o que éuma grande vantagem desse método. Todavia, nem todas as decomposições em células

10

são apropriadas. Por exemplo, uma visão extrema consideraria todo o espaço livre comouma única célula, mas assim a obtenção de um caminho dentro dessa célula recairia noproblema original. Além disso, o número de células aumenta juntamente com a densidadede obstáculos no ambiente. Um exemplo clássico de utilização de decomposição exata éapresentado em [20].

Métodos aproximados de decomposição em células

Métodos aproximados de decomposição em células dividem o espaço livre em umconjunto de células de forma predefinida cuja união está estritamente contida no espaçolivre. Como consequência desta característica, tem-se que em geral não é possível modelaro ambiente na forma exata como ele é, sendo necessário que algumas aproximações sejamfeitas.

O método de decomposição aproximada mais popular na área de planejamento apli-cado à robótica é a grade regular. Neste método o ambiente é representado por umagrade regular de células de mesmas dimensões. Em seguida, são verificados o estado deocupação de cada célula. Mesmo que apenas uma parte de um obstáculo esteja contido nacélula, esta será considerada como ocupada. Por fim, as células que não estão ocupadasrepresentam o espaço livre do ambiente como mostrado na figura 2.4.

Figura 2.4: Figura editada de [3]: Exemplo de decomposição aproximada utilizando graderegular.

Cada célula navegável representa um nó no grafo e as arestas que conectam esses nóssão definidas de forma trivial entre duas células vizinhas. Um exemplo de utilização dedecomposição aproximada é apresentado em [21].

Como todas as células possuem a mesma forma, a qual é definida a priori, tem-se queem geral não é possível modelar o ambiente de forma exata, sendo necessário que algumasaproximações sejam feitas. Pode decorrer disso que não seja encontrado nenhum caminhoentre o qinit e o qgoal.

Vale acrescentar ainda que com o método aproximado, pode-se ajustar a precisãoconforme desejado, mudando, para tanto, apenas o tamanho das células. No entanto, issopode acarretar um crescimento indesejado da dimensão do problema.

11

2.3.3 Mapa de rotas

Os métodos baseados em mapas de rotas, também conhecidos como skeleton [22],assim como os métodos baseados em decomposição em células, têm como princípio básicoa criação de um grafo não direcionado [1] que capture a conectividade entre as diferentesregiões do Cfree no ambiente de interesse. Uma vez que este grafo tenha sido obtido,ele é visto como um conjunto padrão de caminhos. O planejamento de caminho reduz-seentão a conectar as posições iniciais e finais do robô ao mapa de rotas e buscar neste umcaminho entre estes dois pontos.

A construção do mapa de rotas

Existem diferentes técnicas de planejamento que utilizam, como forma de representa-ção do ambiente o mapa de rotas, as duas principais são o grafo de visibilidade (visibilitygraph)[15] e diagrama de Voronoi (Voronoi diagram) [23] (Figura 2.5).

(a) (b)

Figura 2.5: Exemplo de (a) Grafo de visibilidade; e (b) Diagram de Voronoi [1].

No grafo de visibilidade, inicialmente são inseridos os nós da posição inicial e de des-tino. Os obstáculos são representados por polígonos e em cada vértice desses polígonos écolocado um nó do grafo. Após todos os nós serem definidos, são geradas as arestas comtodas as retas que podem conectar dois nós. Se existir algum caminho entre as configu-rações inicial e destino, o menor caminho possível será constituído por um subconjuntodestas arestas geradas. Após construído o grafo de visibilidade, deve-se então utilizaralgum algoritmo de busca para escolha de um caminho.

Esta técnica resulta no menor caminho, porém, existem dois grandes problemas nessaabordagem. O primeiro está associado ao número de obstáculos no mapa. Para ambientescom muitos obstáculos esses métodos são lentos e algumas vezes ineficientes, pois à medidaque cresce o número de obstáculos cresce também o número de nós no grafo [1].O outroproblema refere-se à segurança que o grafo resultante proporciona ao robô, pois ao geraruma trajetória ótima no sentido de menor caminho, o grafo de visibilidade pode levaro robô a navegar muito próximo dos obstáculos, o que não é seguro para aplicações

12

práticas. Em casos onde a questão de segurança é mais importante, uma boa alternativaé a utilização do diagrama de Voronoi.

O diagrama de Voronoi, também chamado de retração (retraction) [1], é definido comoum conjunto de pontos discretos em um plano, em que o espaço é dividido em regiões maispróximas de cada ponto. Uma ampla pesquisa sobre o diagrama de Voronoi é apresentadaem [23].

Nesta técnica, o objetivo principal é maximizar a distância entre o robô e os obstáculosproporcionando assim, uma navegação ótima no sentido de segurança do robô. O diagramade Voronoi resulta em caminhos mais longos porém são caminhos mais exequíveis.

O sistema de controle utilizado no diagrama de Voronoi, pode se basear apenas nainformação dos sensores de distância a bordo do robô, como ultrassom ou laser, evitandoou minimizando os erros de odometria.

O diagrama de Voronoi tem o mesmo problema do grafo de visibilidade no que concerneao aumento do número de obstáculos no ambiente, aumentando assim a dimensão doespaço de configuração. Nesses casos, pode ser impraticável a obtenção dos grafos de formadeterminística. Nessas situações, a alternativa mais indicada é a utilização de métodosprobabilísticos para realizar a escolha das configurações q ∈ Cfree que irão representar osnós do grafo. Esses métodos, chamados qualitativamente de mapas de rotas probabilísticosou amostrados, têm como seus maiores representantes o PRM (do inglês probabilistic roadmap) e a RRT (do inglês rapidly-exploring random tree). A formalização do PRM eda RRT, bem como as principais características dessas técnicas serão apresentadas nocapítulo 3.

13

Capítulo 3

Planejamento Probabilístico

Os planejadores probabilísticos são construídos através da seleção aleatória de pontosno Cspace na tentativa de capturar a conectividade do Cfree. Estas abordagens têm comoprincipal vantagem o fornecimento de soluções rápidas para problemas com dimensõeselevadas. A desvantagem é que as soluções encontradas são consideradas sub-ótimas.

Um planejador que é capaz de sempre encontrar uma solução para o problema deplanejamento, quando ela existir, é chamado de completo. Essa é uma característicafundamental para sistemas de planejamento que não pode ser alcançada por planejadoresbaseados em amostras. No entanto, esse tipo de planejador pode garantir que uma solu-ção, se a mesma existir, será encontrada, se o número de amostras sorteadas for infinito.Os métodos que satisfazem essa característica flexibilizada são chamados de probabilis-ticamente completos .

Os planejadores probabilísticos são tratados como um sistema que retorna um caminhoviável, livre de colisão, uma vez que as configurações de início e destino do robô sãofornecidas. Nas próximas seções serão apresentados os dois principais representantes dosplanejadores probabilísticos (RRT e PRM). Como a RRT é o foco deste trabalhado, elaserá apresentada com maiores detalhes.

3.1 Primitivas

É essencial introduzir as primitivas de qualquer algoritmo de planejamento probabi-lístico antes de apresentar os diferentes planejadores para facilitar a compreensão dosmétodos. Mesmo que estas premissas sejam encontradas na maioria dos planejadores, asua implementação é diferenciada a depender do método escolhido.

1. Espaço de estado: um espaço topológico Cspace;

2. Amostragem: este procedimento é utilizado para selecionar uma configuraçãoaleatória no Cspace. A etapa de amostragem pode ser considerada como o núcleo

14

do planejador e a principal vantagem dos planejadores probabilísticos sobre outrastécnicas;

3. Métrica: uma função com valores reais, ρ : C × C → [0,∞), que especifica adistância ou o esforço entre dois pares de configurações no Cspace. É importante queesta métrica represente bem o custo ou o time-to-go entre duas configurações. Casocontrário, as soluções encontradas poderão ser altamente ineficientes, em termos dedistância percorrida ou tempo de execução;

4. Vizinho mais próximo: é um algoritmo de busca que retorna a configuração maispróxima da amostra. Este valor é baseado na métrica escolhida;

5. Seleção do parente: este procedimento seleciona um nó existente para se conectarao nó recém amostrado. Este nó existente é considerado como nó pai. A RRTseleciona o nó mais próximo como pai. Já o PRM liga a amostra a vários nós nasua vizinhança;

6. Detector de colisão: uma função, D : X → {verdadeiro, falso}, que determina seas restrições globais satisfazem o estado q.

7. Entradas: um conjunto, U , que especifica os controles ou ações que podem afetaro estado;

8. Valores iniciais: qinit e qgoal ∈ Cspace;

9. Simulador incremental: dado um estado atual, q(t), e as entradas aplicadas emum intervalo de tempo, {u(t′)|t 6 t′ 6 t+∆t}, calcula q(t+∆t).

Os planejadores probabilísticos podem ser vistos, geralmente, como uma busca numespaço de configuração, em que cada estado especifica a posição e orientação do robô.Dado o espaço livre, o problema é denotar o conjunto de configurações para as quais orobô não irá colidir com os obstáculos estáticos. Os obstáculos são modelados, e umarepresentação explícita do espaço livre não está disponível. No entanto, usando um al-goritmo de detecção de colisão, um dado q ∈ Cspace pode ser testado para determinar seq ∈ Cfree. A tarefa de planejamento de trajetória é calcular um caminho contínuo a partirde uma configuração inicial, qinit, para uma configuração final, qgoal, sem a realização dequalquer pré-processamento.

3.2 RRT

O algoritmo RRT clássico gera uma árvore no espaço de configurações através daamostragem aleatória deste espaço, com o objetivo de expandir em direção ao destino

15

evitando colisões com obstáculos. Os estados da árvore representam as configurações dorobô e estão ligados através das entradas de comando que levam o robô a se dirigir de umestado até o próximo.

Dado o espaço de configurações C com seus componentes Cfree e Cobs, o ponto inicialqinit e de destino qgoal, o algoritmo RRT basicamente tenta encontrar um caminho rapi-damente entre estas duas configurações. O grafo tem seu início em qinit, e são realizadasK tentativas de se expandir a árvore pelo ambiente através da incorporação de nós se-lecionados aleatoriamente no espaço livre. Cada uma das K tentativas é definida pelaexecução das etapas abaixo, considerando que o nó inicial, correspondente à raiz, já foiinserido na árvore.

O primeiro passo é definir a raiz da árvore como o ponto qinit. Esta posição servirá deorientação para o crescimento da árvore na tentativa vigente (Figura 3.1).

Figura 3.1: A configuração inicial no Cfree é definida.

Partindo de um estado de configuração inicial, o algoritmo sorteia uma nova configu-ração aleatória válida (qrand), ou seja, que esteja dentro do espaço livre (Figura 3.2).

Figura 3.2: Dada uma configuração inicial (qinit), o algoritmo sorteia uma nova configu-ração aleatória válida (qrand).

É feita uma ordenação nos nós já incorporados à árvore, utilizando-se como métrica adistância em linha reta entre cada nó e qrand. Assim, o nó que possuir a menor distância,qnear, é então escolhido para a tentativa de crescimento da árvore. Em seguida, é traçadoum vetor que parte do qnear em direção a qrand (Figura 3.3).

16

Figura 3.3: Seleção do nó mais próximo.

Contudo, somente uma parte do vetor será utilizada, pois existe uma constante quelimita o tamanho máximo que uma aresta pode crescer, d. Esta constante define o tama-nho do segmento do vetor que será avaliado e uma nova configuração é definida: qnew. Osegmento parte do qnear e vai até qnew (Figura 3.4).

Figura 3.4: Segmento parte do qnear e vai até qnew.

Se o segmento estiver contido inteiramente em Cfree, o nó definido por qnew é entãoincorporado à árvore, caso contrário a árvore não muda e um novo ponto é sorteado.

Esse processamento é feito durante K interações, o número K é definido a priori edetermina o tempo de execução do algoritmo e a sua cobertura no ambiente (quantomaior o K, maiores serão as chances da árvore crescer e cobrir o ambiente, porém maisdemorada será a execução).

Em resumo, a RRT é construída como mostrado no Algoritmo 1.Quanto mais homogênea a distribuição dos nós da árvore pelo espaço livre do am-

biente, mais eficiente terá sido a execução do algoritmo. Ao final das K tentativas decrescimento, o algoritmo é encerrado e tem-se como resultado uma árvore, cujas arestasformam caminhos em potencial e os nós representam pontos distintos do ambiente (Figura3.5).

17

Algoritmo 11: função Gera RRT(qinit, K, ∆t)2: RRT.init(qinit)3: k = 14: enquanto k 6 K faça5: qrand ← Gera_Estado_Aleatorio()6: qnear ← V erifica_Mais_Proximo(qrand, RRT )7: qnew ← Gera_Novo_Estado(qnear,∆t)8: se V erifica_Colisao = Livre então9: RRT.add_no(qnew)

10: fim se11: k = k + 112: fim enquanto13: devolve RRT14: fim função

Figura 3.5: Resultado da RRT clássica para K = 200. O caminho entre qinit e qgoal éapresentado em vermelho.

O resultado do algoritmo clássico da RRT para um ambiente sem obstáculos, com aconfiguração qinit no centro do mapa, após 200 iterações é apresentado na figura 3.6.

Figura 3.6: Resultado da RRT para um ambiente sem obstáculos.

Apesar de não produzir uma solução ótima para o problema, este algoritmo é muito

18

rápido computacionalmente pois não precisa encontrar todos os caminhos válidos, sendoutilizado para problemas complexos que requerem um planejamento em várias dimensões,como em robôs manipuladores [3].

No que diz respeito ao desenvolvimento de sistemas de planejamento de movimentobaseados em RRT, algumas características dessas funções são atrativas para esse ramo darobótica. As principais propriedades dessas funções são apresentadas a seguir [9] [24] [25]:

• A expansão da RRT é guiada para espaços ainda não explorados. O que torna suacobertura do espaço ainda mais completa;

• Uma RRT é probabilisticamente completa sob condições gerais. Isto que dizer quea chance do algoritmo retornar uma solução tende a 1 quando o tempo de execuçãodo algoritmo tende a infinito;

• A RRT sempre permanece conectada a todos os nós gerados, independente da quan-tidade de vértices, mesmo que esses sejam mínimos;

• Não requer um pré-processamento do ambiente ao realizar o planejamento;

• Uma RRT pode ser considerada um algoritmo de planejamento de caminhos e podeser adaptada para uma grande quantidade de sistemas;

• Todo o algoritmo de planejamento de movimento pode ser implementado sem anecessidade de conhecimento aprofundado da aplicação destino e necessidades demudança durante o uso, aumentado a aplicabilidade das RRTs.

Após a publicação da RRT, foram propostas diversas extensões do algoritmo clássico,que podem ser aplicadas para alcançar um melhor desempenho na busca de soluções.

A RRT é capaz de resolver apenas uma instância de um problema específico em umambiente, caso as configurações de início e destino mudem, é necessário criar uma novaárvore. Por isso, a RRT é conhecida como um planejador de consulta única. O PRMrepresenta outra categoria de planejadores baseados em amostragem, que são planejadoresde múltiplas consultas. A formalização do PRM e as principais características dessatécnica serão apresentadas na próxima seção.

3.3 PRM

O PRM, foi um dos primeiros algoritmos, baseado em amostragem, viáveis na prática,a obter sucesso no problema de planejamento de rotas [26].

A estrutura básica deste algoritmo é um grafo R(N,E) que se localiza no espaço livreCfree de um espaço de configurações de dimensão m, em que m é o número de graus deliberdade do robô e N e E são os nós e as arestas de R, respectivamente.

19

O algoritmo PRM é dividido em duas etapas: aprendizado e questionamento. A fasede aprendizado do planejador PRM começa com um grafo vazio. Em cada iteração,uma amostra livre de colisão é gerada e adicionada ao conjunto de nós do grafo (N). Emseguida, é feita a tentativa de conexão entre a amostra e outros vértices em N que estejamdentro de uma esfera de raio r centrada na configuração da amostra. Esta tentativa éfeita utilizando um planejador local para conexão em linha reta entre as configurações.Por fim, conexões bem-sucedidas resultam na adição de uma nova aresta para o conjuntode arestas E. Este procedimento continua n vezes e a estrutura resultante é um grafo nãodirecionado com N nós.

Na fase de questionamento, o grafo resultante do aprendizado é usado para resolveruma determinada consulta que consiste basicamente em um procedimento de busca emgrafo.

Em resumo, a primeira etapa do PRM consiste em expandir o grafo na região Cfree

para poder gerar rotas rapidamente na etapa seguinte. O objetivo é que um tempo maiorseja usado no pré-processamento do espaço de configurações na etapa de aprendizado, demodo que as rotas requisitadas na etapa de questionamento sejam geradas rapidamente.Desta forma, uma das premissas utilizadas no PRM padrão é que o espaço de trabalhoseja estático ou que as mudanças ocorram lentamente. A sua maior ênfase é na eficiência,principalmente de tempo de execução. Um exemplo de um grafo gerado pelo PRM éapresentado na figura 3.7.

Figura 3.7: Um típico grafo gerado pelo PRM [4].

Como resultado da manutenção do mapa de rotas e a especificação das configuraçõesde início e objetivo em uma fase posterior, o PRM é capaz de resolver diferentes instânciasdo problema no mesmo ambiente. Por isso, o PRM é conhecido como um planejador multi-consulta, em que o tempo de planejamento é investido em amostrar e gerar um roteiropara que as consultas sejam resolvidas rapidamente.

20

Capítulo 4

Revisão Bibliográfica

Este capítulo é dedicado à apresentação da revisão bibliográfica sobre a área de pla-nejamento de movimento utilizando RRT, mostrando o estado da arte e os principaisproblemas, soluções e linhas de pesquisa dentro dessa área. Além disso, também serãodiscutidas, neste capítulo, as pesquisas na área do PRM que apresentam relação com otema desenvolvido nesta dissertação.

Durante todo o desenvolvimento do trabalho apresentado nesta dissertação de mes-trado foi realizada uma ampla revisão bibliográfica para avaliar o estado da arte na área.

O planejador de caminho baseado em árvores foi originalmente proposto por [9], sendoque a prova de que é probabilisticamente completo é apresentada em [27], com uma taxade decaimento exponencial para a probabilidade de falha [28].

Karaman e Frazzoli provaram que RRTs não são assintoticamente ótimas e propuseramuma modificação no algoritmo que é uma variante que converge para comprimentos decaminho ideal [29].

O sucesso do desempenho da RRT em muitos problemas de planejamento de movi-mento tem levado a muitas extensões e aplicações desta abordagem. Em particular, RRTsforam apresentadas para trabalhar, eficientemente, em sistemas com restrições diferenciale dinâmica não linear [14].

Problemas com geometrias complicadas, são tratados com os planejadores baseadosna RRT em [30]. Extensões de RRTs para problemas de manipulação e movimentos decadeias fechadas articuladas foram desenvolvidos em [31] [32]. Versões adaptadas de RRTspara o planejamento não-holonômico e kinodinâmico também são abordadas em [33] [34].

Em problemas de planejamento de movimento que envolvem corredores estreitos, o al-goritmo básico da RRT apresenta dificuldades em encontrar uma trajetória. A abordagemchamada Obstacle-based RRT [35] usa a informação sobre a forma dos obstáculos paraguiar o crescimento da árvore. Esta técnica consegue resolver o problema com corredoresestreitos em um número menor de iterações que a RRT clássica.

Há uma grande preocupação com a capacidade dos planejadores de movimento atenderos requisitos de tempo real. Diante disso, o Execution extended RRT (ERRT) [25] intercala

21

a etapa de planejamento com a execução, utilizando uma fase de simulação e, então,aplicando os comandos em um robô real. ERRT é frequentemente citado como o primeiroalgoritmo desenvolvido para ser utilizando em ambientes dinâmicos em tempo real [36].Quando um planejamento é gerado com sucesso, os estados ao longo do caminho deqinit até qgoal são inseridos em um waypoint cache que será utilizado para polarizar osorteio de novas amostras nas próximas interações de planejamento. Este algoritmo émotivado pelo pressuposto de que, se o algoritmo é atualizado com uma frequência elevada,uma pequena porcentagem da árvore original tem de ser modificada porque os estadosque foram utilizados em um planejamento previamente bem sucedido tendem a ser bonsestados intermediários no plano atual.

Alternando as amostras aleatórias entre duas árvores que crescem (enraizadas na con-figuração de início e na configuração meta respectivamente) na direção uma da outra,Kuffner et al. desenvolveu o algoritmo bidireccional RRT-Connect [27]. Inicialmente,uma RRT bi-direcional cria duas árvores para responder a uma única busca. Apesarde gerar um caminho entre dois pontos muito mais rápido que a RRT original, seu usoacaba sendo mais restrito que o do algoritmo clássico, devendo ser aplicado quando setem a configuração de início e de destino conhecidas. Uma vez gerada a árvore, ela serveapenas para essa situação, o que o torna útil apenas para planejamento em tempo real,restringindo seu uso a corpos menos complexos.

Branicky et al. expandiu o método baseado na RRT para resolver problemas deplanejamento de movimento em sistemas com restrições em um espaço de configuraçãohíbrido [33]. Assim como a RRT-Connect seu uso é restrito ao conhecimento prévio dacondição de início e destino do robô.

Outros métodos de planejamento baseados no algoritmo original da RRT incluem oExpansive Space Trees (EST) [37] e o Sampling-based Roadmap of Trees (SRT) [38]. ESTfoi proposta como uma medida do número de nós vizinhos de qualquer nó, sendo utilizadacomo uma indicação se um nó será útil na expansão da árvore. Ao contrário da RRT,onde a amostragem é uniforme, EST emprega uma função que define a probabilidade deseleção do nó com base em nós vizinhos. Já o SRT combina as características principaisde múltiplas consultas do PRM com a simples consulta da RRT. Vários pesquisadores jáinvestigaram o uso de SRT em aplicações de controle não-linear, tais como controle depêndulo [33].

Além disso, o algoritmo RRT foi demonstrado em grandes eventos da robótica emvárias plataformas robóticas experimentais [25] [39] [40] [41]. Por exemplo, utilizou-se aSpline-RRT baseada em um processo gaussiano para guiar a exploração de um UAV (doinglês, Unmanned Aerial Vehicle) na exploração de um ambiente desconhecido [42].

A versão básica do algoritmo RRT foi estendida em várias direções, e encontrou muitasaplicações no domínio da robótica, como já apresentado, e em outros campos [43] [44] [45].Em computação biológica, por exemplo, moléculas e proteínas são modeladas como corpos

22

articulados e RRTs são usadas para simular as iterações entre elas [46].Quando se trata de problemas de planejamento em dimensões elevadas, os métodos

baseados em amostragem probabilística têm sido amplamente utilizados por quase duasdécadas.

Os planejadores baseados em amostragem consistem em primitivas com parâmetrosvariáveis. Uma parte significativa das pesquisas em planejadores probabilísticos é dedi-cada a projetar algoritmos com heurísticas e parâmeros inteligentes. O objetivo destasmelhorias é geralmente duplo, reduzir o tempo de execução do algoritmo e o custo dassoluções.

Os planejadores probabilísticos, de modo geral, são bastante sensíveis à sua imple-mentação e muita atenção deve ser dada à seleção dos parâmetros corretos [12]. Sucan eKavraki destacam a importância da análise dos parâmetros e argumentam que os detalhesda implementação muitas vezes não são mencionados quando os planejadores são apre-sentados [13]. Lavalle, motivado pela dependência da RRT em heurísticas, destacou queo ajuste e análise dos parâmetros básicos da RRT são fundamentais para o desempenhodo método [14]. O uso de comprimentos fixos para as arestas da RRT e sua falta deotimalidade foram estudados em dois trabalhos recentes [17] [45].

Cada planejador tem suas próprias vantagens e desvantagens, e muitas pesquisas nacomunidade de planejamento de trajetória lidam com propor heurísticas para compensardesvantagens inerentes em um algoritmo de planejamento [47]. Motivado pela depen-dência da RRT em heurísticas, o Randomized Statistical Path Planning (RSPP) aplicao aprendizado de máquina para ajustar ativamente os parâmetros dos planejadores en-quanto o algoritmo está em execução [48].

Embora os algoritmos de planejamento de movimentação baseados em amostragemtenham sido amplamente utilizados há mais de uma década, nos últimos anos houve umaumento na atenção dada a questões fundamentais de amostragem [49].

Inicialmente, PRM e RRT foram propostos com esquemas de amostragem uniforme[26] [24]. Isso pode ser considerado como uma desvantagem porque o planejador tem umaalta probabilidade de amostragem de um nó em uma região ampla ao contrário de umaestreita região livre. Este é o resultado de todas as configurações terem probabilidadeuniforme de serem amostradas. Outro inconveniente desse tipo de amostragem é nãocapturar a verdadeira conectividade do ambiente.

Em [50] é proposta a Utility-RRT que influencia a direção e o tamanho do crescimentoda árvore através de uma função de utilidade, esta função avalia a direção de expansãodo nó selecionado.

Nas pesquisas em PRM há uma vasta área dedicada a novas técnicas de amostragem doespaço de configurações, como em [51] em que a probabilidade de amostragem é aumentadaem torno do eixo mediano para guiar a geração de um roteiro que captura completamentea forma do Cspace. O grande problema é a complexidade computacional empregada para

23

calcular este eixo mediano em altas dimensões.Em [52], foi proposta uma técnica que força a amostragem para o limite dos obstáculos,

ao contrário do espaço livre. Essa técnica obtém bons resultados em ambientes queapresentam passagens estreitas, porém, em outras situações, o número de descartes deconfigurações é muito maior que o algoritmo clássico do PRM.

O efeito da amostragem sobre o desempenho dos planejadores probabilísticos é aindauma questão de pesquisa aberta. Os resultados experimentais apresentados Por Linde-mann e LaValle [53], Geraerts and Overmars [12], demonstram que a amostragem tembastante efeito sobre o desempenho do planejador. Também mostra que não existe umaestratégia de amostragem única que supera as outras em todos os cenários.

Existem pesquisas que buscam substituir a amostragem aleatória por determinística,como as propostas em [2] [10]. Resultados experimentais recentes em [54] mostram queos pontos de Halton apresentam bom desempenho em comparação com outras técnicasno contexto do PRM.

Em [10], é também abordado o problema da baixa dispersão dos nós na RRT, nestetrabalho é utilizado o diagrama de Voronoi para aumentar a dispersão dos nós de formaincremental e com amostragem determinística. A métrica de dispersão utilizada nostrabalhos com PRM e RRT é apresentada em [55], em que foi proposta uma abordagemde quasi-aleatoriedade para planejamento de caminho.

Em PRMs, utiliza-se a dispersão para medir a qualidade de uma sequência de amostrasusada para construir o mapa de rotas [56], ou seja, a dispersão no espaço de configuraçãopode ser vista como indicando a maior região que a árvore ainda tem que explorar [4].Assim, uma boa estratégia para a exploração é a da redução incremental da dispersão. Emcada iteração, aumentar a árvore de forma a reduzir a dispersão o tanto quanto possível. Ofoco na redução da dispersão promove o crescimento e uma cobertura uniforme do espaçode configuração. A análise da dispersão na RRT e sua influência serão apresentados nocapítulo a seguir.

24

Capítulo 5

Abordagem Proposta

A primeira etapa deste trabalho constituiu da implementação do algoritmo clássico daRRT. Desta forma, foi possível analisar os resultados e identificar os parâmetros a sereminvestigados de modo a obter uma representação mais compacta da árvore ao representaro ambiente.

O resultado do algoritmo clássico da RRT para dois ambientes diferentes pode ser vistona figura 5.1. O ponto de início e destino estão marcados no mapa por um x vermelho. Otamanho da aresta escolhido foi de 5 cm e o caminho traçado em azul foi gerado ao fimdo algoritmo para o deslocamento do robô de um ponto escolhido (qinit) à raiz (qgoal).

(a) (b)

Figura 5.1: Resultado do algoritmo clássico da RRT (em verde) para dois ambientesdiferentes, o caminho obtido é apresentado em azul.

Ao passo que era implementado o algoritmo clássico, várias questões foram surgindo noque concerne à influência das diferentes variáveis do algoritmo no resultado final obtido.Na etapa da revisão bibliográfica, verificou-se que alguns dos questionamentos levantadosno desenvolvimento do algoritmo clássico são questões chave no problema de planejamento

25

de movimento utilizando RRT. Porém, outras questões não são abordadas nas pesquisasrecentes em RRT mas são abordadas sobre a ótica da múltipla consulta em planejamentode movimento probabilístico com o PRM.

Desta forma, no decorrer deste trabalho de mestrado, foram feitas várias alteraçõesno algoritmo clássico da RRT para que fosse possível verificar a influência das diferen-tes variáveis do algoritmo no resultado final. Os testes e análises realizados envolveramtamanho de aresta fixo e variado, representação do ambiente, polarização de amostras euma nova abordagem para acrescentar um nó na árvore. Cada um desses pontos serãoabordados com detalhes nas próximas seções bem como a métrica de densidade utilizada.

Vale ressaltar que a maioria das figuras deste trabalho serão apresentadas em duasdimensões (2D), como na maioria dos trabalhos em RRT, para facilitar a visualizaçãodo resultado do método e melhor ilustração da técnica. Como eles não dependem darepresentação do ambiente são facilmente expansíveis para dimensões elevadas, que é amotivação para os métodos de amostragem probabilísticos.

5.1 Métrica de Densidade

Existem basicamente dois tipos de representações de ambiente, quais sejam: (i) mapastopológicos; e (ii) os mapas geométricos. Mapas topológicos não possuem informaçõesexplícitas sobre a geometria do ambiente, sendo tipicamente representados por elos co-nectados a nós, o que caracteriza esse tipo de representação como mapas de alto nívelou qualitativos. Já os mapas geométricos são conhecidos como mapas quantitativos, poisdão uma melhor noção de quantidade.

Para a análise dos resultados obtidos foi necessário padronizar uma métrica de den-sidade, de modo a encontrar uma medida quantitativa da ocupação do ambiente pelaRRT. Desta forma, dentre as técnicas clássicas de representação do ambiente por mapasgeométricos foi escolhida a grade de ocupação [21].

Neste trabalho é utilizada uma grade regular para representar o ambiente. Nessa grade,a resolução tem relação direta com o tamanho da aresta (d) e a metodologia utilizada parao crescimento da árvore. A medida de ocupação desta grade regular é binária, ou seja,havendo um nó dentro de uma determinada célula, ela é determinada como mapeada (1),caso contrário, é uma célula não mapeada (0).

Para determinar a densidade da área ocupada pela árvore no ambiente é feito o cálculoapresentado na equação 5.1.

D =

∑ni=1 O(i)

n(5.1)

em que, O(i) é o estado de ocupação da célula i, sendo 1 para uma célula mapeada, ouseja, ocupada pela árvore e 0 caso contrário, e n é o número de células livres de obstáculos

26

do ambiente.Na figura 5.2 é apresentada uma RRT com passo de 5 cm dentro de uma grade regular

com resolução de 10 cm, em (a) e (c) são apresentados os resultados da RRT para densi-dades de aproximadamente 25% e 75%, respectivamente. Em (b) e (d) são apresentadasrepresentações visuais da ocupação de (a) e (c), respectivamente. Na figura, a área emvermelho representa as células da grade ocupadas pela RRT, a área em azul escuro oespaço livre e a área em azul claro os obstáculos.

(a) (b)

(c) (d)

Figura 5.2: Resultado da RRT para ocupação de 25% e 75% do ambiente, respectivamente:(a) e (c) Árvore; (b) e (d) Mapa de Densidade.

Para exemplificar a aplicação da grade regular em 3 dimensões para um manipuladorplanar de 3 graus de liberdade, é apresentado na figura 5.3 uma RRT com passo de 0, 15

rad dentro de uma grade regular com resolução de 0, 3 rad, em (a) e (c) são apresentadosos resultados da RRT para densidades de aproximadamente 6% e 22%, respectivamente.Em (b) e (d) são apresentadas representações visuais da ocupação de (a) e (c), respec-tivamente. Nas figuras (b) e (d), o volume em vermelho representa as células da gradeocupadas pela RRT e o volume em azul claro os obstáculos. Já nas figuras (a) e (c),os pontos pretos representam configurações que geram colisão e os pontos verdes são asconfigurações pertencentes à árvore.

27

(a) (b)

(c) (d)

Figura 5.3: Resultado da RRT para ocupação de 6% e 22% do ambiente, respectivamente:(a) e (c) Árvore; (b) e (d) Mapa de Densidade.

5.2 Dispersão dos Nós na RRT

Um problema bastante comum nos resultados dos algoritmos baseados na RRT é agrande quantidade de memória necessária para armazenar a árvore. Isso ocorre justamentedevido ao alto número de nós utilizados para representar pequenas porções do ambiente,acarretando em uma redundância de nós. Para resolver esse problema, foi definida umaregra de seleção, de forma a aumentar a cobertura do ambiente em comparação com aRRT clássica quando é utilizado o mesmo número de nós.

Após uma primeira análise visual do resultado final da RRT clássica (Figura 5.4), épossível perceber que esta possui muita redundância de informação no que diz respeito àquantidade de nós representando um pequeno espaço, ou seja, mais de um nó cobrindo umapequena área do ambiente. Além disso, percebeu-se que esse problema ocorre independedo tamanho do passo utilizado.

28

Figura 5.4: Destaque de uma porção da RRT em que há agrupamento de nós.

A regra de seleção é definida da seguinte forma: Para cada nó é determinada umaárea que é caracterizada como região de descarte de nós de acordo com a função C(qi, r),para um espaço de configuração 2D esta função gera um círculo de raio r e centro naconfiguração qi, para uma espaço 3D é uma esfera, para o 4D uma hiperesfera e assimsucessivamente. Para uma árvore de tamanho de aresta fixo (d) o raio é definido como opróprio tamanho do passo (Figura 5.5).

Figura 5.5: Círculo da restrição de sorteio.

Ao aplicar essa regra para todos os nós pertencentes à arvore e fazer a união dos círculosresultantes é encontrada a área de descarte final (Figura 5.6). Assim, configurações sor-teadas dentro da área de descarte são automaticamente desconsideradas da mesma formaque configurações que geram colisão com obstáculos (V erifica_Colisao - Algoritmo 2).

29

(a) (b)

Figura 5.6: (a) Aplicação da função C(qi, r) para todos os nós; (b) Área de restriçãoobtida através da união de (a).

Em resumo, a regra é aplicada como mostrado no Algoritmo 2.

Algoritmo 21: função Verificar Região(arvore, alvo, tamanho.arvore, passo)2: i← 03: enquanto i 6 tamanho.arvore faça4: D ← Distancia(arvore(i), alvo)5: se D < passo então6: devolve 0 (Nó descartado)7: fim se8: i← i+ 19: fim enquanto

10: devolve 1 (Nó válido)11: fim função

Após acrescentar essa nova regra ao crescimento da árvore foi obtido um resultadomuito melhor na ocupação do ambiente. Porém, o número de descartes de nós aumenta econsequentemente o número de iterações também. Na tabela 5.1 é apresentado o resultadoda média de 10 experimentos com o mesmo mapa utilizando o algoritmo da RRT Clássicasem regra de dispersão e com regra de dispersão.

Tabela 5.1: Relação Nó x Número de Iterações x Densidade

Densidade20%40%60%80%100%

N◦ de IteraçõesCom Dispersão Sem Dispersão

464,79 396,511218,00 775,001409,48 983,481752,32 1365,504347,11 3713,81

N◦ de NósCom Dispersão Sem Dispersão

116,36 146,67241,86 408,33354,50 559,40514,32 829,58794,24 2838,19

30

Analisando a tabela 5.1 percebe-se, por exemplo, que para uma ocupação completado ambiente, o algoritmo clássico precisou de aproximadamente 2838 nós, enquanto queo algoritmo com a modificação sugerida ocupou a mesma densidade do ambiente com 794

nós, evidenciando a redundância de pontos no algoritmo clássico.Vale ressaltar que mesmo que o tempo de construção da árvore seja maior ao utilizar a

regra de dispersão, esse tempo provavelmente será compensado na etapa de planejamento,pois quanto menor o número de nós no grafo, menor será o tempo gasto pelo algoritmode busca.

Na figura 6.4 é apresentado o resultado comparativo de um mapa 100% ocupado, em(a) sem regra de dispersão e em (b) com regra de dispersão para um ambiente tipo trap(comum em análise de planejadores) com dimensões de 200×200 cm. A resolução utilizadana grade é de 10 cm (considerado o tamanho do robô) e o tamanho de passo escolhidopara o crescimento da árvore em ambos os casos é de 5 cm. Percebe-se claramente umamaior quantidade de nós quando não há regra de dispersão.

(a) (b)

Figura 5.7: Resultado do algoritmo para um ambiente 100% ocupado: (a) Sem regra dedispersão. (b) Com regra de dispersão.

Essa modificação da RRT Clássica foi chamada de DRRT e os resultados obtidos forampublicados em [57].

5.3 Polarização das Amostras - R2

O algoritmo clássico da RRT apresenta um resposta lenta ao ocupar o ambiente, poisos nós que são escolhidos aleatoriamente podem ser obtidos de qualquer área livre doambiente. Podendo estar próximos da árvore, ou não. Esse processo acarreta o aumentodo tempo de criação da árvore, uma vez que as amostras são sorteadas uniformemente portodo o espaço livre. Uma forma de reduzir o tempo de crescimento da árvore é através da

31

polarização das amostras escolhidas de forma a expandir o grafo para porções do ambienteque ainda não foram exploradas. Técnicas de polarização da amostra também são úteispara forçar o crescimento do grafo em regiões do mapa que são mais difíceis de seremexploradas, como corredores estreitos.

O método desenvolvido usa a mesma grade regular apresentada na seção 5.1 paradefinir dois tipos de regiões: região de busca e região mapeada. Como mostrado anterior-mente, uma célula é definida como região mapeada quando existe um nó dentro, ou seja, éocupada pela árvore. A célula é definida como região de busca quando não é ocupada masé vizinha de uma célula ocupada. A polarização é realizada pela restrição do sorteio denovas amostras dentro da região de busca, aumentando a probabilidade de conectividadeentre a nova amostra e a árvore. Além disso, sempre que um novo nó cai numa célula,está é eliminada dos próximos sorteios de amostras, garantindo a dispersão dos nós.

Na figura 5.8, em (a) é apresentado o mapa inicial com apenas um nó adicionado naárvore, a área em amarelo corresponde a região de busca e a área marrom corresponde aregião mapeada. Em (b), um novo nó foi adicionado na árvore, removendo a célula à qualele pertence da região de busca. Em seguida, as suas células vizinhas são adicionados àregião de busca e o processo é reiniciado. Em (c) e (d), é apresentada a RRT polarizadaapós algumas iterações.

32

(a) (b)

(c) (d)

Figura 5.8: Passos da polarização: (a) Representação do mapa inicial apenas com um nóna árvore, a área em amarelo corresponde à região de busca e a área marrom correspondeà região mapeada; (b) um novo nó foi adicionado na árvore, removendo a célula à qual elepertence da região de busca; c and d continução do processo de polarização do crescimento.

A tabela 5.2, demonstra a grande diferença encontrada entre o número de iterações(K) e o número de Nós (N) obtidos com polarização e sem polarização para uma ocupaçãocompleta de 2 mapas diferentes.

Tabela 5.2: Relação entre número de iterações (K) e número de Nós (N) para a RRTClássica polarizada e a RRT Clássica não polarizada.

PolarizadaK N

Não PolarizadaK N

Mapa 1 479,84 474,97 4347,11 2838,19Mapa 2 306,02 303,77 6521,33 2734,46

Todos os resultados com o algoritmo polarizado, conseguiram cobrir 100% do ambiente,porém, nem sempre era possível chegar a densidade máxima com a RRT Clássica sem

33

polarização em um tempo factível, pois, à medida que o mapa ia sendo ocupado, menorera a chance de sorteio de um ponto dentro de um espaço que ainda não foi ocupado.

Ao analisar a tabela 5.2, percebe-se uma grande diferença entre o número de iteraçõesnecessárias para os dois tipos de sistema. Assim, ao reduzir o número de iterações, a RRTpolarizada diminui consequentemente o tempo de processamento da árvore e otimiza oresultado final, possibilitando a ocupação de 100% do ambiente, o que nem sempre é viávelquando não há polarização.

Essa modificação da RRT Clássica foi nomeada de RRT Compacta e os resultadosobtidos foram publicados em [58]. Apesar de obter ótimos resultados em 2D essa técnicade polarização desenvolvida não tem aplicação para sistemas de dimensão elevada, devidoa necessidade de criar a grade regular online para definir as regiões de interesse. Comoa motivação do planejamento probabilístico é o uso em altas dimensão, foi desenvolvidauma nova técnica buscando alinhar a motivação da RRT Compacta com ambientes dedimensão elevadas. Esta técnica é apresentada na seção a seguir.

5.4 Polarização das Amostras - Rn

Como apresentado na seção anterior, a ideia básica da RRT Compacta é sortear novasamostras na vizinhança próxima à árvore, definindo uma região de sorteio e uma regiãomapeada. O método desenvolvido para o Rn utiliza o princípio básico da RRT Compacta,para isso é definido um vetor de nós de fronteira (borderpoints) que armazena todos os nósque estão na fronteira da árvore, ou seja, na superfície. Estes nós são definidos facilmentedevido ao princípio de construção da RRT, pois todo e qualquer nó que tenha apenasuma conexão com a árvore, ou seja, apenas um “parente”, é um nó de fronteira e devepertencer ao borderpoints.

Na figura 5.9 é apresentada uma RRT (3D) em que os galhos estão destacados emverde, os nós em preto e as configurações de fronteira estão destacadas em azul.

Figura 5.9: RRT 3D com nós de fronteira destacados em azul.

34

A ideia chave deste método é fazer a árvore crescer a partir dos nós de fronteira. Acada iteração é sorteado um nó do borderpoints para ser a tentativa vigente de crescimentoda árvore. Em seguida, uma nova região é definida como região de sorteio de acordo coma função A(qi, r), que modela uma região anular em torno da configuração qi. Para umaárvore de tamanho de aresta fixo (d) o raio é definido como o próprio tamanho do passo(Figura 5.10).

Figura 5.10: Região anular em torno da configuração qi modelada através da funçãoA(qi, r), em que a região de sorteio está destacada em amarelo e a região bloqueada emvermelho.

A partir da função A(qi, r), uma região é definida como ocupada quando está a umadistância menor que r da configuração central. Uma região é definida como região desorteio quando está a uma distância maior que r e menor que 2r da configuração central.A polarização é realizada pela restrição do sorteio de novas amostras dentro da regiãode busca da configuração sorteada, aumentando a probabilidade de conectividade entrea nova amostra e a árvore. Além disso, como não é permitido o sorteio de amostras naregião dentro do raio menor da região anular, há uma maior probabilidade de dispersãodos nós.

Definida a região do sorteio, é então realizada uma amostragem probabilística comdistribuição uniforme nessa região e algumas configurações são sorteadas aleatoriamente.Nos experimentos realizados, cinco amostras foram suficientes para garantir bons resulta-dos. Após o sorteio, é feita a verificação, entre as amostras sorteadas, de qual configuraçãoé mais afastada da árvore. Esta verificação é realizada utilizando como métrica a distânciaem linha reta entre a configuração sorteada e a configuração parente do nó de fronteira.A configuração escolhida é então selecionada para a tentativa vigente de crescimento daárvore.

Um detalhe foi acrescentado à esse método de modo a reduzir o número de descartes daárvore. Além do vetor borderpoints, é também criado um vetor de tentativas, que guardao número de tentativas de crescimento de cada nó de fronteira. Assim, a escolha do nó defronteira é feita de modo a sortear entre os nós com menores tentativas de crescimento.

35

Para manter a prova de completude probabilística da árvore, é feito um chaveamentoentre a RRT Polarizada e a RRT Clássica no processo de crescimento da árvore.

Nos testes desenvolvidos o chaveamento é feito da seguinte forma: a cada dez iteraçõesda RRT Polarizada ocorre uma iteração da RRT Clássica. Esse valor foi levantado expe-rimentalmente, de modo a obter bons resultados finais. Vale ressaltar que a frequência dechaveamento tem influência no resultado final da árvore.

Após acrescentar esse método de polarização, foi obtido um resultado muito melhorna quantidade de descartes de nós, já que o maior objetivo da polarização é aumentara probabilidade de conexão do nó sorteado à arvore. Na tabela 5.3 é apresentado oresultado da média de 5 experimentos com o mesmo mapa utilizando o algoritmo da RRTClássica sem polarização e da RRT Clássica com polarização para uma ocupação de 80%do ambiente. Para este experimento foi utilizado um manipulador planar de três grausde liberdade, ou seja, um espaço de configurações 3D.

Tabela 5.3: Número de descartes de nós para a RRT polarizada e a RRT não polarizada.

Polarizado Não PolarizadoDescartes 2901,05 4422,29

Analisando a tabela 5.3 percebe-se que há uma menor quantidade de descarte deconfigurações quando se utiliza a técnica proposta.

A técnica de polarização desenvolvida pode ser aplicada tanto com a RRT Clássicaquanto com a DRRT.

Os resultados comparativos do sistema final com a RRT Clássica Polarizada, a DRRTPolarizada, a DRRT e a RRT Clássica são apresentados no próximo capítulo.

36

Capítulo 6

Resultados

Com o objetivo de demonstrar o comportamento das técnicas desenvolvidas e ilustrara importância dos parâmetros envolvidos no algoritmo clássico, serão apresentados nestaseção os resultados obtidos através de simulação de vários experimentos utilizando a abor-dagem clássica da RRT, a DRRT, a RRT Clássica Polarizada e a versão final do algoritmocom a combinação das vantagens da DRRT com a RRT Polarizada. Além disso, tambémserá feita a comparação dos métodos desenvolvidos com o algoritmo clássico do PRM.

Vale ressaltar que os experimentos demonstrados nesse capítulo serão apresentadas em2D, como na maioria dos trabalhos em RRT, para facilitar a visualização do resultadodo método e melhor ilustração da técnica. Como elas não dependem da representação doambiente, são facilmente expansíveis para dimensões elevadas, que é a motivação para osmétodos de amostragem probabilísticos.

6.1 Configurações dos Experimentos

Como a RRT é uma abordagem aleatória, cada execução do algoritmo com os mesmosparâmetros pode produzir diferentes soluções. Por sorte, algumas soluções podem serpróximas das ideais enquanto outras soluções podem ser extremamente sub-ótimas.

Por ser uma abordagem de caráter probabilístico, para análise dos resultados é necessá-rio executar várias vezes o mesmo experimento para aumentar a fidelidade dos resultadosapresentados, de modo que estes representem aproximadamente o efeito dos parâmetros.Por isso, todos os experimentos são executados 24 vezes, os dois melhores e os dois pioresresultados são desconsiderados e é feito o cálculo da média aritmética dos 20 restantes.

Todos os experimentos são executados em quatro ambientes com dimensão de 200 ×200 cm (Figura 6.1).

37

(a) (b)

(c) (d)

Figura 6.1: Mapas utilizados nos experimentos: (a) Mapa Armadilha; (b) Mapa Bagunça;(c) Mapa Corredor e (d) Mapa Casa.

6.2 RRT Clássica x DRRT

Para comparação da RRT clássica com a DRRT foram definidos dois tipos de experi-mento, o primeiro utiliza como critério de parada do crescimento da árvore a densidade deocupação do ambiente. Já o segundo experimento, tem como critério de parada o númerode nós na árvore. Inicialmente é escolhida a priori uma densidade de ocupação ou númerode nós desejados e então é realizado o crescimento do grafo até que essa condição sejasatisfeita.

6.2.1 Experimento 1

Neste experimento foi utilizado como critério de parada do crescimento da árvore adensidade de ocupação do ambiente. Foram realizados vários experimentos utilizandodensidades de 25%, 50%, 75% e 100% e tamanho de passo de 5 cm. Esse teste foi repetidopara o Mapa Bagunça apresentado na Figura 6.1 e os resultados obtidos são apresentadosna Tabela 6.1.

Analisando os resultados percebe-se, por exemplo, que para uma ocupação completado ambiente, o algoritmo clássico precisou de aproximadamente 2000 nós, enquanto quea DRRT ocupou a mesma densidade do ambiente com 590 nós, evidenciando o aumento

38

Tabela 6.1: Experimento 1- DRRT x RRT Clássica.

Densidade25%50%75%100%

Número de IteraçõesDRRT RRT Clássica220,50 126,47488,00 449,921095,25 866,345947,45 4854,21

Número de NósDRRT RRT Clássica120,50 124,15227,57 273,38374,25 489,64591,05 2001,55

na dispersão dos nós da árvore pois foram necessários apenas 29% dos nós utilizados naRRT Clássica para representar a mesma densidade de ocupação.

Para uma análise visual é apresentado na Figura 6.2 o resultado comparativo de ummapa 100% ocupado, em (a) RRT Clássica e em (b) DRRT. Percebe-se claramente umamaior quantidade de nós quando não há regra de seleção. No entanto, a porção doambiente representada em ambos os experimentos é qualitativamente equivalente.

(a) (b)

Figura 6.2: Resultado do algoritmo para um ambiente 100% ocupado: (a) RRT Clássica;(b) DRRT.

Outro ponto importante é que a DRRT tem um maior número de iterações devido aogrande descarte de pontos irrelevantes para representar o ambiente, acarretando assim,em um tempo maior para construir o grafo.

6.2.2 Experimento 2

No segundo experimento, foi utilizado como critério de parada do crescimento daárvore o número de nós no ambiente, foram realizados vários experimentos utilizando trêscritérios de parada: 200, 400 e 600 nós.

39

O resultado dos experimentos é apresentado na tabela 6.2 onde é possível perceberuma densidade de ocupação maior para a DRRT em comparação à RRT Clássica, coma mesma quantidade de nós. A diferença entre as duas RRT’s aumenta à medida que adensidade se aproxima de 100%.

Tabela 6.2: Resultado obtido no segundo experimento.

Número de Nós200400600

Número de IteraçõesDRRT RRT Clássica498,57 303,301210,32 657,165179,95 1091,14

DensidadeDRRT RRT Clássica43,67% 40,41%82,45% 69,43%99,79% 78,37%

Para uma análise rápida, é apresentado na Figura 6.3 o resultado obtido para 600 nós,utilizando a medida de densidade apresentada. Foi obtido uma ocupação de 99, 79% doambiente para a RRT com regra de seleção, já com a RRT clássica foi ocupado 78, 37% doambiente. Percebe-se uma diferença de 21, 42% de ocupação para mais na RRT utilizandoo critério de seleção dos nós, evidenciando a eficiência da técnica. Em (b) e (d), a áreaem vermelho representa as células da grade ocupadas pela RRT e a área em azul claro osobstáculos.

40

(a) (b)

(c) (d)

Figura 6.3: Resultado do crescimento da árvore para 600 nós: (a) RRT clássica; (b)Representação da ocupação de (a); (c) RRT utilizando a abordagem de regra de seleçãoproposta; (d) Representação de ocupação de (c).

6.3 RRT Clássica x DRRT Polarizada

Para demonstrar a eficiência da DRRT Polarizada, foram definidos dois tipos de expe-rimentos. Em ambos, o critério de parada utilizado foi a densidade de ocupação da árvore.Para o primeiro experimento foi utilizado o Mapa Casa. Já para o segundo experimentofoi utilizado o Mapa Corredor. Para o cálculo da densidade os mapas foram discretizadosem uma grade regular com resolução de 10 cm. A escolha da resolução foi baseada notamanho do passo utilizado (5 cm).

6.3.1 Experimento 1

Para essa primeira análise foi utilizado como critério de parada a densidade de ocu-pação do ambiente. Vários experimentos foram executados considerando densidades de25%, 50%, 75% e 100%.

41

Os resultados obtidos nesse primeiro experimento são apresentados na tabela 6.3.Analisando os resultados, é possível notar que para uma completa ocupação do ambiente,o algoritmo clássico precisa de 2109, 95 nós, enquanto a DRRT Polarizada ocupa a mesmadensidade do ambiente com 414, 61 nós, evidenciando a eficiência da polarização dasamostras. Com o uso da DRRT Polarizada, houve um aumento na dispersão dos nós naárvore e decrescimento do número de iterações, estes fatores indicam uma melhora navelocidade de formação da árvore e na etapa de planejamento de caminho.

Tabela 6.3: Experimento 1 - DRRT Polarizada x RRT Clássica.

Densidade25%50%75%100%

Número de IteraçõesDRRT Polarizada RRT Clássica

116,47 645,98219,02 1038,85342,81 1475,30462.13 5766,17

Número de NósDRRT Polarizada RRT Clássica

102,42 134,12203,11 285,70317,52 481,97414,61 2109,95

Para uma comparação visual, é apresentada na Figura 6.4 o resultado de um mapa100% ocupado, em (a) RRT Clássica e em (b) DRRT Polarizada.

(a) (b)

Figura 6.4: Resultado do algoritmo para um ambiente 100% ocupado: (a) RRT Clássica;(b) DRRT Polarizada.

Na figura 6.5 é apresentado o caminho obtido na árvore para três diferentes simulaçõescom o mesmo ponto de partida e início. O caminho encontrado por ambas as RRT’s équalitativamente semelhante, i.e., a distância percorrida pelo robô para sair do ponto deinício para o ponto de destino é quase a mesma.

42

(a) (b)

Figura 6.5: Representação do caminho encontrado: (a) RRT Clássica; (b) DRRT Polari-zada.

6.3.2 Experimento 2

O segundo experimento foi realizado para demonstrar a eficácia da DRRT Polarizadaem explorar ambientes com passagens estreitas, vários experimentos foram realizadosutilizando densidades de 25%, 50%, 75% e 100%, com dois pontos de partida (extremosdo NO e SE).

Os resultados obtidos para este experimento são apresentados nas Tabelas 6.4 e 6.5.Comparando os resultados mostrados nestas tabelas, é perceptível uma diferença signifi-cativa nos resultados da RRT Clássica ao modificar o ponto de destino, demonstrando adependência da variação da posição do ponto de destino, o que não ocorre com a DRRTPolarizada.

Tabela 6.4: Resultados obtidos no segundo experimento - Partindo da extremidade NO.

Densidade25%50%75%100%

Número de IteraçõesDRRT Polarizada RRT Clássica

101,16 153,54222,31 437,37332,48 1210,61542,62 14073,98

Número de NósDRRT Polarizada RRT Clássica

99,63 124,16208,98 275,31313,18 572,78517,79 6143,24

Para obter uma comparação visual, é apresentado na Figura 6.6 o resultado de ummapa 100% ocupado. As árvores com raiz no extremo NO são apresentadas em (a) RRTClássica e (b) DRRT Polarizada. Já as árvores com raiz no extremo SO são apresentadasem (c) RRT Clássica e (d) DRRT Polarizada.

43

Tabela 6.5: Resultados obtidos no segundo experimento - Partindo da extremidade SE.

Densidade25%50%75%100%

Número de IteraçõesDRRT Polarizada RRT Clássica

167,32 857,25289,03 1157,31409,57 1521,90559,79 6413,19

Número de NósDRRT Polarizada RRT Clássica

159,18 110,37231,52 185,05356,08 317,90498,90 1040,32

(a) (b)

(c) (d)

Figura 6.6: Resultado do algoritmo para um ambiente 100% ocupado com raiz no extremoNO: (a) RRT Clássica; (b)DRRT Polarizada. Resultado do algoritmo para um ambiente100% ocupado com raiz no extremo SE: (c) RRT Clássica; (d) DRRT Polarizada.

Analisando o resultado obtido na tabela 6.4, pode-se notar que, para uma ocupaçãocompleta do ambiente, o algoritmo clássico precisava de 6143, 24 nós, enquanto a DRRTPolarizada ocupou a mesma densidade do ambiente, com 542, 62 nós, evidenciando a efici-ência da polarização da amostragem na RRT. Quando é feita a comparação desse resultadocom o obtido na tabela 6.5 é destacada a dificuldade da RRT clássica em ambientes compassagens estreitas.

Outro ponto em destaque é que no primeiro experimento (Seção 6.3.1) a RRT clássicaprecisou de 2109, 95 nós para uma completa ocupação do ambiente, uma diferença de

44

4033, 29 nós devido a mudança na configuração do ambiente (com Cfree aproximadamenteiguais), enquanto que a DRRT Polarizada ocupa a mesma densidade do ambiente com517, 79 nós, com uma diferença de apenas 103, 18 nós.

Os resultados apresentados demonstram a robustez da DRRT Polarizada com a vari-ação do ambiente e da configuração de partida, diferente da RRT Clássica.

Na Figura 6.7 é apresentado o caminho obtido de três simulações com o mesmo pontode partida e destino. O caminho encontrado por ambas as RRT’s é qualitativamentesemelhante, i.e., a distância percorrida pelo robô do qinit ao qgoal é praticamente a mesma.

(a) (b)

Figura 6.7: Representação do caminho encontrado: (a) RRT Clássica; (b) DRRT Polari-zada.

6.4 DRRT Polarizada x DRRT x RRT Clássica x PRM

Nesta seção, as técnicas desenvolvidas ao longo do trabalho, a RRT Clássica e o PRMserão comparadas e analisadas. A escolha de efetuar a comparação com o PRM deve-se ao fato da semelhança em resultados e objetivos com os métodos trabalhados nessadissertação.

Para analisar a performance das técnicas em uma representação completa do ambienteforam levantados os dados do número de iterações e número de nós necessários para osquatro tipos de ambientes apresentados na figura 6.1. Os resultados obtidos para o númerode iterações é apresentado na tabela 6.6.

Os resultados obtidos para o número de nós é apresentado na tabela 6.7.Todos os resultados apresentados foram gerados considerando uma ocupação completa

do ambiente. Assim como a RRT, o PRM é sensível à variação dos parâmetros que o com-põem. Por isso, como nesse trabalho não foi investigada a influências desses parâmetrosno resultado final do grafo, para as simulações desenvolvidas, os parâmetros utilizadosforam os mais comuns encontrados na revisão bibliográfica feita: número máximo de vi-zinhos (5) e raio de busca (10). Para esses experimentos, não foi utilizado como critério

45

Tabela 6.6: Resultados para uma ocupação completa do ambiente - Número de Iterações.

Tipos de MapasMapa Bagunça

Mapa ArmadilhaMapa Casa

Mapa Corredor

Número de IteraçõesRRT Clássica DRRT DRRT Polarizada PRM

4854,20 5947,4 425,80 2691,402332,00 3471,05 474,18 2194,245766,17 3413,20 462,13 2751,2614074,01 1920,20 542,62 2433,10

Tabela 6.7: Resultados para uma ocupação completa do ambiente - Número de Nós.

Tipos de MapasMapa Bagunça

Mapa ArmadilhaMapa Casa

Mapa Corredor

Número de NósRRT Clássica DRRT DRRT Polarizada PRM

2001,61 951,05 414,88 2009,461790,26 1021,45 469,35 1781,452109,99 885,62 414,61 1988,816143,41 926,80 517,79 1727,48

de parada um número máximo de configurações amostradas, devido à característica doexperimento.

Em todos os mapas a DRRT Polarizada obtém os melhores resultados nos experimen-tos realizados, tanto em número de iterações, quanto em número de nós na árvore. Valeressaltar, que no caso do PRM o tempo do algoritmo é ainda maior devido a etapa debusca em grafo, a etapa de questionamento. Essa etapa, costuma ser muito mais demo-rada que a da RRT devido a característica de construção do mapa de rotas, que geraum grafo resultante com muitos ciclos o que dificulta o trabalho de obtenção do caminhofinal.

Na figura 6.8 é apresentado o mapa 50% ocupado para os 4 tipos de técnicas apre-sentadas, em (a) RRT Clássica, (b) DRRT, (c) DRRT Polarizada e (d) PRM. A escolhade apresentar uma figura com apenas metade da ocupação, deve-se ao fato de evidenciara distribuição da árvore, o que fica mais difícil de analisar à medida que o ambiente écompletamente preenchido.

46

(a) (b)

(c) (d)

Figura 6.8: Resultado dos algoritmos para um ambiente 50% ocupado com raiz no extremonoroeste: (a) RRT Clássica; (b) DRRT; (c) DRRT Polarizada; (d) PRM.

É possível perceber a semelhança de estrutura entre a DRRT e a DRRT polarizada,visto que as duas diferem basicamente uma da outra no número de nós. Assim como naRRT Clássica, no PRM existe muita sobreposição de arestas e uma baixa dispersão dosnós. Um ponto positivo da PRM em relação à técnica desenvolvida é que pela sua carac-terística de amostragem ela explora mais o ambiente, ou seja, com a mesma densidade deocupação a PRM tem uma maior dispersão do grafo em relação ao ambiente. Porém essacaracterística acarreta em um grafo resultante com muitos ciclos e caminhos sobrepostoscomo mostrado na figura 6.8.

47

Capítulo 7

Conclusões e Trabalhos Futuros

Nesse trabalho foi inicialmente apresentada uma ampla revisão bibliográfica sobre aárea de planejamento de movimento. Nessa revisão, foram mostrados diferentes métodosde planejamento, dando destaque para as técnicas baseadas em amostragem probabilís-tica, em especial aquelas baseadas em planejamento usando RRT e PRM, cuja principalcaracterística é ser probabilisticamente completa.

Através de uma revisão bibliográfica específica sobre os trabalhos desenvolvidos naárea de planejamento utilizando RRT, foi observado que a grande maioria dos trabalhosde pesquisa desenvolvidos nessa área, até o momento, tinham como foco principal desen-volver variantes da RRT para problemas específicos, sem apresentar análises aprofundadasquanto à influência das diferentes variáveis do algoritmo clássico de forma a otimizar aqualidade das trajetórias resultantes.

A fim de melhor compreender as questões que ficaram em aberto na revisão feita,foi implementado o algoritmo clássico do planejamento de movimento usando RRT enesse momento percebeu-se a importância de analisar mais profundamente cada variávelque compõem a RRT e a sua influência em questões como tempo de processamento e aotimização do grafo gerado, o que motivou a elaboração do trabalho proposto.

Foram obtidos bons resultados a partir das análises feitas, destacando vários pontos demudanças na RRT clássica. O primeiro bom resultado foi obtido através de uma melhoriana RRT clássica através da inserção de um nova regra de decisão, a DRRT. Os resulta-dos obtidos mostraram que o método possibilita uma melhor representação do ambiente,reduzindo a redundância de pontos e consequentemente melhorando o crescimento da ár-vore. Apesar de exigir um maior número de iterações, o número de nós no resultado finalé consideravelmente menor se comparado à RRT clássica. A regra de seleção apresentadapossui baixo custo computacional e é de fácil implementação, não necessitando nenhumamodificação no algoritmo clássico, acrescentando apenas a nova regra.

A DRRT facilita a etapa de escolha do caminho, visto que esta etapa é geralmenteexecutada por técnicas de busca em grafo. Quanto menor o número de nós do grafo,menos possibilidades de caminhos e consequentemente um aumento na velocidade da

48

busca no grafo. Vale ressaltar que a redução no número de nós necessários para representaro ambiente não gerou perdas na trajetória final, que é qualitativamente equivalente àtrajetória gerada pela RRT Clássica.

Técnicas de polarização de amostras já vêm sendo exploradas em alguns artigos cientí-ficos, demonstrando a sua importância no crescimento da árvore. A técnica implementadanesse trabalho, obteve bons resultados em comparação com a abordagem clássica da RRT.Nos resultados apresentados no capítulo 6, foi possível identificar que a combinação daDRRT com a técnica de polarização desenvolvida, além de melhorar a dispersão dos pon-tos, acelerou o processo de formação da árvore, e melhorou o resultado da amostragemem espaços com corredores estreitos.

Esta dissertação apresenta uma nova abordagem em pesquisas que utilizam polarizaçãona RRT, em que o objetivo não é encontrar um caminho ótimo entre dois pontos, mas obteruma representação compacta do ambiente. Ao fim do processo, com a DRRT Polarizadaé possível partir de qualquer local no espaço de configurações e chegar à configuração dedestino, definida a priori, sem qualquer necessidade de criar uma nova árvore cada vez queo robô inicializa de um ponto diferente do ambiente. Nos resultados é possível perceberuma melhor representação do ambiente obtida através da redução da redundância depontos e consequentemente melhora no crescimento da árvore.

Além disso, é possível destacar nos resultados a robustez da técnica à mudança deambiente, além do fato de assegurar a exploração do ambiente em tempo hábil, mesmocom passagens estreitas, e este é geralmente um problema de métodos de planejamentoprobabilísticos. Como uma vantagem adicional, o algoritmo desenvolvido tem um númeromuito menor de descartes quando comparado com a RRT Clássica ou o PRM.

Em um ambiente estático, a DRRT Polarizada não realiza uma pré-computação cus-tosa e, assim, pela sua própria característica de construção, é capaz de lidar com ambientesque mudam frequentemente. Isto a torna particularmente útil em aplicações práticas, comum robô em tempo real navegando em ambientes dinâmicos como apresentado em [59].

Durante o trabalho percebeu-se que a relação do número de iterações com tempo deprocessamento não é ideal, pois dependendo do processo, os mesmos números de itera-ções podem ter tempos de processamento muito diferentes. Desta forma, como trabalhofuturo sugere-se uma melhor investigação do tempo de processamento para as diferentesabordagens apresentadas.

Nos testes desenvolvidos, a frequência de chaveamento entre a DRRT polarizada ea RRT Clássica foi levantada experimentalmente. Com isso, percebeu-se uma grandeinfluência no resultado final da árvore a depender da frequência de chaveamento utilizada.Por isso, como trabalhos futuros é proposta uma análise minuciosa sobre a influência destafrequência no crescimento da árvore. Além disso, nos resultados da DRRT polarizada édestacada uma relação do número de nós na árvore com a densidade de ocupação dografo, visto que a cada novo nó inserido é garantido que uma nova parcela do ambiente

49

será ocupada, pois a regra proposta elimina a redundância de nós. Desta forma, é propostocomo trabalho futuro desenvolver um modelo que relacione o número de nós, a densidadede ocupação do ambiente desejada pelo grafo e a densidade de ocupação de obstáculosexistentes no ambiente. Este modelo possibilitará encontrar, a priori, o número de nósnecessário para ocupar uma densidade pré-definida do ambiente.

50

Referências Bibliográficas

[1] Jean-Claude Latombe. ROBOT MOTION PLANNING.: Edition en anglais. TheSpringer International Series in Engineering and Computer Science. Springer,1990.

[2] S. M. LaValle. Planning Algorithms. Cambridge University Press, Cambridge, U.K.,2006. Available at http://planning.cs.uiuc.edu/.

[3] Roland Siegwart e Illah R. Nourbakhsh. Introduction to Autonomous Mobile Robots.MIT Press, Cambridge, MA, 2004.

[4] Weria Khaksar, Tang Sai Hong, Mansoor Khaksar e Omid Motlagh. A low dispersionprobabilistic roadmaps (ld-prm) algorithm for fast and efficient sampling-basedmotion planning. International Journal of Advanced Robotic Systems, 10, 2013.

[5] Lucas Molina. Planejamento de movimento ótimo para robôs móveis inspirado empropagação térmica. Technical report, 2012.

[6] R. Arkin. Motor schema based navigation for a mobile robot: An approach to pro-gramming by behavior. Proceedings IEEE International Conference on Roboticsand Automation, 4:264–271, 1987.

[7] R. Arkin. Behavior-Based Robotics (Intelligent Robotics and Autonomous Agents),volume I. MIT Press, 1998.

[8] Lydia Kavraki, Petr Svestka, Jean claude Latombe e Mark Overmars. Probabilisticroadmaps for path planning in high-dimensional configuration spaces. In IEEEINTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION,pages 566–580, 1996.

[9] Steven M. LaValle. Rapidly-exploring random trees: A new tool for path planning.Technical report, 1998.

[10] Stephen R Lindemann e Steven M LaValle. Incrementally reducing dispersion byincreasing voronoi bias in rrts. In IEEE ICRA, volume 4, pages 3251–3257.IEEE, 2004.

51

[11] Mohamed Elbanhawi e Milan Simic. Sampling-based robot motion planning: Areview. Access, IEEE, 2:56–77, 2014.

[12] Roland Geraerts e Mark H Overmars. Sampling and node adding in probabilisticroadmap planners. Robotics and Autonomous Systems, 54(2):165–173, 2006.

[13] Ioan A Şucan e Lydia E Kavraki. On the implementation of single-query sampling-based motion planners. In Robotics and Automation (ICRA), 2010 IEEE In-ternational Conference on, pages 2005–2011. IEEE, 2010.

[14] Steven M. Lavalle, James J. Kuffner e Jr. Rapidly-exploring random trees: Progressand prospects. In Algorithmic and Computational Robotics: New Directions,pages 293–308, 2000.

[15] Tomás Lozano-Pérez e M. A. Wesley. An algorithm for planning collison-free pathsamong polyhedral obstacles. Communications of the ACM, 1979.

[16] T. Lozano-Pérez. Spatial planning: A configuration space approach. IEEE Transac-tions on Computing, C-32(2):108–120, 1983.

[17] Howie Choset, Kevin M. Lynch, Seth Hutchinson, George A Kantor, Wolfram Bur-gard, Lydia E. Kavraki e Sebastian Thrun. Principles of Robot Motion: Theory,Algorithms, and Implementations. MIT Press, Cambridge, MA, June 2005.

[18] O. Khatib. Commande dynamique dans l’espace opérationnel des robots manipula-teurs en présence d’obstacles. 1980.

[19] O Khatib. Real-time obstacle avoidance for manipulators and mobile robots. Int. J.Rob. Res., 5(1):90–98, April 1986.

[20] Tomás Lozano-Pérez. A simple motion planning algorithm for general robot mani-pulators. IEEE Journal of Robotics and Automation, RA-3(3):224–238, 1987.

[21] A. Elfes. Using occupancy grids for mobile robot perception and navigation. Com-puter, 22(6):46–57, June 1989.

[22] Yong K. Hwang e Narendra Ahuja. Gross motion planning a survey. ACM Comput.Surv., 24(3), September 1992.

[23] Franz Aurenhammer. Voronoi diagrams – a survey of a fundamental geometric datastructure. ACM COMPUTING SURVEYS, 23(3):345–405, 1991.

[24] Steven M. LaValle, James J. Kuffner e Jr. Randomized kinodynamic planning, 1999.

[25] James Bruce e Manuela Veloso. Real-time randomized path planning for robot na-vigation. In IEE IROS, 2002.

52

[26] Lydia E. Kavraki. Random networks in configuration space for fast path planning.Technical report, Stanford, CA, USA, 1995.

[27] James J. Kuffner Jr. e Steven M. LaValle. Rrt-connect: An efficient approach tosingle-query path planning. In IEEE ICRA, 2000.

[28] E. Frazzoli. Robust Hybrid Control for Autonomous Vehicle Motion Planning. De-partment of aeronautics and astronautics, Massachusetts Institute of Techno-logy, Cambridge, MA, 2001.

[29] S. Karaman e E. Frazzoli. Sampling-based algorithms for optimal motion planning.International Journal of Robotics Research, June 2011.

[30] Trajectory Planning for Second-Order Underactuated Mechanical Systems in Presenceof Obstacles, 2002.

[31] Juan Cortes e Thierry Simeon. Sampling-based motion planning under kinema-tic loop-closure constraints. In In 6th International Workshop on AlgorithmicFoundations of Robotics. Springer-Verlag, 2004.

[32] Satoshi Kagami, James Kuffner, Koichi Nishiwaki, Kei Okada, Masayuki Inaba eHirochika Inoue. Humanoid arm motion planning using stereo vision and rrtsearch. In IEE IROS, 2003.

[33] Michael S. Branicky, Michael M. Curtiss, Joshua A. Levine e Stuart B. Morgan. Rrtsfor nonlinear, discrete, and hybrid planning and control. In IEEE Conf. onDecision and Control, 2003.

[34] Peng Cheng e Steven M. LaValle. Resolution complete rapidly-exploring randomtrees. In IEEE ICRA, 2002.

[35] Samuel Rodriguez, Xinyu Tang, Jyh-Ming Lien e Nancy M Amato. An obstacle-basedrapidly-exploring random tree. In Robotics and Automation, 2006. ICRA 2006.Proceedings 2006 IEEE International Conference on, pages 895–900. IEEE,2006.

[36] James Robert Bruce. Real-time motion planning and safe navigation in dynamicmulti-robot environments. PhD thesis, US Army, 2006.

[37] David Hsu, Jean claude Latombe e Rajeev Motwani. Path planning in expansiveconfiguration spaces. In International Journal of Computational Geometry andApplications, pages 2719–2726, 1997.

53

[38] Erion Plaku, Kostas E. Bekris, Brian Y. Chen, Andrew M. Ladd e Lydia E. Ka-vraki. Sampling-based roadmap of trees for parallel motion planning. IEEETransactions on Robotics, 21:597–608, 2005.

[39] Alexander C. Shkolnik, Michael Levashov, Ian R. Manchester e Russ Tedrake. Boun-ding on rough terrain with the littledog robot. I. J. Robotic Res., 2011.

[40] Yoshiaki Kuwata e Justin Teo. Realtime motion planning with applications to auto-nomous urban driving. IEEE Transactions on Control Systems, 2009.

[41] Seth Teller, Matthew Walter e Matthew Antone. A voice-commandable robotic for-klift working alongside humans in minimally-prepared outdoor environments.In IEEE ICRA, Anchorage, AK, May 2010.

[42] Kwangjin Yang, Seng Keat Gan e Salah Sukkarieh. A gaussian process-based rrtplanner for the exploration of an unknown and cluttered environment with auav. Advanced Robotics, 27(6):431–443, 2013.

[43] Juan Cortés, Leonard Jaillet e Thierry Siméon. Molecular disassembly with rrt-likealgorithms. In IEEE ICRA, 2007.

[44] Matt Zucker, James Kuffner e Michael Branicky. Multipartite rrts for rapid replan-ning in dynamic environments. In IEEE ICRA, pages 1603–1609, 2007.

[45] M. Branicky, M. Curtiss, J. Levine e S. Morgan. Sampling-based planning, control,and verification of hybrid systems. In 16th IFAC World Congress 2005. Elsevier,07 2005.

[46] Ibrahim Al-Bluwi, Thierry Siméon e Juan Cortés. Motion planning algorithms formolecular simulations: A survey. Computer Science Review, 6(4):125–143, 2012.

[47] Dominik Bertram, James Kuffner, Ruediger Dillmann e Tamim Asfour. An integratedapproach to inverse kinematics and path planning for redundant manipulators.In Proceedings 2006 IEEE International Conference on Robotics and Automa-tion, 2006. ICRA 2006., pages 1874–1879. IEEE, 2006.

[48] Rosen Diankov e James Kuffner. Randomized statistical path planning. In 2007IEEE/RSJ International Conference on Intelligent Robots and Systems, pages1–6. IEEE, 2007.

[49] Stephen R Lindemann e Steven M LaValle. Steps toward derandomizing rrts. In RobotMotion and Control, 2004. RoMoCo’04. Proceedings of the Fourth InternationalWorkshop on, pages 271–277. IEEE, 2004.

54

[50] Brendan Burns e Oliver Brock. Single-query motion planning with utility-guidedrandom trees. In Proceedings 2007 IEEE International Conference on Roboticsand Automation, pages 3307–3312. IEEE, 2007.

[51] Leonidas J Guibas, Christopher Holleman e Lydia E Kavraki. A probabilistic road-map planner for flexible objects with a workspace medial-axis-based samplingapproach. In Intelligent Robots and Systems, 1999. IROS’99. Proceedings. 1999IEEE/RSJ International Conference on, volume 1, pages 254–259. IEEE, 1999.

[52] Nancy M Amato e Yan Wu. A randomized roadmap method for path and manipu-lation planning. In Robotics and Automation, 1996. Proceedings., 1996 IEEEInternational Conference on, volume 1, pages 113–120. IEEE, 1996.

[53] Stephen R Lindemann e Steven M LaValle. Current issues in sampling-based motionplanning. In Robotics Research. The Eleventh International Symposium, pages36–54. Springer, 2005.

[54] Roland Geraerts e Mark H Overmars. A comparative study of probabilistic roadmapplanners. In Algorithmic Foundations of Robotics V, pages 43–57. Springer,2004.

[55] Michael S Branicky, Steven M LaValle, Kari Olson e Libo Yang. Quasi-randomizedpath planning. In Robotics and Automation, 2001. Proceedings 2001 ICRA.IEEE International Conference on, volume 2, pages 1481–1487. IEEE, 2001.

[56] Lucas Janson, Brian Ichter e Marco Pavone. Deterministic sampling-based mo-tion planning: Optimality, complexity, and performance. arXiv preprint ar-Xiv:1505.00023, 2015.

[57] Stephanie Kamarry, Lucas Molina, Elyson Oliveira Carvalho e Eduardo Freire. Drrt:Uma nova abordagem para aumentar a dispersão dos nós na rrt aplicada àrepresentação do ambiente e planejamento de caminho. In 2015 12th SimpósioBrasileiro de Automação Inteligente (SBAI), pages 1394–1399, 2015.

[58] Stephanie Kamarry, Lucas Molina, Eduardo Oliveira Freire et al. Compact rrt: A newapproach for guided sampling applied to environment representation and pathplanning in mobile robotics. In 2015 12th Latin American Robotics Symposiumand 2015 3rd Brazilian Symposium on Robotics (LARS-SBR), pages 259–264.IEEE, 2015.

[59] Stephanie Kamarry, Phillipe Cardoso, Lucas Molina, Elyson Oliveira Carvalho e Edu-ardo Freire. Uma abordagem híbrida para navegação em ambientes dinâmicosbaseadas na drrt. In 2015 12th Simpósio Brasileiro de Automação Inteligente(SBAI), 2016.

55