Download - Presentazione Tesi De Franceschi Daniel
UNIVERSITÀ DEGLI STUDI DI TRIESTEFACOLTÀ DI INGEGNERIA
Dipartimento di Elettrotecnica, Elettronica ed Informatica
Tesi di Laurea in
”PROGRAMMAZIONE DEI CALCOLATORI”
”Navigazione di un robot mobile e autolocalizzazione
con riferimenti visivi”
Laureando:De Franceschi Daniel
Relatore:Prof. Massimiliano Nolich
Introduzione
Navigazione di un robot mobile con percorso minimo tra due punti data una mappa nota
Autolocalizzazione con riferimerimenti visivi per la correzione degli errori odometrici
Motivazione: effettuare navigazione con localizzazione
Il robot mobile utilizzato per la verifica della autolocalizzazione è su ruote ed è dotato di:
Sensori di prossimità
Webcam
Motori con sensori odometrici
Robot fisico
Strumenti software impiegati
Ambiente Player-Stage Librerie OpenCV (librerie orientate alla
computer vision) Algoritmo Dynamic Planar Warping (DPW)
preesistente in C++
Dynamic Planar Warping (DPW)
Basato sul Dynamic Time Warping algoritmo di ricerca di correlazione tra campioni monodimensionali di ”segnali”
Il DPW applica il medesimo procedimento a immagini bidimensionali in scala di grigio
Fasi del progetto
1)Navigazione in ambiente simulato in Java data la mappa dell'ambiente
2)Localizzazione da riferimenti visivi incapsulando da Java il DPW realizzato in C++
3)Disposizione riferimenti visivi e test sulle prestazioni del metodo (nel caso di singola coppia di riferimenti visivi)
1) navigazione
1.1) Calcolo del percorso minimo tra due punti Caricamento mappa Costruzione del grafo Calcolo percorso minimo tramite Dijkstra
1) navigazione
1.2) Missione di navigazione. Per ogni tratta: Lettura dei sensori Verifica dell'arrivo Rotazione verso l'obbiettivo (se nella vicinanza
non ci sono ostacoli) oppure allontanamento dall'ostacolo (se il robot è troppo vicino a un ostacolo)
1) Navigazione
2) Localizzazione
2) Localizzazione
2) Localizzazione Acquisizione immagine
Estrazione dei landmark e caricamento delle strutture dati Scala di grigi Filtratura Blob-finder
Calcolo distanza dai landmark tramite DPW
2) Localizzazione●Localizzazione del robot mediante Triangolazione
●Calcolo dell'angolo di rotazione del robot
3) Test: errore di distanza
-1,000 -0,500 0,000 0,500 1,000 1,500
-1,000
-0,500
0,000
0,500
1,000
1,500
2,000
Validi
3) Test
Gli errori sulla distanza mettono in luce che: Sono abbastanza limitati (compresi tra i 3[cm] e i 33
[cm], in media 15 [cm])
Non sembra che ci siano correlazioni tra distanza dai landmark ed errori
X <= 0,05 0,05 < x <= 0,10 0,10< x<= 0,15 0,15 < x <= 0,20 0,20 < x <= 0,25 0,25 < x <= 0,30 x > 0,30
0
1
2
3
4
5
6
7
8
9
10
Numero errori sulla distanza per in-tervallo
Istrogramma di distribuzione degli errori sulle distanze (in metri)
3) Test
Gli errori sugli angoli sono piuttosto limitati (errore medio di 5°)
x <= 3 3 < x <= 6 6 < x <= 9 9 < x <= 12 x > 12
0
2
4
6
8
10
12
Numero errori sull'angolo per intervallo
Istrogramma di distribuzione degli errori sugli angoli (in gradi)
Limiti algoritmo DPW
L'algoritmo DPW presenta dei limiti qualora le coordinate y sono ”negative” e qualora il robot sia parallelo agli assi di diferimento assoluti.
Soluzione proposta: Muovere il robot
Altre possibilità: Inserimento di un terzo riferimento visivo Utilizzo di più coppie di riferimenti
Lavoro svolto
Realizzazione della navigazione in Java e test in simulato
Studio geometria del problema e DPW in C++ Realizzata la localizzazione in Java tramite
integrazione del DPW in C++ Test algoritmo localizzazione
Conclusioni e sviluppi futuri
La navigazione è stata simulata. Localizzazione visiva:
Errore medio di distanza pari a 15 cm Errore medio dell'angolo pari a 5°
Sviluppi futuri: Navigazione del robot reale Autolocalizzazione con più landmark Confronto dell'autolocalizzazione con altre tecniche
di stima della distanza dai riferimenti visivi