Predicting Object Interactions with Behavior Primitives: An Application in Stowing Tasks
Autori: Haonan Chen, Yilong Niu, Kaiwen Hong, Shuijing Liu, Yixuan Wang, Yunzhu Li, Katherine Driggs-Campbell · CoRL 2023
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
Una GNN basata su particelle prevede il moto degli oggetti nelle pose chiave delle primitive comportamentali; cercare i parametri delle primitive rispetto a 3-4 keyframe di una dimostrazione permette a un braccio di riporre oggetti in scaffali ingombri.
Perché è importante
La rete viene interrogata solo nelle pose chiave di ciascuna primitiva, il che, come osservano gli autori, riduce il numero di passaggi in avanti e l'errore di previsione accumulato su orizzonti lunghi. Addestrato solo su oggetti simulati a forma di scatola, il sistema si è trasferito in zero-shot a un vero braccio Kinova Gen3 e ha gestito oggetti fuori distribuzione come una bottiglia, un rullo levapelucchi e articoli pesanti o a forma di trapezio.
Problema
Riporre un oggetto in uno scaffale ingombro significa prima fare spazio spingendo e facendo scivolare gli oggetti già presenti, il che comporta contatti tra più oggetti e attriti difficili da modellare, su un orizzonte lungo. I sistemi preprogrammati non si adattano a nuove disposizioni dello scaffale, i metodi di manipolazione a livello di categoria richiedono una costosa raccolta di dati ed etichettatura umana, e l'apprendimento per rinforzo model-free richiede troppo tempo di addestramento per apprendere da zero compiti a lungo orizzonte su un robot reale.
Soluzione proposta
Ogni oggetto è modellato come particelle distribuite uniformemente, e una rete neurale a grafo addestrata in simulazione prevede la trasformazione rigida di ciascun oggetto dopo una primitiva comportamentale (spazzare, spingere o trasportare); il grafo include archi dalla pinza agli oggetti, archi verso le particelle statiche dello scaffale e del tavolo e una loss ausiliaria sulle posizioni previste della pinza. In esecuzione, il random shooting campiona i parametri di ciascuna primitiva, la rete prevede il risultato, e i parametri le cui posizioni previste degli oggetti sono più vicine al keyframe della dimostrazione vengono eseguiti con un controllore nello spazio operativo (Operational Space Controller).
Idee chiave
- Rappresentare l'azione del robot come particelle della pinza con moto pianificato, e aggiungere archi tra gli oggetti dinamici e le particelle statiche dello scaffale e del tavolo, migliora la previsione rispetto a una GNN in stile RoboCraft sulle primitive più difficili di spazzata e trasporto.
- Prevedere lo stato degli oggetti solo nelle pose chiave delle primitive, invece che a ogni passo di controllo, riduce i passaggi in avanti e l'errore accumulato nei compiti a lungo orizzonte.
- Un modello dinamico appreso combinato con la ricerca ha superato l'RL model-free (SAC, PPO) e PPO con uno spazio delle azioni parametrizzato per primitive sullo stesso compito di stoccaggio a lungo orizzonte in simulazione.
- Random Shooting, il metodo dell'entropia incrociata (Cross-Entropy Method) e la discesa del gradiente hanno dato prestazioni simili come ottimizzatori dei parametri delle primitive.
- Un insieme di 2 abilità (spingere e trasportare) ha raggiunto lo stesso 95 % di successo nel mondo reale dell'insieme a 3 abilità, cosa che gli autori attribuiscono al fatto che il modello coglie le interazioni tra l'oggetto tenuto e gli oggetti sullo scaffale.
Risultati principali
- Mondo reale, sei configurazioni con 10 prove ciascuna: 95 % di successo con 3 abilità e 95 % con 2 abilità, contro il 18 % di un'euristica tarata a mano senza previsione della dinamica.
- RoboCraft come dinamica appresa nella stessa pipeline: la Tabella 3 riporta una media del 48 %, mentre i suoi sei punteggi per configurazione nella stessa tabella (4, 7, 4, 6, 7 e 5 su 10) sommano a 33/60, cioè il 55 %.
- Errore di controllo in simulazione (MSE): 0,905 mm per il metodo, contro 22,925 mm del PPO parametrizzato, 34,861 mm dell'euristica, 87,479 mm di PPO e 265,411 mm di SAC.
- Errore di previsione della primitiva di trasporto: MSE di 0,666 mm, EMD di 31,232 mm e distanza di Chamfer di 38,068 mm, contro 1,091, 42,162 e 55,615 mm di RoboCraft; sulla primitiva di spinta, più semplice, RoboCraft ha un MSE inferiore (0,216 contro 0,292 mm), entro una deviazione standard.
- Oggetti deformabili (appendice): 6/10 con 3 abilità e 4/10 con 2 abilità, contro 2/10 di RoboCraft e 0/10 dell'euristica.
- Dati di addestramento: 300 episodi a parametri casuali per primitiva; l'accuratezza di previsione di spinta e spazzata si stabilizza a circa 50 campioni e quella di trasporto a circa 140.
Limiti
- Si basa sull'etichettatura manuale umana di keyframe ordinati a partire dalle dimostrazioni, il che secondo gli autori potrebbe limitare la scalabilità a scenari più ampi e complessi.
- Gli oggetti sono rappresentati come nuvole di punti a forma di scatola in addestramento e in inferenza, il che secondo gli autori potrebbe non riflettere la geometria reale degli oggetti quando interazioni e contatti sono più complessi.
- La percezione nel mondo reale tratta ogni oggetto come un cuboide e lo identifica tramite corrispondenze SIFT con immagini laterali e dall'alto acquisite in precedenza per un database di oggetti noti.
- Il successo cala con gli oggetti deformabili (al meglio 6/10).
- La libreria di primitive (spazzare, spingere, trasportare) è progettata a mano; gli autori indicano la progettazione delle primitive e la composizione delle abilità come direzioni di ricerca aperte.
Impatto sul settore
Finalista del CoRL 2023 Best Paper / Best Student Paper Award e citato 32 volte. L'articolo fornisce un benchmark di stoccaggio per la manipolazione a lungo orizzonte costruito in robosuite e MuJoCo; non fornisce alcun link a codice o dati.
Abstract
Lo stoccaggio (stowing), cioè il compito di collocare oggetti in scaffali o contenitori ingombri, è un compito comune nelle operazioni di magazzino e di produzione. Tuttavia, questo compito è ancora svolto prevalentemente da lavoratori umani, poiché è difficile da automatizzare a causa delle complesse interazioni tra più oggetti e della natura a lungo orizzonte del compito. I lavori precedenti comportano tipicamente un'ampia raccolta di dati e una costosa etichettatura umana di prior semantici per diverse categorie di oggetti. Questo articolo presenta un metodo per apprendere una policy robotica di stoccaggio generalizzabile a partire da un modello predittivo delle interazioni tra oggetti e da una singola dimostrazione con primitive comportamentali. Proponiamo un nuovo framework che utilizza reti neurali a grafo (Graph Neural Networks) per prevedere le interazioni tra oggetti nello spazio dei parametri delle primitive comportamentali. Impieghiamo inoltre un'ottimizzazione di traiettoria aumentata con primitive per cercare i parametri di una libreria predefinita di primitive comportamentali eterogenee con cui istanziare l'azione di controllo. Il nostro framework consente ai robot di eseguire con abilità compiti di stoccaggio a lungo orizzonte con pochi keyframe (3-4) da una singola dimostrazione. Pur essendo addestrato esclusivamente in simulazione, il nostro framework mostra notevoli capacità di generalizzazione. Si adatta in modo efficiente a un ampio spettro di condizioni reali, tra cui diverse larghezze degli scaffali, quantità variabili di oggetti e oggetti con attributi diversi come dimensioni e forme.
Link
- arXiv 2309.16873: https://arxiv.org/abs/2309.16873
- DOI 10.48550/arXiv.2309.16873: https://doi.org/10.48550/arXiv.2309.16873
- PDF: https://arxiv.org/pdf/2309.16873v1