Navigazione di un AMR utilizzando ISAAC ROS VSLAM e Nvblox con telecamera Intel Realsense

La tecnologia alla base della navigazione robotica è in continua evoluzione, ma ci sono ancora alcuni ostacoli importanti da superare per raggiungere la piena autonomia. Le nuove soluzioni proposte da NVIDIA rendono più reale la possibilità di compiere il passo successivo. In questo articolo scopri come i sistemi ROS e ROS2 accelerati da GPU, nonché gli algoritmi VSLAM e i pacchetti Nvblox, rendono la navigazione autonoma dei robot più efficiente con un minore consumo energetico della CPU.

Introduzione

La navigazione autonoma è di fondamentale importanza per i sistemi robotici. Uno degli elementi essenziali della navigazione dei robot mobili autonomi (AMR) è il Visual SLAM (Visual Simultaneous Localization and Mapping). Visual SLAM è una tecnica che utilizza immagini acquisite da una telecamera per mappare l'ambiente e contemporaneamente stimare la posizione del robot. La sonda Phoenix, il rover Opportunity e l'elicottero Ingenuity utilizzati per esplorare Marte utilizzano algoritmi VSLAM per la navigazione e l'atterraggio autonomi. Altre applicazioni includono aspirapolveri, apparecchiature per endoscopia e robot aerei, terrestri e subacquei senza pilota, in cui le attività sono automatizzate.

Visual SLAM richiede molta potenza di calcolo per stimare le posizioni e creare una mappa dalle immagini acquisite da una telecamera. La maggior parte degli algoritmi VSLAM (Visual SLAM) utilizzano la potenza della CPU, il che limita la creazione della mappa e la stima della posa in tempo reale. Isaac ROS (Robot Operating System), VSLAM e Nvblox sono pacchetti ROS2 accelerati da GPU che aiutano a stimare le posizioni e a creare la mappa dell'ambiente circostante per la navigazione dei robot mobili autonomi in tempo reale. Sono in corso esperimenti per determinare il funzionamento di Isaac ROS VSLAM e Nvblox con le telecamere RealSense per la navigazione autonoma degli AMR.

NVIDIA ISAAC ROS Visual SLAM e pipeline Nvblox

Nella Figura 1 viene mostrato il funzionamento e l'integrazione di NVIDIA ISAAC ROS Visual SLAM e della pipeline Nvblox. Qui, VSLAM stima le posizioni e Nvblox ricostruisce la mappa dell'ambiente circostante per la navigazione autonoma del robot.

Block Diagram of Isaac ROS VSLAM and Nvblox
Figura 1: Diagramma a blocchi di Isaac ROS VSLAM e Nvblox

NVIDIA Isaac ROS VSLAM è un pacchetto ROS2 che esegue simultaneamente la localizzazione visiva stereo e la mappatura. Calcola l'odometria inerziale visiva stereo utilizzando una coppia di immagini stereo sincronizzate nel tempo e utilizza la libreria accelerata di GPU Isaac Elbrus. Odometria inerziale visiva, ottimizzazione e mappatura sono i tre componenti di Isaac ROS VSLAM. L'odometria visiva (VO) è una tecnica per stimare la posizione della telecamera rispetto al suo punto di partenza. La posa VO mostrata nella Figura 1 è stimata da VO. Il metodo VSLAM (Visual Simultaneous Localization and Mapping) si basa sulla posa VO e mira a migliorare la qualità delle posizioni VO utilizzando il rilevamento della chiusura del circuito nonché la stima delle posizioni SLAM in base ad aree dell'ambiente precedentemente acquisite. Oltre ai dati visivi, Elbrus può anche utilizzare le misurazioni di un'unità di misurazione inerziale (IMU). Quando VO non è in grado di stimare una posa, ad esempio in caso di scarsa illuminazione o di una lunga superficie senza strutture davanti alla telecamera, passa all'IMU. Nella Figura 1 sono mostrate le posizioni SLAM stimate da V-SLAM.

NVIDIA Isaac ROS Nvblox è un pacchetto ROS2 utilizzato per la ricostruzione 3D in tempo reale dell'ambiente attorno all'AMR dalle immagini della telecamera. La ricostruzione potrà essere utilizzata dagli addetti alla pianificazione dei percorsi per sviluppare un percorso di navigazione sicuro. Nvblox utilizza NVIDIA CUDA per accelerare questo processo e consentire il funzionamento in tempo reale. Questo repository contiene l'integrazione ROS2 per la libreria principale di Nvblox. L'algoritmo Nvblox è composto da tre componenti chiave: la funzione della distanza con segno troncato (TSDF), la mesh e la funzione della distanza con segno euclidea (ESDF). Nvblox utilizza un'immagine RGB, un'immagine di profondità e una posa SLAM come dati di input e genera mesh per la visualizzazione e una mappa della distanza per la pianificazione del percorso. Nvblox genera una mappa della distanza 2D e una mesh 3D da un flusso di immagini RGB e di profondità e la posa corrispondente dell'immagine di profondità. Il flusso di immagini RGB, utilizzato per colorare la ricostruzione 3D dell'ambiente circostante per la visualizzazione, è facoltativo. La mappa della distanza 2D mostra la distanza tra ciascun punto e l'ostacolo ricostruito più vicino e una mesh 3D per la visualizzazione RVIZ. La ricostruzione 3D dell'ambiente circostante per la visualizzazione è facoltativa. La mappa della distanza 2D mostra la distanza tra ciascun punto e l'ostacolo ricostruito più vicino, nonché una mesh 3D per la visualizzazione RVIZ.

Spiegazione di Isaac ROS VSLAM, Nvblox e della pipeline dello stack Nav2

L'intera pipeline per la navigazione autonoma degli AMR utilizzando Isaac ROS V-SLAM, Nvblox e lo stack Nav2 è illustrata nella Figura 2. Questa pipeline è composta da cinque nodi: il nodo della telecamera Realsense, il nodo Isaac ROS V-SLAM, il nodo Isaac ROS Nvblox, il nodo Nav2 e il nodo Rviz. I singoli blocchi sono descritti nel paragrafo successivo.

Isaac ROS VSLAM Nvblox and NAV2 pipeline
Figura 2: Isaac ROS VSLAM, Nvblox e pipeline NAV2

Il nodo della telecamera Realsense acquisisce immagini dalla telecamera Realsense e pubblica immagini RGB, di profondità, infra-1 e infra-2. Infra-1 e Infra-2 sono immagini a infrarossi. Le immagini infra-1 e infra-2 sono sottoscritte dal blocco Isaac ROS V-SLAM e pubblica posa e tf. Il blocco Isaac ROS Nvblox genera una mappa della distanza sottoscrivendo l'immagine RGB, l'immagine di profondità, posa e tf. Per la pianificazione e la navigazione del percorso, il nodo Nav2 utilizza una mappa della distanza. Il nodo Nav2 è il sistema di controllo che consente a un AMR di raggiungere uno stato finale in modo autonomo utilizzando una posa corrente, una mappa e un obiettivo, ad esempio una posa di destinazione. Il nodo Nav2 traccia correttamente un percorso verso lo stato finale e invia comandi all'AMR affinché segua il percorso pianificato verso la posa finale. Rviz è uno strumento utile per visualizzare immagini, dati odometrici e mappe generate e fornire una posa finale per l'AMR.

Risultati sperimentali

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.

AMR images with generated 3d map
Figura 3: A sinistra è mostrato l'AMR nell'ambiente di laboratorio, al centro viene mostrato ciò che vede l'AMR e a destra viene mostrata la mappa 3D generata come mesh.

AMR generated map goal state
Figura 4: A sinistra è mostrata la mappa generata con l'obiettivo specificato, al centro è mostrato il percorso pianificato e a destra è mostrato l'AMR che ha raggiunto lo stato finale

Conclusione

Per consentire all'AMR di navigare autonomamente in un laboratorio, una fotocamera Intel RealSense è stata integrata negli stack Isaac ROS VSLAM, Isaac ROS Nvblox e Nav2. L'AMR si è spostato moto all'interno di un ambiente di laboratorio per scopi di mappatura e navigazione. Isaac ROS VSLAM ha stimato con successo l'odometria dell'AMR creando allo stesso tempo una mappa dell'ambiente attorno all'AMR. Grazie all'accelerazione GPU, le pipeline NVIDIA Isaac ROS VSLAM e Nvblox forniscono prestazioni in tempo reale. Allo stesso tempo, l'algoritmo VSLAM ha localizzato la posizione sulla mappa e ha creato una mappa per una navigazione sicura. Ci auguriamo che i nostri esperimenti possano aiutare gli ingegneri della robotica a sviluppare diversi prodotti di robotica commerciale. Ulteriori dettagli possono essere richiesti agli autori.


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