Articolo metodologico

SLAM visivo e pianificazione del percorso migliorati per la navigazione autonoma di robot mobili su ruote

DOI:

10.3791/68794

3 ottobre 2025

In questo articolo

Sommario

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Questo studio presenta un approccio per migliorare la navigazione indoor autonoma WMR ottimizzando gli algoritmi di pianificazione visiva SLAM e percorso. Integra la fusione multisensore, migliora l'estrazione delle caratteristiche e applica tecniche di ottimizzazione della traiettoria per una migliore localizzazione, l'evitamento degli ostacoli e percorsi più fluidi, dimostrando prestazioni superiori in ambienti reali e simulati.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Questa ricerca si concentra su importanti tecnologie utilizzate nella navigazione autonoma dei robot mobili su ruote, come l'ottimizzazione della pianificazione del percorso, l'integrazione dei sistemi e i progressi nelle tecniche di localizzazione e mappatura simultanea visiva (SLAM). Si suggerisce un approccio avanzato per superare i problemi di localizzazione nell'odometria visiva tradizionale causati da punti caratteristica duplicati o distribuiti in modo non uniforme. Questo approccio combina la corrispondenza delle funzionalità EPNP (Efficient Perspective-n-Point), l'ottimizzazione della posa del punto più vicino iterativo (ICP) e la gestione delle funzionalità basata su quadtree. Secondo i risultati sperimentali, il metodo suggerito aumenta notevolmente l'accuratezza e la stabilità della localizzazione. Viene sviluppata una tecnica di ricostruzione di nuvole di punti dense basata su dati RGB-D per migliorare la completezza e il dettaglio della rappresentazione ambientale, mitigando al contempo la scarsità spesso osservata nelle mappe delle nuvole di punti prodotte dai sistemi SLAM convenzionali. Al fine di migliorare la qualità del percorso e l'efficienza computazionale, viene presentato un metodo avanzato di albero casuale a esplorazione rapida (RRT), che incorpora la gestione adattiva delle dimensioni dei passi, la distorsione degli obiettivi e lo smoothing del percorso basato su B-spline. Inoltre, l'evitamento degli ostacoli locali in tempo reale in situazioni dinamiche è reso possibile dall'integrazione dell'algoritmo Timed Elastic Band (TEB). Test approfonditi nel mondo reale hanno confermato l'utilità delle soluzioni suggerite in termini di efficienza, robustezza e applicabilità pratica dopo che sono state implementate su una piattaforma sperimentale basata sul Robot Operating System (ROS).

Introduzione

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Il potenziale e i modelli di applicazione della robotica stanno attraversando un periodo di rapida trasformazione, guidato dai progressi nelle tecnologie di intelligenza artificiale. Negli ultimi anni, la Visual Simultaneous Localization and Mapping (Visual SLAM) e la sua estensione ai sistemi di navigazione visivo-inerziale (VINS) hanno compiuto progressi sostanziali in termini di robustezza e precisione di localizzazione1. Per migliorare l'affidabilità dell'inizializzazione in condizioni difficili come bassa texture e scarsa illuminazione, Campos et al. hanno proposto ORB-SLAM3, che introduce un sistema multi-mappa e una migliore inizializzazione per i sistemi visivi e visuo-inerziali2. Per migliorare la corrispondenza delle caratteristiche in scenari difficili, DeTone et al. hanno sviluppato SuperPoint, un metodo di rilevamento e descrizione dei punti di interesse auto-supervisionato3, mentre Sarlin et al. hanno creato SuperGlue, un feature matcher basato su rete neurale a grafo che gestisce condizioni visive difficili4. Per la ricostruzione 3D densa, Dai et al. hanno proposto BundleFusion, un sistema di ricostruzione 3D coerente a livello globale in tempo reale che utilizza la reintegrazione della superficie al volo per gestire ambienti su larga scala e chiusure di loop5.

Nel campo della pianificazione dei percorsi, gli alberi casuali a esplorazione rapida (RRT) e le loro varianti rimangono ampiamente adottati per la pianificazione del movimento robotico. L'algoritmo RRT fondamentale è stato introdotto per la prima volta da LaValle come nuovo strumento per la pianificazione dei percorsi, fornendo un metodo efficiente basato sul campionamento per risolvere problemi complessi ad alta dimensionalità6. Questo è stato notevolmente migliorato da Karaman e Frazzoli, che hanno sviluppato l'algoritmo RRT* che fornisce garanzie di ottimalità asintotica nella pianificazione del movimento7. Basandosi su questi algoritmi di base, la ricerca moderna si è concentrata su approcci ibridi che combinano metodi basati sul campionamento con altre tecniche. Ad esempio, Rösmann et al. hanno sviluppato il metodo Timed Elastic Band (TEB), che consente la generazione di traiettorie localmente ottimali ed è stato ampiamente integrato con i pianificatori globali8. Allo stesso modo, il Dynamic Window Approach (DWA) introdotto da Fox et al. fornisce un metodo efficace per evitare gli ostacoli locali in ambienti dinamici9.

A livello di pianificazione locale e di percezione semantica, Chen et al. hanno proposto una strategia di pianificazione del percorso informativo semanticamente consapevole per i micro veicoli aerei (MAV), migliorando sia l'efficienza della ricerca che la sicurezza durante l'esplorazione del bersaglio10. Kabiri et al. hanno integrato le misurazioni del tempo di arrivo (ToA) 5G in un framework VINS per consentire la fusione SLAM globale-locale, migliorando efficacemente l'accuratezza della localizzazione in ambienti con copertura GNSS limitata11. Per facilitare la mappatura in tempo reale ad alta frequenza, Xu et al. hanno sviluppato FAST-LIO2, un metodo odometrico LiDAR-IMU strettamente accoppiato in grado di produrre mappe 3D accurate e dense12. Per la pianificazione dei percorsi in ambienti complessi, Gammell et al. hanno introdotto un metodo RRT* informato che incorpora la crescita bidirezionale degli alberi e il campionamento adattivo, migliorando significativamente la qualità dei percorsi e l'efficienza della ricerca in ambienti dinamici13. Inoltre, per scenari di passaggio stretto, Coleman et al. hanno presentato un metodo di pianificazione del movimento basato sul campionamento con campionamento a probabilità variabile, che migliora i tassi di successo della pianificazione e l'efficienza computazionale14.

Il presente studio affronta le sfide fondamentali nella navigazione autonoma indoor per i robot mobili su ruote (WMR) migliorando sia la strategia di pianificazione del percorso che il front-end SLAM. In particolare, il sistema proposto è progettato per ambienti interni strutturati tipici come laboratori e corridoi, operanti in condizioni di illuminazione moderata e accesso GNSS minimo. Il sistema di navigazione utilizza principalmente una telecamera stereo RGB-D, un'unità di misurazione inerziale (IMU) ed encoder per ruote, con tutti i sensori configurati per campionare a non meno di 20 Hz. Per garantire prestazioni affidabili del sistema, la velocità massima del robot è limitata a meno di 1,5 m/s. Di seguito i contributi chiave:

È stata sviluppata una piattaforma di navigazione autonoma a fusione multisensore per robot mobili su ruote (WMR) utilizzando una telecamera di profondità come sensore primario. Per ottenere una localizzazione accurata e un'efficiente prevenzione degli ostacoli in ambienti interni tipici, il sistema integra l'odometria a ruota e un'unità di misura inerziale (IMU). La sinergia tra questi componenti gioca un ruolo fondamentale nel migliorare le prestazioni complessive di navigazione.

La combinazione degli algoritmi EPnP e ICP con una tecnica di estrazione delle caratteristiche basata su quadtree ha aiutato il modulo di tracciamento in ORB-SLAM2 a migliorare. Da questi sviluppi derivano una migliore precisione e robustezza dell'inseguimento.

Viene proposto un nuovo metodo di pianificazione del percorso che enfatizza l'ottimizzazione della traiettoria. Si basa su una tecnica RRT migliorata con polarizzazione dell'obiettivo e dimensioni del passo regolabili e utilizza curve B-spline per il livellamento della traiettoria. È incluso anche l'algoritmo TEB per gestire l'evitamento degli ostacoli in ambienti dinamici.

Le prestazioni del sistema sono confermate da test e simulazioni nel mondo reale. Gli ambienti interni tipici consentono l'analisi quantitativa e qualitativa per valutare l'accuratezza delle mappe, la qualità del percorso e le prestazioni di navigazione. In termini di robustezza, elaborazione in tempo reale e fluidità della traiettoria, l'approccio proposto batte le soluzioni attuali.

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Protocollo

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

1. Piattaforma hardware

  1. Preparare la piattaforma robotica mobile a due ruote con trasmissione differenziale adatta alla navigazione in ambienti interni (vedere la Figura 1). Questa piattaforma utilizza due ruote motrici indipendenti allineate lungo il centro del telaio e ruote piroettanti passive nella parte anteriore e posteriore per garantire l'equilibrio meccanico e la manovrabilità.
  2. Montare le ruote motrici differenziali lungo l'asse longitudinale centrale del telaio. Utilizzare un cacciavite esagonale per allineare e fissare gli alberi delle ruote nei mozzi del motore. Assicurarsi che le ruote siano fissate saldamente ma ruotino liberamente senza oscillazioni assiali. Verificare che entrambe le ruote siano allineate con precisione per mantenere un movimento rettilineo e un'odometria accurata.
  3. Installare le ruote piroettanti anteriori e posteriori su entrambe le estremità del telaio per fornire supporto meccanico durante le curve. Un allineamento insufficiente può causare instabilità o inclinazione durante i cambi di direzione ad alta velocità.
  4. Montare una telecamera di profondità a luce strutturata sul pannello frontale superiore dello chassis. Utilizzare una staffa regolabile o un supporto adesivo per fissare saldamente la fotocamera. Orientarlo in modo tale che il campo visivo copra da circa 0,3 m a 3,0 m davanti al robot.
  5. Collegare il proiettore IR e i moduli ricevitore all'alloggiamento della telecamera, assicurandosi che tutti i centri ottici siano allineati correttamente. Regola l'angolo di beccheggio della fotocamera per ottimizzare la percezione della profondità.
  6. Inclinare la fotocamera verso il basso di 15°-30° utilizzando il supporto regolabile. Assicurarsi che nessuna parte del telaio ostruisca il modello IR proiettato. Questo angolo aiuta a catturare le caratteristiche del terreno in campo vicino ed evitare i punti ciechi.
  7. Verifica l'output di profondità in tempo reale della telecamera utilizzando un software di visualizzazione come RViz (versione 1.14.1). Avvia il nodo della telecamera e osserva il flusso di immagini di profondità. Collegare la telecamera di profondità all'unità microcontrollore (MCU) montata al centro dello chassis.
    NOTA: Assicurarsi che l'alimentazione sia spenta durante tutti i collegamenti. Mantenere i cavi organizzati e lontani dalle parti in movimento per evitare che si aggroviglino durante il movimento.

2. Ottimizzazione di ORB-SLAM2 per la mappatura indoor

  1. Preparare l'ambiente ORB-SLAM2. Calibrare la fotocamera (RGB-D) utilizzando gli strumenti di calibrazione ROS standard. Configura il file di avvio per specificare gli argomenti della telecamera, la risoluzione (ad esempio, 640 x 480) e la frequenza dei fotogrammi (ad esempio, 30 fps). Avvia il sistema SLAM utilizzando: xtark@tarkbot: $ roslaunch robot_platform slam map.launch slam _methods:=gmapping. Verificare il feed della telecamera in tempo reale e i messaggi di inizializzazione SLAM nel terminale. I fotogrammi chiave dovrebbero apparire dopo l'inizio del movimento.
  2. Modifica ORB-SLAM2 per supportare la mappatura densa. Estendi il modulo di mappatura predefinito per includere un thread di ricostruzione denso che elabora i dati di profondità dai fotogrammi chiave.
  3. Per ogni fotogramma chiave selezionato: estrai immagini RGB e di profondità sincronizzate, converti i pixel di profondità in punti 3D utilizzando gli intrinseci della fotocamera e unisci le nuvole di punti accumulate tra i fotogrammi chiave utilizzando le informazioni sulla posa. Suddividere ricorsivamente qualsiasi regione con più di un punto chiave in quattro quadranti. Continuate fino a quando ogni nodo foglia contiene al massimo un punto chiave dominante o le dimensioni dell'area sono inferiori a 10 x 10 pixel.
  4. Migliorare la distribuzione delle funzioni utilizzando un quadtree (vedere la Figura 2). Modificare il modulo di estrazione delle funzionalità ORB per includere una strategia di partizionamento spaziale basata su quadtree. Dividi l'immagine in regioni della griglia gerarchica, applica il rilevamento degli angoli FAST in ciascuna regione e mantieni solo la caratteristica più saliente per regione per garantire una copertura spaziale uniforme.
  5. Da ogni regione valida, selezionare il candidato con la risposta di salienza più alta come caratteristica rappresentativa.
  6. Migliora la stima della posa con EPnP. Sostituisci la stima della posa predefinita (ad esempio, metodi iterativi) con l'algoritmo EPnP (Efficient Perspective-n-Point) utilizzando solvePnP di OpenCV. Usa le funzioni dell'immagine 2D e i punti della mappa 3D corrispondenti per risolvere la posa della fotocamera.
  7. Distribuisci, visualizza e controlla il robot. Assegnare un indirizzo IP statico al sistema di bordo del robot per una comunicazione stabile (ad es. IP ROBOT: 172.20.10.13). Sul PC host, apri RViz (v1.14.1) e carica la configurazione per visualizzare la traiettoria del robot, le mappe delle nuvole di punti sparse e dense, i fotogrammi chiave e le funzioni rilevate.
  8. Controlla manualmente il robot utilizzando i tasti freccia della tastiera per navigare nello spazio per la mappatura. Assicurati che la linea di traiettoria appaia in RViz e che i fotogrammi di posa della fotocamera si aggiornino in tempo reale.
    NOTA: La Figura 3 illustra il layout della tastiera per il controllo manuale del robot durante la mappatura.

3. Elaborazione dei punti caratteristica utilizzando l'algoritmo Quadtree

  1. Eseguire l'estrazione delle funzioni ORB come descritto di seguito.
    1. Caricare l'immagine di input da un argomento di immagine ROS o da un set di dati locale utilizzando OpenCV (versione 4.5.3).
    2. Costruisci una piramide gaussiana con quattro livelli, dividi l'immagine in celle della griglia uniformi (8 x 8 celle per livello). All'interno di ogni cella, applicare il rivelatore FAST con una soglia di 20 per identificare i punti chiave locali.
  2. Costruire un perfezionamento delle funzionalità basato su quadtree come descritto di seguito.
    1. Per ogni insieme di punti chiave a un dato livello di piramide, costruisci una struttura a quattro alberi: inizia con l'immagine completa come nodo radice. Suddividi in modo ricorsivo qualsiasi regione con più di un punto chiave in quattro quadranti. Continuate fino a quando ogni nodo foglia contiene al massimo un punto chiave dominante o la dimensione dell'area è inferiore a 10 x 10 pixel.
  3. Applicare la valutazione della salienza delle funzioni come descritto di seguito.
    1. Valuta la salienza di ogni punto chiave candidato all'interno di un nodo utilizzando l'equazione:
      figure-protocol-1(1)
      dove Ip è il valore di intensità del pixel centrale in un quartiere locale e Ii rappresenta i valori di intensità dei suoi 16 pixel vicini. La differenza assoluta |Ip - Ii| Misura il contrasto locale tra il pixel centrale e ciascun vicino. La somma di tutti i 16 vicini fornisce una misura del contrasto locale complessivo o dell'intensità della trama attorno al pixel centrale.
    2. Classifica tutti i candidati utilizzando una coda di priorità dinamica ordinata in base al punteggio di salienza. Da ogni regione valida, selezionare il candidato con la risposta di salienza più alta come caratteristica rappresentativa.
  4. Ottimizzare e convalidare la selezione delle funzionalità
    1. Combina tutte le funzionalità selezionate attraverso i livelli piramidali. Garantisci una copertura spaziale uniforme in tutta l'immagine. Memorizza i punti di funzionalità finali e i relativi descrittori utilizzando l'estrattore di descrittori ORB, versione allineata con OpenCV.
    2. Verificare che le feature non siano raggruppate in alcune aree dell'immagine. I punti caratteristici devono presentare una distribuzione spaziale uniforme, supportando un tracciamento robusto. Evitare di eseguire l'elaborazione delle immagini in un sistema robotico fisico mentre è in movimento. Assicurarsi che il flusso della telecamera sia stabile e che l'area di lavoro sia libera.

4. Stima della posa utilizzando EPnP

  1. Stabilisci corrispondenze 2D-3D selezionando almeno quattro coppie corrispondenti di punti della mappa 3D (in coordinate globali) e i punti chiave dell'immagine 2D corrispondenti. Assicurarsi che queste corrispondenze vengano estratte da corrispondenze di funzionalità ORB valide ottenute nel thread di tracciamento.
  2. Risolvi la posa iniziale con EPnP. Continuate fino a quando ogni nodo foglia contiene al massimo un punto chiave dominante o la dimensione dell'area è inferiore a 10 x 10 pixel. Usa la funzione solvePnP di OpenCV con il flag cv::SOLVEPNP_EPNP per stimare la posa della fotocamera.

5. Affinamento della posa con ICP

  1. Eseguire il campionamento della nuvola di punti come descritto di seguito.
    1. Esegui il downsampling della nuvola di punti di origine per ridurre il carico computazionale e rimuovere i dati ridondanti.
    2. Utilizzare un campionamento uniforme per garantire che le caratteristiche strutturali vengano mantenute in modo uniforme in tutte le direzioni. Se necessario, applicare il filtro della griglia voxel o la selezione casuale in base alla densità e alle caratteristiche di rumore della nuvola di punti di input. Assicurati che la nuvola filtrata preservi i contorni degli oggetti riducendo il conteggio totale dei punti di almeno il 50%.
  2. Abbina i punti corrispondenti costruendo un albero KD dalla nuvola di punti di destinazione per consentire ricerche efficienti del vicino più prossimo. Per ogni punto nella nuvola di punti di origine sottocampionata, trovare il punto più vicino nella nuvola di destinazione utilizzando l'albero KD. Garantire l'accuratezza della corrispondenza dei punti, poiché questo passaggio influisce in modo critico sulle prestazioni di registrazione.
  3. Stimare la trasformazione ottimale come descritto di seguito.
    1. Utilizzare le coppie di punti corrispondenti per calcolare una matrice di trasformazione del corpo rigido, che include sia la rotazione che la traslazione.
    2. Calcola la trasformazione rigida ottimale tra le coppie di punti abbinati riducendo al minimo l'errore quadratico medio (MSE) attraverso la scomposizione ai valori singolari (SVD) della matrice di covarianza incrociata, che produce direttamente la matrice di rotazione, seguita dal calcolo del vettore di traslazione basato sui centroidi ruotati.
  4. Applicare la trasformazione calcolata alla nuvola di punti di origine e aggiornare tutte le coordinate dei punti. Ripetere il processo di stima della corrispondenza dei punti e della trasformazione in modo iterativo. Continuare l'iterazione fino a quando l'errore di registrazione non scende al di sotto di una soglia predefinita o non viene raggiunto il numero massimo di iterazioni.

6. Costruzione di mappe a nuvole di punti dense

  1. Costruisci una mappa densa di nuvole di punti 3D per ottenere una rappresentazione accurata e dettagliata degli ambienti interni. Seguire i passaggi (vedere la Figura 4) descritti di seguito.
  2. Estrai i dati RGB e di profondità dai fotogrammi chiave. Selezionate i fotogrammi chiave in base alla ricchezza visiva e alla copertura spaziale. Da ogni fotogramma chiave selezionato, estraete sia l'immagine RGB che la corrispondente mappa di profondità allineata dal sensore RGB-D.
  3. Converti i pixel dell'immagine in coordinate della fotocamera 3D. Per ogni pixel di profondità valido, proietta il pixel 2D nello spazio 3D utilizzando i parametri intrinseci della fotocamera. Questo processo genera coordinate 3D nel sistema di coordinate della fotocamera.
  4. Trasforma le coordinate della fotocamera in coordinate globali. Recupera la posa ottimizzata della fotocamera da ORB-SLAM2 per ogni fotogramma chiave. Usa la posa della fotocamera per trasformare le coordinate della fotocamera 3D nel sistema di coordinate globali, allineando tutte le nuvole di punti in un riferimento globale comune.
  5. Genera punti 3D colorati. Per ogni punto 3D trasformato, assegnare il valore RGB corrispondente dall'immagine originale. Ciò si traduce in una nuvola di punti colorata che cattura sia la geometria che l'aspetto.
  6. Unisci le nuvole di punti da tutti i fotogrammi chiave. Accumula tutte le nuvole di punti trasformate e colorate in una mappa globale unificata delle nuvole di punti. Assicurati del corretto allineamento utilizzando le pose della fotocamera associate a ciascun fotogramma chiave.
  7. Registra e perfeziona la mappa finale utilizzando PCL. Utilizzare la libreria di nuvole di punti (PCL) per perfezionare la mappa finale. Applica il filtro per rimuovere il rumore e il sottocampionamento per migliorare l'efficienza. Eseguire la registrazione globale (ad esempio, utilizzando ICP) per ottimizzare l'allineamento tra le nuvole di punti, se necessario (vedere la Figura 5).
    NOTA: Come mostrato nella Figura 6, l'allineamento iniziale della nuvola di punti durante la fase di inizializzazione della mappatura densa può mostrare un disallineamento transitorio a causa di dati osservativi limitati, che convergono rapidamente man mano che vengono incorporati ulteriori punti di vista. Controllando il robot per attraversare l'ambiente, è possibile ottenere un modello tridimensionale completo.

7. Generare una mappa della griglia di occupazione da nuvole di punti derivate da VSLAM

  1. Sottocampiona la nuvola di punti densa globale. Applica il filtraggio della griglia voxel utilizzando una risoluzione voxel di 0,05 m per ridurre la ridondanza e definire la risoluzione spaziale per la costruzione della griglia.
  2. Proietta punti 3D in una griglia di occupazione 2D. Proietta tutti i punti 3D sul piano orizzontale (x-y). Discretizza lo spazio in celle della griglia uniformi, ciascuna delle quali rappresenta un quadrato di 0,05 m x 0,05 m nel mondo reale.
  3. Stima le probabilità di occupazione. Utilizza un modello di sensore inverso per calcolare la probabilità di occupazione di ciascuna cella in base alla densità di punti e al ray-tracing simulato.
    1. Imposta la soglia di probabilità occupata su 0,65. Imposta la soglia di probabilità libera su 0,35. Classificare le celle della griglia con valori intermedi come sconosciuti.
  4. Applicare il gonfiaggio degli ostacoli. Gonfiare le regioni occupate applicando un kernel circolare con un raggio di 0,2 m per tenere conto della distanza del robot e dei margini di sicurezza.
  5. Esporta la mappa dell'occupazione. Salva la mappa della griglia di occupazione generata nel formato Portable GrayMap, accompagnata da un file di metadati m.yaml corrispondente, per garantire la compatibilità con i sistemi di navigazione basati su ROS.

8. Miglioramento della strategia di pianificazione del percorso globale (basata sull'algoritmo RRT)

  1. Inizializza l'albero dei percorsi. Imposta la posizione iniziale del robot come nodo radice dell'albero. Campiona casualmente i punti nello spazio di configurazione (stato) per esplorare nuove aree.
  2. Identificare il nodo esistente più vicino. Per ogni punto casuale appena campionato, calcolare la distanza euclidea da tutti i nodi esistenti. Selezionare il nodo con la distanza minima come nodo più vicino da utilizzare come base di espansione.
  3. Genera un nuovo nodo verso il campione casuale. Creare un vettore unitario direzionale dal nodo più vicino al punto campionato. Muovi un passaggio fisso (inizialmente) lungo questa direzione per formare un nuovo nodo e collegarlo all'albero.
  4. Sostituisci la dimensione fissa del passo con un meccanismo adattivo. Invece di utilizzare una dimensione del passo costante, regolare dinamicamente la lunghezza del passo in base alla densità dell'ostacolo locale. Utilizza passaggi più ampi in ambienti aperti per accelerare l'espansione dell'albero. Nelle regioni disordinate o strette, ridurre le dimensioni del passo per migliorare il controllo e l'evitamento degli ostacoli.
  5. Calcola la dimensione del passo adattivo in tempo reale come descritto di seguito.
    1. Utilizzare i dati del sensore (ad esempio, LiDAR o telecamera di profondità) per stimare la densità degli ostacoli intorno alla regione corrente.
    2. Se il numero di ostacoli rilevati è basso, aumentare leggermente la dimensione del passo. Se gli ostacoli sono densi, ridurre proporzionalmente la dimensione del passo per inserire più nodi intermedi per un attraversamento sicuro.
  6. Iterare il processo di espansione. Continuare il campionamento, la ricerca del nodo più vicino e la generazione di nuovi nodi utilizzando le dimensioni del passaggio adattive.
  7. Applicare curve B-spline per l'arrotondamento. Sostituire i segmenti di polilinea nel percorso RRT con una curva B-spline continua per migliorare l'uniformità. Selezionare i punti di controllo lungo il percorso RRT originale, in genere in corrispondenza dei punti di svolta o dei waypoint chiave. Costruisci un poligono di controllo collegando questi punti di controllo in sequenza.
  8. Generate la curva B-spline. Utilizzare la formula B-spline standard15:
    figure-protocol-2(2)
    Questa formula viene utilizzata nelle curve B-spline, dove la curva finale C(u) è una combinazione ponderata dei punti di controllo. I pesi sono determinati dalle funzioni di base B-spline Ni,k (u), che assicurano che la curva sia liscia e segua la forma generale definita dai punti di controllo.
  9. Impostare il grado della curva su 3 (cubico), in modo da garantire la continuità (derivate prime e seconde levigate). Utilizza il modulo di pianificazione del percorso scritto in PyCharm 2024.3.

9. Ottimizzazione della traiettoria locale con TEB modificato

  1. Introdurre il vincolo di distanza più breve come descritto di seguito.
    1. Per mitigare questi inconvenienti, integrare un vincolo di distanza più breve nel framework TEB.
    2. Definisci il vincolo come la distanza euclidea tra la posizione attuale del robot St e una posa futura Si+n lungo la traiettoria:
      figure-protocol-3(3)
      Questo vincolo penalizza le deviazioni inefficienti incoraggiando il percorso a rimanere vicino al bordo del corridoio del percorso globale, migliorando la qualità e la sicurezza della pianificazione.
  2. Integrare il vincolo nella funzione di costo TEB modificando il grafico di ottimizzazione TEB originale per includere il vincolo di distanza come fronte aggiuntivo. Modificare la funzione del costo totale in modo da includere un termine ponderato per fos, bilanciamento di fluidità, fattibilità ed efficienza energetica.
  3. Integrare il vincolo nella funzione di costo TEB. Durante l'ottimizzazione, risolvere i punti di traiettoria che riducono al minimo il costo totale, tra cui la velocità, l'accelerazione, la distanza dagli ostacoli e il termine di distanza più breve aggiunto. Utilizza il risolutore sottostante di TEB per ottimizzare iterativamente la traiettoria su N intervalli di tempo. Ottimizzare il percorso considerando il vincolo (vedere la Figura 7).

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Risultati

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Valutazione del miglioramento dell'ORB-SLAM2
Esperimento di estrazione di funzionalità
Per valutare l'efficacia di una fotocamera di profondità RGB-D in scenari pratici, è stato condotto un esperimento di estrazione dei punti caratteristici. Il test è stato progettato utilizzando due ambienti di sfondo distinti, ciascuno dei quali varia nel colore e nella luminosità dell'oggetto per simulare la complessità visiva del mondo reale.

Sia il metodo di estraz...

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Discussione

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le due tecnologie chiave nei sistemi autonomi di navigazione interna per robot mobili su ruote che sono al centro di questo studio sono la localizzazione e la mappatura simultanea visiva (SLAM)16,17 e la pianificazione del percorso18. Il modulo SLAM propone un metodo di selezione gerarchica basato su quadtree per correggere la distribuzione irregolare dei punti di funzionalità di ORB-SLAM2. Per migliorare ...

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Dichiarazioni

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Gli autori dichiarano di non avere conflitti di interesse.

Ringraziamenti

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Vorremmo esprimere la nostra sincera gratitudine al professore associato Kok Hwa Yu dell'Universiti Sains Malaysia per la sua preziosa guida durante questo studio. Apprezziamo anche l'assistenza fornita dal nostro compagno di studi Jingtao Jia dell'Università di Scienza e Tecnologia di Kunming, il cui sostegno ha contribuito notevolmente al successo di questo lavoro.

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Materiali

Elenco dei materiali utilizzati in questo articolo
NomeAziendaNumero di catalogoCommenti
Fotocamera 3D Astra Pro PlusCRBBECNessunoFotocamera 3D
TARKBOT-R20-TWDNessunoNessunoROS Robot

Riferimenti

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Qin, T., Li, P., Shen, S. VINS-Mono: a robust and versatile monocular visual-inertial state estimator. IEEE T Robot. 34 (4), 1004-1020 (2018).
  2. Campos, C., Elvira, R., Rodríguez, J. J. G., Montiel, J. M. M., Tardós, J. D. ORB-SLAM3: an accurate open-source library for visual, visual-inertial and multi-map SLAM. IEEE T Robot. 37 (6), 1874-1890 (2021).
  3. SuperPoint: self-supervised interest point detection and description. DeTone, D., Malisiewicz, T., Rabinovich, A. Proc IEEE Conf Comp Vision Pattern Recognit Workshops, , 224-236 (2018).
  4. SuperGlue: learning feature matching with graph neural networks. Sarlin, P. E., DeTone, D., Malisiewicz, T., Rabinovich, A. Proc IEEE/CVF Conf Comp Vision Pattern Recognit, , 4938-4947 (2020).
  5. Dai, A., Nießner, M., Zollhöfer, M., Izadi, S., Theobalt, C. BundleFusion: real-time globally consistent 3D reconstruction using on-the-fly surface reintegration. ACM T Graphic. 36 (4), 1(2017).
  6. LaValle, S. M. Technical Report No. 98-11. Rapidly-exploring random trees: a new tool for path planning. , Iowa State University. (1998).
  7. Karaman, S., Frazzoli, E. Sampling-based algorithms for optimal motion planning. Int J Robot Res. 30 (7), 846-894 (2011).
  8. Rösmann, C., Hoffmann, F., Bertram, T. Integrated online trajectory planning and optimization in distinctive topologies. Robot Auton Syst. 88, 142-153 (2017).
  9. Fox, D., Burgard, W., Thrun, S. The dynamic window approach to collision avoidance. IEEE Robot Autom Mag. 4 (1), 23-33 (1997).
  10. Chen, Y., Zhong, L., Liu, S. Semantic-aware informative path planning for autonomous exploration with micro aerial vehicles. IEEE T Robot. 38 (5), 3122-3138 (2022).
  11. Kabiri, M., Vos, H., Atia, M. M. 5G-enhanced visual-inertial SLAM for robust localization in GNSS-denied environments. IEEE T Intell Transp Syst. 24 (6), 6421-6435 (2023).
  12. Xu, W., Zhang, F. FAST-LIO2: fast direct LiDAR-inertial odometry. IEEE T Robot. 37 (4), 1150-1166 (2021).
  13. Gammell, J. D., Barfoot, T. D. Informed sampling for motion planning in dynamic environments. Int J Robot Res. 41 (5), 517-540 (2022).
  14. Coleman, D., Srinivasa, S. S. Variable probability sampling for motion planning in narrow passages. IEEE Robot Autom Lett. 8 (2), 1024-1031 (2023).
  15. The NURBS Book. Piegl, L., Tiller, W. , 2nd ed, Springer-Verlag. (1997).
  16. Durrant-Whyte, H., Bailey, T. Simultaneous localization and mapping: part I. IEEE Robot Autom Mag. 13 (2), 99-110 (2006).
  17. Bailey, T., Durrant-Whyte, H. Simultaneous localization and mapping: part II. IEEE Robot Autom Mag. 13 (3), 108-117 (2006).
  18. Zhang, L., Wang, X., Yang, J. Hybrid motion planning for mobile robots using enhanced RRT and dynamic window approach. IEEE T Robot. 39 (2), 1123-1137 (2023).
  19. RRT-connect: an efficient approach to single-query path planning. Kuffner, J. J., LaValle, S. M. Proc IEEE Int Conf Robotics Automat, 2, 995-1001 (2000).

Accesso limitato. Accedi o avvia una prova gratuita per visualizzare questo contenuto.

Ristampe e permessi

Richiedi il permesso di riutilizzare il testo o le figure di questo articolo JoVE

Richiedi permesso

Tag

Corrispondenza delle caratteristicheRicostruzione di nuvole di puntiRapidly Exploring Random TreeTimed Elastic BandOttimizzazione della posaRobot Operating System

Articoli correlati