Localizzazione Monte-Carlo


8

Sto implementando la localizzazione Monte-Carlo per il mio robot a cui viene fornita una mappa dell'ambiente, della sua posizione iniziale e dell'orientamento. Il mio approccio è il seguente:

  1. Crea uniformemente 500 particelle attorno alla posizione data
  2. Quindi ad ogni passaggio:
    • motion aggiorna tutte le particelle con odometria (il mio approccio attuale è newX = oldX + odometryX (1 + standard GaussianRandom), ecc.)
    • assegnare il peso a ciascuna particella usando i dati del sonar (la formula è per ogni probabilità del sensore * = gaussianPDF (realReading) dove gaussian ha la previsione prevista media)
    • restituisce la particella con maggiore probabilità come posizione in questo passaggio
    • quindi 9/10 di nuove particelle vengono ricampionate da quelle vecchie in base ai pesi e 1/10 viene campionato uniformemente attorno alla posizione prevista

Ora, ho scritto un simulatore per l'ambiente del robot ed ecco come si comporta questa localizzazione: http://www.youtube.com/watch?v=q7q3cqktwZI

Temo molto che per un lungo periodo di tempo il robot possa perdersi. Se aggiungi particelle in un'area più ampia, il robot si perde ancora più facilmente.

Mi aspetto una prestazione migliore. Qualche consiglio?


Le prestazioni mostrate nel video sono buone, considerando un singolo sensore sonar. Hai un video di esempio sulla perdita del robot?
Demetris,

In realtà ci sono 5 sonar, direi comunque che va bene? Non ho un video del robot che si perde, ma lo proverò oggi su un vero robot.
Andrei Ivanov,

Non mi è chiaro quale sia la tua preoccupazione. Il PF che hai implementato sembra funzionare bene. Forse puoi essere più dettagliato su ciò che pensi sia il problema.
Demetris,

Si prega di non porre la stessa domanda su più siti di scambio di stack . Se chiedi accidentalmente sul sito sbagliato, può essere migrato a quello corretto.
Mark Booth

1
Benvenuti in Robotica Andrei Ivanov. Allo stato attuale non è chiaro quale sia la tua vera domanda qui. Preferiamo domande pratiche e di risposta basate sui problemi reali che affronti . Dai un'occhiata a Come chiedere e tour per ulteriori informazioni su come funziona lo scambio di stack e pensa a come puoi modificare la tua domanda per renderla più rispondente.
Mark Booth

Risposte:


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.