Qual è il modo migliore per calcolare la credenza probabilistica di un robot dotato di un sensore di visione?


12

Sto cercando di implementare la pianificazione dello "spazio delle credenze" per un robot che ha una telecamera come sensore principale. Simile a SLAM, il robot ha una mappa di punti 3D e si localizza eseguendo la corrispondenza 2D-3D con l'ambiente ad ogni passo. Ai fini di questa domanda, presumo che la mappa non cambi.

Come parte della pianificazione dello spazio delle convinzioni, voglio pianificare percorsi per il robot che lo portino dall'inizio all'obiettivo, ma in modo che la sua precisione di localizzazione sia sempre massimizzata. Quindi, dovrei campionare possibili stati del robot, senza effettivamente spostarsi lì, e le osservazioni che il robot farebbe se fosse in quegli stati, che insieme (correggimi se sbaglio) formano la "convinzione" del robot , codificando successivamente la sua incertezza di localizzazione in quei punti. E poi il mio pianificatore avrebbe cercato di collegare i nodi che mi davano la minima incertezza (covarianza).

Poiché la mia incertezza di localizzazione per questo robot basato su telecamera dipende interamente da cose come quanti punti funzione sono visibili da una determinata posizione, l'angolo di direzione del robot ecc. Ho bisogno di una stima di quanto sia "cattiva" la mia localizzazione in un determinato campione sarebbe, per determinare se dovrei scartarlo. Per arrivarci, come posso definire il modello di misurazione per questo, sarebbe il modello di misurazione della telecamera o sarebbe qualcosa relativo alla posizione del robot? Come posso "indovinare" in anticipo le mie misurazioni e come posso calcolare la covarianza del robot attraverso quelle misurazioni indovinate?

EDIT: Il riferimento principale per me è l'idea di esplorare rapidamente gli alberi da credenza casuali , che è un'estensione del metodo Belief Road Maps . Un altro documento pertinente utilizza RRBT per una pianificazione vincolata. In questo documento, gli stati vengono campionati in modo simile ai RRT convenzionali, rappresentati come vertici come un grafico, ma quando i vertici devono essere collegati, l'algoritmo propaga la convinzione dal vertice corrente al nuovo (funzione PROPAGATE nella sezione V di 1 ) , ed ecco dove sono bloccato: non capisco fino in fondo come posso propagare la convinzione lungo un limite senza attraversarla e ottenere nuove misurazioni, quindi nuove covarianze dalla localizzazione. Il documento RRBT dice "la previsione di covarianza e le equazioni di aspettativa di costo sono implementate nella funzione PROPAGATE": ma se viene usata solo la previsione, come fa a sapere se ci sono abbastanza funzioni nella posizione futura che potrebbero migliorare / degradare l'accuratezza della localizzazione?


Hai letto della letteratura su questo?
Jakob,

Sì, ho aggiunto alcuni dettagli nella domanda sui documenti pertinenti che ho incontrato.
HighVoltage

Ooooh penso di aver capito. Vorrei parafrasare per vedere se lo capisco e come riferimento per gli altri. Vuoi campionare un'intera regione in modo da poter determinare potenziali visualizzazioni in un gran numero di posizioni, quindi scegliere una serie di posizioni che offre sia un percorso dall'inizio alla fine sia viste che consentono viste di punti di riferimento "buoni" a utilizzare con localizzazione in stile SLAM. La tua domanda è come quantificare quanto sia "buona" o "cattiva" una visione e come quella "vista bontà" si collega alla covarianza. È un giusto riassunto?
Chuck

1
In poche parole, sì! Questo è già stato raggiunto in precedenza nel documento RRBT, ma ho difficoltà a capire la matematica dietro di esso.
Alta tensione

1
Sembra un concetto interessante. Sono su cellulare oggi, ma domani leggerò i giornali e proverò ad entrare. Indovinerò che l'intero algoritmo si basa su ipotesi (credenze) di ciò che pensi di percepire in ogni particolare passaggio , il che significa che le misurazioni effettive non appartengono all'algoritmo ed è per questo che non dovresti aver bisogno di attraversare effettivamente qualsiasi spazio. Sembra che l'intero algoritmo sia costruito intorno a una conoscenza a priori della mappa e dipende da quello per essere accurati per risultati di qualità.
Chuck

Risposte:


2

Utilizzare la localizzazione solo dei cuscinetti per modellare l'informatività della fotocamera e simulare misurazioni senza rumore (ad es. Nessuna innovazione).

Per una serie di ragioni, questo è in realtà un modo teoricamente valido per stimare l'informatività di un percorso.

Esistono molte metriche informative "libere da misurazioni", come la Fisher Information Matrix . Tutto ciò di cui hai bisogno sono le posizioni del robot e le posizioni dei punti di riferimento nella mappa per determinare quante informazioni sulla posizione del robot sarebbero ottenute misurando le posizioni dei punti di riferimento. (O viceversa, l'innovazione delle misure viene applicata sia al target che al robot (è SLAM giusto?), Quindi la stessa metrica funziona per entrambi).

Comincerei con un sensore di rilevamento, poiché si tratta di un buon modello di sensore di visione ben accettato. Capire il "rumore" sulle misurazioni dei cuscinetti assumendo alcuni pixel di errore nel localizzare le caratteristiche nel mondo. Lascia che lo stato del sistema sia la posizione del robot più la sua incertezza, quindi campiona i percorsi (come suggerisci). Da ogni posizione nel percorso campionato, ricalcolo l' incertezza prevista usando la FIM. Questo non è difficile da fare, basta assumere alcun errore nelle misurazioni (cioè, non ci sarà "innovazione" nella convinzione del robot, ma sperimenterai comunque un calo dell'incertezza rappresentato dalla riduzione della covarianza nella stima della posizione del robot. non aggiornare le posizioni o le incertezze dei punti di riferimento, solo per semplificare il problema.

Questo è un approccio abbastanza ben compreso da quello che ricordo nella mia ultima recensione di questa letteratura, ma non crederci sulla parola (recensisci te stesso!). Almeno questo dovrebbe formare un approccio di base facile da simulare. Usiamo il potere della letteratura. Potresti esaminare questa tesi per l'impostazione e le equazioni.

Riassumendo

  1. XΣ
  2. Σio
  3. Lascia che il "costo" della traiettoria sia una combinazione convessa di progresso verso l'obiettivo e l'inverso della covarianza (ad esempio, la matrice di informazioni )

Alcune sottigliezze

Usa il più piccolo vettore di stato che abbia senso. Se puoi presumere che il robot possa puntare la videocamera indipendentemente dal movimento o abbia più videocamere, ignora l'orientamento e traccia la posizione. Procederò solo in posizioni 2D.

Dovrai derivare il sistema linearizzato, ma puoi prenderlo in prestito dalla tesi sopra. assicurati di non preoccuparti di simulare le misurazioni (ad es. se esegui solo aggiornamenti EKF con "misurazioni simulate", supponi che le misurazioni siano vere e senza rumore.

Pio|io-1=FioTPio-1|io-1Fio+Q
P=P-PHT(HPHT+R)-1HP

Se applichiamo l' identità della matrice Woodbury

P-1=P-1+HTR-1H

n

io=Σio=1nHioTR-1Hio

RΣio=1nHioTR-1Hio

HHnX2nn2Rn×nσion×nσ

Qual è l'equazione di misura? Suo

abbronzatura-1yt-yrXt-Xr

tr


Rilassare la ricorsione. Procederei come segue:

  1. Scrivi un algoritmo di ricerca del percorso che trova la sua strada senza considerare l'incertezza.
  2. H
  3. trun'ce(HTRH)
  4. Nota che il risultato corrisponde al FIM della traiettoria (esercizio lasciato al lettore) e che hai determinato correttamente e teoricamente la traiettoria più istruttiva.

Grazie per l'eccellente risposta! In realtà ho seguito un percorso molto simile, usando le metriche basate sulla fotocamera come ipotesi di R combinate con un RRT (di recente stavo pensando di dover rispondere alla mia domanda, ma mi hai battuto!). A proposito, penso che la tua equazione di aggiornamento semplificata avrebbe dovuto contenere inv (R): che equivale a massimizzare la traccia della somma (inv (R)) o minimizzare la somma (R) lungo il percorso (ignorando H)
HighVoltage

Bella presa. Aggiornerò.
Josh Vander Hook,
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.