Introduzione
- 2 -
percorso migliore per raggiungerlo e trasmettevano poi al veicolo una serie di
operazioni che esso doveva eseguire. I laser di cui era dotato permettevano,
tramite due telecamere poste nella parte anteriore del veicolo mobile, il
rilevamento di ostacoli non superabili non individuati a Terra ed il software di
bordo compiva manovre estremamente rudimentali necessarie ad evitarli
Questo modo di operare, dettato dai limiti tecnologici presenti al momento del
progetto della missione, impediva movimenti del veicolo stesso lontani dal
modulo di atterraggio e consent iva una ricostruzione estremamente sparsa
dell ambiente circostante; inoltre la parte decisionale che indirizzava il veicolo
risultava limitata al solo deviare di poco la rotta, ricontrollare la presenza di
ostacoli e quindi proseguire. Basti pensare al ca so realizzatosi nel quale il
veicolo ha tentato di scavalcare una roccia di dimensioni tali da non essere in
realt superabile mettendo a repentaglio l intera missione.
Vi sono pochi altri esempi recenti di applicazione spaziale di questa tipologia
di navigazione che provengono sempre dalla N.A.S.A. quali il Nomad [ 1], ed il
RockyVII [ 2] (che adotta un sistema di navigazione particolarmente simile a
quello qui descritto) e dal M.I.T. quale Pebbles [ 3], a dimostrazione
dell importanza attribuitale.
Sono stati anche creati veicoli di tipo terrestre dotati di navigazione autonoma
quale l HMMWV [4], un furgone modificato dotato di telecamere stereografiche,
navigazione inerziale e GPS.
Scopo di questa tesi Ł dimostrare come anche un veicolo a basso costo possa
essere in grado di muoversi e di superare ostacoli autonomamente in un ambiente
sconosciuto con il solo ausilio delle telecamere, senza intervento umano diretto,
facendo uso di tecniche di analisi di immagini ed algoritmi di navigazione. A
questo scopo si v edr come la scelta sia ricaduta sull’utilizzo di due telecamere
stereografiche. Le immagini ottenute vengono preprocessate da algoritmi che ne
migliorano la qualit e analizzate da un software che, valutando la differente
posizione dei pixel corrispondent i di ogni immagine, calcola la distanza dal
Introduzione
- 3 -
veicolo di ogni punto nell’immagine. Questa semplice operazione Ł in realt la
causa di quasi tutti i problemi nati durante la realizzazione; le immagini devono
essere il piø identiche possibile tra loro come car atteristiche, e si mostrer
l estrema sensibilit dei risultati ottenibili a questa condizione. Inoltre il tempo di
calcolo necessario all ottenimento delle informazioni Ł estremamente elevato a
causa della non ottimizzazione del codice scritto, della limitatezza del processore
a disposizione e non ultimo delle dimensioni e complessit del problema
affrontato. Ridurre i tempi di calcolo avrebbe comportato minore precisione o
addirittura nessun risultato sensato nel caso di alcuni algoritmi sperimentati, che
con le immagini ottenute si comportavano pessimamente.
Le telecamere forniscono immagini molto distorte ai bordi; Ł stato quindi
necessario procedere alla rettificazione2 delle stesse con conseguente perdita di
precisione e di qualit proprio ai bordi e soprattutto negli angoli inferiori, nei
quali il piano Ł piø vicino alle lenti e quindi piø distorto, creando notevoli
problemi nel riconoscere gli ostacoli.
In effetti, prove condotte con immagini perfettamente calibrate disponibili in
database su Interne t e con immagini di sintesi hanno dimostrato come questo
influenzi in maniera notevole la qualit e l attendibilit del risultato.
In realt ulteriori problemi sono nati durante le prove in ambienti reali; spazi
ridotti, superfici riflettenti, ombre o luci in movimento, oggetti in movimento
hanno reso ancora piø difficile il compito a causa delle differenze, anche se
piccole, tra le immagini che per motivi tecnici devono essere prese con un ridotto
ritardo di tempo.
Le informazioni sulla distanza sono proce ssate al fine di identificare zone
dell immagine tutte alla stessa distanza che potrebbero corrispondere ad ostacoli
lungo il cammino. Una serie di criteri basati sulla geometria stereografica, sulle
dimensioni minime di un oggetto, sulla sua posizione nel l immagine stessa, sulla
forma e dimensioni apparenti dell oggetto stesso consentono di rilevare la
2
La rettificazione delle immagini Ł una tecnica atta ad annullare le distorsioni prodotte da
obiettivi grandangolari.
Introduzione
- 4 -
presenza di ostacoli che sono poi catalogati, isolandoli dal semplice piano su cui
il robot si muove e da piccoli errori e piccoli oggetti facilmente superabili.
Un algoritmo di tipo deterministico ricostruisce l ambiente circostante mentre
Ł esplorato, scegliendo la traiettoria migliore per avvicinarsi all obiettivo
evitando gli ostacoli. Il percorso scelto Ł analizzato al fine di inviare i comandi
adatti a d un microprocessore che genera la sequenza di comandi corretta per
pilotare una serie di dieci motori passo -passo che si occupano dell avanzamento
e della rotazione di sei ruote, tramite un circuito elettronico progettato e
realizzato per il caso in esame . Le ruote sono montate su di un cinematismo
mutuato dall esperienza dei prototipi della N.A.S.A. che permette di mantenere
un equilibrio estremamente stabile pur permettendo di sorpassare agilmente
oggetti di altezza pari circa a quella delle ruote stesse , consentendo cos di
concentrarsi solo su ostacoli di una certa grandezza.
La struttura Ł stata realizzata in alluminio per ridurne il peso comunque
risultato elevato e pari circa a venti chili con l elettronica a bordo ed i motori e
riduttori installati.
Questo lavoro presenta diverse caratteristiche in comune con molti dei
progetti citati in precedenza, ma Ł caratterizzato anche da caratteri decisamente
innovativi rispetto agli stessi. Rispetto al Nomad per esempio non sono utilizzati
dei laser oltre al le telecamere per l individuazione degli ostacoli. Il Rocky VII
invece utilizza anch esso solo due telecamere, ma l algoritmo di navigazione Ł
decisamente piø rudimentale di quello utilizzato in questo lavoro. Rispetto al
Sojourner, unico progetto spaziale citato ad essere stato portato a termine, le
innovazioni di questo lavoro sono evidenti sia per quel che riguarda il sistema di
visione sia per quel che riguarda la navigazione.
Anche se il veicolo realizzato Ł adatto ad un utilizzo terrestre, il sistema di
controllo, che Ł il cuore di tutto il progetto, Ł stato realizzato tenendo in
considerazione l ambiente spaziale, infatti si Ł cercato di rendere il sistema
estremamente robusto, in previsione di un utilizzo in un ambiente remoto e di
Introduzione
- 5 -
sfruttare per fare ci le caratteristiche che contraddistinguerebbero un eventuale
missione di esplorazione, e cioŁ l immutabilit dell ambiente esterno in un breve
periodo e le basse velocit che caratterizzano i veicoli progettati per queste
applicazioni.
Nei capitoli 1 e 2 sar affrontata la parte riguardante il software usato per
l’analisi delle immagini e la valutazione della presenza di ostacoli; si
presenteranno gli algoritmi provati e le motivazioni che hanno spinto ad usarli o
no e se ne analizzer il funzionamento. Si illustrer inoltre la parte del software
relativa all individuazione degli ostacoli nella mappa di disparit , utilizzando un
algoritmo di segmentazione e dei criteri basati su considerazioni geometriche.
Nel capitolo 3 si analizzer il software relativ o alla decisione del percorso da
seguire ed il suo funzionamento, mettendo in evidenza gli accorgimenti utilizzati
per migliorarne le caratteristiche.
Nel capitolo 4 si affronter la realizzazione pratica del veicolo prendendo in
considerazione i diversi s ottosistemi. Si analizzer la scelta e la calibrazione
delle telecamere, quindi la struttura ed il particolare tipo di cinematismo
utilizzato per la sospensione. Si analizzeranno quindi i motori scelti per il
movimento del veicolo ed il circuito di control lo degli stessi che Ł stato
progettato e realizzato. Infine si illustrer la scelta del computer di bordo e la
configurazione scelta per quest ultimo.
Nel capitolo 5 si mostreranno le prove cui Ł stato sottoposto il veicolo
analizzando i problemi incontrati e mostrando come sono stati affrontati e risolti.
Infine nel capitolo 6 si trarranno le conclusioni. Si mostreranno pregi e limiti
di questo approccio ed i possibili sviluppi futuri.
Visione
- 7 -
1. Visione
Un sistema di navigazione autonomo deve essere in grado prima di tutto di
identificare la presenza di possibili ostacoli nell ambiente circostante ed inoltre
la relativa distanza dal veicolo. Ci che ci si propone Ł di compiere questa
operazione unicamente con l ausilio di telecamere e la scelta del metodo
influenzer direttamente e profondamente lo sviluppo del resto del sistema di
controllo. In questo capitolo ci si occuper proprio dell algoritmo di visione
utilizzato per valutare la presenza e la relativa distanza degli ostacoli in un
ambiente sconosciuto a prior i. Questo Ł il cuore di tutto il sistema di controllo
del veicolo perchØ fornisce le uniche informazioni sull ambiente esterno
necessarie per la navigazione. Si valuteranno diverse strategie per il progetto di
questo sistema e si descriver in dettaglio qu ella prescelta.
Due telecamere potrebbero parere ridondanti ed, in effetti, una sola
telecamera sarebbe sufficiente ad ottenere le informazioni necessarie; si sono
presi in considerazione due metodi utilizzati recentemente:
1) Luce coerente: si basa sull uti lizzo di un laser. Il procedimento avviene
catturando un’immagine della scena, quindi si accende il laser e se ne cattura
un’altra. Compiendone la differenza algebrica si ottengono delle linee
orizzontali; piø alte sono queste ultime, piø lontani sono i punti corrispondenti
Figura 1.1.
Figura 1.1 - Esempio d utilizzo di luce coerente
Visione
- 8 -
Il problema principale era collimare la luce coerente di un diodo laser su di
una linea. Sarebbe stata necessaria una lente difficile da trovare e,
probabilmente, dall’alto costo.
Un’altra possibilit era per di realizzare un sistema motorizzato, come in
Figura 1.2, complesso dal punto di vista realizz ativo e di difficile
calibrazione.
Figura 1.2 - Luce coerente con specchio
2) Flusso ottico: il flusso ottico Ł un metodo per rappresentare vettorialmente le
velocit di un certo numero di caratteristiche cor rispondenti in una serie
d immagini.
Il flusso ottico di una serie d immagini prese dal finestrino di un veicolo in
movimento, ad esempio, sarebbe del tipo mostrato in Figura 1.3.
Figura 1.3 - Esempio di flusso ottico
Visione
- 9 -
Si pu notare come i punti piø lontani sono fermi mentre quelli piø vicini si
muovono piø rapidamente nella direzione opposta al moto.
Per ottenere queste informazioni occorre per catturare un certo numero
d immagini (minimo due ma Ł normale anche arrivare fino ad otto o piø per
ottenere una precisione superiore); queste devono inoltre essere significative, in
altre parole variare in modo sensibile dall’una all’altra, costringendo a mantenere
una velocit elevata del v eicolo. Occorre inoltre calcolare le derivate parziali
nelle due direzioni dell’immagine. In effetti risultava un metodo estremamente
pesante dal punto di vista computazionale cos da renderlo inutilizzabile ai nostri
scopi.
Le due telecamere costituiscono invece un sistema di visione stereoscopica
concettualmente simile all’apparato visivo umano. Esso si basa sul fatto che
osservando un ambiente tridimensionale da due punti distinti, poco discosti tra
loro, i pixels corrispondenti degli oggetti piø vicini al punto d’osservazione si
spostano, nelle due immagini, in modo maggiore rispetto a quelli d oggetti piø
lontani.
Calcolandone lo spostamento Ł quindi semplice risalire alla distanza reale dei
punti dell’immagine ottenendo la cosiddetta mappa di disparit , in altre parole
una mappa che indica la distanza relativa tra i punti corrispondenti di due
immagini.
Resta da risolvere, per questo tipo d applicazione, il cosiddetto problema della
corrispondenza, in altre parole riconoscere nelle due immagini i pixel che,
corrispondendo allo stesso punto reale, costituiscono una coppia coniugata. A
questo scopo sono stati sviluppati alcuni algoritmi che possono essere raccolti in
quattro categorie:
1) Algoritmi che si basano sulla ricerca di poche e precise caratteristich e
dell’immagine come forti gradienti di luminosit o linee perpendicolari tra
loro, forniscono una mappa di disparit sparsa ma sono estremamente robusti,
precisi e veloci.
Visione
- 10 -
Si segnala ad esempio l’algoritmo KLT (Kanade -Lucas-Tomasi feature
tracker) [5].
2) Algoritmi che si fondano sulla ricerca di zone o finestre delle immagini
simili tra loro, secondo criteri che cambiano tra un algoritmo e l’altro, e
possono utilizzare aree fisse, variabili dinamicamente o euristicamente.
Forniscono mappe di disparit fitte, precise e sono anche veloci; sono per
poco robusti ed estremamente sensibili alla differenza di luminosit delle
immagini, anche se poco dissimili od alla differenza di messa a fuoco.
Da segnalare gli algoritmi SMW (Simmetric Stereo with Multiple Window)
[6] e Ko-Stereo (Kanade-Okutomi Stereo) [7].
3) Algoritmi che cercano una corrispondenza direttamente per ogni pixel. Sono
molto veloci e fitti ma molto imprecisi e poco robusti.
Si porta ad esempio l’algoritmo P2P (Pixel to pixel stereo) [8].
4) Algoritmi che risolvono il problema globalmente, in altre parole cercano,
tramite criteri diversi secondo l algoritmo, di trovare l’intera mappa di
disparit in una volta sola. Sono molto precisi, fitti e robusti a scapito di un
peso computazionale notevole.
La scelta Ł caduta su questo tipo d algoritmi, e piø precisamente sullo
StereoMF (Maximum -Flow Formulation of the N -camera Correspondence
Problem) [9] che sar analizzato in dettaglio in seguito.
Si fa notare come questi algoritmi siano estremamente complessi e frutt o di
uno studio approfondito maturato negli anni. Era dunque impensabile
svilupparne ed implementarne uno autonomamente; Ł stato perci scelto di
utilizzare un algoritmo gi esistente e di adattarlo allo scopo.
S introdurranno quindi nozioni di proiezione prospettica, geometria stereo e a
proposito dei grafi, indispensabili alla comprensione del funzionamento dello
StereoMF.
Visione
- 11 -
1.1 Proiezione prospettica
Prima di affrontare l argomento della geometria stereo occorre introdurre la
relazione tra immagine e posizion e reale degli oggetti per una singola
telecamera.
Le posizioni nell immagine saranno espresse da un sistema di coordinate (x,y)
con origine del centro dell immagine, l asse x diretto da sinistra a destra e l asse
y diretto dal basso in alto come in Figura 1.4:
x
y
Figura 1.4 - Sistema di riferimento dell immagine
Sar poi semplice passare dal sistema (x,y) dell immagine agli indici che
corrispondono alla riga rd ed alla colonna cd dell immagine digitale: se il centro
dell immagine si trova alla riga r0 ed alla colonna c0 si avr :
x ccd
y rrd
+=
=
0
0
Le posizioni nello spazio reale saranno espresse da un sistema (X,Y,Z), con
origine nella lente della telecamera, l asse Z che punta ver so l esterno lungo
Visione
- 12 -
l asse ottico della telecamera, l asse X parallelo a x e l asse Y parallelo a y
(Figura 1.5).
telecamera
lente
X
Z
Figura 1.5 - Sistema di riferimento dello spazio reale
Assumendo che la telecamera proietti un immagine piana e che non vi siano
effetti di distorsione dovuti alle lenti, le seguenti relazioni permettono di passare
dal sistema di riferimento reale a quello dell immagine:
Z
Yf
y
Z
Xf
x
=
=
Queste equazioni sono dette di proiezione prospettica. La costante f Ł la
lunghezza focale della telecamera 3, in altre parole la distanza dal centro ottico
della lente al piano dell immagine. facile notare come queste equazioni non
permettono il passaggio inverso, in altre parole non Ł possibile risalire da
un unica immagine alla posizione reale di un punto nello spazio.
La derivazione geometrica delle formule di proiezione prospettica Ł
estremamente semplice. Una lente si comporta approssimativamente come un
3
La lunghezza focale o distanza focale Ł una grandezza tipica di una telecamera o macchina
fotografica ottica ed Ł definita come la distanza fra la lente e il piano della pellicola. Nelle
telecamere digitali Ł mantenuta come fattore indicato re della capacit di ingrandimento
dell ottica.
Visione
- 13 -
foro di una camera stenopeica4 (modello della telecamera stenopeica); Ł quindi
possibile pensare di tracciare una linea retta da un punto dello spazio, attraverso
il centro ottico della lente, fino sul piano dell immagine. Per un punto posto alla
stessa altezza da terra della t elecamera (in altre parole a Y=0) apparirebbe come
in figura:
x
posizione del punto sull immagine
X
asse X
asse Z
f
Z
centro ottico della lente
piano dell immagine nella telecamera
oggetto (X,Y,Z)
Figura 1.6 - Proiezione di un punto reale attraverso una lente od un foro stenopeico
Si possono facilmente ottenere le relazioni precedenti dall a similitudine dei
triangoli:
Z
X
f
x
=
PoichØ uno spostamento lungo l asse Y non influisce su x la relazione vale
anche se Y non Ł nullo. La seconda relazione si ottiene in modo analogo.
4
La camera stenopeica Ł il principio su cui si basa una qualsiasi macchina fotografica che Ł
composta da una camera in una delle cui pareti Ł praticato un foro da cui possono entrare i raggi
luminosi provenienti dall esterno. Sulla parete opposta al foro si proietta un immagine rovesciata
della scena esterna alla camera. Questo principio Ł quello che sta alla base di ogni ottica.
Visione
- 14 -
Dalla Figura 1.6 parrebbe che l asse x sia diretto da destra a sinistra, opposto
all asse X. In realt l immagine formata sul piano della telecamera Ł invertita sia
orizzontalmente sia verticalmente e ribaltata solo in seguito.
Il metodo piø semplice per tenerne conto Ł quello dell im magine virtuale, che
si trova davanti alla lente invece che dietro e rappresenta ci che in definitiva Ł
visto (Figura 1.7).
oggetto (X,Y,Z)
x
X
asse X
asse Z
f
Z
centro ottico della lente
piano virtuale dell immagine nella
telecamera
Figura 1.7 - Metodo dell immagine virtuale
¨ solo un mo do differente di modellare la telecamera ma che permette di
lavorare in modo piø semplice ed intuitivo. Anche in questo caso si ottengono
con gli stessi ragionamenti le relazioni di proiezione prospettica.
Ovviamente queste ultime valgono solo se le quanti t sono misurate nelle
stesse unit di misura. Normalmente si misurano le distanze nell immagine in
unit di pixel mentre il mondo reale si misura in qualcosa come millimetri o
metri. Quindi le equazioni sono valide solo si conoscono il valore della distanza
focale in pixel, cosa che si ottiene tramite un processo detto di calibrazione5
5
La calibrazione di una telecamera prevede la taratura di tutti quei parametri necessari
all ottenimento di immagini di buona qualit . Nel nostro caso sar necessario provvedere alla
calibrazione di due telecamere in modo che le immagini riprese siano piø simili possibile fra loro.
Visione
- 15 -
della telecamera, in altre parole compiendo una misura di un immagine di un
oggetto di dimensioni e posizione note.
La calibrazione di una telecamera in realt prevede anche la correzione della
distorsione dell immagine e delle irregolarit della parte sensibile della
telecamera, realizzata a livello di software e di cui si parler piø ampiamente
nella parte relativa alle telecamere stesse.