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.