La relazione tra mappe di nuvole di punti e mappe grafiche


9

Conosco molto bene le mappe SLAM che sono nuvole di punti, di solito sotto forma di un vettore come . Capisco anche come creare una mappa come questa usando un EKF.<X,y,θ,f1X,f1y,...,fnX,fny>

Oggi mi sono imbattuto in un formato di file .graph , che come ti aspetteresti è costituito da vertici e bordi nel formato:

VERTEX2 id x y orientation

EDGE2 observed_vertex_id observing_vertex_id forward sideward rotate inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr

So che esiste una connessione tra matrici e grafici (ad esempio una matrice di adiacenza). Ma non mi è chiaro come questo formato grafico di una mappa sia equivalente a una mappa di nuvole di punti che conosco.

Qual è la relazione? I vertici sono sia pose che punti di riferimento? Sono in un quadro di riferimento globale? Come viene creato da informazioni sulla velocità e un sensore di portata / rilevamento? Esiste una trasformazione tra una mappa grafica e una nuvola di punti?

Risposte:


4

Come indicato nella descrizione del formato del file, è per gli approcci SLAM basati su grafici. Questi lavorano per ridurre al minimo l'errore di una rete di vincoli di posa. Puoi pensarlo in questo modo: ci sono un numero di frame di riferimento (i tuoi vertici) e quindi hai conoscenza della trasformazione tra questi frame. Queste trasformazioni sono associate a un'incertezza. I framework di ottimizzazione del grafico di posa come ad esempio TORO , HogMan , G2O e così via ti daranno quindi la massima probabilità delle posizioni dei vertici, dati i vincoli.

In termini pratici di robot, questo di solito significa:

  • Ogni robot posa al momento ha il suo frame di riferimento e quindi il verticepKK
  • A seconda del tuo approccio, puoi anche aggiungere punti di riferimento come vertici. Non è necessario tuttavia.
  • Ogni volta che ottieni nuove informazioni sulla relazione tra due pose, le aggiungi al grafico del vincolo. Ad esempio, la tua odometria ti darà una trasformazione tra e .pKpK+1
  • Se il tuo approccio funziona in base a punti di riferimento, aggiungi trasformazioni ai punti di riferimento. Se conosci solo la posizione del tuo punto di riferimento, imposti un'alta incertezza sulle informazioni di rotazione della tua trasformazione.
  • Se il tuo approccio non è a conoscenza di punti di riferimento, ad es. Hai grandi nuvole di punti che abbini a ICP, puoi aggiungere i risultati ICP al tuo grafico dei vincoli.

I vincoli di posa sono normalmente memorizzati come matrici sparse di dimensioni dove è il numero di vertici (di nuovo pose robotiche e punti di riferimento) nel grafico.n×nn

Il formato del file stesso fornisce le ipotesi iniziali per la posizione dei vertici con VERTEX2(per i modelli 2D) e VERTEX3(per i modelli 3D). Non puoi mescolare i due. I vincoli vengono aggiunti in modo da specificare la trasformazione tra i frame di riferimento (vertici) dati da from_ide to_id. La trasformazione è dato da uno EDGE2e EDGE3come traslazione e rotazione in angoli di Eulero, nonché la matrice di informazione dell'incertezza. In questo caso, la matrice di informazioni è l'inverso della matrice di covarianza per il vettore di trasformazione .[Xyzrotolointonazionestraorzata]

A seconda del framework, in genere uno dei vertici è collegato a un frame di riferimento globale.

Gli ottimizzatori del grafico di posa basati sul grafico sono considerati backend SLAM. Il modo in cui si generano i vincoli, ad es. Dalla portata dei dati, è un problema di front-end. C'è una bella panoramica in queste note di lezione .


1

C'è un post sul forum con alcune informazioni più chiare sul formato. Sembra che i valori del nodo del grafico siano stime iniziali delle auto-pose e che i bordi codifichino i vincoli di posa come rappresentato dal filtro informazioni , il doppio del filtro Kalman.

Da quello che posso dire, questo formato di mappa include solo informazioni di auto-posa e non punti di riferimento, quindi non ci sarebbe una conversione diretta da una mappa di nuvole di punti.


1
Si prega di chiarire la differenza tra informazioni sulla posa e punti di riferimento. In generale, i punti di riferimento sono stimati dalla loro posa.
Josh Vander Hook,

1
Durante un simultaneo processo di localizzazione e mappatura, di solito si mantengono le stime della propria posizione e orientamento mentre ci si sposta attraverso l'ambiente, nonché quelli di diversi punti identificabili nell'ambiente che sono generalmente considerati stazionari, spesso indicati come punti di riferimento. Stime accurate della posa per i punti di riferimento aiutano a ridurre l'incertezza nella propria posa e viceversa. Ciò a cui mi riferivo come informazione di posa erano i vincoli sull'auto-posa, sebbene potessero in realtà essere derivati ​​da calcoli che coinvolgono punti di riferimento.
surtur,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.