Simple Science

Ciência de ponta explicada de forma simples

# Informática# Robótica# Inteligência Artificial# Aprendizagem de máquinas

Otimizando o Planejamento de Movimento Robótico em Ambientes Complexos

Pesquisas mostram métodos aprimorados para planejamento de movimento robótico em vários cenários complicados.

― 8 min ler


Planejamento de MovimentoPlanejamento de MovimentoRobótico Otimizadocolisões.robótica eficaz e prevenção deNovos métodos para uma navegação
Índice

Nesta seção, mostramos resultados que provam que nosso método funciona bem em vários experimentos simulados, desde Planejamento de Movimento 2D simples até tarefas mais complexas para braços robóticos.

Planejamento de Movimento em Terreno 2D

Os primeiros experimentos envolvem otimizar caminhos em uma paisagem 2D aleatória. Ilustramos isso com uma figura. Na paisagem, áreas com alto custo, como montanhas, são mostradas em cores escuras, e áreas de baixo custo, como vales, em cores mais claras.

A paisagem é composta por várias distribuições Gaussianas Multivariadas aleatórias dispostas de acordo com uma sequência de Halton, formando um Modelo de Mistura Gaussiana. Os caminhos são criados usando splines cúbicos naturais com um número definido de pontos, além dos pontos de início e fim.

Nosso objetivo é encontrar as melhores posições para esses pontos para criar caminhos do ponto de partida até o objetivo, evitando áreas de alto custo e sem serem muito longos. Para encontrar uma solução ótima, desenvolvemos uma Função de Custo que equilibra o comprimento do caminho e a facilidade de movimentação.

Cada caminho que criamos é amostrado em 100 pontos de referência antes de verificarmos contra nossa função de custo. Os pontos de partida para esses waypoints são definidos aleatoriamente, e os 20 caminhos finais são mostrados na figura usando três métodos de otimização diferentes.

Os caminhos encontrados com o Descida de Gradiente em Lote (BGD) mostram que eles convergem para duas soluções principais com custos semelhantes. Os resultados do outro método mostram mais variedade, mas não conseguiram capturar uma solução do BGD. Quando vários caminhos se encontram em uma área de baixo custo, os nós são afastados, levando a resultados menos ótimos. Em contraste, os caminhos da nossa abordagem mostram mais variedade e podem coexistir em espaços apertados, resultando em caminhos mais diretos do que os do outro método.

Navegação de Ponto de Massa em uma Grade de Obstáculos

Em seguida, olhamos para tarefas de navegação de ponto de massa. Comparamos o custo e os passos dados por diferentes métodos em uma tabela. Um método, o CMA-ES, não conseguiu terminar nenhuma das tarefas, então seus resultados não estão incluídos.

Quando plotamos os caminhos de navegação, ilustramos um passo intermediário da tarefa de navegação usando dois métodos. As cores no gráfico indicam a origem de cada caminho, enquanto padrões de movimento padrão são mostrados em roxo. Os caminhos criados pelo nosso método são mais variados, o que ajuda a atualizar as políticas.

Queremos mostrar as vantagens de aplicar um certo tipo de controle usando o Controle Preditivo Baseado em Modelo (MPC) com kernel de assinatura. Para isso, simulamos um robô navegando do início ao fim através de uma grade de obstáculos.

O movimento do robô é modelado com um sistema de integrador duplo, onde podemos controlar seu movimento aplicando força. Usamos a mesma função de custo que em trabalhos anteriores, que considera erros de posição e penalidades por colisões.

Benchmark de Planejamento de Movimento

Nossos resultados de benchmark refletem médias obtidas de várias execuções em cenários distintos. Mostramos médias e desvios padrão para vários pedidos. Os melhores resultados são destacados, mostrando os menores custos para os caminhos encontrados.

Neste cenário controlado, arranjamos obstáculos em uma grade para criar múltiplos caminhos. O simulador verifica colisões com base no estado do robô e impede o movimento se uma colisão for detectada. Além disso, barreiras são colocadas para garantir que o robô não contorne os obstáculos facilmente.

Como a função de custo não é suave, precisamos computar gradientes aproximados através de amostragem. Neste experimento, cada caminho é uma representação de uma política de controle que é otimizada. Geramos gradientes verificando políticas e avaliando rollouts.

O CMA-ES explora apenas uma solução por vez. Para torná-lo comparável, aumentamos o número de amostras que ele verifica em cada passo. Este método também integra controles básicos pré-definidos que não são modificados durante a otimização.

Os resultados mostram que nosso método leva a custos mais baixos e menos etapas de tempo para alcançar os objetivos em comparação com outros. A natureza do problema limita quantas iterações podemos rodar, tornando mais desafiador para o CMA-ES, que teve dificuldades em todos os testes.

Comparação de Benchmark em Manipulação Robótica

Testamos nosso método usando tarefas de manipulação robótica geradas a partir de um conjunto específico de cenários. Cada cenário inclui obstáculos colocados aleatoriamente e consiste em mover o braço robótico da sua posição inicial para uma configuração alvo.

Geramos múltiplos pedidos para cada cena, otimizando com várias sementes aleatórias para consistência. O robô usado neste caso tem sete juntas.

A função de custo garante que os caminhos sejam suaves, seguros contra colisões e tenham movimento mínimo para o atuador final do robô.

No planejamento de movimento, otimizamos diretamente no espaço de juntas, simplificando a busca por movimentos possíveis. Para produzir movimentos suaves, criamos caminhos usando splines cúbicos naturais com vários pontos intermediários entre o início e o fim.

Regularizando Comprimento de Caminho e Movimentos Dinâmicos

Embora usar splines ajude a criar caminhos suaves, não garante movimentos suaves para o robô. Por exemplo, mesmo que um caminho pareça suave, o robô pode se mover de forma estranha, levando a acelerações e desacelerações bruscas.

Para evitar esses movimentos repentinos, adicionamos um novo termo à função de custo que desencoraja grandes saltos entre configurações do robô. Isso leva em conta o número de pontos escolhidos ao longo do caminho e dá mais importância a certas juntas.

Incluímos também um termo final na função de custo que foca em minimizar o comprimento da trajetória do atuador final. Nossa função de custo total combina penalidades por comprimento de caminho, dinâmicas e colisões.

O processo de otimização continua por um total de 500 iterações, com ajustes feitos nas forças que atuam sobre os nós para que os caminhos possam convergir melhor. Os resultados refletem uma performance melhorada em várias condições.

Colisão do Robô como Custo Contínuo

Normalmente, verificar colisões é uma resposta simples de sim ou não, o que não se presta bem à otimização. Para criar um processo de verificação de colisões mais suave, usamos grades de ocupação contínuas.

Essas grades representam as áreas onde o robô opera como uma grade de células, cada uma representando se um obstáculo está presente ou não. No entanto, esse método não é suave, então desenvolvemos uma versão contínua desses mapas de ocupação.

Para fazer isso, usamos uma rede neural que aprende a prever se uma configuração específica para o robô está ocupada ou não. Essa rede é rápida e pode fornecer as informações necessárias para ajudar com grandes lotes de coordenadas durante o planejamento.

Para treinar a rede, pegamos pontos dos dados do sensor e os categorizamos como ocupados ou não. A rede então aprende a dar uma probabilidade que funciona como uma função de custo para detecção de colisões.

Para verificar auto-colisões, seguimos um processo semelhante, usando outra rede neural para prever a probabilidade de colisões entre as juntas do robô. Treinamos essa rede usando configurações aleatórias e verificações existentes fornecidas pela interface de programação do robô.

Trazendo Custo de Colisão do Espaço de Trabalho para o Espaço de Configuração

É essencial vincular o espaço de trabalho com o movimento do robô no espaço de juntas. Suponhamos que o movimento do robô seja definido no espaço de juntas, e precisamos trazer informações de custo do espaço de trabalho para este espaço.

As funções de custo que projetamos precisam moldar o comportamento do robô. Definimos configurações de juntas, representando as posições de cada junta no robô.

Começamos posicionando pontos no corpo do robô, cada um conectado à sua posição no espaço de trabalho através de uma função específica. O próximo passo envolve calcular como o custo no espaço de trabalho afeta o movimento no espaço de juntas.

Extraindo gradientes de custo do espaço de trabalho, podemos ajustar a trajetória no espaço de juntas com base nos custos potenciais encontrados no espaço de trabalho. Esse processo ajuda a alcançar movimentos mais suaves e eficientes para o robô enquanto evita obstáculos.

A abordagem geral detalhada ajuda a melhorar a performance do robô em várias tarefas, garantindo caminhos mais seguros e eficazes durante a operação. As técnicas descritas facilitam não apenas caminhos suaves, mas também uma melhor adaptabilidade a ambientes dinâmicos.

Fonte original

Título: Path Signatures for Diversity in Probabilistic Trajectory Optimisation

Resumo: Motion planning can be cast as a trajectory optimisation problem where a cost is minimised as a function of the trajectory being generated. In complex environments with several obstacles and complicated geometry, this optimisation problem is usually difficult to solve and prone to local minima. However, recent advancements in computing hardware allow for parallel trajectory optimisation where multiple solutions are obtained simultaneously, each initialised from a different starting point. Unfortunately, without a strategy preventing two solutions to collapse on each other, naive parallel optimisation can suffer from mode collapse diminishing the efficiency of the approach and the likelihood of finding a global solution. In this paper we leverage on recent advances in the theory of rough paths to devise an algorithm for parallel trajectory optimisation that promotes diversity over the range of solutions, therefore avoiding mode collapses and achieving better global properties. Our approach builds on path signatures and Hilbert space representations of trajectories, and connects parallel variational inference for trajectory estimation with diversity promoting kernels. We empirically demonstrate that this strategy achieves lower average costs than competing alternatives on a range of problems, from 2D navigation to robotic manipulators operating in cluttered environments.

Autores: Lucas Barcelos, Tin Lai, Rafael Oliveira, Paulo Borges, Fabio Ramos

Última atualização: 2023-08-08 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2308.04071

Fonte PDF: https://arxiv.org/pdf/2308.04071

Licença: https://creativecommons.org/licenses/by/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes