• Nenhum resultado encontrado

Planejamento de caminhos em ambientes desconhecidos baseado em uma abordagem geométrica

N/A
N/A
Protected

Academic year: 2021

Share "Planejamento de caminhos em ambientes desconhecidos baseado em uma abordagem geométrica"

Copied!
90
0
0

Texto

(1)Universidade Federal de Sergipe Centro de Ciências Exatas e Tecnologia Programa de Pós-Graduação em Engenharia Elétrica. Planejamento de Caminhos em Ambientes Desconhecidos Baseado em uma Abordagem Geométrica Davi de Oliveira Caldas. Orientador: Prof. Dr. Eduardo Oliveira Freire. São Cristóvão, novembro de 2013.

(2) Davi de Oliveira Caldas. Planejamento de Caminhos em Ambientes Desconhecidos Baseado em uma Abordagem Geométrica. Dissertação de mestrado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade Federal de Sergipe, como parte dos requisitos necessários à obtenção do grau de Mestre em Engenharia Elétrica. Orientador: Prof. Dr. Eduardo Oliveira Freire. São Cristóvão, novembro de 2013.

(3) Dedicatória. Para os meus tios Ariston (in memorian) e Dalva (in memorian), por simplesmente terem planejado viver..

(4) Agradecimentos Agradeço a todos que puderam contribuir com meu trabalho de pesquisa. Ao meu orientador Eduardo Freire, pela apoio e ajuda inestimáveis com os quais fui orientado e pelas reuniões presenciais e à distância que tivemos, meu grandessíssimo obrigado. Agradeço pelas dicas e suporte durante todo o meu mestrado, pelas mensagens de força quando estava desacreditando e pelos puxões de orelha quando precisei. Sem sua orientação, eu e o robô estaríamos rodopiando até agora! Agradeço também aos membros de minha banca Elyson, Pablo e Marco Túlio, pelas dicas e questões levantadas durante a defesa, extremamente úteis para minha dissertação. Também agradeço à secretaria “Madjane”, do PROEE, pela ajuda que me deu nas diversas situações que tive que resolver dentro do mestrado: meu muito obrigado. Aos meus meus pais Fernando e Noélia, pelo sentimento do que é a vida, do que é família e do que é amor, obrigado sempre: você são minha referência em tudo. Ao meu irmão Luan, pela ajuda fisioterápica ainda que à distância, nos momentos em que a coluna travava e a mão cansava de digitar, e por ser a figura de irmão que tenho orgulho em possuir. À minha pequena irmã – e futura engenheira – Flora: embora a veja de quando em quando tem o pedaço de irmã salvaguardado no meu coração. À minha vó Nadir, por ser a imagem de vó que carrega em si o carinho, o amor e a sabedoria que só nossas vós têm: você é quem ainda quero ser. Meu muito obrigado a todos os meus tios e primos, sempre presentes quando precisamos (e isso acontece sempre!). À minha companheira Nara, por ser minha metade na jornada, por estar aqui em todos os momentos e me mostrar o tamanho que o amor sempre tem – do tamanho maior que os tamanhos –, meu obrigado: sem sua ajuda direta no algoritmo, no texto e na vida eu jamais teria conseguido. À toda a minha família espalhada entre Itabuna, Salvador e outros lugares, fica aqui minha eterna gratidão. Aos meus amigos de longe e de perto, obrigado. A Michel, Darliton, Bala, Rê, Lua, Fran, Nilo, Clara, Zau & Chiquito, Nicolas e Breno, meu obrigado pelas risadas que me fizeram relaxar nos momentos mais tensos de minha pesquisa e por serem extensão direta de minha família. Meu agradecimento especial a Fran, que mesmo sendo de outra área acadêmica e de férias em Aracaju, dispôs-se a entender o Método do Desvio Tangencial e discutir comigo sobre os ângulos e detalhes do controlador que me davam um nó na cabeça. Sem sua ajuda, β , α e Pobs ainda estariam em uma galáxia muito, muito distante..

(5) À Sushinis e Tio Preto, que, mesmo dando trabalho, são os cães mais doidos e alegres que conheço. E, claro, às Brunas, as cadelas mais marcantes de minha vida, em minha cidade natal. À Capes, pelo apoio financeiro durante a realização deste trabalho. Um grande obrigado a todos que estão aqui no texto e a todos que por ventura não estão: moram todos aqui no peito!.

(6)

(7) Conteúdo. Lista de Algoritmos. p. i. Lista de Figuras. p. ii. Lista de Tabelas. p. vi. Resumo. p. vii. Abstract. p. viii. 1. Introdução. p. 1. 1.1. Arquiteturas de Navegação . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 1. 1.2. Espaço de Configuração (C-Space) . . . . . . . . . . . . . . . . . . . . . . .. p. 2. 1.3. Métodos de Planejamento de Caminho . . . . . . . . . . . . . . . . . . . . .. p. 3. 1.3.1. Métodos Baseados em Busca em Grafo . . . . . . . . . . . . . . . .. p. 4. 1.3.1.1. Método A* . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 5. 1.3.1.2. Método D* . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 5. 1.3.1.3. Método Baseado em Rapidly-exploring Random Tree (RRT). p. 6. Métodos Baseados em Campos Potenciais Artificiais (APF) . . . . .. p. 7. 1.3.2.1. Método de Sfeir e Saliah-Hassane (2011) . . . . . . . . . .. p. 8. 1.3.2.2. Obstáculo Virtual . . . . . . . . . . . . . . . . . . . . . .. p. 8. 1.3.2.3. Desvio Tangencial . . . . . . . . . . . . . . . . . . . . . .. p. 11. 1.4. Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 13. 1.5. Estrutura da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 15. 1.3.2.

(8) 2. 3. 4. 5. Trabalhos Relacionados: Redes Elásticas e Travessia no Espaço de Configuração (C-Space). p. 16. 2.1. Redes Elásticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 16. 2.2. Método de Travessia no Espaço de Configuração (C-Space) . . . . . . . . . .. p. 24. Planejamento de Caminhos em Ambientes Desconhecidos Baseado em uma Abordagem Geométrica. p. 29. 3.1. Abordagens para Evitar Comportamentos Cíclicos . . . . . . . . . . . . . . .. p. 35. 3.2. Detecção de Ciclos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 37. Resultados Obtidos e Discussão. p. 40. 4.1. Simulador Utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 40. 4.2. Tipo de Ambientes Utilizados . . . . . . . . . . . . . . . . . . . . . . . . .. p. 42. 4.3. Ambiente 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 42. 4.4. Ambiente 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 46. 4.5. Ambiente 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 50. 4.6. Ambiente 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 53. 4.7. Ambiente 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 57. 4.8. Ambiente 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 61. 4.9. Análise dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 64. Considerações Finais e Trabalhos Futuros. p. 67. 5.1. p. 69. Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Bibliografia. p. 72.

(9) i. Lista de Algoritmos. 1. O algoritmo geométrico proposto. . . . . . . . . . . . . . . . . . . . . . . . .. p. 35. 2. O algoritmo geométrico proposto, com detecção e tratamento de ciclos. . . . .. p. 39. 3. Outro possível algoritmo de superação de ciclo detectado. . . . . . . . . . . .. p. 70.

(10) ii. Lista de Figuras 1.1. Classificação das arquiteturas de navegação, segundo Arkin (1998). . . . . .. 1.2. Um robô (a), um obstáculo (b), a extensão das bordas do obstáculo (c) e obstáculo no espaço de configuração (d) (LAVALLE, 2006). . . . . . . . . .. 1.3. p. 18. Convergência de uma rede elástica em um conjunto de 100 cidades, através da redução de K (DURBIN; WILLSHAW, 1987). . . . . . . . . . . . . . . .. 2.3. p. 13. Convergência de uma rede elástica em um conjunto de 10 cidades, com K sendo reduzido (DURBIN; SZELISKI; YUILLE, 1989). . . . . . . . . . . .. 2.2. p. 12. Critério de superação de extremidade de obstáculo (BRANDAO; SARCINELLIFILHO; CARELLI, 2013). . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2.1. p. 11. A abordagem do Desvio Tangencial quando um canto é detectada (BRANDAO; SARCINELLI-FILHO; CARELLI, 2013). . . . . . . . . . . . . . . .. 1.8. p. 10. A abordagem do Desvio Tangencial quando um obstáculo é detectado (BRANDAO; SARCINELLI-FILHO; CARELLI, 2013). . . . . . . . . . . . . . . .. 1.7. p. 9. Configuração de mínimo local aprisionante (a) e novo potencial resultante devido ao obstáculo virtual (b) (ZHANG; ZHU; SONG, 2010). . . . . . . . .. 1.6. p. 6. (a) Caminhos do robô para o método clássico de Campos Potenciais Artificiais e (b) para o método modificado. (SFEIR; SALIAH-HASSANE, 2011). . .. 1.5. p. 3. Exemplo de um grafo RRT, com o caminho final em destaque) (LAVALLE, 1998). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.4. p. 2. p. 19. Verificação da localização dos pontos amostrados e das unidades de processamento (MELO; VELOSO, 2007). . . . . . . . . . . . . . . . . . . . . . .. p. 21. 2.4. Resultados obtidos das simulações de Melo e Veloso (2007). . . . . . . . . .. p. 24. 2.5. Algoritmo de Travessia no Espaço de Configuração (C-Space) (WEAVER;. 2.6. DERBY, 1992). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 25. Estratégia de otimização “String Tightening” (WEAVER; DERBY, 1992). . .. p. 26.

(11) Lista de Figuras. 3.1. Caminho inicial (células rosas), com ponto inicial em (675, 275) e final em (150, 275). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.2. p. 32. Novo caminho para um objetivo temporário em (325, 125), como células na área de segurança (células cinzas) e uma célula sobre obstáculo (525, 225). .. 3.3. iii. p. 32. Novo caminho sem células sobre obstáculos e sem células sobre área de segurança para um destino temporário em (575, 125). . . . . . . . . . . . . . .. p. 33. 3.4. O algoritmo reinicia e gera um novo caminho para o destino final. . . . . . .. p. 33. 3.5. Comportamento cíclico do robô, observado em algumas situações. . . . . . .. p. 36. 3.6. Comportamento cíclico do robô, observado em algumas situações. . . . . . .. p. 38. 4.1. Representação do sensor laser do robô. . . . . . . . . . . . . . . . . . . . .. p. 41. 4.2. Ambiente 1: caminho obtido sem marcação de células ou regiões visitadas para um ambiente com um obstáculo em forma de U. . . . . . . . . . . . . .. 4.3. Ambiente 1: caminho obtido com análise de células visitadas para um ambiente contendo um obstáculo em forma de U. . . . . . . . . . . . . . . . . . .. 4.4. p. 44. Ambiente 1: caminho obtido com análise de regiões visitadas para um ambiente contendo um obstáculo forma de U. . . . . . . . . . . . . . . . . . . . .. 4.5. p. 43. p. 44. Ambiente 1: caminho obtido com o Método do Desvio Tangencial para um ambiente contendo um obstáculo forma de U. . . . . . . . . . . . . . . . . .. p. 45. 4.6. Ambiente 1: comparativo dos resultados. . . . . . . . . . . . . . . . . . . . .. p. 46. 4.7. Ambiente 2: Caminho obtido sem marcação de células ou regiões visitadas para um ambiente com um obstáculo comprido. . . . . . . . . . . . . . . . .. 4.8. Ambiente 2: caminho obtido com análise de células visitadas para um ambiente contendo um obstáculo comprido. . . . . . . . . . . . . . . . . . . . . .. 4.9. p. 47. p. 47. Ambiente 2: caminho obtido com análise de regiões visitadas para um ambiente contendo um obstáculo comprido. . . . . . . . . . . . . . . . . . . . . .. p. 48. 4.10 Ambiente 2: caminho obtido com o Método do Desvio Tangencial para um ambiente contendo um obstáculo comprido. . . . . . . . . . . . . . . . . . .. p. 48. 4.11 Ambiente 2: comparativo dos resultados. . . . . . . . . . . . . . . . . . . . .. p. 49.

(12) Lista de Figuras. iv. 4.12 Ambiente 3: caminho obtido sem marcação de células ou regiões visitadas para um ambiente com dois obstáculos retangulares. . . . . . . . . . . . . . .. p. 50. 4.13 Ambiente 3: caminho obtido com marcação de células visitadas para um ambiente com dois obstáculos retangulares. . . . . . . . . . . . . . . . . . .. p. 51. 4.14 Ambiente 3: caminho obtido com marcação de regiões visitadas para um ambiente com dois obstáculos retangulares. . . . . . . . . . . . . . . . . . .. p. 51. 4.15 Ambiente 3: caminho obtido com o Método do Desvio Tangencial para um ambiente com dois obstáculos retangulares. . . . . . . . . . . . . . . . . . .. p. 52. 4.16 Ambiente 3: comparativo dos resultados. . . . . . . . . . . . . . . . . . . . .. p. 53. 4.17 Ambiente 4: caminho obtido sem marcação de células ou regiões visitadas para um ambiente contendo múltiplos obstáculos retangulares. . . . . . . . .. p. 54. 4.18 Ambiente 4: caminho obtido com análise de células visitadas para um ambiente contendo múltiplos obstáculos retangulares. . . . . . . . . . . . . . . .. p. 54. 4.19 Ambiente 4: caminho obtido com análise de regiões visitadas para um ambiente contendo múltiplos obstáculos retangulares. . . . . . . . . . . . . . . .. p. 55. 4.20 Ambiente 4: caminho obtido com o Método do Desvio Tangencial para um ambiente contendo múltiplos obstáculos retangulares. . . . . . . . . . . . . .. p. 55. 4.21 Ambiente 4: comparativo dos resultados. . . . . . . . . . . . . . . . . . . . .. p. 56. 4.22 Ambiente 5: caminho obtido sem marcação de células ou regiões visitadas para um ambiente contendo dois obstáculos em forma de U separados por um corredor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 57. 4.23 Ambiente 5: caminho obtido com análise de células visitadas para um ambiente contendo dois obstáculos em forma de U separados por um corredor. . .. p. 58. 4.24 Ambiente 5: caminho obtido com análise de regiões visitadas para um ambiente contendo dois obstáculos em forma de U separados por um corredor. . .. p. 58. 4.25 Ambiente 5: caminho obtido com o Método do Desvio Tangencial para um ambiente contendo dois obstáculos em forma de U separados por um corredor. p. 59 4.26 Ambiente 5: comparativo dos resultados. . . . . . . . . . . . . . . . . . . . .. p. 60.

(13) Lista de Figuras. v. 4.27 Ambiente 6: caminho obtido sem marcação de células ou regiões visitadas para um ambiente contendo um obstáculo forma de U interno a outro obstáculo em forma de U. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 61. 4.28 Ambiente 6: caminho obtido com análise de células visitadas para um ambiente contendo um obstáculo forma de U interno a outro obstáculo em forma de U. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 62. 4.29 Ambiente 6: caminho obtido com análise de regiões visitadas para um ambiente com obstáculo forma de U interno a outro obstáculo em U. . . . . . . . .. p. 62. 4.30 Ambiente 6: caminho obtido com o Método do Desvio Tangencial para um ambiente com obstáculo forma de U interno a outro obstáculo em U. . . . . .. p. 63. 4.31 Ambiente 6: comparativo dos resultados. . . . . . . . . . . . . . . . . . . . .. p. 64. 5.1. p. 71. Estratégia de superação do ciclo. . . . . . . . . . . . . . . . . . . . . . . . ..

(14) vi. Lista de Tabelas 4.1. Ambiente 1: dados das simulações dos três métodos para um ambiente com um obstáculo em forma de U. . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.2. Ambiente 2: dados das simulações dos três métodos para um ambiente com dois obstáculos retangulares. . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.3. 4.7. p. 56. Ambiente 5: dados das simulações dos três métodos para um ambiente com dois obstáculos em U separados por um corredor. . . . . . . . . . . . . . . .. 4.6. p. 52. Ambiente 4: dados das simulações dos três métodos para um ambiente com múltiplos obstáculos retangulares. . . . . . . . . . . . . . . . . . . . . . . .. 4.5. p. 49. Ambiente 3: dados das simulações dos três métodos para um ambiente com dois obstáculos retangulares. . . . . . . . . . . . . . . . . . . . . . . . . . .. 4.4. p. 45. p. 60. Ambiente 6: dados das simulações dos três métodos para um ambiente com um obstáculo em forma de U interno a outro obstáculo em forma de U. . . . .. p. 64. Resumo dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 66.

(15) vii. Resumo Frequentemente, robôs móveis autônomos possuem algoritmos de planejamento de caminho como um componente de seu sistema de navegação. Tais algoritmos têm como função primária a identificação de um caminho livre de obstáculos, preferencialmente otimizado, para que o robô alcance seu objetivo. Nesse âmbito, há diversas heurísticas para a solução desse problema, cada uma direcionada a tipos de mapas, robôs e obstáculos diferentes. Essas heurísticas podem ser adequadas para ambientes previamente conhecidos, parcialmente conhecidos ou completamente desconhecidos. Neste trabalho é apresentada uma abordagem geométrica inspirada nos métodos de Redes Elásticas Lineares e Travessia no Espaço de Configuração, para o caso de um ambiente completamente desconhecido. Palavras-chave: abordagem geométrica, Redes Elásticas, Método de Travessia no C-Space, planejamento de caminho em ambientes desconhecidos, robôs móveis..

(16) viii. Abstract Frequently, autonomous mobile robots use path planning algorithms as a component of its navigation system. Such algorithms have, as its primary goal, the identification of obstacles free paths, preferably optimal, so the robot reaches its goal point. In this context, there are several heuristics to solve this problem, each one assigned to different types of maps, robots and obstacles. These heuristics may perform on previously known, partially known or completely unknown environments. In this thesis it is presented a geometric approach inspired by Linear Elastic Networks and Configuration Space Traversal approaches, for completely unknown environments. Keywords: geometrical approach, Elastic Nets, C-Space Traversal Approach, path planning in unknown environments, mobile robots..

(17) 1. 1. Introdução. A pesquisa em robótica tem avançado no intuito de propor soluções aos diversos problemas encontrados na área. As aplicações em robótica podem lidar com situações envolvendo braços manipuladores (robótica de manipuladores) e robôs que se movimentam no seu espaço de operação (robôs móveis). A robótica móvel, por sua vez, possui diversos campos de estudo, envolvendo desde sistemas humanóides autônomos, a robôs de exploração controlados à distância por operadores. Assim, muitas pesquisas têm surgido para propor soluções a problemas específicos, como é o caso de como permitir que um robô móvel autônomo se desloque através de um ambiente desconhecido. Uma extensa revisão sobre robótica móvel pode ser vista em Siegwart, Nourbakhsh e Scaramuzza (2011). Os sistemas robóticos autônomos possuem uma estrutura de navegação responsável por sua mobilidade. Para tanto, um sistema navegação pode englobar diversos elementos de hardware, como sensores, por exemplo, e de software, como um sistema de planejamento, por exemplo. A esse sistema, que permite ao robô móvel agir e buscar seu objetivo de forma eficiente e confiável, dá-se o nome de arquitetura de navegação (PIRJANIAN, 1997).. 1.1. Arquiteturas de Navegação. Segundo Pirjanian (1997), as arquiteturas de navegação podem ser classificadas como reativas, deliberativas ou híbridas. As arquiteturas reativas são aquelas em que o robô produz uma resposta em tempo real à medida em que navega pelo ambiente. Já as arquiteturas deliberativas possuem um planejamento que utiliza conhecimento a priori do ambiente para definir, com antecedência, as ações a serem executadas pelo robô. Os modelos reativos de robôs não precisam de nenhuma representação por mapas, enquanto que robôs baseados em um modelo deliberativo executam o planejamento tendo como referência um modelo do mundo que cerca o robô (MURPHY, 2000) apud (HEERO, 2006)..

(18) 1.2 Espaço de Configuração (C-Space). 2. Figura 1.1: Classificação das arquiteturas de navegação, segundo Arkin (1998).. Para Arkin (1998), essa distinção entre tipos de arquiteturas possui uma separação menos rígida. Assim, a arquitetura se torna mais reativa à medida em que seu modelo tende ao lado direito da Figura 1.1, com um maior acoplamento entre sensor–atuador e maior velocidade de resposta do robô. À medida em que a arquitetura passa a depender mais da representação do ambiente e aumenta sua capacidade de predição, ela tende ao modelo deliberativo (lado esquerdo da Figura 1.1). Desse modo, as arquiteturas podem ser mais ou menos reativas ou mais ou menos deliberativas, além de poderem possuir características dos dois modelos (arquitetura híbrida). As arquiteturas de navegação de sistemas robóticos, por vezes, executam seu planejamento diretamente no espaço em que se encontram, ou seja, no espaço de trabalho do robô. Entretanto, diversos sistemas utilizam uma forma de abstração do ambiente e definem suas estratégias nesse outro espaço, conhecido como espaço de configuração (C-Space).. 1.2. Espaço de Configuração (C-Space). O espaço de configuração (C-Space) foi inicialmente proposto por Lozano-Perez (1983) e surgiu a partir do estudo de problemas de planejamento espacial. A proposta é caracterizar a posição e orientação de um objeto como um único ponto no espaço de configuração, sendo que cada coordenada representa o grau de liberdade na posição ou orientação do objeto. As configurações ditas proibidas são denominadas obstáculos no espaço de configuração. A configuração de um poliedro é definida em relação à sua configuração inicial. Na configuração inicial, por convenção, fixa-se um vértice inicial (ou de configuração) nas coordenadas da origem global. Diz-se, então, que um poliedro A possui um vértice inicial (ou vértice de referência) rvA . Sendo d o número de parâmetros necessários para especificar a configuração.

(19) 3. 1.3 Métodos de Planejamento de Caminho. de um poliedro A de k dimensões em relação à sua configuração inicial, tem-se que. d = k+. k. ! ,. 2. (1.1). em que o primeiro termo define a quantidade de parâmetros para especificar rvA em Rk e o segundo, denominado ângulo de Euler, especifica a quantidade de rotações para um novo sistema genérico de orientação do poliedro A. Com isso, uma configuração do poliedro A pode ser vista como um ponto x ∈ Rd e o seu espaço de configuração de d dimensões é denotado como CspaceA . A na configuração x é denotado como (A)x e como (A)0 , na configuração inicial. As configurações de objetos fixos não são especificadas.. Figura 1.2: Um robô (a), um obstáculo (b), a extensão das bordas do obstáculo (c) e obstáculo no espaço de configuração (d) (LAVALLE, 2006).. É possível observar nas Figura 1.2-a e Figura 1.2-b um robô 2D e um obstáculo, respectivamente, ambos no espaço de trabalho. Para construir um obstáculo no espaço de configuração, as bordas do obstáculo são estendidas com o robô deslizando pelas laterais (Figura 1.2-c), obtendose, então, o espaço de configuração do obstáculo (Figura 1.2-d) de tal forma que o robô pode ser considerado como sendo um ponto no ambiente. O espaço de configuração final contém o robô como um ponto e os obstáculos estendidos. Além da forma de representação do ambiente onde o robô encontra-se inserido, a arquitetura de navegação também pode possuir um componente responsável por realizar o planejamento do caminho que o robô deverá seguir, como será visto na próxima seção.. 1.3. Métodos de Planejamento de Caminho. O planejamento de caminho, sendo um componente deliberativo da navegação, é responsável por identificar um caminho satisfatório, dentro de um ambiente, para que se chegue ao.

(20) 1.3 Métodos de Planejamento de Caminho. 4. objetivo (HEERO, 2006). Além disso, o planejamento deve ser capaz de gerar um caminho livre de colisão e otimizá-lo quando necessário (DAS; KONAR, 2010). Uma definição sobre planejamento de caminho é dada por Lengyel et al. (1990): “dado um objeto P arbitrário, rígido, em formato poliédrico e em um ambiente poliédrico, encontre um caminho livre de colisão que leve P a partir de uma configuração inicial até a configuração de objetivo desejada”. Nesse aspecto, utilizar modelos do mundo que cercam o robô é tarefa importante dentro do planejamento de caminho. Um fato notável é que cada abordagem de planejador de caminho segue critérios próprios, resultando em algoritmos que são soluções para problemas específicos. O processo de planejamento de caminho pode ocorrer com conhecimento prévio do ambiente e todo o caminho é definido previamente antes de o robô começar a movimentar-se. Diz-se que tal algoritmo é off-line. A abordagem on-line, por sua vez, lida com o ambiente parcialmente ou totalmente desconhecido, em tempo real, gerando o caminho como uma resposta às mudanças que ocorrem no ambiente (DAS; KONAR, 2010). O planejamento de caminho também pode ser visto como local ou global. No planejamento global, o robô conhece todo o ambiente e basta calcular o caminho no início e segui-lo até que se chegue ao objetivo. No planejamento local, o robô conhece apenas a área que seus sensores conseguem alcançar e deve tomar decisões baseado em tais informações. Segundo Li, Huang e Wang (2010), ainda há poucos métodos de planejadores locais. Siegwart, Nourbakhsh e Scaramuzza (2011) classificam os métodos de planejamento de caminho de acordo sua estratégia de discretização do ambiente. Desse modo, os planejadores podem ser divididos em duas categorias genéricas: a) Métodos Baseados em Busca em Grafo. b) Métodos Baseados em Campos Potenciais Artificiais (APF). Uma revisão acerca dos métodos de planejamento pode ser vista em Latombe (1991). Já LaValle (2006) e Siegwart, Nourbakhsh e Scaramuzza (2011) fornecem revisões mais atualizadas e abrangentes sobre planejamento.. 1.3.1. Métodos Baseados em Busca em Grafo. Para os métodos de busca em grafo, é construído um grafo de conectividade com etapas de definição de nós e de suas conexões. Após a construção é realizada uma busca pelo caminho,.

(21) 1.3 Métodos de Planejamento de Caminho. 5. no grafo. Comumente, tais métodos são do tipo off-line (SIEGWART; NOURBAKHSH; SCARAMUZZA, 2011). Há diversas abordagens baseadas em grafo, como é o caso dos algoritmos A*, D* e Rapidly-exploring Random Tree (RRT), apresentados nas seções seguintes. 1.3.1.1. Método A*. O algoritmo A* propõe uma busca em grafo (ou árvore), onde são adicionados objetivos locais (nós) até que se chegue ao nó de objetivo final (DAS; KONAR, 2010). Assim, o algoritmo define qual deverá ser a próxima posição da grade a ser ocupada de acordo com uma função de custo associada. Trata-se de um algoritmo “guloso”, que sempre procura adotar nós menos custosos localmente com o objetivo de uma solução global ótima via adoção de menor caminho, como visto no algoritmo de Dijkstra (DIJKSTRA, 1959) (CORMEN et al., 2001) (DECHTER; PEARL, 1985). Uma proposta baseada em A* pode ser vista em Li, Huang e Wang (2010), onde é utilizada uma abordagem que trata um único robô como um sistema multiagente, com agentes de planejamento de caminhos, de comportamento e de percepção. O agente responsável pelo planejamento utiliza o algoritmo A* para gerar um caminho a partir das informações locais disponíveis ao robô, enquanto que o agente comportamental suaviza-o. 1.3.1.2. Método D*. O Algoritmo de Stentz, mais conhecido como D*, foi proposto com o intuito de planejar caminhos em ambientes desconhecidos, parcialmente conhecidos e dinâmicos de maneira eficiente (STENTZ, 1994). O método D* utiliza um mapa do ambiente que pode ser completo, parcial ou vazio. Para o caso de regiões desconhecidas, o mapa pode possuir informações aproximadas, modelos estocásticos de ocupação ou estimativas heurísticas. A ideia básica do algoritmo é utilizar um grafo com valores de custo nos arcos, de acordo com a leitura os sensores do robô em sua vizinhança. O algoritmo D* é também dito A* dinâmico, pois os parâmetros de custo dos arcos podem mudar durante a execução do algoritmo. O caminho executado pelo robô pode ser visto como o conjunto de estados que o robô visitou conectados por arcos direcionais, cada qual com seu peso associado, até que se chegue ao ponto de destino, definido por G. Cada estado X (com exceção de G) tem um ponteiro do estado anterior Y, definido como b(X) = Y . Tais ponteiros servem para definir o caminho até o objetivo. Além disso, cada arco possui um valor associado representado por um valor positivo que irá determinar o custo de trafegar do estado Y ao estado X, definido como c(X,Y ). Se não.

(22) 1.3 Métodos de Planejamento de Caminho. 6. há arco para X, c(X,Y ) é indefinido; se c(X,Y ) ou c(Y, X) é definido, X e Y são vizinhos. 1.3.1.3. Método Baseado em Rapidly-exploring Random Tree (RRT). O algoritmo RRT, proposto por LaValle (1998), é um método baseado em uma estratégia de busca estocástica. Seu propósito é definir um caminho através da escolha de um ponto aleatório em um ambiente conhecido e definindo-se o nó da árvore mais próximo a esse ponto. Esse ponto é conectado e vira um novo nó da árvore em expansão. Por conta da conexão de novos nós em posições aleatórias, o aspecto final é uma árvore com diversos nós, como se percebe na Figura 1.3. LaValle (1998) define um método baseado em crescimento probabilístico de um grafo que funciona bem tanto para problemas holonômicos quanto para problemas não-holonômicos.. Figura 1.3: Exemplo de um grafo RRT, com o caminho final em destaque) (LAVALLE, 1998).. O algoritmo RRT é paralelizável e explora bem os espaços livres dos ambientes, mas apresenta a limitação de finalizar a expansão da árvore apenas quando se alcança o objetivo. Dessa forma, o processo de crescimento da árvore pode gerar centenas de nós. Após inicializar a árvore com o nó do ponto de partida, o algoritmo entra em um laço que basicamente define o ponto aleatório qrand , define o nó da rede mais próximo qnear a esse ponto, determina uma entrada u que minimiza a distância entre qrand e qnear verificando se o caminho é livre de obstáculos. Em seguida, define-se o caminho adotado entre o vértice mais próximo e o novo vértice, adicionando-se tal vértice na árvore e percorre-se uma distância incremental até o ponto,.

(23) 1.3 Métodos de Planejamento de Caminho. 7. adicionando-se, por fim, o vértice ligando o nó à árvore. O processo se repete até que se alcance o nó de objetivo.. 1.3.2. Métodos Baseados em Campos Potenciais Artificiais (APF). O método dos Campos Potenciais Artificiais introduzido por Khatib (1986) define a criação de um campo potencial artificial que, de forma crescente, atrai o robô à medida em que este chega próximo ao ponto de destino. Em contrapartida, deve ser definido um outro campo potencial artificial para os obstáculos que tem a função de repelir o robô, de forma crescente, à medida em que o robô se aproxima de um obstáculo. Globalmente, o robô, sendo atraído pelo ponto de destino e repelido pelos obstáculos, deverá ser capaz de chegar a seu destino. Khatib (1986) propõe que o campo potencial total deve ser a soma entre o potencial repulsivo gerado pelos obstáculos e o potencial atrator gerado pelo objetivo. Assim, tem-se que. Φ(x, y) = Φg (x, y) + Φo (x, y),. (1.2). em que Φg (x, y) representa o potencial gerado pelo objetivo e Φo (x, y), o potencial gerado pelos obstáculos. A expressão para o potencial do objetivo é similar a um sistema massa-mola, mas com um um coeficiente de amortecimento, para evitar comportamento oscilatório. As forças repulsiva e atratora são dadas pelos gradientes negativos dos potenciais repulsivo e atrator, respectivamente. Alguns problemas são encontrados durante a execução do método clássico, dentre eles, configurações de mínimos locais, GNRON (objetivo não alcançável quando há obstáculos próximos, do inglês “Goal Not Reachable when Obstacles are Nearby"), além de oscilações em caminhos estreitos Borenstein e Koren (1991). O problema de configurações de mínimos locais refere-se a situações onde o robô pode encontra-se preso e não consegue convergir para o destino final(PARK; LEE, 2004). Situações onde as forças repulsivas e atratoras se anulam, por exemplo, não permitem que o robô possa seguir em frente. Existem, basicamente, três possíveis abordagens para lidar com configurações de mínimos locais indesejadas. A primeira proposta é evitar configurações de mínimo local. A segunda abordagem é permitir que o robô consiga escapar de tais configurações. A terceira e última abordagem consiste em gerar campos potenciais sem mínimos locais (ZHANG; ZHU; SONG, 2010). Assim, algumas abordagens baseadas em Campos Potenciais Artificiais surgiram para re-.

(24) 1.3 Métodos de Planejamento de Caminho. 8. solver tais problemas, como é o caso dos métodos de Sfeir e Saliah-Hassane (2011) e do Obstáculo Virtual, apresentados nas Seções 1.3.2.1 e 1.3.2.2, respectivamente. 1.3.2.1. Método de Sfeir e Saliah-Hassane (2011). A solução proposta por Sfeir e Saliah-Hassane (2011) consiste em modificar o método clássico de Campos Potenciais Artificiais para que seja possível um planejamento de caminho livre das falhas existentes no método clássico, considerando-se ainda um ambiente desconhecido. A primeira modificação do método original é que, uma vez que se considera um ambiente desconhecido, utiliza-se a variável d como a menor distância encontrada entre todos os sonares do robô. Sfeir e Saliah-Hassane (2011) ainda trata o problema do GNRON. Pelo método clássico de Campos Potenciais Artificiais, a análise do gradiente descendente deverá apontar para o mínimo global. Entretanto, obstáculos muito próximos ao objetivo podem impedir o robô de cumprir sua tarefa. A proposta de Sfeir e Saliah-Hassane (2011) é zerar o potencial do obstáculo caso as coordenadas do robô sejam as mesmas do objetivo. Uma vez definida a função de potencial para os obstáculos, Sfeir e Saliah-Hassane (2011) acrescentam uma força rotacional, que tem por finalidade eliminar oscilações indesejadas do robô, como quando este decide dar meia-volta por ter encontrado um obstáculo à frente. No comparativo entre as execuções do método clássico de Campos Potenciais Artificiais e o modificado, para um mesmo mapa, este último conseguiu realizar o trajeto com menos oscilações, além de percorrer uma distância menor. Na Figura 1.4-a é exibido o caminho realizado pelo método clássico, enquanto que na Figura 1.4-b é exibido o caminho para o método modificado, sendo os vetores a direção da força rotacional. Apesar de o método realizar a tarefa de maneira mais otimizada do que o método original e consumindo poucos recursos, os autores não conseguiram provar que o robô sempre escapa de configurações de mínimos locais. Outra restrição recai sobre a escolha de parâmetros, que podem tornar o caminho mais suave, por exemplo. Para tanto, a escolha de parâmetros deu-se por tentativa e erro. 1.3.2.2. Obstáculo Virtual. O Método do Obstáculo Virtual (Virtual Hill) proposto por Park e Lee (2004) surge como alternativa à resolução de problemas de mínimos locais no método de Campos Potenciais Artificiais, especialmente em ambientes desconhecidos, onde tal situação não é previsível. Desse.

(25) 9. 1.3 Métodos de Planejamento de Caminho. Figura 1.4: (a) Caminhos do robô para o método clássico de Campos Potenciais Artificiais e (b) para o método modificado. (SFEIR; SALIAH-HASSANE, 2011).. modo, Park e Lee (2004) propõem a aplicação de uma potencial extra para tratar tais situações. Como o método é aplicado quando o robô encontra-se preso, primeiramente é preciso adotar um critério para definir quando o robô está preso em um mínimo local. Park e Lee (2004) definem que o robô está preso quando:. −p (t) − → −p (t − T ) k≤ S , t ≥ Ta , se k → a a. (1.3). −p é o vetor posição do robô, T é o intervalo de tempo e S é a distância mínima sendo que → a a percorrida pelo robô durante o intervalo Ta quando este não se encontra em configurações de mínimo local. Caso esteja preso, utiliza-se um potencial extra para que o robô possa escapar da configuração de mínimo local. Para definir a força extra para lidar com problemas de mínimo local, calcula-se o gradiente negativo do potencial extra. O efeito da aplicação da força extra pode ser observado na Figura 1.5. Na Figura 1.5-a, tem-se a situação onde o robô encontra-se em uma configuração de mínimo local. Na Figura 1.5-b, percebe-se uma elevação no potencial, o que direciona o robô ao seu destino correto, retirando-o do ponto de força potencial igual a zero no interior do obstáculo em “U”. Apesar de o método de obstáculos virtuais resolver problemas ocorridos no método de Campos Potenciais Artificiais original, algumas limitações são encontradas. Zhang, Zhu e Song (2010) elencam quatro desvantagens significativas no uso do método dos obstáculos virtuais: 1. O algoritmo dos obstáculos virtuais não possui um método eficiente para definição dos parâmetros para o potencial extra utilizado. Park e Lee (2004), por exemplo, utilizam a.

(26) 1.3 Métodos de Planejamento de Caminho. 10. Figura 1.5: Configuração de mínimo local aprisionante (a) e novo potencial resultante devido ao obstáculo virtual (b) (ZHANG; ZHU; SONG, 2010).. abordagem de tentativa e erro, algo que pode não ser viável em determinadas situações. 2. Não há parâmetros globais: os parâmetros utilizados são específicos a determinadas simulações..

(27) 1.3 Métodos de Planejamento de Caminho. 11. 3. O algoritmo não é indicado para ambientes complexos, com várias configurações de mínimo local, pois há um risco maior de o robô não alcançar seu objetivo. 4. Rotas de escape de configurações de mínimo local podem ser muito longas. 1.3.2.3. Desvio Tangencial. O Método do Desvio Tangencial (BRANDAO; SARCINELLI-FILHO; CARELLI, 2013) utiliza um controlador não-linear para definir caminhos tangentes às bordas de obstáculos do ambiente. Inicialmente, o método faz com que o robô móvel navegue em direção ao objetivo final. Sempre que o robô detecta, pela leitura da menor distância dmin , um obstáculo a uma distância menor ou igual a uma distância mínima de segurança dobs , replaneja-se o caminho para um destino virtual.. Figura 1.6: A abordagem do Desvio Tangencial quando um obstáculo é detectado (BRANDAO; SARCINELLI-FILHO; CARELLI, 2013).. Pela análise da Figura 1.6, é possível observar a proposta básica do Método do Desvio Tangencial. Quando dmin ≤ dobs , o robô encontra-se em uma zona de segurança definida por conta de um obstáculo identificado e o controlador não mais deverá levar o robô ao destino real Xd , mas realizar uma manobra de desvio que leve o robô a um destino virtual Xv . Para tanto, é realizada uma análise de ângulos para definir tal manobra em direção ao destino virtual. O ângulo γ é responsável por definir o ângulo de desvio em direção ao destino virtual e é definido de acordo com o sinal de β , que representa o ângulo entre o vetor de direção u do robô e o vetor do sensor que capturou a menor distância ao obstáculo. Assim, o ângulo de manobra é definido como.

(28) 1.3 Métodos de Planejamento de Caminho. ( γ=. −90o + β − α, se β ≥ 0 +90o + β − α, se β < 0,. 12. (1.4). em que α representa o erro de orientação ao destino final. Apesar de a manobra definida pelo ângulo γ permitir que o robô consiga superar diversas situações, em alguns casos é preciso realizar uma manobra mais agressiva, especialmente quando o robô detecta cantos, como ocorre dentro de obstáculos em forma de U, V ou L. Para definir que o robô está detectando um canto, utiliza-se uma variável d90o que identifica obstáculos a 90o em relação a dmin , como é possível observar na Figura 1.7.. Figura 1.7: A abordagem do Desvio Tangencial quando um canto é detectada (BRANDAO; SARCINELLI-FILHO; CARELLI, 2013).. É importante observar que um canto é definido apenas quando dmin < dobs e d90o < dobs simultaneamente, ou seja, quando o robô encontra-se próximo das duas paredes que definem o canto. Nesse tipo de situação, a manobra mais agressiva é definida como ( γ=. −180o + β − α, se β ≥ 0 +180o + β − α, se β < 0.. (1.5). Esse tipo de manobra permite ao robô seguir na direção contrária ao canto, fazendo com que este saia do interior do obstáculo. O Método do Desvio Tangencial ainda possui uma abordagem de detecção e superação de extremidades de obstáculos. Como se vê na Figura 1.8, após o robô entrar no obstáculo em.

(29) 1.4 Definição do Problema. 13. Figura 1.8: Critério de superação de extremidade de obstáculo (BRANDAO; SARCINELLIFILHO; CARELLI, 2013).. U, ele realiza uma curva acentuada de 180o e volta em direção à entrada do obstáculo em U, como na situação exposta no robô em tom cinza escuro. Assim que o robô identifica que a borda superior do obstáculo em U desapareceu, detecta-se uma transição de uma situação de obstáculo lateral para uma situação sem obstáculo, ou seja, uma extremidade. Quando isso ocorre, se o valor do ângulo α é maior que 90o , define-se um destino virtual Xv para que a extremidade possa ser contornada, como na situação do robô em tom cinza claro. Uma vez em tal posição, o robô voltará a executar o controlador de posição final.. 1.4. Definição do Problema. Como foi visto nas seções anteriores, há uma série de abordagens que servem como inspiração dentro da pesquisa em planejamento para robôs móveis. Há desde métodos inspirados na teoria de campos potenciais (KHATIB, 1986) a outros baseados em redes neurais artificiais (JANGLOVá, 2004). Uma dessas abordagens refere-se à teoria de Redes Elásticas. As Redes Elásticas surgiram como uma heurística para resolver o problema do caixeiro-viajante, que representa um problema clássico de otimização e tem recebido atenção desde seu surgimento por definir uma classe inteira de problemas de otimização (DURBIN; WILLSHAW, 1987). Os trabalhos de Moreno e Castro (2005) e Melo e Veloso (2007), por sua vez, expandem a utilização do método das Redes Elásticas e apresentam a sua aplicabilidade dentro da robótica móvel, através de uma rede elástica linear em ambientes previamente conhecidos. Melo e Veloso (2007) foram responsáveis por otimizar o método de Moreno e Castro (2005), redu-.

(30) 1.4 Definição do Problema. 14. zindo seu custo computacional, evitando cálculos desnecessários de rotas para ambientes sem obstáculos, por exemplo. Apesar do desenvolvimento de um algoritmo que utiliza as Redes Elásticas dentro da robótica móvel, ainda há o problema de como aplicar as soluções propostas por Moreno e Castro (2005) e Melo e Veloso (2007) para o caso de ambientes desconhecidos, uma vez que tais algoritmos utilizam um vetor contendo todos os obstáculos do mapa, além de realizarem todo planejamento de caminho de maneira off-line. Assim, pode-se pensar em estender as propostas de Moreno e Castro (2005) e Melo e Veloso (2007) para o caso de robôs móveis em ambientes desconhecidos, proposta ainda inexistente na literatura pesquisada. O problema de tal abordagem é que, como não há informação prévia acerca do ambiente, o algoritmo não pode ser simplesmente adaptado diretamente a partir da abordagem vista em Melo e Veloso (2007). Assim, passou-se por uma análise dos pontos cruciais, dentro da teoria de Redes Elásticas, que poderiam servir de inspiração para uma proposta direcionada ao caso de planejamento em ambientes desconhecidos. Com isso, chegou-se a uma heurística baseada em uma análise geométrica do ambiente. Uma vez desenvolvida a abordagem geométrica aqui proposta, foi realizada uma nova revisão bibliográfica para verificar se existiriam trabalhos que de alguma forma estivessem relacionados à nova abordagem. Essa revisão bibliográfica revelou a existência do algoritmo de Travessia no Espaço de Configuração proposto por Weaver e Derby (1992) para braços robóticos cooperativos no espaço de configuração (C-Space) em ambientes previamente conhecidos. Essa heurística de Travessia no Espaço de Configuração, de forma similar às Redes Elásticas Lineares, utiliza uma abordagem de definir novas posições para pontos de caminho sobre obstáculos, alocando-os de acordo com direções de busca. Embora seja sugerido por Weaver e Derby (1992) que seu método pode ser estendido a planejadores 2D em ambientes conhecidos, não há pesquisas mostrando tal aplicabilidade. Além disso, não há pesquisas mostrando tal aplicabilidade também em planejadores para ambientes desconhecidos. Tudo isso torna evidente as diferenças existentes entre a abordagem proposta por Weaver e Derby (1992) e o algoritmo geométrico introduzido neste trabalho. Em resumo, neste trabalho é proposta uma abordagem geométrica para planejamento de caminhos para robôs móveis que estejam se deslocando em ambientes desconhecidos planos, inicialmente inspirada no método de Redes Elásticas, e que possui semelhanças com o método de Travessia no Espaço de Configuração. Os resultados obtidos serão comparados com o Método do Desvio Tangencial, pela simplicidade e robustez de tal método..

(31) 1.5 Estrutura da Dissertação. 1.5. 15. Estrutura da Dissertação. Este trabalho está organizado na seguinte forma: Capítulo 2: aqui se discute sobre Redes Elásticas e o Método de Travessia no Espaço de Configuração, que são os métodos diretamente relacionados à este trabalho. Capítulo 3: nesse capítulo é descrita a abordagem geométrica proposta neste trabalho para o caso em que o robô navega por ambientes desconhecidos. Capítulo 4: esse capítulo contém detalhes sobre o simulador e ambientes utilizados, bem como as análises dos resultados obtidos das simulações do algoritmo aqui proposto. Capítulo 5: aqui são expostas as considerações finais deste trabalho e discussão acerca de trabalhos futuros. Por fim, há um capítulo contendo as referências bibliográficas utilizadas neste trabalho..

(32) 16. 2. Trabalhos Relacionados: Redes Elásticas e Travessia no Espaço de Configuração (C-Space). Como o método proposto neste trabalho foi inicialmente inspirado pelo método das Redes Elásticas e mostrou-se, por fim, também próximo à abordagem do Método de Travessia no Espaço de Configuração, faz-se necessário uma discussão mais detalhada sobre ambos. Nesse sentido, a Seção 2.1 deste capitulo é dedicada ao método de Redes Elásticas, ao passo que a Seção 2.2 trata a respeito do método de Travessia no Espaço de Configuração.. 2.1. Redes Elásticas. O algoritmo das Redes Elásticas foi proposto por Durbin e Willshaw (1987) e, tendo como base o trabalho de Willshaw e Malsburg (1979), possui o intuito de criar uma heurística para o problema do caixeiro-viajante. Segundo tal problema, há N cidades que devem ser visitadas apenas uma vez, percorrendo o menor caminho possível. Sendo um problema de otimização da classe NP-completo, diversos métodos surgiram objetivando soluções quase-ótimas. A ideia básica do algoritmo de Redes Elásticas é utilizar um parâmetro K para controlar o crescimento não-uniforme de uma rede circular fechada elástica até que seja gerado um caminho que passe próximo a todas as cidades. Dessa forma, a rede que inicialmente recai sobre o centro da distribuição das cidades, passa a ser expandida, com cada nó da rede sendo atraído por uma cidade (DURBIN; SZELISKI; YUILLE, 1989). Ou seja, o algoritmo segue um processo de cálculos sucessivos das posições de determinado número de pontos. Tais pontos descrevem um caminho fechado que deverá cobrir todas as cidades do mapa. Cada ponto na rede se move de acordo com duas forças aplicadas, sendo que uma força atrai o ponto para a cidade mais próxima, enquanto que a segunda, atrai o ponto para seus vizinhos na rede elástica. Inicialmente, todas as cidades no mapa exercem igual influência sobre cada ponto da rede..

(33) 17. 2.1 Redes Elásticas. Ao longo das iterações, os pontos da rede passam a sofrer menos influência das cidades mais distantes, fazendo com que a rede apresente um comportamento mais localizado. Por fim, cada cidade acaba por ficar ligada a um ponto da rede elástica. Sendo Xi , com i = 1 até N, o conjunto de posições das N cidades, define-se iterativamente um caminho fechado de pontos Y j , com i = 1 até M. Y j cresce até que se tenha um caminho fechado completo, onde cada cidade Xi tenha um ponto Y j convergindo para ela. O crescimento da rede elástica é determinado por. ∆Y j = α ∑ ωi j (Xi − Y j ) + β K(Y j+1 + Y j−1 − 2Y j ),. (2.1). i. em que ωi j é a influência da cidade i sobre o ponto j, sendo função da distância entre a cidade e o ponto, bem como do parâmetro de escala K. O termo ωi j da Equação 2.1 é normalizado para uma distribuição uniforme dos nós da rede elástica. Assim, tem-se que

(34)

(35) 

(36) Xi −Y j

(37) 2 /2K 2 e ωi j =

(38) 2

(39) . −

(40) Xi −Yk

(41) /2K 2 ∑e −. (2.2). k. A atualização da posição de um nó da rede elástica, definida por (2.1), mostra que um dado nó da rede atrai seus vizinhos em direção à cidade com um fator α e também é atraído pelos seus vizinhos imediatos por um fator β K. Assim, α e β são os coeficientes que balanceiam as forças durante o deslocamento da rede (RIBEIRO, 1999). Por conta disso, o comportamento esperado é que, ao final das iterações, seja obtido um circuito contendo o menor caminho possível para que cada nó permita a visita a uma cidade. Dessa forma, para cada cidade Xi , há no mínimo um ponto Y j da rede a uma distância aproximadamente K (DURBIN; SZELISKI; YUILLE, 1989). Por outro lado, Rose (1991) chega a uma função de custo igual à Equação 2.1 quando utiliza o seu algoritmo de Recozimento Determinístico para tratar do problema do caixeiroviajante. Vale a pena destacar que o coeficiente K é equivalente ao coeficiente de temperatura no algoritmo de Rose (1991) (DURBIN; WILLSHAW, 1987). Uma importante contribuição de Durbin, Szeliski e Yuille (1989) é definir uma função de energia E para o método das Redes Elásticas e analisar a convergência rede quanto ao fator K. A ideia é deslocar a rede para cada valor K de forma que se minimize a função de energia E, que é definida como.

(42) 18. 2.1 Redes Elásticas.

(43).

(44) . −

(45) Xi −Y j

(46) 2K 2. E(Y j , K) = −αK ∑ log ∑ e i. j. + β ∑{Y j − Y j−1 }2 .. (2.3). j. Como o deslocamento dos pontos da rede representa a minimização da função de energia da Equação 2.3, tem-se que ∆Y j pode ser definido como. ∆Y j = −K. ∂E . ∂Yj. (2.4). Durbin, Szeliski e Yuille (1989) observam que para valores grandes de K, E é suavizada e há uma única configuração de mínimo; para valores pequenos de K, a função de energia contém diversas configurações de mínimos locais e cada mínimo corresponde a um caminho possível para o problema do caixeiro-viajante. O algoritmo é executado com um K inicialmente grande que é gradualmente reduzido até que se chegue a um mínimo local de E. Embora não haja garantias, o intuito é fazer com que essa configuração de mínimo alcançada com a redução de K também seja o mínimo global. Em outras palavras, minimizar a função de custo E maximiza a probabilidade de distribuição da rede elástica.. Figura 2.1: Convergência de uma rede elástica em um conjunto de 10 cidades, com K sendo reduzido (DURBIN; SZELISKI; YUILLE, 1989).. Na Figura 2.1, observa-se a execução do método das Redes Elásticas, inicialmente como um ponto central que se expande - através da redução de K - até que as 10 cidades do mapa estejam cobertas..

(47) 2.1 Redes Elásticas. 19. Figura 2.2: Convergência de uma rede elástica em um conjunto de 100 cidades, através da redução de K (DURBIN; WILLSHAW, 1987).. Para a Figura 2.2, observa-se a convergência da rede elástica para o caso de um mapa com 100 cidades aleatoriamente distribuídas. A rede inicialmente é um anel localizado no centroide do conjunto de cidades. A evolução da rede ocorre com a diminuição do termo K. Na Figura 2.2-d é apresentada a configuração da rede elástica para K=0,01. Na Figura 2.2-e é apresentada a configuração final da rede elástica obtida a partir da rede da 2.2-d. Na figura 2.2-f é apresentada a menor rede elástica encontrada nas simulações de Durbin e Willshaw (1987). Durbin e Willshaw (1987) mostram que para o caso da Figura 2.2 observou-se que, inicialmente, foi necessário um grande número de iterações com um valor grande de K. Além disso, situações, como aquela em destaque na Figura 2.2-c, mostram como a taxa de redução de K é importante para evitar que a evolução da rede leve a cruzamentos indesejados. Embora pouco aplicado na área de robótica móvel, outros trabalhos têm sido realizados tendo como base o método de Redes Elásticas de Durbin e Willshaw (1987) para tratar diversos problemas. Al-Mulhem e Al-Maghrabi (1998), por exemplo, utilizam um método para gerar uma rede elástica convexa que, em seguida, é otimizada por um algoritmo não-determinístico para uma rede sem loops e com vértices melhor posicionados. Vakhutinsky e Golden (1994) mostram como a teoria de Redes Elásticas pode ser expandida para o Problema do Múltiplo Caixeiro-Viajante e para o Problema do Roteamento de Veículos, que tal como o problema.

(48) 2.1 Redes Elásticas. 20. do caixeiro-viajante, também é um problema NP-completo. Ribeiro (1999) utiliza a teoria de Redes Elásticas para definir uma metaheurística híbrida juntamente com a teoria de redes neurais para tratar o Problema de Roteamento de Veículos. Yang, Yi e Yang (2011) propõem a utilização de Redes Elásticas com ruído estocástico para tratar o Problema do Caixeiro-Viajante. Em Purnomo, Aramvith e Pumrin (2010) é proposto um algoritmo de Redes Elásticas para reconhecimento de faces em imagens de alta-resolução. Em Zhang et al. (2012), é proposta uma abordagem que se baseia em uma rede elástica para predição de câncer de ovário. Mahmoud e Al-Ghamdi (2013) propõem a utilização de Redes Elásticas para definir uma topologia de rede hierárquica ótima, levando em conta a quantidade de tráfico da rede. A ideia de utilizar o algoritmo das Redes Elásticas para a navegação de robôs móveis surge no trabalho de Moreno e Castro (2005), que percebem a possibilidade de utilizar uma rede elástica linear para solucionar o problema do planejamento de caminho para ambientes previamente conhecidos. A heurística que define a rede elástica linear para o planejamento do robô vista em Moreno e Castro (2005) foi posteriormente otimizada por Melo e Veloso (2007). Melo e Veloso (2007) propuseram algumas otimizações, além de tratarem os casos onde há um robô (algoritmo ODEN) ou múltiplos robôs (algoritmo MODEN) navegando no ambiente. O algoritmo otimizado de Melo e Veloso (2007) trabalha com nós (unidades de processamento) dispostos na rede elástica linear. Inicialmente, é traçada uma reta com dois nós: o ponto de origem e o destino, sendo esse o caminho inicial definido. A um determinado intervalo fixo de tempo, uma nova unidade de processamento deverá ser adicionada na rede entre as duas unidades de processamento mais distantes entre si. Para cada iteração, o algoritmo escolhe aleatoriamente um nó ωi dentre todos os nós sobre obstáculos na rede. Em seguida, adota-se um ponto aleatório x dentro de um círculo de raio r ao redor desse nó, sendo observadas três possibilidades: 1. Se x estiver localizado em um espaço livre (sem obstáculo), ele atrairá o nó da rede que estiver mais próximo. 2. Se x estiver localizado em um espaço ocupado (com obstáculo), ele repelirá o nó da rede que estiver mais próximo. 3. Se x e o nó da rede mais próximo estiverem localizados em um espaço ocupado, o nó da rede mais próximo será movido para um ponto aleatório em uma direção ortogonal ao segmento de linha que possui como extremos as unidades de processamentos vizinhas ao nó mais próximo da rede..

(49) 2.1 Redes Elásticas. 21. Na Figura 2.3-a é possível verificar o caso em que a unidade de processamento ωi está sobre um espaço ocupado e o ponto x amostrado está em um espaço livre. Nesse caso, ωi é atraído para x, como é possível ver pela direção do vetor. Já na Figura 2.3-b, tanto a unidade de processamento quanto o ponto amostrado estão sobre espaços ocupados. Assim a unidade de processamento mais próxima move-se ortogonalmente em relação à reta entre os pontos ωi−1 e ωi+1 .. Figura 2.3: Verificação da localização dos pontos amostrados e das unidades de processamento (MELO; VELOSO, 2007).. O tamanho do raio adotado para a amostragem do ponto x diminui ao longo da execução do algoritmo. Assim, o algoritmo vai passando a analisar regiões cada vez menores, como em um ajuste fino, moldando-se aos detalhes do ambiente. Dá-se o nome de rede elástica pois uma unidade de processamento atrai e é atraída por suas unidades de processamento vizinhas, fazendo com que o caminho inicialmente linear vá se modificando e se moldando às peculiaridades de cada ambiente. Apesar de o modelo apresentar um comportamento local, onde as unidades de processamento apenas interagem com seus vizinhos imediatos, Melo e Veloso (2007) sugerem que o algoritmo gera um caminho livre de obstáculos e global em poucas iterações. Melo e Veloso (2007) ainda relatam algumas melhorias de seu trabalho em relação ao trabalho original de Moreno e Castro (2005), como: • Ocorrência de atualização apenas no conjunto de unidades de processamento que ainda estão em obstáculos, evitando-se o gasto computacional de sempre atualizar todas as unidades. Para tanto, Melo e Veloso (2007) trabalham com dois vetores de unidades: um para definir as unidades sobre espaços livres e que não precisam ser atualizadas (UFt ) e outro para definir as unidades sobre obstáculos que precisam ser atualizadas (UUt ). • Inserção de unidades extras a um dado intervalo fixo de tempo, mesmo que não haja unidades de processamento que precisem ser atualizadas, solucionando o problema de.

(50) 22. 2.1 Redes Elásticas. caminhos que cortam regiões de quina de obstáculos, como é verificável na Figura 2.3-a. Apesar de tais melhorias, o algoritmo ainda pode gerar alguns caminhos indesejados (com muitas curvas) e perder muitas iterações atualizando as unidades de processamento desnecessariamente. Tais casos ocorrem especialmente quando o mapa apresenta grandes áreas livres de obstáculos. Os passos definidos por Melo e Veloso (2007) para o algoritmo ODEN são: 1. Inicializa-se a rede com: ω0 = xI ; x −x. ωi = xI + i Nf0 −1I , i = 1, ..., N0 − 1. 2. Define-se t = 1, Lins = 0, N = N0 ; 3. Determina-se UUt ; 4. Se UUt == 0, t = Lins + λ e segue-se para o passo 11; 5. Escolhe-se aleatoriamente um wi ∈ UUt  t/tmax 6. Define-se r = rI · rrFI ; 7. Escolhe-se aleatoriamente um ponto x ∈ X tal que kx − wik < r; 8. Encontra-se um w j = arg minw∈UUt kx − wk; 9. Se F(x) > 0 w j = w j + η0 (x − w j ) + β (w j−1 + w j+1 − 2w j ) senão wj = wj +α. (w j+1 +w j−1 )⊥ kw j+1 +w j−1 k ,. com α sendo um valor aleatório definido por −β ≤ α ≤ β. 10. Se F(x) > 0 w j±1 = w j±1 + η1(x−w j±1 ) 11. Se t − Lins ≥ λ a) Faz-se Lins = t e insere-se uma nova unidade: wnew =. wk +wk+1 , 2. wi ∈UUt kwi − wi+1 k.. onde wk e wk+1 são definidos tais que kwk − wk+1 k = max.

(51) 2.1 Redes Elásticas. 23. b) Faz-se N = N + 1 e atualiza-se UUt . 12. Se (t < tmax ∧ N < Nmax ), faz-se t = t + 1 e retorna-se ao passo 5, senão finaliza-se o algoritmo. Os três primeiros passos do algoritmo são de inicialização do mesmo. No primeiro passo definem-se as unidades iniciais da rede: o ponto de partida é a primeira unidade, além das outras simetricamente dispostas de acordo com a quantidade de unidades iniciais(N0 ), definidas por wi . O segundo passo é de inicialização de variáveis do algoritmo, como o número de iterações realizadas, por exemplo. O terceiro passo consiste na determinação de UUt , que é o conjunto de unidades que precisam ter suas posições alteradas pois estão sobre obstáculos. A partir do quarto passo é que o algoritmo começa de fato. Em tal passo, se não foi criada nenhuma unidade sobre nenhum obstáculo, o algoritmo segue para o passo 11, para inserir uma nova unidade no ponto médio entre o par de unidades imediatamente vizinhas com maior distância entre si. Após isso, verifica-se novamente se há unidades sobre obstáculos. Esses passos são repetidos, até que haja alguma unidade sobre um obstáculo e o algoritmo segue para o passo 5, escolhendo uma das unidades sobre algum obstáculo. No passo 6, define-se o valor de um raio para análise em volta dessa unidade. No passo 7, escolhe-se um ponto aleatório dentro desse raio. No passo 8, define-se qual a unidade sobre obstáculos está mais próxima a esse ponto aleatório. No passo 9, é verificado se esse ponto está em um espaço vago (se F(x) > 0): se está, a unidade é atraída por esse ponto, de acordo com a Equação 2.1 definida por Durbin e Willshaw (1987), caso contrário o ponto aleatório está sobre um obstáculo e a unidade da rede é afastada ortogonalmente ao segmento de reta formado entre os vizinhos imediatos dessa unidade (Figura 2.3-b). No passo 10, também são atualizadas as posições dos vizinhos imediatos da unidade em direção ao ponto aleatório, caso esse esteja em uma posição livre do mapa (F(x) > 0). O passo 11 segue criando uma nova unidade. No passo 12, verifica, é verificado se foi alcançado o máximo de iterações ou unidades na rede para que o algoritmo seja finalizado, em caso afirmativo. Caso contrário, incrementa-se o número de iterações (t = t + 1). As variáveis tmax e Nmax mencionadas nesse passo referem-se aos números máximos de iterações e unidades que devem ser especificados no algoritmo. A quantidade de unidades utilizada no método define se o caminho será livre de obstáculos. Por outro lado, definir um limite alto de unidades levará a muitas inserções destas na rede, aumentando as chances de que recaiam sobre obstáculos e de que o algoritmo trate essa situação. Assim, escolher um número baixo para o limite de unidades pode gerar caminhos cruzando obstáculos. Apesar disso, Melo e Veloso (2007) não definem estratégias quanto à escolha de tal parâmetro..

(52) 2.2 Método de Travessia no Espaço de Configuração (C-Space). 24. Alguns resultados obtidos por Melo e Veloso (2007) são apresentados na Figura 2.4. Na Figura 2.4-a o algoritmo executa em um ambiente sem obstáculos, na Figura 2.4-b, 25 obstáculos, na Figura 2.4-c e 2.4-d são 40 obstáculos, na Figura 2.4-e e 2.4-f são 60 obstáculos, na Figura 2.4-g são 80 obstáculos e na Figura 2.4-h são 100 obstáculos. Os obstáculos quadrados foram criados aleatoriamente no mapa.. Figura 2.4: Resultados obtidos das simulações de Melo e Veloso (2007).. 2.2. Método de Travessia no Espaço de Configuração (C-Space). Em (WEAVER; DERBY, 1992), é apresentado um método de planejamento de caminho para o caso de dois braços robóticos cooperativos em um ambiente estático e previamente conhecido. O algoritmo utiliza uma representação no espaço de configuração e, já que possui conhecimento prévio do ambiente, é capaz de determinar, sempre que necessário, se um dado ponto está em um espaço livre ou ocupado por um obstáculo. Os obstáculos também são previamente conhecidos e estáticos. Na Figura 2.5, é possível observar a representação 2D da ideia originalmente proposta para braços robóticos em um espaço de trabalho 3D. O primeiro passo do algoritmo é gerar um caminho reto entre os pontos de origem xo e destino x f , como é possível notar na Figura 2.5-a. Com isso, o algoritmo passa a realizar uma busca na linha por regiões proibidas. Quando se encontra tal região, é definido um ponto em espaço livre xa imediatamente anterior a tal região, bem como um ponto em espaço livre xb após tal região, como exposto na Figura 2.5-b. No caso em que xb não é alcançável a partir de xa , o algoritmo realiza uma busca por um ponto seguro sobre o segmento de linha perpendicular xa xb que passa pelo ponto médio de xa xb . O ponto.

Referências

Documentos relacionados

Narrativamente consensual, o sexo anal, assim como nas cenas de Sasha Grey, parece destravar a boca como caixa de ressonância.. Olham fixamente

nuestra especialidad por su especial proyección en el ámbito del procedimiento administrativo y el proceso contencioso administrativo, especialmente los alcances de la garantía

Pinturas, depilatórios, unguentos mamilares, colorantes para o cabelo e até pomadas à base de vidro em pó (que, aparentemente, permitiam simular a virgindade) (Braunstein, 1990),

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

Agreement among measurements of the same quantity is fundamental for validity studies, randomised controlled trials and to ensure efficient delivery of health care. As it

Na experiência em análise, os professores não tiveram formação para tal mudança e foram experimentando e construindo, a seu modo, uma escola de tempo