Controllo remoto dei robot usando la realtà virtuale
Un nuovo sistema di realtà virtuale permette agli utenti di controllare i robot da lontano.
― 7 leggere min
La Teleoperazione è quando una persona controlla un robot da lontano. Questo metodo è utile in molti campi, specialmente nella ricerca sulla robotica. Una grande sfida nell'insegnare ai robot come comportarsi è raccogliere buoni esempi di comportamento esperto. Questo implica registrare come una persona abile svolge i compiti così che il robot possa apprendere da questi esempi. Tuttavia, raccogliere registrazioni di alta qualità può richiedere molto tempo e impegno. Questo può limitare il numero di dimostrazioni disponibili per il robot da cui apprendere.
Per affrontare questo problema, è stato introdotto un nuovo metodo che utilizza la Realtà Virtuale (VR) per controllare un robot chiamato Franka Emika Panda. Questo approccio utilizza un visore VR, come l'Oculus Quest 2, permettendo a un utente di controllare il robot attraverso un'esperienza immersiva. Il software che alimenta questo sistema è open-source, il che significa che chiunque può accedervi e modificarlo. Questo sistema è semplice da impostare e non dipende da alcun robot o configurazione sperimentale specifica.
Sfide nell'uso della VR per il controllo del robot
Un problema importante quando si utilizza la VR è garantire che le immagini per l'utente corrispondano ai suoi reali movimenti della testa. Se la rappresentazione visiva non cambia abbastanza in fretta con la posizione della testa dell'utente, può provare disagio, comunemente noto come malessere da VR. Questo malessere può portare a mal di testa, nausea e affaticamento degli occhi. Per evitare ciò, è importante che la telecamera virtuale aggiorni la sua posizione in tempo reale.
In questo sistema, vengono utilizzati due metodi principali per mantenere le immagini sincronizzate. Il primo metodo prevede l'uso di telecamere fisse per osservare l'ambiente del robot. Il secondo metodo utilizza la visione artificiale per identificare oggetti attorno al robot, che possono poi essere rappresentati nell'ambiente virtuale. Entrambi i metodi consentono al motore VR di regolare la telecamera virtuale in base ai movimenti dell'utente.
Creare un sistema facile da usare
Quando si progetta questo sistema, rendere semplice l'uso e la modifica è stata una priorità assoluta. Il software è stato sviluppato utilizzando Unity, un popolare motore di sviluppo di giochi. Questa scelta è stata fatta perché Unity è noto per le sue caratteristiche facili da usare. L'Oculus Quest 2 è stato selezionato poiché è uno dei visori VR più comunemente usati, rendendolo accessibile alla maggior parte degli utenti.
Sebbene il focus principale fosse sul robot Franka Emika Panda, il software può essere adattato per funzionare con altri tipi di robot semplicemente apportando piccole modifiche al codice. Questa flessibilità è importante per ricercatori e sviluppatori che potrebbero voler utilizzare robot diversi nel loro lavoro.
Metodi di dimostrazione correlati
Le dimostrazioni umane sono fondamentali per molte applicazioni pratiche nella robotica, incluso l'addestramento dei robot attraverso l'apprendimento per imitazione e l'apprendimento per rinforzo profondo. Esistono vari metodi per raccogliere queste dimostrazioni, ognuno con i suoi pro e contro. Alcuni metodi si basano su dimostrazioni visive, mentre altri utilizzano fotogrammi chiave, insegnamento cinestetico e teleoperazione.
Le dimostrazioni visive consentono a una persona di mostrare a un robot come eseguire compiti senza dover cambiare significativamente i propri movimenti. Tuttavia, i video spesso mancano di informazioni dettagliate su aspetti come forza o pressione, il che può limitarne l'efficacia.
Le dimostrazioni a fotogrammi chiave prevedono la fornitura di istantanee o punti importanti in un compito. Anche se aiutano a semplificare il controllo, potrebbero perdere dettagli nei movimenti. L'insegnamento cinestetico richiede a una persona di guidare fisicamente il robot attraverso un compito. Questo metodo produce dati di alta qualità ma può essere stancante e richiedere tempo. La teleoperazione è considerata il miglior metodo per dimostrazioni di qualità, ma le tecniche tradizionali possono essere ingombranti e poco intuitive per l'utente.
Il pipeline di teleoperazione
Il sistema di teleoperazione collega l'applicazione VR con il robot. Gli utenti indossano il visore Oculus e possono vedere una versione virtuale dell'ambiente con immagini che rappresentano l'effettore finale del robot. Muovendo i controller portatili, gli utenti controllano i movimenti del robot. Il sistema cattura questi input e invia i comandi al robot.
Mentre il robot agisce, le telecamere forniscono un feed video della scena. Questo video viene analizzato per informazioni su oggetti e loro posizioni, che vengono poi inviate di nuovo nell'ambiente VR. Questo processo si ripete, permettendo un'interazione in tempo reale tra l'utente e il robot.
Usare Unity per l'ambiente virtuale
Unity è stato utilizzato per creare l'ambiente VR per la teleoperazione. Supporta lo sviluppo facile di applicazioni VR con funzionalità come il tracciamento della testa e la mappatura dei controller. Il design include sia oggetti permanenti che osservati all'interno dell'ambiente VR. Gli oggetti permanenti sono gli elementi fissi, mentre gli oggetti osservati sono quelli tracciati dal sistema di visione.
Quando il sistema di visione identifica un oggetto, invia i suoi dettagli a Unity, che genera una rappresentazione dell'oggetto nella scena. Gli utenti controllano il robot attraverso i controller portatili, che tracciano i loro movimenti delle mani nel mondo virtuale.
Sistema di comunicazione tra i componenti
Per collegare l'applicazione VR con il controller del robot, è stato impiegato un metodo di comunicazione utilizzando socket UDP. Questo consente lo scambio rapido di messaggi tra l'applicazione Unity e il controller del robot. Ogni aggiornamento invia informazioni sulla posizione del robot, le posizioni degli oggetti e altri dettagli, mantenendo un'esperienza sincronizzata.
Quando l'utente muove il controller, il sistema calcola la posizione e la invia al robot. Il robot esegue quindi questi comandi e il feedback viene rinviato all'ambiente VR per aggiornare le immagini.
Lavorare con un ambiente simulato
Oltre a controllare il robot fisico Franka Emika Panda, è stata creata anche una versione simulata. Questo consente agli utenti senza accesso all'hardware di testare il sistema di teleoperazione in un ambiente virtuale. La simulazione imita l'interazione nel mondo reale, permettendo di valutare le prestazioni del software senza fare affidamento su hardware reale.
Migliorare la funzionalità con una mano robotica
Per estendere le capacità del sistema di teleoperazione, è stata aggiunta una mano robotica a cinque dita. Questa mano imita il movimento umano ed è controllata utilizzando i gesti delle mani dell'utente rilevati dal visore Oculus. Questo fornisce un ulteriore livello di controllo, consentendo agli utenti di operare la mano robotica in dettaglio.
Dimostrazione del compito: impilamento dei blocchi
Per dimostrare quanto bene funziona il sistema, è stato eseguito un compito di presa e posizionamento dei blocchi. L'utente ha controllato il robot per raccogliere un blocco, muoverlo e poi posarlo. Questo compito ha illustrato come il sistema traduca con successo i movimenti dell'utente in azioni del robot.
Misurare la latenza del sistema
Per garantire che il sistema funzioni senza intoppi, sono stati condotti test per misurarne la reattività. Sono stati eseguiti due test: uno nell'ambiente simulato e uno con il robot fisico. I risultati hanno mostrato che, mentre il sistema operava a una buona velocità in entrambe le configurazioni, l'implementazione hardware affrontava più latenza, probabilmente a causa di ritardi nella comunicazione. Tuttavia, la frequenza degli aggiornamenti era ancora sufficiente per un controllo efficace.
Gestire il sovraccarico di comunicazione
Il sistema è stato anche testato per la sua capacità di gestire più oggetti simultaneamente. Generando numerosi oggetti nell'ambiente virtuale, sono stati valutati i limiti del sistema di comunicazione. I risultati hanno indicato che il sistema poteva gestire in modo efficiente un numero significativo di oggetti senza errori, garantendo prestazioni robuste sotto pressione.
Conclusione
Il sistema di teleoperazione descritto consente un controllo intuitivo di un robot Franka Emika Panda utilizzando hardware economico e strumenti open-source. È progettato per essere flessibile e adattabile per vari usi, rendendolo una risorsa preziosa per ricercatori e sviluppatori nel campo della robotica. Incorporando sia ambienti reali che simulati, questo sistema si presenta come una soluzione completa per compiti teleoperati nella robotica, migliorando l'accessibilità e la facilità d'uso per tutti gli utenti.
Titolo: OpenVR: Teleoperation for Manipulation
Estratto: Across the robotics field, quality demonstrations are an integral part of many control pipelines. However, collecting high-quality demonstration trajectories remains time-consuming and difficult, often resulting in the number of demonstrations being the performance bottleneck. To address this issue, we present a method of Virtual Reality (VR) Teleoperation that uses an Oculus VR headset to teleoperate a Franka Emika Panda robot. Although other VR teleoperation methods exist, our code is open source, designed for readily available consumer hardware, easy to modify, agnostic to experimental setup, and simple to use.
Autori: Abraham George, Alison Bartsch, Amir Barati Farimani
Ultimo aggiornamento: 2023-05-16 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2305.09765
Fonte PDF: https://arxiv.org/pdf/2305.09765
Licenza: https://creativecommons.org/licenses/by-nc-sa/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.