FlowBot3D: Learning 3D Articulation Flow to Manipulate Articulated Objects
Autori: Ben Eisner, Harry Zhang, David Held · RSS 2022
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 rete prevede come si muoverebbe ogni punto di un oggetto articolato; il robot afferra il punto con il moto maggiore e lo segue, raggiungendo il 64 % di successo nel mondo reale senza dati di addestramento reali.
Perché è importante
La rappresentazione non richiede di conoscere l'albero cinematico dell'oggetto, quindi un unico modello addestrato solo su nuvole di punti simulate ha aperto oggetti di categorie mai viste ed è stato trasferito su un braccio Sawyer reale senza fine-tuning. Per chi lo applica, separa la percezione (dove e come si muovono le parti) da una semplice regola di controllo analitica, il che mantiene la policy ad anello chiuso e facile da ispezionare.
Problema
I robot nelle case devono aprire porte, cassetti, coperchi e oggetti articolati simili la cui geometria e cinematica variano molto all'interno di ogni categoria e tra categorie. I metodi che stimano i parametri di articolazione, come gli assi dei giunti, si basano di solito su conoscenze specifiche della classe sulla struttura dell'oggetto, quindi non possono essere applicati a categorie nuove.
Soluzione proposta
Gli autori definiscono il 3D Articulation Flow (flusso di articolazione 3D): per ogni punto di una nuvola di punti, la direzione normalizzata in cui si muoverebbe se la sua parte venisse aperta leggermente. ArtFlowNet, una rete basata su PointNet++ addestrata con apprendimento supervisionato su oggetti simulati di PartNet-Mobility, prevede questo flusso da una singola nuvola di punti. FlowBot3D afferra poi con una pinza a ventosa il punto con il flusso previsto maggiore (soggetto a filtri su bordi e curvatura) e ripete la previsione del flusso, muovendo la pinza lungo il vettore di flusso visibile più grande vicino al contatto finché la parte non è aperta.
Idee chiave
- Per un giunto prismatico la migliore direzione di trazione è lungo l'asse del giunto in qualsiasi punto; per un giunto rotoidale è tangenziale nel punto più lontano dall'asse, quindi il punto con il flusso di articolazione maggiore è la presa ideale.
- Il flusso per punto è indipendente dalla gerarchia e limitato entro la sfera unitaria, quindi è invariante a traslazione e scala e può essere appreso senza modelli cinematici specifici per classe.
- Le policy di behaviour cloning e DAgger hanno dato risultati scarsi anche ricevendo in ingresso il flusso reale (ground truth), mentre la policy analitica che segue il flusso è andata bene.
- Le nuvole di punti renderizzate in simulazione hanno un piccolo divario di dominio rispetto ai dati di profondità reali, a cui gli autori attribuiscono il trasferimento diretto dalla simulazione al reale; l'aumento dei punti di vista in addestramento ha aiutato il trasferimento ma ha cambiato poco in simulazione.
Risultati principali
- Simulazione (ManiSkill con PartNet-Mobility, successo = oltre il 90 % dell'escursione di moto): FlowBot3D ha ottenuto un successo medio di 0,77 su istanze mai viste delle categorie di addestramento e di 0,69 su 10 categorie mai viste; un oracolo con il flusso reale ha raggiunto 0,92 e 0,82.
- La migliore baseline di behaviour cloning (DAgger Oracle + F) ha raggiunto un successo di 0,33 sulle categorie di addestramento e di 0,16 su quelle mai viste; la baseline in stile UMPNet ha raggiunto 0,52 e 0,45.
- Distanza normalizzata media dallo stato aperto: 0,12 (categorie di addestramento) e 0,15 (categorie mai viste) per FlowBot3D contro 0,29 e 0,36 per la baseline in stile UMPNet.
- Mondo reale, 14 oggetti domestici e 70 prove su un braccio Sawyer: 45/70 (64,3 %) di successo complessivo, 64/70 (91,4 %) di successo del contatto e 45/64 (70,3 %) di successo del movimento dopo il contatto.
- La baseline DAgger nel mondo reale, con la stessa selezione del contatto, è riuscita in 10/70 prove (14,3 %), con distanza media di 0,73 contro 0,22 per FlowBot3D.
Limiti
- La maggior parte dei fallimenti nel mondo reale è dovuta a errori di previsione del flusso, spesso quando il robot occludeva gran parte della scena o non rilevava un'articolazione (per esempio sul forno reale), e a fallimenti di contatto della ventosa su punti in cui non si poteva formare la tenuta.
- Gli autori affermano che servono un controllore del braccio più cedevole e un modulo più robusto di previsione della qualità del contatto per eliminare molti modi di guasto; la correzione online delle previsioni errate è lasciata a lavori futuri.
- Il metodo copre oggetti con giunti rotoidali o prismatici a 1 DoF e base fissa; sono esclusi i giunti sferici, gli oggetti liberi di fluttuare e gli oggetti deformabili.
- Una vera pinza a ventosa non può fare tenuta su bordi, maniglie o punti ad alta curvatura, quindi i punti di presa sono scelti con euristiche di bordo, curvatura e distanza regolate a mano invece del punto ideale di flusso massimo.
- Gli oggetti di prova reali dovevano stare nello spazio di lavoro, offrire una superficie adatta alla ventosa e non essere troppo scuri o riflettenti per la telecamera di profondità.
Impatto sul settore
L'articolo è stato finalista del premio per il miglior articolo di RSS 2022 (Best Paper Award) e ha 168 citazioni. Gli autori rilasciano codice, dati e materiali supplementari attraverso il sito web del progetto.
Abstract
Esploriamo un metodo innovativo per percepire e manipolare oggetti articolati 3D che generalizza e consente a un robot di articolare classi di oggetti mai viste. Proponiamo un sistema basato sulla visione che impara a prevedere i movimenti potenziali delle parti di una varietà di oggetti articolati per guidare la successiva pianificazione del moto del sistema nell'articolare gli oggetti. Per prevedere i movimenti degli oggetti, addestriamo una rete neurale a produrre un campo vettoriale denso che rappresenta la direzione di moto punto per punto dei punti della nuvola di punti sotto articolazione. Impieghiamo poi un pianificatore di moto analitico basato su questo campo vettoriale per ottenere una policy che produce la massima articolazione. Addestriamo il sistema di visione interamente in simulazione e dimostriamo la capacità del nostro sistema di generalizzare a istanze di oggetti mai viste e a categorie nuove sia in simulazione sia nel mondo reale, impiegando la nostra policy su un robot Sawyer senza fine-tuning. I risultati mostrano che il nostro sistema raggiunge prestazioni allo stato dell'arte sia negli esperimenti simulati sia in quelli nel mondo reale.
Link
- arXiv 2205.04382: https://arxiv.org/abs/2205.04382
- DOI 10.48550/arXiv.2205.04382: https://doi.org/10.48550/arXiv.2205.04382
- PDF: https://arxiv.org/pdf/2205.04382v1
- Codice: https://github.com/r-pad/flowbot3d
- Pagina del progetto: https://sites.google.com/view/articulated-flowbot-3d/home