Quale algoritmo posso usare per costruire una mappa di un'area esplorata usando un numero di sensori a ultrasuoni?


9

I sensori a ultrasuoni sono incredibilmente economici al giorno d'oggi, il che li rende una scelta popolare per molte applicazioni robotiche hobbiste e mi piacerebbe usarne un sacco (diciamo 10) attorno a un robot con un algoritmo per costruire una mappa approssimativa di un'area (come il robot lo esplora.) Non mi interessa occuparmi di oggetti in movimento in questa fase, ma solo di individuare quelli fissi, e userò il GPS per la posizione. Mi rendo conto che altri componenti come uno scanner laser produrrebbero risultati molto più precisi, tuttavia tali dispositivi sono anche astronomicamente più costosi.

Esiste un algoritmo per questo scopo?

Risposte:


5

Gli algoritmi sono essenzialmente gli stessi, indipendentemente dai sensori che si stanno utilizzando.

Il vero problema, su cui Chris ha toccato , è che SLAM è difficile anche con sensori molto buoni.

Considererei il GPS, l'odometria delle ruote e un IMU necessari per tentare di sbattere con gli ultrasuoni.

Se stai solo cercando una localizzazione economica ti consiglio di dare un'occhiata anche allo slam basato sulla visione / Kinect. Sia la webcam che il Kinect sono molto economici e lo slam visivo ha fatto molta strada.

Il Kinect è praticamente il Santo Graal in termini di prestazioni / costo del sensore finché si è in casa.

Ecco un esempio di un kinect su un robot più un sacco di matematica: http://www.youtube.com/watch?v=9Y4RQVpp-BY


6

C'è un'intera area di letteratura su questo argomento. L'idea più generale è quella della localizzazione e mappatura simultanea ( SLAM ), in cui il robot deve costruire una mappa contemporaneamente alla sua localizzazione in quella mappa. A seconda della precisione con cui desideri che le tue mappe siano, puoi tentare un problema più semplice di creazione di una mappa della griglia di occupazione , che presuppone che tu conosca la posizione del robot.

In generale, il GPS è piuttosto orribile, quindi generare una griglia di occupazione semplicemente usando il GPS come fonte di localizzazione primaria genererà mappe piuttosto sfocate. Tuttavia, è possibile integrare il GPS con accelerazione, giroscopi, bussole, telecamere, codificatori di ruote e altri sensori per approssimare una buona posizione nel mondo. Altrimenti, dovrai esaminare un semplice sistema SLAM per gestire i tuoi problemi.

Un bel pacchetto open source g2o , per il cosiddetto GraphSLAM, consente di inserire vincoli come il GPS e la posizione relativa rispetto ai muri. Potrebbe non essere una misura esatta, ma è piuttosto generale.


1
Un ulteriore pensiero sarebbe quello di raccogliere tutti i dati, usando comportamenti di evitamento di base per assicurarsi che il robot non si schiantasse contro nulla, e quindi utilizzare un grafico SLAM di post-elaborazione. Ciò può sfruttare tutti i dati acquisiti, anziché solo i dati precedenti per un punto. Potresti voler dare un'occhiata: openslam.org/ssa2d.html o robots.stanford.edu/papers/thrun.graphslam.html
Barrett Ames,

2

Per eseguire SLAM, avrai bisogno di una stima relativamente buona della posizione.

I robot che utilizzano scanner laser possono accontentarsi della sola odometria, poiché i dati sono relativamente precisi e i dati dello scanner possono essere utilizzati per aiutare a localizzare nelle fasi temporali successive.

I sensori a ultrasuoni sono molto sfocati, generalmente hanno una sfocatura della direzione di 20+ gradi e verrà rilevato qualsiasi cosa nella direzione generale.

Pertanto, sono di aiuto trascurabile nell'aiutare a localizzare (tranne in ambienti molto strutturati).

Una combinazione GPS / IMU può essere utilizzata per ottenere una localizzazione ragionevole. Naturalmente, questo dipende dalla scala del robot e, se è all'interno, il GPS potrebbe non essere pratico.

Se si è in grado di controllare attentamente lo slittamento delle ruote, l'odometria delle ruote può migliorare significativamente la localizzazione a breve termine (sebbene sia preferibile un metodo di localizzazione assoluto). Senza un riferimento assoluto (es. GPS), anche con uno scanner laser, dovrai essere in grado di risolvere il problema della "chiusura del circuito".

Gli ambienti strutturati possono avere un requisito di precisione inferiore. Ad esempio, un ambiente simile a un labirinto con pareti a distanze regolari dalla griglia quadrata, in cui è semplice rilevare la presenza di una parete in ciascuna direzione di una cella della griglia.

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.