Navigazione autonoma dell'AMR con RTAB-Map e telecamera ToF

La nostra società è soggetta a continui cambiamenti. Immagina una città con pedoni, ciclisti, automobili, autobus e altro ancora, tutti che si muovono continuamente e in modo imprevedibile. Affinché i robot mobili autonomi (AMR) possano navigare con successo in questo contesto, devono essere in grado di osservare e interpretare l'ambiente circostante in modo intelligente. In questo articolo scopri come utilizzare RTAB-Map e sensori ToF per consentire ai robot una navigazione veramente autonoma.

Introduzione

L'esplorazione è un aspetto cruciale della navigazione autonoma nella robotica. La SLAM (Simultaneous Localization and Mapping) è una tecnica fondamentale che aiuta i robot a navigare e mappare ambienti sconosciuti. Visual SLAM (Visual Simultaneous Localization and Mapping), noto anche come o VSLAM, è un tipo specifico di SLAM che consente ai robot di mappare il loro ambiente circostante e di stimare la propria posizione (odometria) in tempo reale sulla base dei dati di input visivi delle telecamere. Questa tecnica è stata ampiamente utilizzata in diverse applicazioni: rover ed elicotteri su Marte, robot terrestri e sottomarini, robot aspirapolvere, ecc. Sono state condotte diverse ricerche per determinare le prestazioni della telecamera ToF (Time-of-Flight) con RTAB-Map per la navigazione autonoma degli AMR utilizzando solo immagini di profondità. La telecamera ToF cattura sia immagini a infrarossi (IR) che di profondità. Le immagini di profondità vengono utilizzate per creare nuvole di punti 3D. La nuvola di punti 3D e l'odometria delle ruote vengono utilizzate da RTAB-Map per produrre dati odometrici corretti e una mappa a griglia di occupazione 2D per la navigazione autonoma degli AMR.

Che cos'è una telecamera ToF?

La telecamera ToF è una telecamera di profondità di Analog Devices basata sul processore di segnale TOF ADSD3100. Supporta l'elaborazione dei dati sulla piattaforma del processore incorporato, nonché una connessione USB, Ethernet o Wi-Fi a un computer host. La telecamera ToF è progettata per l'uso in applicazioni industriali, automobilistiche e di consumo. Calcola la distanza dagli oggetti nell'area circostante utilizzando un metodo ToF, che consente la creazione di mappe di profondità accurate. La telecamera ToF fornisce sia immagini a infrarossi (IR) che di profondità ed è mostrata nella Figura 1.

Figure 1 - ToF Camera
Figura 1: Telecamera ToF

Architettura di RTAB-Map

La mappatura basata sull'apparenza in tempo reale (RTAB-Map) è una tecnica SLAM basata su grafici. RTAB-Map utilizza il rilevamento della chiusura del circuito basato sull'apparenza insieme alla gestione della memoria per creare mappature online di grandi dimensioni e a lungo termine. L'odometria, ovvero la posa dell'AMR, fornisce dati di input esterni a RTAB-Map. Pertanto, è possibile utilizzare qualsiasi tipo di odometria adatta a una determinata applicazione, inclusa l'odometria delle ruote, l'odometria visiva e l'odometria ICP. Con RTAB-Map è possibile utilizzare quattro diverse configurazioni di input:

  • Immagine RGB, immagine di profondità e odometria
  • Immagini stereo e odometria
  • Nuvola di punti 3D e odometria
  • Scansione laser 2D e odometria

Nella Figura 2 sono mostrati i diversi blocchi di RTAB-Map. Nel nostro caso d'uso, la nuvola di punti 3D e l'odometria vengono utilizzate come dati di input da RTAB-Map. Sono inoltre richieste due trasformazioni di input: odom in base_link e base_link in camera_link. RTAB-Map genera una mappa per la trasformazione odometrica, una mappa a griglia di occupazione 2D e un'odometria corretta. Il nodo RTAB-Map è costituito dai seguenti blocchi: sincronizzazione, memoria a breve termine (STM), memoria a lungo termine (LTM), chiusura del circuito e rilevamento di prossimità, ottimizzazione del grafico e assemblaggio della mappa globale.

Figure 2 RTAB Map
Figura 2: RTAB-Map

Flusso di lavoro di RTAB-Map e della pipeline dello stack Nav2 con telecamera ToF

L'intera pipeline per l'esecuzione della navigazione autonoma degli AMR con rtabmap, telecamera ToF e i dati odometrici delle ruote fusi con i dati IMU, è mostrata nella Figura 3. I dati odometrici delle ruote fusi con i dati IMU si ottengono dalla fusione dei dati dell'encoder della ruota con i dati IMU utilizzando un filtro di Kalman esteso per un'odometria affidabile. Come possiamo vedere, ci sono sette nodi: il nodo della telecamera ToF, il nodo image_proc, il nodo della nuvola di punti, il nodo rtabmap, il nodo della fusione tra i dati odometrici delle ruote e i dati IMU, il nodo Nav2 e il nodo Rviz. Nel paragrafo successivo viene spiegata la funzionalità di questi nodi.

Figure 3 RTAB Map and Nav2 stack pipeline for ToF Camera
Figura 3: RTAB-Map e pipeline dello stack Nav2 per la telecamera ToF

Il primo nodo nella pipeline è quello della telecamera ToF che cattura immagini IR e di profondità. Le immagini catturate vengono quindi rettificate dal nodo image_proc per rimuovere le distorsioni tangenziali e radiali. Le immagini IR rettificate vengono utilizzate per la visualizzazione in Rviz. Il nodo della nuvola di punti genera nuvole di punti 3D a partire dalle immagini di profondità rettificate. Il nodo dei dati odometrici delle ruote fusi con i dati IMU stima i dati dell'odometria AMR utilizzando gli encoder delle ruote e i dati IMU. Il nodo rtabmap utilizza i dati odometrici delle ruote fusi con i dati IMU e la nuvola di punti generata per creare la mappa della griglia di occupazione 2D e l'odometria corretta, ovvero la posa. Un nodo Nav2 utilizza la mappa della griglia di occupazione generata e l'odometria per produrre una mappa dei costi, che verrà poi utilizzata per la pianificazione del percorso e la navigazione autonoma dell'AMR. Infine, il nodo Rviz viene utilizzato come strumento di visualizzazione per visualizzare l'immagine IR, l'odometria e la mappa della griglia di occupazione. Il nodo consente anche di stabilire la posa finale per l'AMR. In generale, possiamo dire che la pipeline combina diversi sensori e nodi per consentire la navigazione autonoma dell'AMR.

Discussione dei risultati dell'esperimento

Nella Figura 3 è mostrato l'AMR, l'immagine catturata dalla telecamera RealSense installata sul robot e la mappa della nuvola di punti 3D risultante come mesh. La Figura 4 mostra la mappa creata con lo stato finale specificato, il percorso pianificato e l'AMR che raggiunge in sicurezza lo stato finale seguendo il percorso pianificato.

Figure 4 IR image recitfication comparison
Figura 4: Sulla sinistra è mostrata l'immagine a infrarossi prima della rettifica e sulla destra quella dopo la rettifica.

Figure 5 ToF Camera Rectified IR Image
Figura 5: A sinistra è rappresentato l'AMR nell'ambiente di laboratorio, mentre a destra è mostrato ciò che l'AMR vede attraverso l'immagine IR catturata dalla telecamera ToF dopo la rettifica.

Inoltre, la nuvola di punti generata dall'immagine di profondità rettificata della telecamera ToF mostra le superfici piane del mondo reale come superfici curve. Per risolvere questo problema è necessaria la post-elaborazione. Nella Figura 6 è mostrata la mappa della griglia di occupazione prima e dopo il filtraggio della nuvola di punti. Le linee blu in questa immagine indicano l'odometria stimata dell'AMR.

Figure 6 Point Cloud Filtering Comparison
Figura 6: A sinistra è mostrata la mappa della griglia di occupazione prima del filtraggio della nuvola di punti, mentre a destra è mostrata la stessa mappa dopo il filtraggio. Le linee blu in entrambe le immagini indicano l'odometria stimata dell'AMR.

Nella Figura 7 sono illustrate le diverse fasi del processo di navigazione autonoma. Nella prima immagine a sinistra è mostrata la mappa generata con l'attuale posa dell'AMR. La mappa viene generata dal nodo rtabmap utilizzando la fusione dei dati odometrici delle ruote con i dati IMU e la nuvola di punti. Al centro è rappresentata la posizione finale con il percorso pianificato. Una volta stabilita la posizione finale in Rviz, il nodo Nav2 pianifica un percorso utilizzando la mappa dei costi generata dalla mappa della griglia di occupazione e dai dati odometrici. Il percorso pianificato viene visualizzato in Rviz. Infine, nella terza immagine sulla destra è mostrato l'AMR che ha raggiunto lo stato finale. Una volta pianificato il percorso, l'AMR utilizza la posa odometrica corretta e la mappa dei costi per raggiungere la posizione finale. L'AMR aggiorna continuamente la sua posizione utilizzando i dati odometrici delle ruote e quelli IMU insieme alla mappa della griglia di occupazione e regola la sua traiettoria per seguire il percorso pianificato. Una volta raggiunta la posizione finale, l'AMR si ferma e il processo di navigazione è completato.

Figure 7 AMR Comparison Three Images

Conclusione

La telecamera ToF è stata integrata in RTAB-Map e nello stack Nav2 per consentire all'AMR di navigare autonomamente in un ambiente di laboratorio. Sono sorte diverse sfide da affrontare durante l'utilizzo della telecamera ToF con RTAB-Map per la navigazione autonoma dell'AMR. Le immagini IR e di profondità fornite dalla telecamera ToF devono essere rettificate, poiché le immagini di profondità non rettificate potrebbero portare a imprecisioni nella mappa. Abbiamo notato che nella nuvola di punti gli oggetti piatti apparivano curvi. Questo problema è stato risolto tramite la post-elaborazione della nuvola di punti. La nuvola di punti deve essere filtrata prima di essere passata a RTAB-Map. Parallelamente, l'AMR ha creato la mappa e ha localizzato la sua posizione sulla mappa per una navigazione sicura utilizzando l'immagine di profondità della telecamera ToF e l'algoritmo RTAB-Map. Abbiamo anche potuto constatare il successo della navigazione autonoma dell'AMR con la fotocamera ToF e RTAB-Map. Ci aspettiamo che i risultati dei nostri esperimenti accelerino l'uso delle telecamere ToF in un'ampia gamma di sistemi robotici commerciali.


Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy