1. Introduzione 2
1.2 Veicoli esploratori
La conquista dello spazio da parte dell’uomo si avvale quindi di una nuova
concezione di esplorazione, basata sull’utilizzo di sistemi autonomi in grado
di muoversi in ambienti sconosciuti e di svolgere attivita´ di ricerca scientifica.
L’importanza di questi veicoli esploratori e´ enorme dal punto di vista
scientifico dato che permettono l’esplorazione di pianeti, satelliti, comete
che sarebbero attualmente inaccessibili all’uomo, fornendo un quantitativo
di informazioni di rilevante interesse.
Esistono diversi progetti di veicoli esploratori, ma solo il Sojourner [3]
(mostrato in figura 1.1) finora e´ stato lanciato (su Marte) e ha funzionato
perfettamente. Nella missione Mars Pathfinder della NASA, l’obiettivo era
quello di atterrare su Marte e di analizzare, fotografare ed esplorare una
prestabilita zona. Il funzionamento del Sojourner e´ piuttosto semplice e si
Figura 1.1: Sojourner
basa sulle immagini che vengono acquisite dal lander. Per gli scopi di questo
lavoro, gli aspetti piu´ interessanti da considerare riguardano maggiormente il
metodo di navigazione ed il sistema di sensori che permette l’individuazione
degli ostacoli.
Per quanto riguarda la traiettoria da compiere, il Sojourner seguiva un
percorso impostato da Terra e composto da una serie di target scelti basan-
dosi sulla ricostruzione tridimensionale della zona da esplorare ottenuta dalle
immagini stereometriche fornite dalla coppia di telecamere presente sul lan-
der e posta a circa un metro e mezzo dal suolo. La scelta del percorso era
quindi affidata agli operatori di Terra, i quali impostavano una traiettoria
attraverso la definizione di punti guida che segnavano i nodi di una spezzata.
Nell’eseguire un tratto del percorso, il Sojourner operava autonomamente,
1. Introduzione 3
con l’unico scopo di partire dal punto in cui si trovava per raggiungere un
punto finale.
Durante il moto, il veicolo era in grado di individuare eventuali ostacoli
presenti sulla traiettoria impostata e in tal caso riusciva, attraverso il sistema
di navigazione, ad evitarli, sempre avendo come obiettivo il raggiungimento
del punto finale preimpostato. L’individuazione degli ostacoli era affidata ad
un sistema che sfruttava l’utilizzo combinato di sensori laser e di immagi-
ni acquisite da una coppia di telecamere monoculari, che non prevedevano
alcuna analisi stereometrica.
Per ricostruire la posizione durante gli spostamenti, il Sojourner utilizzava
inoltre un sistema di potenziometri e per capire meglio la conformazione del
terreno si basava sull’odometria, analizzando i dati ottenuti dai sensori posti
ai nodi delle articolazioni del cinematismo delle ruote.
Un’importante caratteristica di questo mezzo, che poneva seri limiti alla
sua autonomia, era l’impossibilita´ di spaziare aree troppo grandi, dato che
il vincolo principale consisteva nel restare entro un certo raggio dal punto in
cui si trovava il lander. Questo fa capire come il Sojourner fosse molto limi-
tato in autonomia e come le future missioni, per esplorare zone piu´ ampie,
avrebbero dovuto pensare a migliorare questo aspetto.
Un secondo progetto degno di nota e´ il Rocky 7 [4] (mostrato in figura
1.2), che si puo´ ritenere una normale evoluzione del Sojourner.
Figura 1.2: Rocky7
Il Rocky 7 e´ un prototipo che migliora notevolmente i punti deboli del So-
journer, implementando un nuovo sistema di navigazione in grado di garan-
1. Introduzione 4
tire un’autonomia piu´ elevata. Come per il Sojourner, anche ora vi e´ la
necessita´ di appoggiarsi a Terra per stabilire i punti guida del percorso, solo
che in questo progetto non si e´ piu´ vincolati al lander ed in particolare alle
sue telecamere stereometriche. Infatti ora il lander funzionerebbe solamente
da antenna con la Terra, mentre la ricostruzione dell’ambiente in 3D con la
stereometria ottica viene effettuato da una coppia di telecamere poste al-
l’estremita´ di un braccio posizionato proprio sul Rocky 7. Questo significa
incrementare notevolmente l’autonomia di movimento, dato che la panora-
mica della zona da esplorare ha come punto centrale il veicolo stesso. In
questo senso il vincolo che prima si aveva con il Sojourner, ora e´ completa-
mente annullato. Resta comunque ancora il problema di trasmettere i dati al
lander, che rappresenta l’unico vincolo in termini di area esplorabile ancora
presente.
Il moto del Rocky 7 e´ gestito da sei ruote vincolate da un cinematismo che
permette il sollevamento da terra di qualsiasi ruota lasciando le altre cinque
appoggiate. Questo metodo e´ molto funzionale in previsione di dover supe-
rare piccoli ostacoli senza per forza evitarli. Tutte e sei le ruote sono motrici
e a differenza del Sojourner solo le due ruote di vertice possono ruotare sul
posto, mentre le altre possono solo ruotare attorno al loro asse. Questo
accorgimento, che impedisce di fatto semplici rotazioni sul posto, porta ad
avere solo otto motori (invece di dieci) per controllare il moto delle ruote,
rendendo piu´ semplice la gestione delle operazioni da parte del computer di
bordo. I motori non usati per il moto vengono utilizzati per gestire il braccio
mobile sia delle telecamere stereometriche (il braccio e´ a tre gradi di liberta´
e puo´ ripiegarsi fino a scomparire, in modo da non limitare il funzionamento
dei pannelli solari) che della strumentazione, posta anteriormente al veicolo.
La navigazione e´ gestita ancora da Terra, tramite l’impostazione di punti
guida, solo che ora tra un punto iniziale ed uno finale, il veicolo riesce a valu-
tare la presenza o meno di ostacoli e ad impostare una traiettoria ottimale per
il superamento degli imprevisti. A differenza del Sojourner, il Rocky 7 utiliz-
za due telecamere stereo per individuare gli ostacoli eventualmente presenti
ed abbandona l’utilizzo di sensori laser. Le immagini che acquisisce vengono
processate e ridotte fino a 64 x 60 pixels, in modo da ridurre notevolmente
i fenomeni di distorsione che risultano molto ridotti al centro dell’immagine
stessa.
Durante la navigazione, il moto e´ ricostruito da molti altri sensori. Le
telecamere hanno solo la funzione di individuare gli ostacoli, mentre per gli
spostamenti si utilizzano sensori giroscopici (da inizializzare periodicamente
a causa della deriva che li affliggono), potenziometri ed un sensore di sole,
che serve all’orientamento vero e proprio del veicolo. Anche ora si sfrutta
l’odometria.
1. Introduzione 5
Partendo dal progetto Rocky 7, si e´ infine giunti alla realizzazione di due
missioni, MER A e MER B [6], il cui scopo sara´ quello di portare su Marte
due veicoli, Spirit e Opportunity (mostrati in figura 1.3), i quali avranno
lo scopo di esplorare il pianeta in maniera del tutto autonoma, muovendosi
su aree molto piu´ estese rispetto a quelle raggiungibili dal Sojourner, dato
che rispetto a quest’ultimo i due sistemi non dovranno piu´ dipendere da un
lander e potranno comunicare direttamente con la stazione di Terra.
Figura 1.3: Veicoli Spirit e Opportunity
Il sistema di navigazione sara´ affidato a diversi sensori, tra cui sei tele-
camere, adibite sia all’individuazione di ostacoli che alla ricostruzione del ter-
reno, piattaforme inerziali e all’uso dell’odometria. La navigazione avviene
in maniera del tutto autonoma, ed i veicoli avranno come scopo quello di
raggiungere un determinato punto stabilito dagli operatori a Terra. Il come
verra´ raggiunto l’obiettivo sara´ deciso dal computer di bordo, valutando, in
base alla configurazione del terreno, la traiettoria migliore. Le telecamere
montate sui veicoli hanno diverse funzioni. Innanzitutto un paio sono poste
all’estremita´ di un braccio e hanno lo scopo di ricostruire l’ambiente cir-
costante (compito che svolgeva il lander nella missione Pathfinder) utilizzan-
do la stereometria ottica, mentre le altre quattro sono poste, a coppie di due,
davanti e dietro il veicolo, permettendo l’individuazione di eventuali ostacoli
in entrambe le direzioni (si veda la figura 1.4).
1. Introduzione 6
Figura 1.4: Sistema sensoriale dei veicoli Spirit e Opportunity
I progetti riportati finora sono tutti di origine americana e sono stati
sviluppati alla NASA. Esistono comunque anche studi analoghi condotti in
Europa, presso l’ESA, che riguardano lo sviluppo di sistemi autonomi finaliz-
zati all’esplorazione planetaria. Il piu´ importante e´ sicuramente il progetto
ExoMars [5], che prevede il lancio su Marte di un veicolo con funzionalita´
analoghe a quelle riscontrate nei progetti NASA.
Focalizzando l’attenzione solamente sul veicolo esploratore (riportato in
figura 1.5), si analizzeranno i suoi sistemi legati alla navigazione autonoma
in modo da poter comprendere come il lavoro qui svolto si collochi rispetto
al progetto europeo.
Figura 1.5: Rappresentazione artistica del veicolo autonomo della missione
ExoMars
Il veicolo e´ dotato di diversi sensori che permettono di ottenere una
navigazione autonoma e sicura da un punto di partenza ad uno di arrivo.
La navigazione si basa su un sistema sensoriale costituito da tre giroscopi,
due accelerometri ed un sensore di sole e l’utilizzo di una coppia di telecamere
1. Introduzione 7
stereografiche e´ finalizzato alla determinazione di eventuali ostacoli presenti
sul percorso ed alla ricostruzione tridimensionale dell’ambiente circostante.
La determinazione del punto di arrivo e´ proprio ottenuta in seguito ad una
valutazione dei dati forniti da questo sistema di visione, che resta l’unico
modo per ottenere una panoramica del sito da esplorare. L’utilizzo di due
telecamere e´ quindi simile a quello che si aveva per il Rocky 7 e per le mis-
sioni Mer: tutte le informazioni servono a vedere cosa circonda il veicolo e
permettono agli operatori di Terra di effettuare le migliori scelte sulla zona
da esplorare. Il Sojourner resta quindi il primo e unico sistema vincolato
al lander e data l’importanza che viene data all’autonomia esplorativa di un
veicolo, probabilmente restera´ anche l’ultimo.
Il sistema sensoriale adottato, unito all’utilizzo dell’odometria, e´ in grado
di ricostruire il moto compiuto dal veicolo, mentre l’uso delle telecamere e´
confinato all’individuazione degli ostacoli ed alla determinazione della mor-
fologia dell’ambiente.
1.3 C.A.S.I.M.I.RO
Il progetto C.A.S.I.M.I.RO (Cheap Automated Stereo Images environMent
Identification ROver) e´ un prototipo di veicolo autonomo adibito all’esplo-
razione planetaria e consiste nella realizzazione di un mezzo che sia in gra-
do di muoversi in un ambiente sconosciuto in maniera autonoma, stabilendo
delle traiettorie che gli permettano di raggiungere dei punti prestabiliti senza
affidarsi a nessun tipo di controllo remoto.
Il progetto che si presenta in questa tesi e´ l’evoluzione di un lavoro [1],
iniziato nel 1999, che ha portato alla realizzazione ed alla costruzione di un
veicolo autonomo (mostrato in figura 1.6 ed allo sviluppo di un software di
navigazione e di controllo.
1.3.1 Progetto iniziale
Prima di sviluppare gli aspetti innovativi e le evoluzioni apportate al progetto
C.A.S.I.M.I.RO, conviene descrivere lo stato iniziale dal quale parte l’intera
analisi descritta in questo lavoro.
Il C.A.S.I.M.I.RO e´ un veicolo fisicamente simile al Rocky 7 (dal quale per
esempio ha copiato il cinematismo delle ruote), dotato di due telecamere come
unici sensori disponibili e che viene mosso da sei ruote motrici comandate
attraverso dieci motori passo passo. Le ruote permettono, a differenza del
Rocky 7, il compimento di rotazioni sul posto, dato che ora tutte e quattro le
ruote di vertice possono ruotare su se stesse e non solo attorno al proprio asse
1. Introduzione 8
Figura 1.6: Veicolo C.A.S.I.M.I.RO
(come quindi poteva fare il Sojourner). Il controllo di tutte le operazioni e
dei movimenti e´ gestito da un computer di bordo (gia´ testato per applicazioni
spaziali): il PC 104. In particolare i movimenti sono comandati dal computer,
ma gestiti da un circuito elettrico realizzato ad hoc per il progetto in esame.
Il circuito e´ infatti in grado di generare le manovre richieste operando solo con
due comunissimi microprocessori programmabili, dei PIC 16F84, coadiuvati
da una serie di array di transistor.
Le caratteristiche principali del software programmato sono quelle di:
• utilizzare un sistema di visione stereometrica per l’individuazione degli
ostacoli. A differenza del Rocky 7 pero´, questo sistema prevede l’analisi
dell’intera immagine senza ridurla, cercando di annullare gli effetti della
distorsione. I risultati ottenuti sono stati molto interessanti e garan-
tiscono l’individuazione di ostacoli entro un range massimo di circa un
metro.
• stabilire una traiettoria in grado di evitare eventuali pericoli presen-
ti sul percorso. Come nei casi studiati precedentemente, anche ora e´
presumibile l’impostazioni di una traiettoria da Terra, tramite punti
guida. Il progetto in esame quindi si focalizza sul raggiungere un certo
punto, stabilito in fase di programmazione, partendo da una posizione
iniziale. La generazione di una traiettoria ed il raggiungimento del pun-
to prestabilito, sono a completo pannaggio del sistema di navigazione
del veicolo, il quale indipendentemente da qualsiasi aiuto esterno, deve
essere in grado di completare il percorso previsto. Questo anche in caso
di ostacoli o perturbazioni durante il suo moto. Il C.A.S.I.M.I.RO e´ in
1. Introduzione 9
grado di generare traiettorie molto semplici ma funzionali, in grado di
garantire un percorso sicuro con un numero molto limitato di mano-
vre. Di fatto si utilizzano solo tre tipologie di spostamenti: rotazioni
composte da multipli di ± 45◦ e due tipi di avanzamenti.
• ricostruire il moto attraverso l’odometria, contando il numero di passi
effettuati dalle ruote.
1.3.2 Punti deboli del sistema
Pur avendo introdotto un’idea innovativa, il C.A.S.I.M.I.RO era affetto da
vari problemi che ne limitavano la funzionalita´, rendendolo inadatto in di-
verse situazioni. Innanzitutto il solo impiego dell’odometria per ricostruire
il moto e´ risultato troppo limitativo, dato che in presenza di slittamenti e di
rotazioni a vuoto il sistema non e´ in grado di capire quale sia il moto corretto
ed inevitabilmente sbaglia. Inoltre la generazione della traiettoria necessita-
va dei miglioramenti, cos´ı come il circuito di gestione dei motori, finalizzati
a rendere meno rigido il sistema di navigazione. Infatti uno dei problemi del
C.A.S.I.M.I.RO era quello di dover comporre traiettorie con delle manovre
base troppo elevate. E´ piuttosto chiaro infatti che la composizione di per-
corsi con l’unico impiego di rotazioni multiple di 45◦ non puo´ che fornire una
tipologia di movimenti che mal si adatta a situazioni in cui si hanno con-
figurazioni di ostacoli complicate, dato che la manovrabilita´ ne risulterebbe
limitata. Un miglioramento in questo senso e´ percio´ sembrato opportuno e
di fatto permesso l’esecuzione di percorsi piu´ funzionali.
1.4 Aspetti innovativi del lavoro
Il lavoro svolto introduce importanti innovazioni al progetto C.A.S.I.M.I.RO,
migliorando il sistema sotto diversi punti di vista.
Innanzitutto si e´ realizzato un sistema di visione artificiale in grado di
permettere al veicolo di capire come si sta muovendo. Questa innovazione
si discosta notevolmente dai sistemi analizzati precedentemente (Rocky 7,
MER ed ExoMars) dato che ora le telecamere non vengono piu´ utilizzate solo
per determinare gli ostacoli, bens´ı anche per risalire al moto del veicolo. In
questo senso il sistema di visione e´ superiore ai precedenti progetti, dato che
oltre a permettere di compiere le stesse analisi gia´ evidenziate (individuare
gli ostacoli), introduce la possibilita´ di vedere il moto proprio del veicolo.
L’algoritmo che si e´ realizzato si basa sulle immagini acquisite dalle due
telecamere, gia´ impiegate per l’individuazione degli ostacoli, e sfrutta un
1. Introduzione 10
sistema di individuazione e tracciamento di punti caratteristici, tramite il
quale, da una analisi degli spostamenti nel piano delle immagini dei punti
considerati (quindi da una analisi di quello che verra´ definito flusso ottico), si
puo´ riuscire a risalire al moto delle telecamere stesse. Da quest’informazione
si puo´ in seguito ottenere il moto del veicolo, che ora non risulta piu´ affetto
dai problemi individuati precedentemente dovuti al solo impiego dell’odome-
tria. Le telecamere sono inoltre state calibrate, quindi le immagini vengono
ora correttamente rettificate ed impiegate a anche nel sistema di individua-
zione degli ostacoli. Questa innovazione ha permesso di ottenere risultati
nettamente migliori.
Per quanto riguarda il sistema di navigazione, questo e´ stato completa-
mente rifatto, cambiando il tipo di approccio al problema e basandosi su
un metodo a campi di potenziale. Quando il veicolo individua un ostacolo,
questo esercita una forza repulsiva che tende a respingerlo, imponendogli uno
spostamento in una certa direzione. Di contro, il punto di arrivo e´ origine di
un sistema di forze attrattivo, che tende a far avvicinare il veicolo. Con l’ag-
giunta poi di altri modelli, che hanno come scopo quello di sistemare alcuni
problemi relativi alla metodologia usata, si riescono ad ottenere percorsi che
permettono al veicolo di muoversi da un punto iniziale ad uno finale anche
in situazioni in cui la configurazione degli ostacoli e´ piuttosto complessa.
Questo sistema e´ inoltre molto versatile, dato che in base alla posizione del
veicolo sulla mappa, il passo da compiere e´ diretta conseguenza del campo che
agisce in quel punto. Si abbandona quindi l’idea di individuare e di seguire
una traiettoria che unisce il punto di partenza con quello di arrivo, lascian-
do il veicolo libero di impostare ad ogni passo la direzione di spostamento
che piu´ preferisce. Questo implica che eventuali errori negli spostamenti non
comportano piu´ l’introduzione di manovre correttive, ma semplicemente l’ag-
giornamento della posizione ed il relativo calcolo del campo agente.
Per migliorare la manovrabilita´ del veicolo e poter cos´ı sfruttare comple-
tamente le caratteristiche del nuovo sistema di navigazione, e´ stato proget-
tato un nuovo circuito di controllo dei motori, che permette il compimento
di diverse manovre di entita´ minore delle precedenti, permettendo cos´ı di
compiere qualsiasi tipo di passo nella direzione voluta. Piu´ precisamente,
ora le rotazioni vengono ottenute da mini rotazioni base di 1◦, 2◦ o 3◦, men-
tre gli avanzamenti si riducono da 20 a 5 cm. Questi passi base permettono
di discretizzare in maniera ancora piu´ fine il moto e, aspetto molto importan-
te, garantiscono una ottima compatibilita´ con il sistema di visione artificiale.
Inoltre si e´ progettato il circuito in modo da poter comandare separatamente
ogni ruota dalle altre, permettendo cos´ı l’introduzione di manovre differen-
1. Introduzione 11
ziate (nel presente lavoro ad esempio si sono analizzate le rotazioni sul posto
differenziando il moto delle ruote di vertice rispetto a quelle centrali).
1.5 Struttura del lavoro
Nel capitolo 2 si spiegheranno i metodi sui quali si basa il sistema di visione
artificiale, descrivendo i concetti base della stereometria ottica e di proiezione
prospettica, spiegando anche approfonditamente il concetto chiave di flusso
ottico. Si analizzera´ inoltre il sistema di individuazione degli ostacoli ed
infine si riportera´ il metodo che ha permesso la calibrazione delle telecamere.
Nel capitolo 3 si descriveranno i modelli ed i metodi analizzati per realiz-
zare il sistema di navigazione, riportando diversi esempi numerici e descriven-
do anche le modalita´ di funzionamento dell’algoritmo rispetto all’intero pro-
gramma. In particolare si analizzeranno le metodologie che permettono al
sistema di capire quando bloccare la navigazione per valutare nuovamente la
presenza di eventuali nuovi ostacoli. Inoltre si e´ posta particolare attenzione
nell’analisi dei problemi che sono insorti nel passare dal sistema numerico al
caso reale.
Il capitolo 4 e´ dedicato al progetto del circuito di controllo dei motori.
Inizialmente, dopo una breve introduzione sui motori passo passo, si de-
scrivera´ il modo in cui sono state realizzate le nuove manovre, spiegando ad
esempio come poter ricavare rotazioni differenziate. Una seconda parte e´ de-
dicata alla realizzazione vera e propria del circuito, descrivendo i vari integrati
che lo compongono e mostrando gli schemi di collegamento progettati.
Le parti fin qui analizzate sono principalmente improntate su una anali-
si teorica. Al contrario, il capitolo 5 si occupa solo dei principali problemi
realizzativi che si sono incontrati. Particolare attenzione e´ stata posta nel-
l’analisi della conversione dei dati forniti dal sistema di visione artificiale,
mentre una seconda parte si occupa interamente delle problematiche sorte
nella programmazione dei microprocessori del circuito dei motori.
Tutte le prove sperimentali, volte a verificare il corretto funzionamento
del sistema di visione e di navigazione sono riportate nel capitolo 6, mentre
le conclusioni ed i possibili sviluppi futuri si possono leggere al capitolo 7.