Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Configuration Space Distance Fields for Manipulation Planning

Autores: Yiming Li, Xuemin Chi, Amirreza Razmjoo, Sylvain Calinon · RSS 2024

Licenças

  • Acesso aberto
  • Artigo: CC BY 4.0

Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.

Em resumo

Define um campo de distâncias diretamente sobre os ângulos das juntas, de modo que a IK de corpo inteiro se torna uma projeção de gradiente de um único passo e os planejadores evitam os mínimos locais que os SDFs causam em um Franka de 7-DoF.

Por que importa

Planejadores e controladores que já recebem uma função de distância (QP, iLQR, geometric fabrics) podem usar o CDF no lugar de um SDF e trabalhar diretamente no espaço das juntas. No robô planar e no Franka, os mesmos planejadores tiveram taxas de sucesso mais altas e menor erro de rastreamento com o CDF do que com o SDF.

Problema

Os campos de distâncias com sinal são normalmente definidos no espaço da tarefa 3D, de modo que o controle da manipulação primeiro mede a distância ali e depois resolve a cinemática inversa iterativamente para encontrar os movimentos das juntas. Como a cinemática direta é não linear, o campo perde sua propriedade de gradiente unitário quando visto no espaço das juntas, e solvers baseados em gradiente podem travar onde os gradientes se anulam ou em singularidades.

Solução proposta

O campo de distâncias no espaço de configuração (CDF) dá, em radianos, o menor movimento das juntas que coloca qualquer parte do robô em contato com um ponto; ele satisfaz a equação eikonal, de modo que a configuração de contato mais próxima é alcançada projetando ao longo do gradiente. As configurações de contato são encontradas offline para cada ponto de uma grade do espaço de trabalho com L-BFGS em lote sobre um modelo SDF do robô, os campos por ponto são fundidos online com uma operação de mínimo, e um MLP de 5 camadas (CDF neural) fornece uma versão compacta, sem grade e diferenciável.

Principais ideias

  • Um campo de distâncias definido sobre os ângulos das juntas mantém gradientes de norma unitária, de modo que a IK de corpo inteiro para um alvo de contato se reduz a uma projeção, q′ = q − f_c ∇f_c, sem iterações de Gauss-Newton.
  • O valor do campo depende apenas das juntas anteriores ao elo em contato; tomar um mínimo por elo melhora a precisão quando há poucas amostras de configurações de contato.
  • Os campos por ponto podem ser pré-calculados e combinados online com um mínimo (uma união no espaço de configuração), de modo que a representação não depende de uma cena específica.
  • Os gradientes do campo seguem caminhos que contornam os obstáculos no espaço das juntas, o que ajuda planejadores reativos a evitar os mínimos locais observados com SDFs no espaço da tarefa.

Principais resultados

  • IK de corpo inteiro no Franka a partir de 10.000 configurações iniciais aleatórias (tabela II): o CDF com projeção de 2 passos encontrou 8.773 soluções válidas em 10,6 ms; SDF + L-BFGS encontrou 3.652 em 971 ms e Neural-JSDF + L-BFGS, 264 em 272 ms. O texto expressa isso como mais de 700.000 soluções válidas por segundo, 180 vezes a abordagem SDF.
  • Precisão do CDF neural: 1,39 ± 0,51 cm de MAE e 91,1 ± 8,12 % de sucesso na projeção (limiar de 3 cm) após 3 iterações de projeção; a inferência em GPU levou 0,49 ms com tamanho de lote 1 e 4,61 ms com 10^5 em uma RTX 3090.
  • Planejamento de movimento do Franka em 100 execuções: taxas de sucesso do CDF de 88–93 % com IPOPT, QRQP, OSQP, qpOASES e geometric fabrics contra 38–74 % com SDF; iLQR 48 % contra 38 %. No robô planar de 2-DoF, o CDF chegou a 76–95 % contra 40–68 % do SDF.
  • Tarefa de goleiro em simulação (100 lançamentos): o braço interceptou a bola em 82 % das vezes com o CDF contra 35 % com o SDF.
  • Planejamento de contato com dois braços em uma caixa grande: 7,65 s de tempo de planejamento e 1,37 rad de distância média entre juntas com CDF + filtragem contra 54,80 s e 2,85 rad com SDF + otimização de Gauss-Newton.
  • Controladores QP que usam o CDF neural rodam acima de 200 Hz; o treinamento do CDF neural levou cerca de 2 horas em uma RTX 3090.

Limitações

  • O campo não tem sinal e, com poucas amostras de configurações de contato, é impreciso para configurações próximas do contato; os autores sugerem acrescentar informação de sinal.
  • Ele é construído a partir da geometria e da cinemática de um robô e precisa ser recalculado para cada modelo de robô; escalar para cadeias cinemáticas longas, como humanoides completos, continua em aberto.
  • O cálculo offline é lento (1–10 s para encontrar as configurações de contato), a versão em grade é ineficiente em memória e a versão neural abre mão de precisão; os autores observam que o treinamento da rede não foi totalmente otimizado.
  • A distância é medida como distância angular (euclidiana nas juntas); a distância geodésica na variedade do espaço de configuração fica para trabalhos futuros.
  • Os experimentos de planejamento com o robô real são mostrados qualitativamente (Fig. 8), sem taxas de sucesso, e a tarefa de goleiro foi executada apenas em simulação.

Impacto na área

Finalista do RSS 2024 Outstanding Paper Award, com 48 citações. A página oficial do projeto traz o link do código em github.com/yimingli1998/cdf.

Resumo

O campo de distâncias com sinal é uma representação implícita de formas muito usada em robótica, que fornece informações geométricas sobre objetos e obstáculos em uma forma que pode ser facilmente combinada com técnicas de controle, otimização e aprendizado. Na maioria das vezes, os SDFs são usados para representar distâncias no espaço da tarefa, que corresponde à noção familiar de distância que percebemos em nosso mundo 3D. No entanto, matematicamente os SDFs podem ser usados em outros espaços, incluindo os espaços de configuração dos robôs. Para um robô manipulador, esse espaço de configuração normalmente corresponde aos ângulos de cada articulação do robô. Embora no planejamento robótico seja comum expressar quais partes do espaço de configuração estão livres de colisão com obstáculos, é menos comum pensar nessa informação como um campo de distâncias no espaço de configuração. Neste artigo, demonstramos o potencial de considerar SDFs no espaço de configuração do robô para otimização, o que chamamos de campo de distâncias no espaço de configuração. De forma semelhante ao uso do SDF no espaço da tarefa, o CDF fornece uma consulta eficiente de distância em ângulos de junta e acesso direto às derivadas. A maioria das abordagens divide o cálculo global em uma parte no espaço da tarefa seguida de uma parte no espaço de configuração. Em vez disso, o CDF permite que a estrutura implícita seja aproveitada por problemas de controle, otimização e aprendizado de forma unificada. Em particular, propomos um algoritmo eficiente para calcular e fundir CDFs que pode ser generalizado para cenas arbitrárias. Uma representação neural correspondente do CDF, usando perceptrons multicamadas, também é apresentada para obter uma representação compacta e contínua, melhorando ao mesmo tempo a eficiência computacional. Demonstramos a eficácia do CDF com exemplos de desvio de obstáculos no plano e com um robô Franka de 7 eixos em tarefas de cinemática inversa e de planejamento de manipulação.

Links

  • arXiv 2406.01137: https://arxiv.org/abs/2406.01137
  • DOI 10.48550/arXiv.2406.01137: https://doi.org/10.48550/arXiv.2406.01137
  • PDF: https://arxiv.org/pdf/2406.01137v1
  • Código: https://github.com/yimingli1998/cdf
  • Página do projeto: https://sites.google.com/view/cdfmp/home

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.