• Nenhum resultado encontrado

Planejamento de movimento para robôs móveis baseado em uma representação compacta da Rapidly-Exploring Random Tree (RRT)

N/A
N/A
Protected

Academic year: 2021

Share "Planejamento de movimento para robôs móveis baseado em uma representação compacta da Rapidly-Exploring Random Tree (RRT)"

Copied!
67
0
0

Texto

(1)

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

(2)
(3)

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.

(4)

Agradecimentos

Quando iniciei esse mestrado, objetivo tão importante na minha vida, acreditava que meu maior desafio seria amadurecer a minha visão crítica e conhecimento científico, ao ponto de verdadeiramente poder contribuir para a ciência... Esse desafio foi só a ponta do iceberg. Ao longo desses dois anos, enfrentei barreiras que acreditava não conseguir encarar, fui testada em habilidades que jamais imaginei possuir, travei uma forte batalha interna. Para superar tudo isso, contei com a ajuda especial de muitas “pessoas” e pretendo agradecê-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. Em especial, 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 chegar até aqui! Obrigada por me apoiar no meu sonho desde o princípio e me erguer quando eu estava 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 foram essenciais. Te amo!

Quero agradecer do fundo do meu coração ao espírito de luz que Deus colocou na minha 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 e colocar o dedo na ferida! Obrigada por confiar em mim e abraçar o Irradiar quando ele ainda era apenas um sonho. Obrigada por ser uma fonte de inspiração! Tenho muito orgulho 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 ajudar em 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 da UFS e da robótica! É pra vida inteira.

(5)

aposta-iii ria, e me deu apoio nos momentos mais difíceis. Obrigada por me ensinar o que importa de verdade na pesquisa e a criticar o meu próprio trabalho, de modo a buscar o meu melhor resultado. Obrigada por todas as horas dedicadas a corrigir o mesmo erro que eu insistia 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 horas de 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 meu maior 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 amor e 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 amam como eu sou. Muito obrigada pela melhor viagem que fiz na minha vida! Por recarregarem minhas 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 especial do mestrado.

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

(6)

Resumo

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

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 para a solução de tarefas cada vez mais complexas. Nessas tarefas, quando comportamentos otimizados 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, o processo de deliberação é normalmente realizado por uma estratégia de planejamento de movimento. Uma das técnicas de planejamento de movimento que tem recebido grande parte da atenção dos pesquisadores dessa área nos últimos tempos é a Rapidly-exploring

Random Tree (RRT), pela sua capacidade de reduzir a dimensão da representação de

forma rápida. A maioria dos trabalhos de pesquisa desenvolvidos utilizando RRT, até o momento, tem como foco principal desenvolver variantes dessa técnica para problemas especí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, suprir essa carência, investigando a influência das diferentes variáveis que compõem o algoritmo clássico da RRT, ou seja, uma análise detalhada dos graus de liberdade da RRT e suas influências no resultado final. Além disso, diferentemente da maioria dos trabalhos em RRT, 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 por uma representação compacta e completa do espaço de configuração com um baixo custo computacional 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, planejamento probabilístico.

(7)

Abstract

MOTION PLANNING FOR MOBILE ROBOTS BASED ON A COMPACT REPRESENTATION 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 increasingly complex tasks. In these tasks, when optimized behaviors are specified, a deliberative process is required in order to determine the best action before executing it. In naviga-tion architectures, the deliberanaviga-tion process is usually accomplished by a monaviga-tion planning strategy. One of the motion planning techniques which has received much of the attention from the researches is the Rapidly-exploring Random Tree (RRT), because of its capacity to reduce representation dimension quickly. The vast majority of the research developed in this area, so far, is mainly focused on developing variants of the RRT for specific problems, not providing detailed analyzes regarding the influence of different variables in the classical algorithm. In this master’s work the focus is precisely to fill this gap by investigating 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 on the final result. In addition, unlike most RRT papers, where the objective is to find the best path between two points, this dissertation presents a new approach in RRT searches by combining the search for a compact and complete representation of the configuration space 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.

(8)

Sumário

Lista de Figuras viii

Lista de Tabelas x

1 Introdução 1

1.1 Objetivos . . . 4

2 Planejamento de movimento 5 2.1 Espaço de Configuração (C-space) . . . . 6

2.2 Problema básico de planejamento . . . 7

2.3 Abordagens clássicas de planejamento . . . 8

2.3.1 Campos potenciais . . . 8 2.3.2 Decomposição em células . . . 9 2.3.3 Mapa de rotas . . . 12 3 Planejamento Probabilístico 14 3.1 Primitivas . . . 14 3.2 RRT . . . 15 3.3 PRM . . . 19 4 Revisão Bibliográfica 21 5 Abordagem Proposta 25 5.1 Métrica de Densidade . . . 26 5.2 Dispersão dos Nós na RRT . . . 28

5.3 Polarização das Amostras - R2 . . . . 31

5.4 Polarização das Amostras - Rn . . . . 34

6 Resultados 37 6.1 Configurações dos Experimentos . . . 37

6.2 RRT Clássica x DRRT . . . 38

6.2.1 Experimento 1 . . . 38

(9)

SUMÁRIO vii

6.3 RRT Clássica x DRRT Polarizada . . . 41

6.3.1 Experimento 1 . . . 41

6.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

(10)

Lista de Figuras

2.1 Representação de um robô planar e sua trajetória em seu: (a) espaço de trabalho; e (b) espaço de configuração [1]. . . 7 2.2 Abordagem usando campos potenciais [2]. . . 9 2.3 Figura editada de [3]: Exemplo de decomposição exata juntamente com o

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

grade regular. . . 11 2.5 Exemplo de (a) Grafo de visibilidade; e (b) Diagram de Voronoi [1]. . . 12 3.1 A configuração inicial no Cf ree é definida. . . 16

3.2 Dada uma configuração inicial (qinit), o algoritmo sorteia uma nova

confi-guração aleatória válida (qrand). . . 16

3.3 Seleção do nó mais próximo. . . 17 3.4 Segmento parte do qnear e vai até qnew. . . 17

3.5 Resultado da RRT clássica para K = 200. O caminho entre qinit e qgoal é

apresentado em vermelho. . . 18 3.6 Resultado da RRT para um ambiente sem obstáculos. . . 18 3.7 Um típico grafo gerado pelo PRM [4]. . . 20 5.1 Resultado do algoritmo clássico da RRT (em verde) para dois ambientes

diferentes, 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. . . 29 5.5 Círculo da restrição de sorteio. . . 29 5.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). . . 30 5.7 Resultado do algoritmo para um ambiente 100% ocupado: (a) Sem regra

(11)

LISTA DE FIGURAS ix 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 ele pertence da região de busca; c and d continução do processo de polarização do crescimento. . . 33 5.9 RRT 3D com nós de fronteira destacados em azul. . . . 34 5.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ão bloqueada 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 de regra 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) RRT Clá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 no

extremo noroeste: (a) RRT Clássica; (b) DRRT; (c) DRRT Polarizada; (d) PRM. . . 47

(12)

Lista de Tabelas

5.1 Relação Nó x Número de Iterações x Densidade . . . 30 5.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. . . 33 5.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. . . 39 6.2 Resultado obtido no segundo experimento. . . 40 6.3 Experimento 1 - DRRT Polarizada x RRT Clássica. . . 42 6.4 Resultados obtidos no segundo experimento - Partindo da extremidade NO. 43 6.5 Resultados obtidos no segundo experimento - Partindo da extremidade SE. 44 6.6 Resultados para uma ocupação completa do ambiente - Número de Iterações. 46 6.7 Resultados para uma ocupação completa do ambiente - Número de Nós. . . 46

(13)

Capítulo 1

Introdução

Desde o século XX, os robôs deixaram de ser apenas ideias de roteiristas de filmes de ficção científica e passaram a ser o foco de estudos de pesquisadores, a fazer parte de processos industriais e até mesmo a realizar cirurgias em seres humanos. A evolução da 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ência e 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 em outros planetas.

Uma das principais áreas de estudo dentro da robótica consiste em, com base em informações do ambiente, determinar os movimentos necessários ao robô, para que este possa se locomover da sua posição inicial até uma posição de destino [3]. Em determinadas situações isso ocorre em ambientes dinâmicos onde a capacidade de chegar ao ponto de destino está associada à capacidade de reagir a estímulos externos de forma coerente. Em outras situações, o robô pode necessitar que o desempenho seja ótimo, o que acarreta uma etapa de planejamento para definir a melhor ação a ser tomada. Em ambos os casos, 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 arquiteturas

de 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 mais baixo 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 deliberativo possui, com base nas informações do sistema sensorial e/ou conhecimento a priori do mapa, um modelo simbólico do ambiente que é usado para predizer o resultado das ações escolhidas, possibilitando a otimização de desempenho relativo ao modelo do ambiente. As arquiteturas híbridas, por sua vez, tentam unir as características dos dois tipos anteriores com o objetivo de equilibrar os níveis de robustez e eficiência.

(14)

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 dessas técnicas.

No que diz respeito ao tipo de representação do espaço, os métodos de planejamento podem ser classificados em exatos (ou combinatórios) e aproximados (ou baseados em amostragem). 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ção de técnicas de planejamento em espaços de dimensão elevada [5].

Entre os planejadores de movimento baseados em amostragem, estão os planejadores probabilísticos, que têm como seus maiores representantes o PRM (do inglês, Probabilistic

Road 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 bem conhecida maldição da dimensionalidade, existente nos planejadores clássicos. O PRM implementa 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 de configurações é amostrado por um determinado período. As amostras, ou configurações no 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ções vizinhas, gerando as rotas. Por fim, é executada a fase de consulta, onde as configurações de início e de destino são definidas e ligadas ao mapa de rotas para efetuar a busca por um caminho válido entre as duas configurações.

O Mapa de Rotas Probabilístico é capaz de resolver diferentes instâncias do problema no mesmo ambiente, por isso, é definido como um planejador de multi-consulta. O tempo de 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 criadas entre as configurações, ou seja, do número de caminhos existentes no mapa de rotas, a fase de consulta torna-se computacionalmente custosa e inviável. Além disso, alguns roteiros contêm milhares de vértices, o que pode levar a um tempo de computação substancial para determinar vértices próximos (conexões).

Com o objetivo de encontrar um caminho válido entre duas configurações, sem a necessidade 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 visa realizar 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 de partes inexploradas do espaço através da amostragem aleatória de pontos no espaço de configurações.

(15)

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 variedade de linhas de pesquisas em RRT e a maioria delas considera que são conhecidas a priori a configuraçã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. Para solucionar o problema aprensentado, vários outros surgem como custo computacional, alto número de nós na árvore, colisão com obstáculos, etc.

Um problema bastante comum é a grande quantidade de memória necessária para armazenar 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, a maior parte dos trabalhos de pesquisa em RRT, até o momento, tem como foco principal desenvolver variantes dessa técnica para problemas específicos, sem apresentar análises aprofundadas 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 e Kavraki destacam a importância da análise dos parâmetros e argumentam que os detalhes da 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 que o ajuste e análise dos parâmetros básicos da RRT são fundamentais para o desempenho do método [14].

Neste trabalho de mestrado o foco é, justamente, suprir essa carência, investigando a influência das diferentes variáveis que compõem o algoritmo clássico da RRT, através de uma 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 abordagem nas pesquisas em RRT ao combinar a busca por uma representação compacta e completa do espaço de configuração com um baixo custo computacional e com o conhecimento a

priori apenas da configuração de destino do robô. Para validar e analisar os resultados

obtidos 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á como objetivo apresentar uma ampla revisão bibliográfica sobre a área de planejamento. No capí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 no capítulo 4. Posteriormente, será apresentado no capítulo 5 o desenvolvimento do trabalho e os resultados obtidos no capítulo 6. Por fim, são apresentadas as conclusões (capítulo 7), seguidas pela lista de referências bibliográficas desse trabalho.

(16)

1.1

Objetivos

O objetivo geral deste trabalho é investigar a influência das diferentes variáveis que compõem o algoritmo clássico da RRT e, através desta análise, desenvolver um novo método de planejamento de movimento para robôs móveis baseado em uma representação compacta 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étodos

de 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 buscar

solucionar os problemas encontrados;

• Desenvolver melhorias na RRT através das análises levantadas e implementá-las

utilizando simulação;

• Comparar os resultados obtidos através de experimentos com o algoritmo clássico

(17)

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 ponto de 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 entradirigi-das para um sistema dinâmico não linear que necessita levá-lo a partir de um estado inicial para um estado final especificado. Em inteligência artificial o planejamento de movimento tem, normalmente, uma característica mais discreta como resolver o problema do cubo de

Rubik 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 com o 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 posteriormente em 1983 por este mesmo pesquisador em [16].

O espaço de configuração é definido como um conjunto de todas as configurações que um robô pode alcançar. Uma vez que este é claramente compreendido, muitos problemas de planejamento considerados diferentes em termos de geometria e cinemática podem ser resolvidos pelo mesmo algoritmo de planejamento, bastando para isso mapear o problema no 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 de planejamento tem como principal objetivo levar o robô de uma configuração inicial a uma configuração final desejada, evitando colisões com os obstáculos presentes no ambiente durante 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ótica autônoma [17].

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

(18)

o planejamento de movimento. Adicionalmente, será abordado de forma qualitativa o problema básico de planejamento de movimento e apresentada a taxonomia clássica das té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 permite que 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 associaapresenta-das à representação de um problema de planejamento no 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-dimensionalC 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ões Bi ocupadas em W e A(q) a parte de W ocupável pelo robô A em uma dada configuração q. 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 Cf ree: É o subconjunto do espaço de configuração que não pertence ao Cobs, ou seja:

Cf ree = Cspace\Cobs. (2.3)

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

(19)

pro-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 problema

de planejamento de movimento de um robô pontual, no espaço de configurações. Essa nova representação é, claramente, um problema de resolução mais simples. Além disso, o caminho resultante do planejamento realizado no espaço de configuração define de forma direta 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 o

manipulador 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 de trabalho; e (b) espaço de configuração [1].

O experimento apresentado tornou possível entender por que os estudos associados ao planejamento de movimento de robôs pontuais recebem tanta atenção dos pesquisadores de 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 é chamado de 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 (do inglês, path planning), este pode ser encarado como uma simplificação na qual as questões básicas do problema são isoladas e estudadas em profundidade antes de serem consideradas dificuldades adicionais.

Neste problema, assume-se que o robô é o único objeto em movimento no espaço de trabalho, e são ignoradas as propriedades dinâmicas do robô. Restringe-se também os movimentos 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ções transformam o problema em questão em um problema puramente geométrico. Ainda faz-se a simplificação de que o robô é considerado pontual (sem forma ou dimensões

(20)

rele-vantes), característica obtida pelo uso do C-space, ficando os movimentos do robô restritos apenas 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 uma sequência contínua de posições e orientações do robô que evitam o contato com os outros objetos 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 apresentadas algumas 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 planejamento de 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 os obstáculos poligonais. No entanto, apesar de muitas diferenças externas, muitos métodos são baseados em algumas técnicas gerais. Segundo Latombe [1], essas técnicas podem ser agrupadas 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 brevemente apresentadas nas demais seções deste capítulo.

2.3.1

Campos potenciais

Os campos potenciais foram propostos para planejar caminho por Khatib [18]. No entanto, a técnica de campos potenciais em robótica só ganhou notoriedade internacional em 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 existentes no ambiente. Os obstáculos influenciam o campo potencial, criando uma força repulsiva afastando o robô do Cobs. Já o objetivo influencia no campo potencial criando uma força

atrativa, levando o robô até o seu destino, qgoal. Por fim, o robô é influenciado por essas

forç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 do campo potencial nesta determinada configuração.

(21)

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 uma superfí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 potencial representam os obstáculos. Por fim, combinam-se as duas superfícies para obter o campo potencial final, U (q). As ações de controle recebidas pelo robô são geradas a partir de uma 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 ∈ Cf ree, o campo U atr(q)

será definido pela soma de dois outros pontenciais: um atrativo, U atr(q), e um repulsivo

U rep(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ão dirigido que represente a relação de adjacência entre as células da região navegável do robô, o Cf ree. Este grafo é denominado grafo de conectividade. A principal diferença

entre os métodos baseados em decomposição de célula e os outros métodos baseados em grafos está na construção do grafo. Na decomposição em células é dada maior ênfase aos nós do grafo que, por sua vez, representam regiões inteiras (células) do espaço de configuração, fazendo com que as arestas que conectam um nó a outro sejam definidas trivialmente por uma conexão direta entre células vizinhas [5].

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

(22)

• 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 um

conjunto de células de forma predefinida cuja união está estritamente contida no espaç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 entre quaisquer duas configurações seja obtido sempre que este existir, dado que seja utilizado um 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 o espaço livre do robô em regiões que não se sobrepõem, cuja união é exatamente o Cf ree. A

representação matemática do contorno dos obstáculos é utilizada como parte das equações que definem as células próximas a eles. Em seguida, é construído o grafo de conectividade e então é feita uma busca no mesmo. Se existir um caminho entre qinite qgoal, será gerado

um 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 o grafo resultante.

Para ambientes poligonais, o processo de decomposição exata apresentado é capaz de 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

(23)

são apropriadas. Por exemplo, uma visão extrema consideraria todo o espaço livre como uma única célula, mas assim a obtenção de um caminho dentro dessa célula recairia no problema original. Além disso, o número de células aumenta juntamente com a densidade de 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 um conjunto de células de forma predefinida cuja união está estritamente contida no espaço livre. Como consequência desta característica, tem-se que em geral não é possível modelar o ambiente na forma exata como ele é, sendo necessário que algumas aproximações sejam feitas.

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 uma grade regular de células de mesmas dimensões. Em seguida, são verificados o estado de ocupação de cada célula. Mesmo que apenas uma parte de um obstáculo esteja contido na célula, esta será considerada como ocupada. Por fim, as células que não estão ocupadas representam 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 grade regular.

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

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

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

(24)

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ásico a criação de um grafo não direcionado [1] que capture a conectividade entre as diferentes regiões do Cf ree 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-se então a conectar as posições iniciais e finais do robô ao mapa de rotas e buscar neste um caminho 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 (visibility

graph)[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 com todas 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 subconjunto destas arestas geradas. Após construído o grafo de visibilidade, deve-se então utilizar algum algoritmo de busca para escolha de um caminho.

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

(25)

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 como um conjunto de pontos discretos em um plano, em que o espaço é dividido em regiões mais próximas de cada ponto. Uma ampla pesquisa sobre o diagrama de Voronoi é apresentada em [23].

Nesta técnica, o objetivo principal é maximizar a distância entre o robô e os obstáculos proporcionando assim, uma navegação ótima no sentido de segurança do robô. O diagrama de 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 na informação dos sensores de distância a bordo do robô, como ultrassom ou laser, evitando ou minimizando os erros de odometria.

O diagrama de Voronoi tem o mesmo problema do grafo de visibilidade no que concerne ao aumento do número de obstáculos no ambiente, aumentando assim a dimensão do espaço de configuração. Nesses casos, pode ser impraticável a obtenção dos grafos de forma determinística. Nessas situações, a alternativa mais indicada é a utilização de métodos probabilísticos para realizar a escolha das configurações q ∈ Cf ree que irão representar os

nós do grafo. Esses métodos, chamados qualitativamente de mapas de rotas probabilísticos ou amostrados, têm como seus maiores representantes o PRM (do inglês probabilistic road

map) e a RRT (do inglês rapidly-exploring random tree). A formalização do PRM e

da RRT, bem como as principais características dessas técnicas serão apresentadas no capítulo 3.

(26)

Capítulo 3

Planejamento Probabilístico

Os planejadores probabilísticos são construídos através da seleção aleatória de pontos no Cspace na tentativa de capturar a conectividade do Cf ree. Estas abordagens têm como

principal vantagem o fornecimento de soluções rápidas para problemas com dimensões elevadas. 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 de planejamento, quando ela existir, é chamado de completo. Essa é uma característica fundamental para sistemas de planejamento que não pode ser alcançada por planejadores baseados 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 caminho viável, livre de colisão, uma vez que as configurações de início e destino do robô são fornecidas. Nas próximas seções serão apresentados os dois principais representantes dos planejadores probabilísticos (RRT e PRM). Como a RRT é o foco deste trabalhado, ela será 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 dos métodos. Mesmo que estas premissas sejam encontradas na maioria dos planejadores, a sua 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ção aleatória no Cspace. A etapa de amostragem pode ser considerada como o núcleo

(27)

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

3. Métrica: uma função com valores reais, ρ : C × C → [0, ∞), que especifica a distância ou o esforço entre dois pares de configurações no Cspace. É importante que

esta métrica represente bem o custo ou o time-to-go entre duas configurações. Caso contrário, as soluções encontradas poderão ser altamente ineficientes, em termos de distância percorrida ou tempo de execução;

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

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

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

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

8. Valores iniciais: qinit e qgoal ∈ Cspace;

9. Simulador incremental: dado um estado atual, q(t), e as entradas aplicadas em um 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 num espaç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 o robô não irá colidir com os obstáculos estáticos. Os obstáculos são modelados, e uma representaçã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 se q ∈ Cf ree. A tarefa de planejamento de trajetória é calcular um caminho contínuo a partir

de uma configuração inicial, qinit, para uma configuração final, qgoal, sem a realização de

qualquer pré-processamento.

3.2

RRT

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

(28)

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

Dado o espaço de configuraçõesC com seus componentes Cf ree e Cobs, o ponto inicial qinit 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 realizadas K 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 pela execução das etapas abaixo, considerando que o nó inicial, correspondente à raiz, já foi inserido na árvore.

O primeiro passo é definir a raiz da árvore como o ponto qinit. Esta posição servirá de

orientação para o crescimento da árvore na tentativa vigente (Figura 3.1).

Figura 3.1: A configuração inicial no Cf ree é 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 a distâ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çado

(29)

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

Contudo, somente uma parte do vetor será utilizada, pois existe uma constante que limita 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. O

segmento 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 Cf ree, o nó definido por qnew é então

incorporado à á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 e determina o tempo de execução do algoritmo e a sua cobertura no ambiente (quanto maior o K, maiores serão as chances da árvore crescer e cobrir o ambiente, porém mais demorada 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 de crescimento, o algoritmo é encerrado e tem-se como resultado uma árvore, cujas arestas formam caminhos em potencial e os nós representam pontos distintos do ambiente (Figura 3.5).

(30)

Algoritmo 1

1: função Gera RRT(qinit, K, ∆t) 2: RRT.init(qinit)

3: k = 1

4: enquanto k 6 K faça

5: qrand← Gera_Estado_Aleatorio()

6: qnear ← V erifica_Mais_P roximo(qrand, RRT ) 7: qnew← Gera_Novo_Estado(qnear, ∆t)

8: se V erif ica_Colisao = Livre então

9: RRT.add_no(qnew) 10: fim se 11: k = k + 1 12: fim enquanto 13: devolve RRT 14: 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 a configuraçã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.

(31)

rápido computacionalmente pois não precisa encontrar todos os caminhos válidos, sendo utilizado 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 movimento baseados em RRT, algumas características dessas funções são atrativas para esse ramo da robó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 sua

cobertura do espaço ainda mais completa;

• Uma RRT é probabilisticamente completa sob condições gerais. Isto que dizer que

a chance do algoritmo retornar uma solução tende a 1 quando o tempo de execução do 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 pode

ser adaptada para uma grande quantidade de sistemas;

• Todo o algoritmo de planejamento de movimento pode ser implementado sem a

necessidade de conhecimento aprofundado da aplicação destino e necessidades de mudanç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 um ambiente, 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 PRM representa outra categoria de planejadores baseados em amostragem, que são planejadores de múltiplas consultas. A formalização do PRM e as principais características dessa té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 livre

Cf ree de um espaço de configurações de dimensão m, em que m é o número de graus de

(32)

O algoritmo PRM é dividido em duas etapas: aprendizado e questionamento. A fase de 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 ). Em seguida, é feita a tentativa de conexão entre a amostra e outros vértices em N que estejam dentro 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 conjunto de arestas E. Este procedimento continua n vezes e a estrutura resultante é um grafo não direcionado com N nós.

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

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

para poder gerar rotas rapidamente na etapa seguinte. O objetivo é que um tempo maior seja usado no pré-processamento do espaço de configurações na etapa de aprendizado, de modo 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 trabalho seja 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ções de início e objetivo em uma fase posterior, o PRM é capaz de resolver diferentes instâncias do 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 roteiro para que as consultas sejam resolvidas rapidamente.

(33)

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 principais problemas, soluções e linhas de pesquisa dentro dessa área. Além disso, também serão discutidas, neste capítulo, as pesquisas na área do PRM que apresentam relação com o tema 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], sendo que a prova de que é probabilisticamente completo é apresentada em [27], com uma taxa de decaimento exponencial para a probabilidade de falha [28].

Karaman e Frazzoli provaram que RRTs não são assintoticamente ótimas e propuseram uma modificação no algoritmo que é uma variante que converge para comprimentos de caminho 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, RRTs foram apresentadas para trabalhar, eficientemente, em sistemas com restrições diferencial e dinâmica não linear [14].

Problemas com geometrias complicadas, são tratados com os planejadores baseados na RRT em [30]. Extensões de RRTs para problemas de manipulação e movimentos de cadeias fechadas articuladas foram desenvolvidos em [31] [32]. Versões adaptadas de RRTs para 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 abordagem chamada Obstacle-based RRT [35] usa a informação sobre a forma dos obstáculos para guiar o crescimento da árvore. Esta técnica consegue resolver o problema com corredores estreitos 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 atender os requisitos de tempo real. Diante disso, o Execution extended RRT (ERRT) [25] intercala

(34)

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 primeiro algoritmo desenvolvido para ser utilizando em ambientes dinâmicos em tempo real [36]. Quando um planejamento é gerado com sucesso, os estados ao longo do caminho de

qinit até qgoal são inseridos em um waypoint cache que será utilizado para polarizar o

sorteio 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 estados que foram utilizados em um planejamento previamente bem sucedido tendem a ser bons estados 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 concon-figuraçã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. Apesar de gerar um caminho entre dois pontos muito mais rápido que a RRT original, seu uso acaba sendo mais restrito que o do algoritmo clássico, devendo ser aplicado quando se tem a configuração de início e de destino conhecidas. Uma vez gerada a árvore, ela serve apenas 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 de planejamento de movimento em sistemas com restrições em um espaço de configuração híbrido [33]. Assim como a RRT-Connect seu uso é restrito ao conhecimento prévio da condição de início e destino do robô.

Outros métodos de planejamento baseados no algoritmo original da RRT incluem o

Expansive Space Trees (EST) [37] e o Sampling-based Roadmap of Trees (SRT) [38]. EST

foi proposta como uma medida do número de nós vizinhos de qualquer nó, sendo utilizada como 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 de seleção do nó com base em nós vizinhos. Já o SRT combina as características principais de 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 de pêndulo [33].

Além disso, o algoritmo RRT foi demonstrado em grandes eventos da robótica em várias plataformas robóticas experimentais [25] [39] [40] [41]. Por exemplo, utilizou-se a

Spline-RRT baseada em um processo gaussiano para guiar a exploração de um UAV (do

inglê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 muitas aplicaçõ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

(35)

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 duas décadas.

Os planejadores baseados em amostragem consistem em primitivas com parâmetros variáveis. Uma parte significativa das pesquisas em planejadores probabilísticos é dedi-cada a projetar algoritmos com heurísticas e parâmeros inteligentes. O objetivo destas melhorias é geralmente duplo, reduzir o tempo de execução do algoritmo e o custo das soluçõ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 e Kavraki destacam a importância da análise dos parâmetros e argumentam que os detalhes da 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 que o ajuste e análise dos parâmetros básicos da RRT são fundamentais para o desempenho do método [14]. O uso de comprimentos fixos para as arestas da RRT e sua falta de otimalidade foram estudados em dois trabalhos recentes [17] [45].

Cada planejador tem suas próprias vantagens e desvantagens, e muitas pesquisas na comunidade de planejamento de trajetória lidam com propor heurísticas para compensar desvantagens inerentes em um algoritmo de planejamento [47]. Motivado pela depen-dência da RRT em heurísticas, o Randomized Statistical Path Planning (RSPP) aplica o 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 amostragem tenham sido amplamente utilizados há mais de uma década, nos últimos anos houve um aumento 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 uma alta probabilidade de amostragem de um nó em uma região ampla ao contrário de uma estreita região livre. Este é o resultado de todas as configurações terem probabilidade uniforme de serem amostradas. Outro inconveniente desse tipo de amostragem é não capturar a verdadeira conectividade do ambiente.

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

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

(36)

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 que apresentam passagens estreitas, porém, em outras situações, o número de descartes de configurações é muito maior que o algoritmo clássico do PRM.

O efeito da amostragem sobre o desempenho dos planejadores probabilísticos é ainda uma questão de pesquisa aberta. Os resultados experimentais apresentados Por Linde-mann e LaValle [53], Geraerts and Overmars [12], demonstram que a amostragem tem bastante efeito sobre o desempenho do planejador. Também mostra que não existe uma estraté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 que os pontos de Halton apresentam bom desempenho em comparação com outras técnicas no contexto do PRM.

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

Em PRMs, utiliza-se a dispersão para medir a qualidade de uma sequência de amostras usada para construir o mapa de rotas [56], ou seja, a dispersão no espaço de configuração pode 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. Em cada iteração, aumentar a árvore de forma a reduzir a dispersão o tanto quanto possível. O foco na redução da dispersão promove o crescimento e uma cobertura uniforme do espaço de configuração. A análise da dispersão na RRT e sua influência serão apresentados no capítulo a seguir.

(37)

Capítulo 5

Abordagem Proposta

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

O resultado do algoritmo clássico da RRT para dois ambientes diferentes pode ser visto na figura 5.1. O ponto de início e destino estão marcados no mapa por um x vermelho. O tamanho da aresta escolhido foi de 5 cm e o caminho traçado em azul foi gerado ao fim do 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 ambientes diferentes, o caminho obtido é apresentado em azul.

Ao passo que era implementado o algoritmo clássico, várias questões foram surgindo no que 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 levantados no desenvolvimento do algoritmo clássico são questões chave no problema de planejamento

(38)

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

Desta forma, no decorrer deste trabalho de mestrado, foram feitas várias alterações no 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 diferen-tesdiferen-tes e análises realizados envolveram tamanho de aresta fixo e variado, representação do ambiente, polarização de amostras e uma nova abordagem para acrescentar um nó na árvore. Cada um desses pontos serão abordados 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 duas dimensões (2D), como na maioria dos trabalhos em RRT, para facilitar a visualização do resultado do método e melhor ilustração da técnica. Como eles não dependem da representação do ambiente são facilmente expansíveis para dimensões elevadas, que é a motivaçã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 ) mapas topológicos; e (ii ) os mapas geométricos. Mapas topológicos não possuem informações explí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ível ou qualitativos. Já os mapas geométricos são conhecidos como mapas quantitativos, pois dã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 pela RRT. Desta forma, dentre as técnicas clássicas de representação do ambiente por mapas geomé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 para o 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álculo apresentado na equação 5.1.

D =

n

i=1O(i)

n (5.1)

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

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A partir das análises realizadas no que tange às articulações entre processo formativo que enfatizou a ressignificação e aplicação, inferimos que a aplicação da SEA replanejada no

Este estágio de 8 semanas foi dividido numa primeira semana de aulas teóricas e teórico-práticas sobre temas cirúrgicos relevantes, do qual fez parte o curso

Neste estudo utilizaram-se como variáveis independentes apenas o facto da classificação da EF contar ou não para a média, sendo pertinente conduzirem-se mais

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Nota: Visto que o atraso de enfileiramento e o componente variável do atraso de rede já são incluídos nos cálculos do buffer de controle de variação de sinal, o atraso total é,

Sobre isso, Fernando de Azevedo entendia que a organização do ensino nas escolas públicas precisaria relacionar a educação aos princípios da Arte no intuito de cultivar