Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Configuration Space Distance Fields for Manipulation Planning

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

Licenze

  • Open access
  • Articolo: CC BY 4.0

Tutto ciò che segue si basa sull'articolo completo secondo la sua licenza CC BY 4.0; la figura è riportata citando gli autori.

In breve

Definisce un campo di distanza direttamente sugli angoli dei giunti, così l'IK di corpo intero diventa una proiezione del gradiente in un solo passo e i pianificatori evitano i minimi locali che gli SDF causano su un Franka a 7-DoF.

Perché è importante

Pianificatori e controllori che già accettano una funzione di distanza (QP, iLQR, geometric fabrics) possono usare il CDF al posto di un SDF e lavorare direttamente nello spazio dei giunti. Sul robot planare e sul Franka, gli stessi pianificatori hanno avuto tassi di successo più alti ed errori di inseguimento più bassi con il CDF che con l'SDF.

Problema

I campi di distanza con segno sono normalmente definiti nello spazio del compito 3D, quindi il controllo della manipolazione misura prima lì la distanza e poi risolve la cinematica inversa in modo iterativo per trovare i movimenti dei giunti. Poiché la cinematica diretta è non lineare, il campo perde la proprietà di gradiente unitario quando viene visto nello spazio dei giunti, e i solutori basati sul gradiente possono bloccarsi dove i gradienti si annullano o nelle singolarità.

Soluzione proposta

Il campo di distanza nello spazio delle configurazioni (CDF) fornisce, in radianti, il più piccolo movimento dei giunti che porta una qualsiasi parte del robot a contatto con un punto; soddisfa l'equazione iconale, quindi la configurazione di contatto più vicina si raggiunge proiettando lungo il gradiente. Le configurazioni di contatto vengono trovate offline per ogni punto di una griglia dell'area di lavoro con L-BFGS a batch su un modello SDF del robot, i campi per punto vengono fusi online con un'operazione di minimo, e un MLP a 5 strati (CDF neurale) fornisce una versione compatta, senza griglia e differenziabile.

Idee chiave

  • Un campo di distanza definito sugli angoli dei giunti mantiene gradienti a norma unitaria, quindi l'IK di corpo intero per un bersaglio di contatto si riduce a una proiezione, q′ = q − f_c ∇f_c, senza iterazioni di Gauss-Newton.
  • Il valore del campo dipende solo dai giunti che precedono il link in contatto; prendere un minimo per link migliora l'accuratezza quando i campioni di configurazioni di contatto sono pochi.
  • I campi per punto possono essere precalcolati e combinati online con un minimo (un'unione nello spazio delle configurazioni), quindi la rappresentazione non dipende da una scena specifica.
  • I gradienti del campo seguono percorsi che aggirano gli ostacoli nello spazio dei giunti, il che aiuta i pianificatori reattivi a evitare i minimi locali osservati con gli SDF nello spazio del compito.

Risultati principali

  • IK di corpo intero sul Franka da 10.000 configurazioni iniziali casuali (tabella II): il CDF con proiezione in 2 passi ha trovato 8.773 soluzioni valide in 10,6 ms; SDF + L-BFGS ne ha trovate 3.652 in 971 ms e Neural-JSDF + L-BFGS 264 in 272 ms. Il testo lo esprime come oltre 700.000 soluzioni valide al secondo, 180 volte l'approccio SDF.
  • Accuratezza del CDF neurale: 1,39 ± 0,51 cm di MAE e 91,1 ± 8,12 % di successo della proiezione (soglia di 3 cm) dopo 3 iterazioni di proiezione; l'inferenza su GPU ha richiesto 0,49 ms con batch di 1 e 4,61 ms con 10^5 su una RTX 3090.
  • Pianificazione del movimento del Franka su 100 esecuzioni: tassi di successo del CDF dell'88–93 % con IPOPT, QRQP, OSQP, qpOASES e geometric fabrics contro il 38–74 % con SDF; iLQR 48 % contro 38 %. Sul robot planare a 2-DoF, il CDF ha raggiunto il 76–95 % contro il 40–68 % dell'SDF.
  • Compito del portiere in simulazione (100 lanci): il braccio ha intercettato la palla l'82 % delle volte con il CDF contro il 35 % con l'SDF.
  • Pianificazione del contatto a due braccia su una scatola grande: 7,65 s di tempo di pianificazione e 1,37 rad di distanza media dei giunti con CDF + filtraggio contro 54,80 s e 2,85 rad con SDF + ottimizzazione di Gauss-Newton.
  • I controllori QP che usano il CDF neurale funzionano a oltre 200 Hz; l'addestramento del CDF neurale ha richiesto circa 2 ore su una RTX 3090.

Limiti

  • Il campo è senza segno e, con pochi campioni di configurazioni di contatto, è impreciso per configurazioni vicine al contatto; gli autori suggeriscono di aggiungere l'informazione sul segno.
  • È costruito a partire dalla geometria e dalla cinematica di un robot e va ricalcolato per ogni modello di robot; scalare a catene cinematiche lunghe come umanoidi completi resta una questione aperta.
  • Il calcolo offline è lento (1–10 s per trovare le configurazioni di contatto), la versione a griglia è poco efficiente in memoria e la versione neurale rinuncia ad accuratezza; gli autori notano che l'addestramento della rete non è stato completamente ottimizzato.
  • La distanza è misurata come distanza angolare (euclidea nei giunti); la distanza geodetica sulla varietà dello spazio delle configurazioni è lasciata a lavori futuri.
  • Gli esperimenti di pianificazione sul robot reale sono mostrati in modo qualitativo (Fig. 8) senza tassi di successo, e il compito del portiere è stato eseguito solo in simulazione.

Impatto sul settore

Finalista del RSS 2024 Outstanding Paper Award, con 48 citazioni. La pagina ufficiale del progetto rimanda al codice su github.com/yimingli1998/cdf.

Abstract

Il campo di distanza con segno è una rappresentazione implicita delle forme molto diffusa in robotica, che fornisce informazioni geometriche su oggetti e ostacoli in una forma facilmente combinabile con tecniche di controllo, ottimizzazione e apprendimento. Molto spesso gli SDF vengono usati per rappresentare distanze nello spazio del compito, che corrisponde alla nozione familiare di distanza che percepiamo nel nostro mondo 3D. Tuttavia, matematicamente gli SDF possono essere usati in altri spazi, inclusi gli spazi delle configurazioni dei robot. Per un robot manipolatore, questo spazio delle configurazioni corrisponde tipicamente agli angoli di ciascuna articolazione del robot. Sebbene nella pianificazione robotica sia consuetudine esprimere quali porzioni dello spazio delle configurazioni sono libere da collisioni con gli ostacoli, è meno comune pensare a questa informazione come a un campo di distanza nello spazio delle configurazioni. In questo articolo dimostriamo il potenziale di considerare gli SDF nello spazio delle configurazioni del robot per l'ottimizzazione, ciò che chiamiamo campo di distanza nello spazio delle configurazioni. Analogamente all'uso dell'SDF nello spazio del compito, il CDF fornisce un'interrogazione efficiente della distanza negli angoli dei giunti e un accesso diretto alle derivate. La maggior parte degli approcci divide il calcolo complessivo in una parte nello spazio del compito seguita da una parte nello spazio delle configurazioni. Il CDF consente invece di sfruttare la struttura implicita in modo unificato in problemi di controllo, ottimizzazione e apprendimento. In particolare, proponiamo un algoritmo efficiente per calcolare e fondere CDF che può essere generalizzato a scene arbitrarie. Viene presentata anche una corrispondente rappresentazione neurale del CDF basata su percettroni multistrato, per ottenere una rappresentazione compatta e continua migliorando al contempo l'efficienza di calcolo. Dimostriamo l'efficacia del CDF con esempi di evitamento degli ostacoli nel piano e con un robot Franka a 7 assi in compiti di cinematica inversa e di pianificazione della manipolazione.

Link

  • 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
  • Codice: https://github.com/yimingli1998/cdf
  • Pagina del progetto: https://sites.google.com/view/cdfmp/home

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.