DIST - GRAAL - Genoa Robotics And Automation Laboratory 
8
Tuttavia l’utilizzo di telecamere (anche a basso costo quali webcam) determina un 
incremento dei costi del sistema a causa della necessità di equipaggiare il robot con 
apposito hardware (di costo non trascurabile) per l’acquisizione di immagini e la 
relativa elaborazione. 
In alternativa all’uso di telecamere, recentemente sono state proposte alcune 
interessanti soluzioni prototipali a basso costo, basate sull’impiego dei sensori presenti 
all’interno dei comuni mouse ottici di uso corrente. 
A partire da tali esempi realizzativi, nell’ambito della tesi è stato studiato e sviluppato 
un dispositivo sensoriale ottico basato sul sensore del mouse ottico.  
  
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
9
 
 
Capitolo 1 
 
La localizzazione 
 
Nell’ambito della robotica mobile con il termine “localizzazione” ci si riferisce alla 
problematica orientata a fare in modo che un robot autonomo conosca sempre e con la 
massima precisione possibile la propria posizione.  
Quello della localizzazione è perciò uno dei problemi fondamentali che ciascun robot 
deve preventivamente risolvere, prima di poter essere in grado di muoversi 
autonomamente nell’ambiente circostante. Per poter raggiungere una nuova 
destinazione, il robot deve infatti prima conoscere la propria posizione corrente.  
Per localizzarsi il robot può contare su diverse tipologie di dispositivi di bordo, 
riconducibili a due grandi classi: quelli finalizzate a misurare il movimento relativo e 
quelli che consentono di ottenere/estrarre informazioni assolute dall’ambiente.  
I dispositivi del primo tipo permettono una “localizzazione relativa”: il robot effettua 
una stima della strada percorsa mediante sensori di bordo a partire da una posizione 
nota di partenza.   
Nel secondo caso, “localizzazione assoluta”, il robot sa sempre dove si trova, o perché 
ha una mappa dell’ambiente nel quale si muove e ne sa riconoscere oggetti di cui 
conosce la posizione assoluta, oppure perché l’ambiente stesso può essere strutturato in 
modo da offrire servizi per la localizzazione assoluta. 
Il primo scenario sarebbe preferibile in termini di autonomia, perché non prevede 
assunzioni a priori sull’ambiente in cui il robot opera e consentirebbe al robot di 
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
10
localizzarsi sulla base di soli sensori di bordo. Purtroppo però è molto difficile tener 
traccia della posizione del robot mentre si muove: ci sono imprecisioni causate dai vari 
sensori utilizzati per la localizzazione e dalla natura stessa dell’ambiente, che può 
determinare spostamenti del robot non rilevabili dai sensori.  
Il secondo caso porta chiaramente a risultati più precisi, ma la sua applicabilità è 
fortemente dipendente dalle caratteristiche dell’ambiente. 
 
1.1 Il ruolo dell’ambiente 
 
Le caratteristiche fisiche dell’ambiente in cui il robot deve operare (marino, terrestre o 
spaziale) introducono problematiche specifiche che condizionano significativamente le 
tecniche ed i dispositivi di localizzazione utilizzabili.  
In questo lavoro è stata presa in considerazione la localizzazione in ambiente terrestre. 
A sua volta, l’ambiente terrestre presenta delle differenze a seconda che il robot debba 
muoversi in ambiente outdoor o indoor.  
Nel primo caso esiste una soluzione piuttosto diffusa che consiste nell’equipaggiare il 
robot con un ricevitore GPS (Global Position System): il dispositivo a bordo del robot 
riceve un’informazione di distanza da un numero variabile (dipendente dalla copertura 
nella zona) di satelliti geostazionari e con tecniche standard di triangolazione 
implementate a bordo dello stesso dispositivo GPS riesce ad ottenere l’informazione di 
longitudine, latitudine ed altitudine del punto in cui il robot si trova sulla superficie 
terrestre. Malgrado l’accuratezza del dato GPS e la sua disponibilità dipendano dalla 
copertura satellitare nella zona di interesse, in molte applicazioni la presenza di un dato 
assoluto (sebbene con una risoluzione dell’ordine del metro) è sufficiente a garantire un 
significativo livello di autonomia al robot. 
Diversa è la situazione in ambiente indoor, poiché la non disponibilità del dato GPS 
impone l’utilizzo di tecniche e dispositivi alternativi.  
 
 
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
11
1.2 I metodi di localizzazione terrestre in ambiente indoor 
 
I sensori di localizzazione in ambiente indoor possono essere suddivisi in due classi: 
sistemi di localizzazione assoluta e relativa. 
 
1.2.1 Sistemi di localizzazione assoluta 
 
Analogamente a quanto avviene con i satelliti per il GPS in ambiente outdoor, i sistemi 
di localizzazione assoluta ottengono la posizione del robot grazie alla presenza di 
“elementi di riferimento” assoluti (Landmark) distribuiti nell’ambiente in cui il robot 
opera.  
I Landmark sono features (letteralmente caratteristiche) dell’ambiente, che comunicano 
la propria posizione al robot o che il robot è in grado di rilevare e riconoscere. Nel 
primo caso si parla di Landmark attivi, nel secondo di Landmark passivi. 
• Landmark attivi: più noti come boe (beacons), sono Landmark in grado di inviare 
attivamente al robot informazioni sulla propria posizione. Il robot riceve il dato 
trasmesso dal Landmark e successivamente sarà in grado di calcolare la propria 
posizione con tecniche di triangolazione. 
• Landmark passivi: non trasmettono la propria posizione e quindi il robot deve 
cercarli autonomamente per localizzarsi nell’ambiente. Attraverso l’analisi dei 
dati forniti dai sensori a bordo, un robot determina l’esistenza di un Landmark 
ed esegue successivamente un confronto con le informazioni raccolte a priori 
sulla posizione del Landmark stesso. Attraverso tali informazioni, il robot è in 
grado di localizzarsi con successo. Si differenziano in Landmark artificiali, creati 
appositamente per la localizzazione, e naturali, che fanno parte dell’ambiente di 
lavoro. 
Malgrado i sistemi assoluti siano certamente efficaci e consentano di ottenere discreti 
livelli di precisione, il difetto principale nel loro utilizzo sta nella loro “invasività”, nel 
senso che essi prevedono di attrezzare preventivamente l’ambiente in cui il robot si 
dovrà muovere.  
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
12
1.2.2 Sistemi di localizzazione relativa 
 
I sistemi di localizzazione relativa (detti anche Dead Reckoning), sono i più utilizzati e 
diffusi; tali sistemi basano le stime della posizione sulla base di misure del moto 
effettuate da sensori a bordo del robot. La loro semplicità realizzativa, la non invasività 
nell’ambiente e l’economicità li renderebbero preferibili a sistemi di localizzazione 
assoluta. Tuttavia, poiché ogni misura è ottenuta a partire dalle precedenti, nei sistemi 
di localizzazione relativa gli errori crescono con il tempo, durante la fase di movimento 
del robot, e quindi l’accuratezza della stima decresce con il passare del tempo.  
Tra le tecniche più diffuse di localizzazione relativa è giusto citare l’odometria, il 
sensore ottico ed il sensore inerziale. 
• Odometria: l’odometria (o Ricostruzione Odometrica) lavora integrando nel 
tempo le informazioni acquisite sul movimento. Attraverso l’impiego di encoder 
sulle ruote del robot si è in grado di ricostruire la distanza percorsa e la direzione 
di navigazione. In genere ciò avviene misurando il numero di rivoluzioni delle 
ruote del robot nell’intervallo di tempo del movimento. La semplicità è il pregio 
fondamentale dell’odometria, che garantisce misure rapide e poco costose in 
termini computazionali. Tuttavia essa è pesantemente afflitta da errori 
sistematici: l’attrito, lo slittamento delle ruote sul terreno e l’eventuale 
imprecisione degli encoder. In particolare, piccoli errori sull’orientamento del 
robot si ripercuotono come ampi errori sulla posizione. 
• Sensori ottici: nella navigazione tramite sensori ottici, il robot presenta una 
telecamera fissa che inquadra l’ambiente. Ad ogni determinata frequenza 
vengono raccolte delle immagini e tramite il confronto tra un’immagine e la 
precedente vengono determinate la velocità corrente del robot e la direzione di 
spostamento. Tale metodo presenta pesantezza computazionale causata dagli 
algoritmi di image processing che deve supportare e ha dei limiti funzionali 
determinati dall’eccessiva sensibilità della stima in funzione delle condizioni di 
luminosità dell’ambiente circostante. 
• Sensore inerziale: è un insieme di sensori che misurano le forse inerziali generate 
dal movimento di un oggetto. La navigazione inerziale è fondata sulle misure di 
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
13
accelerazione di velocità angolare del corpo rispetto ad un sistema inerziale. La 
posizione è ottenuta essenzialmente integrando misure di accelerazione da 
accelerometri. Ne servono tanti quanti i GdL del moto: due se è piano, in 
direzioni ortogonali; altrimenti tre per un moto libero.  Inoltre, a causa della 
forza centrifuga agente sul corpo, sono necessari i giroscopi per calcolare la 
sequenza di trasformazioni. Questo tipo di sensore è molto costoso e viene 
prevalentemente utilizzato in ambiente marino. 
A partire dall’analisi dei limiti delle diverse tecniche di localizzazione indoor, in questo 
lavoro si è scelto di ricercare una soluzione relativa (in quanto più economica e non 
invasiva) che riducesse il più possibile le problematiche intrinseche dell’odometria e dei 
sensori di tipo ottico. 
Chiaramente il dispositivo sensoriale studiato, in quanto relativo, è anch’esso soggetto 
nel tempo ad una divergenza degli errori di misura. La stima della posizione dovrà 
quindi periodicamente essere aggiornata sulla base di altre informazioni di natura 
assoluta. Tuttavia l’idea è quella di ottenere un dispositivo con una buona “autonomia 
temporale”, nel senso che risulti sufficientemente affidabile per un lungo periodo, 
riducendo così il più possibile la frequenza degli aggiornamenti con un dato assoluto. 
Come precedentemente descritto, l’ambiente indoor può presentare delle caratteristiche 
fisiche che compromettono l’utilizzo dei sistemi odometrici (superficie liscia come nel 
caso di parquet o molto frastagliata come nel caso della moquette). Per ovviare a tale 
problema, permettendo l’impiego del robot su tutte le superfici esistenti, è preferibile 
utilizzare il sistema che si basi su informazioni di tipo ottico.  
 
1.3  Localizzazione mediante sensori ottici 
 
I primi esperimenti di impiego di sensori ottici per la localizzazione di un robot 
sfruttavano il principio del flusso ottico [2, 3], utilizzando una telecamera montata a 
bordo del robot e rivolta nella direzione di marcia.   
Questo tipo di soluzione, però, presenta prestazioni molto dipendenti dalle condizioni 
di luminosità dell’ambiente in cui il robot opera e può quindi portare a errori anche 
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
14
significativi se l’immagine da acquisire è troppo (o troppo poco) esposta alla luce solare 
o a quella artificiale. 
Recentemente in letteratura il problema è stato affrontato rivolgendo la telecamera 
verso il pavimento ed impiegando una luce controllata che illuminasse il tratto di 
superficie interessato dalla ripresa. Questa soluzione, ottima in termini di accuratezza 
(in quanto garantisce una messa a fuoco molto precisa ed una risoluzione alquanto 
soddisfacente anche con telecamere a basso costo quali webcam), prevede però la 
presenza di apposito hardware (di costo non trascurabile) per l’acquisizione e 
l’elaborazione delle immagini acquisite.  
L’utilizzo della telecamera che inquadra il pavimento permette inoltre la realizzazione 
di una tecnica di navigazione molto accurata, seppur relativamente costosa. Tale 
tecnica, chiamata Mosaicking [4, 5], necessita di una scheda video, di una scheda di 
memoria e di parte della CPU da dedicare a calcoli onerosi (se fatti funzionare in real 
time). 
Il funzionamento di questa tecnica è suddiviso in due modalità differenti: la prima, 
operante in real time, comporta l’acquisizione tramite una telecamera della mappa 
dell’ambiente durante il movimento. 
Nella modalità off line, invece, il sensore acquisisce inizialmente l’intera mappa, 
occupandosi in un secondo momento della navigazione, durante la quale agiscono due 
processi di localizzazione complementari che lavorano in parallelo. Un processo 
effettua il controllo tra l’immagine acquisita e quella precedente per verificare 
l’avvenuto movimento mentre l’altro accerta che l’immagine in esame presenti le stesse 
caratteristiche visibili nella medesima immagine all’interno della mappa. 
Nonostante queste caratteristiche, il Mosaicking è soggetto ad errori divergenti nel 
tempo e deve essere accoppiato ad un meccanismo di localizzazione assoluta, che 
garantisce una maggiore robustezza. 
Questa tecnica è difficilmente applicabile al robot verso il quale è orientato il lavoro (a 
causa del costo dei componenti necessari) ed è di difficile impiego in ambiente interno a 
causa della presenza di numerosi ostacoli. Per questi motivi è solitamente impiegato in 
ambiente sottomarino.  
 
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
15
Nel tentativo di ottenere risultati soddisfacenti ma dal costo notevolmente inferiore, 
sono state impiegate due tecniche differenti: la prima prevede l’applicazione di un 
mouse ottico al posto della telecamera, in modo da sfruttarne il funzionamento per 
calcolare lo spostamento del robot. Il mouse, a contatto col pavimento, limita 
enormemente i possibili campi di applicabilità, in quanto per sua natura deve strisciare 
sulla superficie e non può in nessun modo evitare gli ostacoli che si potrebbero 
presentare sul suo cammino.  
La seconda tecnica, invece, prevede l’utilizzo del solo sensore, separato dal mouse, 
studiando l’ottica opportuna nel tentativo di aumentarne l’altezza da terra, per ovviare 
al problema elencato in precedenza. 
Entrambe le tecniche offrono caratteristiche simili alla telecamera, ma presentano costi 
notevolmente minori (due o tre ordini di grandezza). 
Verranno in seguito elencati i lavori realizzati fino ad ora, alcuni ([6, 7]) non 
particolarmente interessanti, altri più significativi. Di questi ultimi è presente una 
descrizione più dettagliata. 
In [8] viene descritto per via teorica il possibile funzionamento del mouse ottico 
applicato al robot per lo studio dello spostamento. Vengono affrontati i vantaggi ed i 
limiti di tale impiego, affermando che il mouse ottico è un buon sensore di rilevamento 
odometrico a basso costo ma presenta limiti di velocità, sebbene un miglioramento del 
design del chip possa portare a risultati più accurati. 
Un approccio pratico viene proposto in [9]: il mouse è stato fissato al centro delle ruote 
del robot, le quali permettono unicamente un andamento di tipo rettilineo. Putnam, 
accorgendosi della limitatezza del numero di applicazioni del proprio progetto, ha 
menzionato tra gli sviluppi futuri la possibilità di elevare il mouse da terra impiegando 
un’ottica opportuna. 
In [10] è stato impiegato direttamente il sensore ottico, abbandonando l’idea di 
utilizzare l’intera struttura del mouse. In realtà il lavoro è stato centrato 
prevalentemente sullo studio teorico, posticipando le prove pratiche agli sviluppi futuri. 
E’ stato scoperto che l’illuminazione, rispetto agli assi X e Y, influenza la sensitività del 
mouse: la soluzione adottata è stata quindi quella di illuminare la scena da entrambe le 
direzioni, aumentando notevolmente il grado di precisione del sensore. La notevole 
differenza tra questo lavoro e gli altri è che esso prevede un sensore sensibile alla luce 
  
 
 
 
DIST - GRAAL - Genoa Robotics And Automation Laboratory 
16
laser, notoriamente più potente (in termini di luminosità) ed efficace del led. Tutti i 
test condotti hanno dato risultati soddisfacenti: la velocità di acquisizione dati è pari a 
50 mm al secondo e la distanza da terra è di 51 mm. La struttura è stata mantenuta fissa 
ed è stato fatto scorrere sotto di essa vari tipi di superfici, come moquette, linoleum e 
legno, che presentano un alto grado di rugosità, rendendo l’acquisizione dati 
notevolmente facilitata. 
In [11] viene presentato un lavoro molto complesso che tra i vari argomenti tratta la 
navigazione in ambiente interno, impiegando un sensore di tipo ottico, sollevato da 
terra, al quale è stata accoppiata la lente prelevata da una webcam. L’illuminazione della 
scena è stata effettuata da un fascio di led, di colore bianco, posti pressoché 
verticalmente rispetto all’ottica. L’impiego di questo sistema di navigazione è 
solamente centrato su superfici molto dettagliate, come nel caso della moquette. Lo 
sviluppo futuro proposto dagli autori del progetto è quello di accoppiare l’informazione 
ottenuta osservando il pavimento con quella ottenuta da una videocamera USB che 
inquadra continuamente il soffitto, il quale deve necessariamente presentare delle 
features note. 
Di particolare importanza è stato il lavoro [12], che ha ispirato la realizzazione effettiva 
della nostra tesi. In questo progetto è stato impiegato un sensore accoppiato ad un’ottica 
che ne garantisse il funzionamento ad una certa distanza da terra. L’illuminazione, 
garantita da un led ad infrarossi collocato in un tubo regolabile, è posto in maniera 
pressoché coassiale con la struttura ospitante il sensore. I test presentati nel lavoro 
dimostrano come ci sia una notevole differenza (in termini di messa a fuoco e 
precisione) tra le immagini acquisite dal mouse con quelle acquisite dal sensore ad un 
paio di centimetri da terra. Cody, nelle conclusioni del proprio lavoro, ha garantito il 
possibile impiego nella navigazione robotica per quanto riguarda il riconoscimento del 
movimento, nonostante i problemi legati alla messa a fuoco. 
Conclusioni simili sono state ottenute in [13], nel quale gli autori hanno provato a 
riprodurre fedelmente quanto descritto sopra ed hanno verificato che, sebbene il sensore 
riesca a riconoscere il movimento, non sia in grado di calcolarlo, a meno che le superfici 
su cui si muove il robot non presentino numerose e vistose features, come avviene nei 
marker.