Capitolo I I robot mobili
2
del moto. E pertanto evidente il carattere interdisciplinare della robotica che si
articola nelle aree culturali della meccanica, dell elettronica, dell informatica e
dell automatica.
Negli ultimi anni si Ł andato allargando il dominio applicativo dei sistemi robotici,
rispetto ad un contesto puramente industriale, con soluzioni robotizzate realizzate per
molteplici attivit di supporto per l’uomo che rientrano nell ambito della robotica di
servizio, quali ad esempio la pulizia di grandi superfici di edifici pubblici,
l’assistenza ai disabili, il sostegno operatorio al medico in chirurgia.
Nei campi applicativi della robotica di servizio, i sistemi robotici mobili,
prevalentemente su ruote, sono di importanza centrale.
Tali sistemi devono per affrontare e risolvere div erse nuove problematiche, quali:
1) l’acquisizione e la fusione di molteplici dati sensoriali per qualificare l’ambiente e
l’effettivo stato di progresso dell’azione dei robot;
2) il dover garantire la capacit di funzionamento autonomo anche a fronte di
condizioni operative incerte;
3) il rispetto di specifiche di sicurezza piø stringenti, in quanto lo spazio di lavoro Ł
condiviso con operatori umani;
4) la gestione della complessit di sistema legata alla necessit di dover conciliare i
molteplici blocchi comportamentali richiesti per garantire il raggiungimento
dell obiettivo.
L’approccio a queste complesse problematiche Ł stato possibile anche grazie ad un
considerevole avanzamento nelle tecnologie meccaniche (locomozione), elettroniche
(sensori, attuatori) ed informatiche (interfacce d’utente, elaborazione distribuita).
1.2 Caratteristiche generali dei robot mobili
I robot mobili rappresentano uno dei piø recenti sviluppi all interno del settore
generale della robotica e, per la specificit delle problematiche che pongono e la
novit dei campi di applicazione che aprono, ne dis egnano uno dei temi di ricerca piø
affascinanti e complessi. A differenza dei robot che operano in ambienti industriali i
robot mobili sono principalmente destinati ad operare in ambienti non strutturati, le
Capitolo I I robot mobili
3
cui caratteristiche non sono note a priori. In conseguenza di ci , il paradigma di
funzionamento di un robot mobile si basa in larga misura sulla capacit del sistema
di compiere, in maniera autonoma, scelte e decisioni che consentano di ottimizzare il
proprio comportamento in relazione alle circostanze e al compito da svolgere.
Per potersi muovere in ambienti non strutturati il robot deve:
• conoscere la propria posizione (Navigazione);
• eseguire le opportune manovre richieste per raggiungere il traguardo
desiderato, compatibilmente con la propria cinematica (Guida).
• stimare l errore della propria posizione;
• riconoscere posti o oggetti familiari;
• reagire in tempo reale.
Queste specifiche rappresentano la base per un corretto funzionamento di un sistema
di navigazione autonoma.
Dal punto di vista funzionale, un robot mobile pu essere definito come un sistema
dotato delle seguenti caratteristiche:
• mobilit (relativa ad un certo ambiente);
• abilit percettiva (percepire l ambiente e reagire all ambiente);
• un certo livello di autonomia.
Un robot mobile va dunque visto come un sistema complesso, sia concettualmente
che tecnologicamente, nella cui struttura si integrano almeno quattro sottosistemi:
• sistema di locomozione (che permette al robot di muoversi nell ambiente);
• sistema di percezione (che permette di misurare lo stato dell ambiente
circostante o il proprio stato interno);
• unit di elaborazione (che permette la traduzione d elle misure provenienti dai
sensori in azioni);
• sistema di comunicazione (tra robot e operatore esterno).
Il sistema di locomozione Ł strettamente legato all ambiente di lavoro, quindi deve
essere dimensionato in maniera da garantire un movimento armonico ed efficace.
Il sistema di percezione Ł anch esso vincolato all ambiente operativo e, in genere, si
basa su tecniche di visione artificiale che adottano telecamere analogiche o digitali,
on-board o off-board, per avere una mappa dettagliata dell ambiente circostante. Tali
tecniche comportano un onere computazionale eccessivo che grava sul
Capitolo I I robot mobili
4
funzionamento real-time del robot. L alternativa piø immediata risulta essere
l impiego di sensori di prossimit che consentono l a percezione degli oggetti e una
stima della loro distanza. In ambienti particolarmente strutturati, per , i limiti
operativi dei sensori di prossimit rendono imprati cabile tale soluzione.
A prescindere dal sistema di percezione, l agilit del robot Ł fortemente influenzata
dall unit di elaborazione. La soluzione piø immedi ata risulta quella di montare a
bordo del robot la componentistica necessaria all elaborazione dei dati al fine di
ottenere accesso diretto ai sensori ed agli attuatori da parte dell unit di controllo.
Tale soluzione comporta un consumo notevole di energia che si traduce in una
limitata autonomia del robot. Si tende, pertanto, a installare a bordo i componenti
necessari per un elaborazione dei processi a tempo critico, in modo da rendere
indipendente la loro esecuzione dagli errori e dai ritardi introdotti dal canale di
comunicazione, lasciando ad un unit esterna quei processi che richiedono grosse
capacit di calcolo [6]. Risulta pertanto evidente il ruolo svolto dal sistema di
comunicazione sulle prestazioni dell intera architettura di controllo. L utilizzo di un
cavo semplifica il protocollo di comunicazione, garantisce una maggiore velocit di
esecuzione e fornisce un elevato grado di robustezza a scapito della mobilit del
robot, fortemente limitata dalla presenza della connessione fisica. Tale limitazione
pu essere facilmente superata adottando un sistema di comunicazione wireless che,
tuttavia, comporta un maggior appesantimento del protocollo e una minore efficienza
nella comunicazione.
1.3 Navigazione autonoma di robot mobili
La storia della robotica autonoma affonda le sue radici in un progetto piø ampio di
intelligenza artificiale che aveva ed ha tutt ora la pretesa di realizzare sistemi simili
alla natura umana negli aspetti riguardanti soprattutto il ragionamento.
Il primo approccio, che prese forma nel corso degli anni 70, Ł il cosiddetto
approccio classico , che interpretava il sistema d i controllo del robot come un
aspetto indipendente dalla struttura fisica del robot stesso. Nel corso del tempo ci si
Capitolo I I robot mobili
5
allontana da questa interpretazione ravvisando un cambio di tendenza che vede
l integrazione tra struttura fisica e sistema di controllo come nuova chiave di lettura.
1.3.1 Approccio classico
Nella visione "classica" si assume che un sistema autonomo sia costituito da 3
moduli, indipendenti tra loro, eseguiti sequenzialmente: percezione, pianificazione e
azione (figura 1.1).
Questo approccio Ł stato applicato agli albori della robotica autonoma: l idea di
fondo era quella di evitare la ricerca di un sistema che risolvesse ogni tipo di
problema, ma di un algoritmo di controllo che operasse solo in relazione a
determinate specifiche pianificando una sequenza di azioni appropriata.
Tale metodo, definito planning , Ł stato applicato con successo in diversi settori,
tuttavia nel caso del controllo di robot mobili ha prodotto risultati piuttosto deludenti.
Una prima ragione la si pu riscontrare prendendo i n considerazione il
funzionamento del pianificatore. Esso, infatti, non Ł in diretto contatto con
l ambiente, ma riceve una descrizione filtrata dal sistema percettivo che difficilmente
fornisce una rappresentazione esatta dell’ambiente dal momento che i sensori
ricorrono molto spesso a misure indirette soggette ad errori.
Figura 1.1: Schematizzazione del planning
Capitolo I I robot mobili
6
Un ulteriore problema sta nel fatto che le precondizioni, durante l esecuzione di un
piano, possono modificarsi in maniera del tutto inaspettata. In questi casi
l esecuzione corretta del piano non pu essere gara ntita, dal momento che viene
sviluppato sulla base di una descrizione dell ambiente valida solo prima
dell’esecuzione del piano stesso.
1.3.2 Navigazione reattiva
Rodney Brooks propone un approccio radicalmente nuovo alla robotica autonoma,
che si distanzia in maniera sostanziale dall approccio classico [8].
L architettura del sistema di controllo non Ł piø fondata su una serie di moduli
funzionali che si passano le informazioni in maniera seriale, ma piuttosto in una serie
di moduli che definiscono comportamenti semplici (figura 1.2). Questo approccio Ł
conosciuto con il nome di behaviour-based robotics.
Ogni livello Ł rappresentato da una funzione di controllo che connette lo stato dei
sensori con i comandi da inviare agli attuatori, nel modo piø diretto possibile.
Un sistema di navigazione viene implementato a partire dal livello piø basso: il
primo comportamento Ł di non muoversi in una direzione dove i sensori hanno
rivelato un ostacolo. Il secondo livello cerca di dirigersi verso una direzione precisa,
senza preoccuparsi degli ostacoli, affidandosi al fatto che il livello inferiore si
Figura 1.2: Approccio Behavior-based
Capitolo I I robot mobili
7
occuper di modificare i comandi alle ruote per imp edire collisioni. Il terzo livello
pu cercare di portare a termine un compito piø com plesso, come la ricerca di oggetti
specifici, e cos via.
Ad esempio, se il compito del robot Ł quello di raggiungere un target, se non vi sono
ostacoli il robot sar governato da un modulo compo rtamentale che lo fa proseguire
diritto per la sua strada. Nel momento in cui i suoi sensori verranno attivati dalla
presenza di un ostacolo, il controllo passer al mo dulo che gestisce tale situazione,
per tornare allo stato precedente una volta superato l ostacolo. In questo modo il
comportamento complessivo del robot, non Ł determinato da una sequenza di azioni
pianificata off-line, ma Ł il risultato di un interazione, spesso molto complessa, di
tutti i sotto-comportamenti di cui Ł dotato. Ne deriva che il robot non ha una
rappresentazione esplicita e completa dell ambiente, ma solo rappresentazioni
parziali e ogni volta differenti, in relazione alla rilevanza che hanno nel modulo
comportamentale.
Il codice di controllo che ne deriva risulta essere di facile progettazione e
manutenzione, nonchØ esile e quindi non gravosa dal punto di vista computazionale.
Il limite principale di tale strategia di navigazione risiede, tuttavia, nell impossibilit
di simulare, con modelli matematici, il corretto funzionamento; in realt tale limite
non pregiudica l efficienza dell approccio reattivo in quanto una verifica completa
risulta impraticabile anche nell approccio classico, dal momento che richiederebbe
l analisi dell intera casistica delle situazioni ch e si potrebbero verificare
nell ambiente operativo.
1.4 Finalit della ricerca scientifica
Non si assiste ancora, in robotica, alla diffusione di massa di robot personali,
contrariamente a quanto Ł avvenuto per i calcolatori. La robotica avanzata ha infatti
permesso la sola realizzazione di prototipi come il robot Asimo (prodotto dalla
Honda) capace di afferrare oggetti e scendere le scale grazie ad un sofisticato
meccanismo di bilanciamento del baricentro, e il cane-robot AIBO (prodotto dalla
Capitolo I I robot mobili
8
multinazionale Sony) con minori potenzialit ma con un mercato piø ampio,
mostrato in figura 1.3.
Le motivazioni che spingono l avanzamento della
conoscenza in questo settore vanno oltre la realizzazione
di tali prototipi. Esse vanno dalla necessit di ri correre
ad automi per indisponibilit dell operatore umano, alla
opportunit di sviluppare prodotti che migliorino l a
qualit della vita.
Ne sono un chiaro esempio il robot mobile URMAD,
realizzato sotto il coordinamento del Gruppo Artslab della Scuola Superiore S. Anna
di Pisa come sostegno alle persone disabili capace di muoversi autonomamente in un
ambiente parzialmente noto (come potrebbe essere un appartamento o un ospedale) e
il robot AGROBOT, dotato di un complesso sistema di visione e di un braccio
meccanico adatto alla coltivazione in serra, realizzato dall’Universit di Genova.
Allo stato attuale della ricerca Ł quasi impossibile trovare un robot con forti capacit
esecutive e con l’autonomia necessaria a muoversi in ambienti non strutturati o
scarsamente strutturati.
Le attivit di ricerca sono per questo orientate:
• all ottimizzazione funzionale dei robot;
• a sistemi di visione on-board;
• alla pianificazione dei compiti e dei movimenti di robot cooperanti;
• allo studio di sistemi robotici per la locomozione umana;
• alla realizzazione di robot mobili su gambe per la locomozione in ambienti
non strutturati.
In merito a tali problematiche, il Progetto Roboti ca ha gi prodotto circa 1400
pubblicazioni scientifiche a livello internazionale, circa 200 prototipi, piø di 200
sistemi software, 19 brevetti e ben 300 tesi di laurea.
Nonostante i tagli effettuati alla ricerca scientifica, quindi, i risultati sia in termini
qualitativi che quantitativi non sono certo mancati.
Figura 1.3: Robot AIBO
Capitolo II Il robot mobile Khepera II
9
IL ROBOT MOBILE KHEPERA II
Contenuto: Questo capitolo descrive la struttura modulare del robot Khepera II
trattando dapprima la configurazione base per poi passare alla
descrizione delle torrette ausiliarie.
2.1 Khepera II: piattaforma base
Il Khepera Ł un robot sviluppato nel 1992 da un team di ricercatori della Swiss
Federal Institute of Technology Lausanne (EPFL) come supporto alla ricerca
scientifica e all insegnamento come previsto dal Programma Prioritario Svizzero di
Ricerca. Utilizzato in diverse universit come piat taforma idonea alla
sperimentazione di applicazioni varie, Ł attualmente adoperato per testare algoritmi
sviluppati in simulazione per inseguimenti di traiettoria, elaborazione delle
informazioni sensoristiche, tecniche di navigazione autonoma.
Il Khepera II Ł la naturale evoluzione del primo: la robustezza, l efficienza e
soprattutto la possibilit di trasmettere dati a ve locit piø elevate rappresentano i
punti di forza piø importanti rispetto alla precedente versione del robot.
Il Khepera II Ł inoltre dotato di una esauriente libreria di applicazioni on-board per il
controllo del robot, il monitoraggio degli esperimenti e l esecuzione di comandi
utente.
Ha una forma circolare con un diametro di 70 mm, un’altezza di 30 mm ed un peso di
80 g; queste ridotte dimensioni lo rendono particolarmente adatto ad esperimenti su
piccole superfici. E provvisto di due ruote controllate da motori DC e di sensori di
prossimit all’infrarosso, sei posizionati sulla parte frontale del robot e due nella
parte posteriore. Il microprocessore motorola 68331, con 512 Kbytes di RAM e 512
Kbytes di ROM, elabora tutte le routine input-output e pu comunicare con un
Capitolo II Il robot mobile Khepera II
10
computer attraverso uno speciale cavo con contatti rotanti. Questa configurazione
permette di sfruttare le capacit di memoria di un computer esterno usato per
analizzare il comportamento del robot.
La morfologia del Khepera II e la collocazione dei suoi principali elementi sono
evidenti in figura 2.1:
Il controllo pu essere realizzato con un qualsiasi programma in grado di gestire la
comunicazione seriale: in particolare, Matlab e Simulink, in abbinamento con la
scheda dSPACE, rappresentano la combinazione di hardware e software che
garantisce la maggior semplicit di progettazione e sviluppo degli algoritmi di
controllo della navigazione.
2.1.1 I motori e il loro controllo
Le due ruote del robot sono mosse da due motori in corrente continua accoppiati
attraverso un rapporto di riduzione 25:1 e provvisti di un encoder incrementale che
fornisce 24 impulsi per ogni rotazione completa. Questo corrisponde ad una
1. LEDs
2. Connettore per la S serial line
3. Reset
4. Selezione del modo di funzionamento
5. Sensori di prossimit ad infrarosso
6. Connettore della batteria
7. Interruttore per la batteria
Figura 2.1: Morfologia del robot Khepera II
Capitolo II Il robot mobile Khepera II
11
risoluzione di 600 impulsi per ogni rotazione della ruota e quindi 12 impulsi/mm di
percorso lineare, considerando il raggio di ciascuna ruota pari a 7.96mm.
Il processore principale ha controllo diretto sulla fornitura di energia al motore ed Ł
in grado di leggere gli impulsi dell encoder incrementale grazie alla generazione di
un interrupt che consente al processore di aggiornare il contatore di posizione [1].
L applicazione della tecnica di modulazione PWM a due livelli permette il controllo
della potenza fornita al motore. Il duty cycle pu essere impostato direttamente
oppure stabilito da uno dei due controllori locali: un controllore di velocit e un
controllore di posizione. Per evitare problemi legati all inerzia del motore, la
frequenza di commutazione Ł sufficientemente alta, garantendo peraltro una migliore
qualit spettrale della tensione di riferimento.
La figura 2.2 riporta una schematizzazione della modulazione PWM:
I riferimenti di posizione o di velocit , applicati al motore, sono forniti dai rispettivi
regolatori PID i cui parametri (Kp, Ki, Kd) possono essere impostati in maniera
differente.
Figura 2.2: Modulazione PWM
Capitolo II Il robot mobile Khepera II
12
Nel controllo di velocit Ł opportuno dimensionare l accelerazione, direttamente
proporzionale alla corrente assorbita, in quanto non Ł previsto alcun limite dal
costruttore.
Il controllo di posizione Ł realizzato mediante la generazione di un profilo
trapezoidale di velocit , caratterizzato dal minor tempo di lavoro, per il
raggiungimento della posizione impostata dall utente (figura 2.3).
I valori di default che definiscono il profilo trapezoidale sono 64 (200mm/s2) per la
massima accelerazione e 20 (160mm/s) per la massima velocit ; tuttavia questi
parametri possono essere modificati dall utente in qualsiasi momento.
In figura 2.4 si riporta lo schema a blocchi del controllo dei due motori DC:
Figura 2.3: Profilo trapezoidale di velocit
Capitolo II Il robot mobile Khepera II
13
Lo stato del controllore pu essere monitorato medi ante un opportuno comando di
controllo dal quale si possono trarre informazioni sul raggiungimento o meno
dell obiettivo impostato, sulla modalit di control lo (posizione, velocit ) e
sull errore.
2.1.2 Sensori di prossimit
Otto sensori di prossimit Vishay Telefunken TCRT10 00, posizionati lungo la
periferia, costituiscono il sistema di percezione del Khepera II (figura 2.5).
Figura 2.4: Controllo dei motori DC
Figura 2.5: Posizione dei sensori di prossimit
Capitolo II Il robot mobile Khepera II
14
Tali sensori integrano un emettitore di radiazione infrarossa ed un ricevitore che
permettono di effettuare due misure fondamentali:
• la luce ambiente in condizioni operative normali: realizzata mediante
il solo ricevitore, in assenza di emissione di luce infrarossa. La lettura
dei sensori avviene in maniera sequenziale ogni 2.5 ms, per cui una
nuova misura Ł disponibile ogni 20 ms. Il profilo di misura della luce
ambiente varia in modo sensibile in dipendenza della particolare
sorgente luminosa, del colore e della distanza. Al fine di evitare una
errata interpretazione dei valori misurati Ł sconsigliato sottoporre
l ambiente operativo a sorgenti di luce con ampia emissione nel range
dell infrarosso.
• la luce riflessa dagli ostacoli: si fa uso di entrambi i dispositivi
integrati nel sensore. La differenza tra il valore percepito dal ricevitore
con emissione e il valore della luce ambiente in condizioni normali
fornisce il valore della misura. Analogamente al caso precedente,
occorrono 20 ms per ottenere una nuova misurazione. Anche tale
misura Ł influenzata dalle condizioni operative del robot, in particolare
dalla luce presente nell ambiente di lavoro e soprattutto, dalla
riflettivit degli oggetti. Il colore, le dimension i e la forma degli
ostacoli hanno, infatti, un influenza significativa sulla risposta dei
sensori: ci Ł quanto si evince dai grafici seguenti che mostrano la
risposta dei sensori ad infrarosso ad un ostacolo rappresentato,
rispettivamente, da un foglio bianco (figura 2.6) e da un altro robot
Khepera II (figura 2.7):
Figura 2.6: Risposta dei sensori ad un ostacolo rappresentato da un foglio bianco
Capitolo II Il robot mobile Khepera II
15
Si evince che i sensori di prossimit di cui il rob ot Khepera II dispone rilevano
ostacoli distanti massimo 5 cm e saturano in corrispondenza di una distanza minima
di 1 cm.
Entrambe le misure forniscono, in risposta ad un eventuale richiesta dell utente, i
valori dei sensori dell ultima misurazione completa.
2.1.3 Batterie
Il Khepera II Ł dotato di quattro batterie al Nickel ricaricabili, ciascuna in grado di
erogare 250 mAh. Questo sistema di alimentazione garantisce un autonomia
energetica di circa un ora, qualora il robot sia ut ilizzato nella sua configurazione di
base. Se, invece, il robot Ł corredato di moduli aggiuntivi l autonomia si riduce
anche del 50% in quanto tali moduli sfruttano l alimentazione del robot stesso [1].
La ridotta autonomia del Khepera II Ł dovuta all assenza di un sistema di
ottimizzazione delle risorse energetiche. L unico controllo previsto sul sistema di
alimentazione Ł lo spegnimento del robot nel caso in cui la tensione scenda al di sotto
dei 4V al fine di evitare malfunzionamenti o, nel peggiore dei casi, danneggiamento
del robot stesso.
Figura 2.7: Risposta dei sensori ad un ostacolo rappresentato da un Khepera II