Capitolo 1 Introduzione
5
quello di promuovere la ricerca sia dell Intelligenza Artificiale che della Robotica,
fornendo una piattaforma comune per la valutazione di teorie, algoritmi e architetture di
agenti. La RoboCup fornisce un campo di prova ideale, per analizzare le problematiche
derivanti dall interazione fra il corpo fisico dell agente ed il complesso e incerto
ambiente reale. I principali temi trattati, che abbracciano le due discipline, sono i
seguenti: principi di progettazione di agenti autonomi, collaborazione multi-agente,
ragionamento e pianificazione in tempo reale, robotica intelligente, fusione sensoriale e
apprendimento di comportamenti [ASA98].
La Sony Legged Robot League (nel seguito, Legged) Ł una delle categorie
ufficiali in cui si svolgono le gare organizzate dalla Federazione RoboCup: due squadre
formate da tre robot quadrupedi, forniti dalla Sony, si affrontano su un campo
rettangolare, con regole simili a quelle del calcio. PoichØ l hardware non pu essere
modificato, le varie squadre si differenziano unicamente per il software sviluppato.
L Universit di Roma La Sapienza ha partecipato all edizione delle
competizioni del 2000, con una squadra chiamata S.P.Q.R.1, ottenendo ottimi risultati.
Il software sviluppato, nel corso di questa tesi, Ł stato utilizzato per i robot della
squadra S.P.Q.R. ed Ł stato testato nelle competizioni del 2000 della RoboCup.
1.2 Problematiche scientifiche affrontate
Il lavoro svolto, nell ambito di questa tesi, riguarda la realizzazione di
un architettura software per robot quadrupedi autonomi operanti in un ambiente reale -
quello offerto dalla RoboCup.
Un ambiente reale Ł, in generale, dinamico, imprevedibile e solo parzialmente
conosciuto. Si richiede quindi che l agente sappia reagire prontamente a situazioni
impreviste, che possa acquisire nuova conoscenza sul mondo esterno, e che sia in grado
di ragionare sulla base della conoscenza incompleta che ha dell ambiente circostante.
1
L acronimo sta s per Senatus PopulusQue Romanus, in modo da indicare che la squadra fa parte dell Universit di Roma, ma
anche per Soccer Player Quadruped Robots, cos da sottolineare il tipo di progetto che la riguarda.
Capitolo 1 Introduzione
6
Il robot deve essere in grado di osservare in tempo reale i comportamenti degli
altri oggetti in campo (palla e altri robot), che non pu completamente prevedere o
controllare, allo scopo di eseguire azioni che gli permettano di interagire con essi. Da
una parte deve potersi adattare in modo adeguato all incertezza e alla dinamicit
dell ambiente, dall altra deve elaborare una strategia che gli consenta di raggiungere un
obiettivo prefissato. I cambiamenti del mondo devono essere monitorati costantemente,
in modo da permettere al robot di determinare il risultato delle proprie azioni o di
captare eventi esterni.
1.3 Sintesi dei risultati
Molteplici sono gli aspetti da considerare nella progettazione di un agente
robotico autonomo, dall acquisizione delle informazioni sul mondo circostante, alla
progettazione di comportamenti di basso livello, legati alle caratteristiche fisiche del
robot, fino alla pianificazione e all esecuzione delle azioni che consentono al robot il
raggiungimento di un prefissato obiettivo. In particolare, nell ambito di questa tesi sono
stati ottenuti i seguenti risultati.
1. ¨ stata progettata un architettura robotica stratificata, in grado di integrare in
maniera efficace l abilit di eseguire compiti complessi con le capacit reattive
necessarie a gestire le incertezze di un ambiente dinamico. Si vedr nel seguito
che un architettura di questo genere Ł definita ibrida, proprio perchØ in grado di
integrare le capacit reattive del robot con quelle deliberative.
2. Sono stati implementati alcuni moduli che compongono tale architettura, in
particolare il modulo di acquisizione delle informazioni, che si occupa di creare
e mantenere un modello del mondo, ed il modulo decisionale, che si occupa di
stabilire le azioni da eseguire, e sono state realizzate le interfacce fra questi
moduli ed il resto dell architettura.
Capitolo 1 Introduzione
7
3. Sono stati individuati i criteri fondamentali di realizzazione di azioni primitive,
che consentono al robot di reagire in tempo reale alle situazioni impreviste.
Sono state poi realizzate tutte le azioni primitive utilizzate dal robot.
4. Sono stati identificati i principali criteri di progettazione di piani di azioni e
sono stati realizzati i piani utilizzati dal robot, strutturandoli in maniera
gerarchica.
5. Sono state sperimentate le metodologie utilizzate, nel corso delle competizioni
RoboCup, allo scopo di dimostrare la validit delle scelte progettuali effettuate,
e sono stati svolti confronti e paragoni fra le tecniche usate nell ambito del
progetto e quelle proposte in letteratura.
L approccio utilizzato, per il progetto dei robot che hanno partecipato alle
competizioni RoboCup, Ł innovativo rispetto a quello proposto dalle altre squadre in
gara. Alcune squadre hanno incentrato i loro sforzi sullo sviluppo di un robusto sistema
di visione. Si veda ad esempio [DAL99a] per un approccio di questo tipo. Altre
squadre, si sono basate, soprattutto, sulla progettazione di stili di camminata. In
[HUG99] Ł descritta la realizzazione di un andatura, appositamente concepita per le
competizioni RoboCup Legged. Altre squadre hanno, invece, puntato sullo sviluppo di
un sistema di localizzazione preciso. Tale approccio Ł descritto, ad esempio, in
[LEN00]. Per l architettura robotica della squadra S.P.Q.R. Ł stato utilizzato, invece, un
approccio sostanzialmente deliberativo, che prosegue il lavoro svolto in [IOC99].
Nonostante il poco tempo a disposizione per lo sviluppo del progetto,
l approccio deliberativo, unito alle capacit reattive delle azioni primitive, ha
consentito di ottenere risultati molto buoni, in condizioni di incertezza sui dati percepiti
e nonostante un sistema di localizzazione poco sviluppato.
L esordiente squadra S.P.Q.R. si Ł, infatti, classificata al quarto posto,
risultando competitiva e, in molti casi, vincente su squadre con anni di esperienza.
Per il progetto dell architettura Ł stato utilizzato un approccio di tipo
incrementale, che consente di aggiungere nuove funzionalit a quelle presenti, con una
modifica minima dei moduli preesistenti. Grazie alla struttura stratificata
Capitolo 1 Introduzione
8
dell architettura, il software realizzato Ł portabile e pu essere adattato a tipi differenti
di piattaforme robotiche, mediante la sola modifica degli strati di livello piø basso.
1.4 Traccia dell esposizione
Nel capitolo 2, viene data una definizione di agente razionale autonomo, in
generale e di agente robotico, in particolare. Sono poi presentate le piø importanti
caratteristiche che un agente robotico deve possedere per operare in ambienti dinamici,
incerti ed imprevedibili. Sono infine descritte le principali caratteristiche dell ambiente
di sviluppo di questa tesi.
Nel capitolo 3, Ł data una definizione di architettura di agente, sono esposte le
principali architetture descritte in letteratura e ne sono forniti alcuni esempi. Viene poi
introdotta la pianificazione di azioni in ambienti dinamici e ne sono evidenziate le
principali differenze rispetto alla pianificazione classica.
Nel capitolo 4, viene descritta l architettura software, di tipo ibrido, che Ł stata
progettata per l edizione della RoboCup del 2000. Sono illustrati vantaggi e svantaggi
delle scelte progettuali effettuate e sono descritti i moduli funzionali che compongono
l architettura. ¨ poi descritto, in maniera dettagliata, il modulo di acquisizione delle
informazioni.
Nel capitolo 5, sono esposti i principali criteri di realizzazione di azioni
primitive e sono descritte le principali azioni progettate, mostrando come sono stati
applicati i criteri di realizzazione precedentemente illustrati.
Nel capitolo 6, viene introdotto il formalismo di rappresentazione di piani che Ł
stato scelto per il progetto RoboCup; sono esposti i principali criteri di progettazione di
piani di azioni; sono infine illustrati i principali piani realizzati nell ambito del
progetto.
2
Agenti robotici in un ambiente dinamico
In questo capitolo viene data una definizione di agente razionale autonomo, in
generale e di agente robotico (o robot), in particolare. Vengono illustrate le propriet
che un agente robotico deve possedere per operare in ambienti dinamici, incerti ed
imprevedibili. Si descrivono poi le principali caratteristiche dell ambiente di sviluppo
di questa tesi: ad una breve descrizione introduttiva, hardware e software, dei robot,
seguono una panoramica sui temi di ricerca in ambito RoboCup e un analisi delle
principali problematiche dell ambiente Legged.
2.1 Il concetto di agente razionale
Un concetto centrale nel campo dell' intelligenza artificiale Ł quello di agente
razionale o intelligente. Un agente pu essere concepito come un entit in grado di
percepire il proprio ambiente attraverso dei sensori e di agire in quell' ambiente
attraverso degli attuatori. Tutto ci che l agente ha percepito fino all istante
considerato Ł chiamato sequenza di percezione: la sequenza di percezione rappresenta
quindi la storia completa delle percezioni dell agente. La misura di prestazione indica
Capitolo 2 Agenti robotici in un ambiente dinamico
10
invece i criteri che determinano quanto successo abbia l agente, rispetto ad un obiettivo
prefissato. Un agente razionale ideale dovrebbe compiere, per ogni sequenza di
percezione possibile, qualsiasi azione che ritenga tale da massimizzare la propria
misura di prestazione, sulla base delle informazioni fornite dalla sequenza di
percezione e di qualsiasi conoscenza predefinita che abbia l agente [RUS95]. In altre
parole, le azioni di un agente intelligente sono collegate razionalmente alle percezioni.
Questa definizione va per esaminata attentamente. Non Ł possibile rimproverare ad un
agente di non riuscire a prendere in considerazione qualcosa che non poteva percepire o
di fallire nel compiere un azione che Ł incapace di fare: la razionalit riguarda il
successo atteso sulla base di ci che Ł stato percepito. Compiere azioni allo scopo di
ottenere informazioni utili Ł per un aspetto importante della razionalit : un agente
razionale ideale pu cioŁ trovarsi nella situazione di dover scegliere di compiere
un azione al solo scopo di ottenere informazioni, perchØ le informazioni a sua
disposizione fino a quel momento non sono sufficienti a fargli compiere un azione
intelligente. Nell ambiente RoboCup, ad esempio, il robot pu trovarsi nella situazione
di voler calciare il pallone; non pu farlo, se prima non Ł a conoscenza della posizione
della porta avversaria: potrebbe infatti rischiare di tirare verso la propria porta. In
questo caso, la decisione giusta da prendere Ł quella di eseguire un ispezione
dell ambiente circostante che porti l agente, come primo passo, a localizzare in modo
sufficientemente preciso la porta avversaria.
Un altro aspetto fondamentale nella definizione di agente razionale Ł quello
riguardante l autonomia. Il comportamento di un agente pu essere basato sia sulla sua
esperienza personale sia sulla conoscenza predefinita usata nel costruire l agente per il
particolare ambiente nel quale opera. Un sistema Ł autonomo quando il suo
comportamento viene determinato dalla sua esperienza individuale (anche se Ł
indispensabile che venga dotato di alcune conoscenze iniziali) [RUS95]. ¨ anche
possibile dare una definizione piø comune di autonomia: un agente Ł autonomo se in
grado di eseguire compiti complessi in ambienti reali, senza l assistenza o la
supervisione umana.
Capitolo 2 Agenti robotici in un ambiente dinamico
11
2.2 Il concetto di agente robotico
In questa tesi vengono trattati agenti robotici, ovvero agenti operanti nel mondo
fisico: mediante i sensori acquisiscono informazioni sull ambiente e tramite gli
attuatori eseguono azioni di movimento; un sistema di controllo ha il compito di
elaborare i dati provenienti dai sensori e di comandare gli attuatori [CAS99, IOC95].
Sensori Attuatori Ambiente esterno
Ambiente
esterno
Figura 2.1 La struttura di un agente robotico [IOC95]
L agente e il suo ambiente possono essere considerati come un sistema
dinamico in cui si verificano di volta in volta cambiamenti dovuti ad azioni eseguite
dall agente oppure ad eventi esterni. Un ambiente Ł infatti detto dinamico se pu
cambiare mentre l agente sta deliberando [RUS95]. Gli ambienti dinamici sono piø
difficili da trattare, perchØ l agente ha bisogno di continuare a guardare il mondo
mentre sta decidendo un azione e deve anche preoccuparsi del trascorrere del tempo. In
ambito Robocup l ambiente Ł dinamico: pu cambiare la posizione sia della palla che
dei robot componenti le due squadre in campo. Un fattore critico Ł quindi la tempestiva
risposta ai cambiamenti dell ambiente. Un ambiente reale Ł spesso anche
imprevedibile: gli effetti del cambiamento dell ambiente non possono essere sempre e
completamente previsti [IOC99]. Si pensi ai robot avversari, il cui comportamento non
Ł controllabile o prevedibile. L ambiente inoltre potr e ssere noto solo parzialmente:
Capitolo 2 Agenti robotici in un ambiente dinamico
12
molte situazioni non possono essere conosciute a priori. Il robot deve quindi essere in
grado di reagire prontamente a situazioni non previste, deve poter acquisire nuove
informazioni sul mondo reale, in modo da determinare l effetto degli eventi, e deve
ragionare sulla base di informazioni incomplete su ci che lo circonda [IOC99]. Inoltre,
in condizioni ideali, il robot, oltre a possedere una perfetta conoscenza del mondo
circostante, Ł sempre certo dell effetto delle proprie azioni. Il mondo reale Ł invece
caratterizzato da una molteplicit di situazioni di incertezza: incertezza sui dati forniti
dai dispositivi sensoriali esterni, incertezza sull efficacia delle azioni intraprese e
incertezza sull immediato futuro del mondo esterno. Nello sviluppo di un agente
operante nell ambiente fisico, va quindi posta particolare attenzione alla realizzazione
dei processi di interpretazione dei dati sensoriali acquisiti, al fine di ricostruire
correttamente lo stato dell ambiente, e alla realizzazione del controllo degli attuatori,
dei quali non si possiede la certezza degli effetti sull ambiente [CAS99].
2.3 Caratteristiche fisiche dei robot quadrupedi SONY
(AIBO1)
Il robot quadrupede della SONY (si veda la figura 2.3) Ł dotato di quattro
zampe che presentano una struttura cinematica RRR (tre giunti rotoidali). Ciascuna
delle tre articolazioni della zampa Ł dotata di motore. Anche la testa possiede tre
rotazioni attive. In tutto, il robot possiede diciotto gradi di libert (uno per la bocca, due
per la coda, tre per la testa e tre per ciascuna delle quattro zampe), da cui deriva
un estrema complessit dei possibili movimenti.
Il robot utilizza una memory stick SONY a 8 MB come dispositivo di
memorizzazione; la memory stick serve da file-system per il sistema operativo del
robot e permette al programmatore di scrivere e leggere file su di essa. La
1
AIBO Ł il nome dato dalla SONY ai suoi robot quadrupedi da intrattenimento ; il nome Ł coniato dalle parole inglesi AI
(Artificial Intelligence) , e ye e robot . In giapponese, la parola aibo significa compagno ; il robot ha infatti l aspetto di un
cucciolo di cane.
Capitolo 2 Agenti robotici in un ambiente dinamico
13
programmazione del robot si svolge su un computer fuori linea, dove un compilatore
genera una sequenza binaria per il sistema operativo usato, la quale viene poi trasferita
sul robot o mediante la memory stick oppure mediante un dispositivo aggiuntivo,
fornito insieme al robot e chiamato debug box. La debug box viene attaccata al robot e
permette di connetterlo al computer mediante una connessione seriale ed una parallela:
mediante la connessione parallela Ł possibile caricare il software sul robot, mentre
mediante quella seriale Ł possibile visualizzare informazioni di debugging su un
terminale.
Il robot Ł dotato inoltre di un insieme di sensori: il principale di essi Ł una
telecamera CCD2 impiantata nel muso; vi sono poi un accelerometro, un giroscopio, un
sensore di distanza a infrarossi e un microfono; ogni giunto Ł dotato di un sensore di
posizione (encoder); sulla testa e sotto alle zampe vi sono poi dei sensori di contatto
(switch).
CPU
Memoria Principale
Memory Stick
Input Video
Input Audio
Output Audio
Sensore a infrarossi
Sensori di movimento
Batteria
Processore RISC a 64 bit (MIPS R4000)
16 MB
Memory Stick SONY 8 MB
Telecamera CCD a risoluzione 384x248
Microfoni stereo (uno su ciascun orecchio)
Altoparlante mono (sulla bocca)
Installato sulla testa, range tra 100 e 800 mm
Giroscopio e accelerometro 3D
Batteria al litio con autonomia di circa 40 minuti
Figura 2.2 Caratteristiche tecniche del robot AIBO (modello ERS-1100)
2
La sigla sta per Charged Coupled Device.
Capitolo 2 Agenti robotici in un ambiente dinamico
14
Figura 2.3 Il robot AIBO (modello ERS-1100)
2.4 L ambiente di sviluppo
L architettura software dei robot Ł basata su un sistema operativo proprietario
della SONY, chiamato Aperios: si tratta di un sistema orientato agli oggetti, presente in
un gran numero di applicazioni sviluppate dalla societ . Al di sopra di questo, uno
strato software chiamato OPEN-R agisce da interfaccia tra programmatore e macchina
e fornisce la maggior parte delle funzionalit specifiche riguardanti il robot. In OPEN-
R i processi sono visti come oggetti, a ciascuno dei quali Ł assegnato un ruolo
particolare; l aspetto piø complesso della programmazione in questo ambiente consiste
nel progettare le inter-comunicazioni tra questi oggetti. Le inter-comunicazioni fra
oggetti si svolgono per mezzo di canali unidirezionali, di cui si specificano le estremit
emittente e ricevente, in un particolare file di configurazione, chiamato connect.cfg.
Ciascuna riga di tale file contiene, infatti, una coppia soggetto-osservatore. Sia del
soggetto che dell osservatore viene specificato, nell ordine: l oggetto cui appartengono,
il nome, il tipo di dato scambiato e una lettera (S oppure O) indicante se si tratta di un
soggetto o di un osservatore. Il meccanismo utilizzato per queste comunicazioni fra
oggetti pu essere per memoria condivisa o per scambio di messaggi: Ł necessario
utilizzare una memoria condivisa se il volume dei dati da trasmettere Ł consistente; se
Capitolo 2 Agenti robotici in un ambiente dinamico
15
invece il volume di questi dati Ł piccolo, il sistema a scambio di messaggi Ł piø rapido
[HUG99]. Il linguaggio di programmazione usato sotto Aperios Ł il C++.
2.5 Temi di ricerca in ambito RoboCup
La Federazione RoboCup ha quattro leghe ufficiali: la Middle Size League, la
Small Size League, la Sony Legged League e la Simulation League. Nelle leghe Middle
Size e Small Size gli agenti sono robot dotati di ruote e sono sviluppati da ciascuna
squadra sia nell hardware che nel software. Sono piø piccoli nella lega Small Size (circa
18 cm di diametro) e piø grandi nella lega Middle Size (circa 50 cm di diametro). I
robot di ciascuna squadra sono cinque nella Small Size e quattro nella Middle Size. La
principale differenza fra queste due leghe risiede per n el fatto che, mentre nella Small
Size i robot si localizzano grazie ad una telecamera esterna, che riprende il campo
dall alto, nella Middle Size tutti i sensori devono trovarsi a bordo del robot. Nella
Simulation League, invece, gli agenti non hanno un corpo fisico ma sono programmi
autonomi, comunicanti con un server mediante un protocollo UDP/IP. Il server riceve
comandi dagli undici giocatori di ciascuna squadra, calcola le posizioni ed i movimenti
di tutti gli oggetti sul campo, manda informazioni audio e video a tutti i giocatori e
agisce da arbitro. Nella Sony Legged League, come gi a nticipato, ciascuna squadra Ł
formata da tre robot quadrupedi, forniti dalla Sony e il cui hardware non Ł modificabile,
dotati di telecamera e di vari altri sensori.
Un primo aspetto da considerare nella realizzazione di agenti robotici in ambito
RoboCup Ł quello della percezione. Il robot deve essere in grado di osservare in tempo
reale i comportamenti degli altri oggetti in campo, che non pu completamente
prevedere o controllare, allo scopo di eseguire azioni che gli permettano di interagire
con essi. Tali oggetti possono includere la palla, gli altri giocatori (avversari e non) e
anche l arbitro. Sono necessarie capacit di percezione a larga scala, di discriminazione
Capitolo 2 Agenti robotici in un ambiente dinamico
16
degli altri agenti, di stima della loro posizione e dei loro movimenti ed eventualmente
di gestione delle occlusioni3 [ASA98].
Un altro tema da trattare Ł quello delle azioni e dei comportamenti. Controllare
un pallone in un sistema multi-agente introduce un insieme di problemi nuovi anche in
campo robotico, dove tradizionalmente gli oggetti manipolati sono per lo piø stazionari
o seguono traiettorie prestabilite. Possono verificarsi infinite distinte situazioni
riguardanti i cambiamenti dinamici delle posizioni relative di palla, porta e altri
giocatori. Il comportamento ottimale cambia da una situazione all altra [ASA98]. I
processi comportamentali e decisionali possono spaziare dai piø semplici
comportamenti reattivi, come pu essere quello di muoversi direttamente in direzione
della palla e calciarla non appena possibile, fino a procedure di ragionamento
arbitrariamente complesse, che tengono conto delle azioni e delle strategie percepite dei
compagni di squadra e degli avversari [VEL98]. Occorre anche realizzare una serie di
comportamenti di basso livello, legati strettamente alle caratteristiche fisiche dei robot.
Bisogna poi considerare esigenze di reattivit e velocit d i riposta. PoichØ
infatti la situazione pu cambiare rapidamente in base ai movimenti della palla e degli
altri giocatori, non c Ł tempo di analizzare in modo accurato la situazione, allo scopo di
deliberare un piano dettagliato. Il giocatore, perci , dov rebbe essere in grado di
decidere un azione, come quella di calciare la palla immediatamente oppure portarla
avanti o quella di muoversi in una data posizione allo scopo di facilitare azioni future
[ASA98].
Un altro aspetto da esaminare Ł quello del coordinamento fra robot. Esistono
squadre di robot comunicanti, in cui la collaborazione per il raggiungimento del
comune obiettivo Ł esplicita, e squadre di robot non comunicanti, in cui il
coordinamento delle azioni pu avvenire unicamente mediante il riconoscimento degli
avversari e dei compagni di squadra.
Un tema di ricerca interessante Ł quello dell apprendimento, molto diffuso
soprattutto nella Simulation League. L idea su cui poggia il concetto di apprendimento
Ł che la percezione dovrebbe servire non solo per agire ma anche per migliorare la
capacit dell agente di agire in futuro. L agente possiede un elemento di
3
Per occlusione si intende il fatto che la visibilit di un oggetto (porta, palla, altri robot) sia coperta dalla presenza di altri oggetti.
Capitolo 2 Agenti robotici in un ambiente dinamico
17
apprendimento, responsabile dei miglioramenti, che, a partire da una qualche
conoscenza dell ambiente, determina, attraverso un feedback sull efficacia delle
proprie azioni, come le azioni andrebbero modificate per agire meglio in futuro. Un
possibile approccio Ł quello di fornire all agente un obiettivo e un insieme di azioni che
pu u sare (ad esempio calciare, ruotare su se stesso o spostarsi); l apprendimento
consiste nel migliorare ad ogni passo la politica decisionale sulle azioni da eseguire, in
modo che l obiettivo sia raggiunto in maniera sempre migliore [RIE00].
2.6 Problematiche dell ambiente Legged
Oltre alle difficolt c lassiche che si incontrano nello sviluppo di robot mobili
autonomi, introdotte nel paragrafo precedente, nell ambiente Legged occorre gestire un
insieme di problemi specifici, caratteristici di questo tipo di robot.
Innanzitutto, il movimento dei robot Ł dato da zampe e non da ruote, il che
introduce problemi di stabilit c he non esistono nei robot su ruote: Ł facile che il robot
cada e, se questo accade, occorre trovare una procedura che gli permetta di rialzarsi.
Tra le camminate che Ł possibile sviluppare, infatti, ne esistono alcune con stabilit
quasi-statica e altre con stabilit dinamica. Nelle andature quasi-statiche, la verticale
passante per il baricentro si trova all' interno del prisma avente per base il poligono di
stabilit 4 (il poligono formato dai punti di contatto con il suolo). Nelle andature
dinamiche, invece, esistono fasi in cui due sole zampe toccano il suolo e non esiste piø
un poligono di stabilit . In quest ultimo caso, se viene fermato in una fase in cui solo
due zampe poggiano a terra, il robot Ł sbilanciato ed inevitabilmente cade. ¨ inoltre
difficile far cambiare andatura al robot senza che questo lo destabilizzi al punto di farlo
cadere. Le andature messe a disposizione dalla Sony non hanno robustezza sufficiente,
per cui, passando da un tipo di camminata all altro, il robot vacilla e, il piø delle volte,
cade. Questo accade perchØ, nel cambio di andatura, il robot passa bruscamente da una
4
Si tratta il piø delle volte di un triangolo.
Capitolo 2 Agenti robotici in un ambiente dinamico
18
particolare disposizione delle zampe ad un altra del tutto diversa. Il fatto di avere a che
fare con robot quadrupedi, con diciotto gradi di libert a dis posizione, rende quindi i
movimenti possibili estremamente complessi.
Un altro problema riguarda la difficolt d i determinazione della posizione e
della distanza degli oggetti. A causa dei movimenti del busto e della testa, Ł complicato
conoscere con precisione la posizione della telecamera del robot. Ci rend e difficile
calcolare l esatta posizione degli oggetti. Inoltre, a differenza di quanto avviene con
altri robot (ad esempio nelle leghe Small e Middle Size della RoboCup), il robot non
pu veder e a tutto campo ma solo davanti a sØ. Questo limita notevolmente il numero
di oggetti che pu per cepire, il che Ł aggravato da una velocit d i movimenti
notevolmente inferiore a quella dei robot con ruote.
Altri problemi sono dovuti alla rumorosit de i sensori: mentre nei robot a ruote
gli encoder delle ruote permettono di determinare con sufficiente precisione di quanto
si Ł spostato il robot, gli accelerometri e i giroscopi degli AIBO non sono abbastanza
precisi, per cui l unico modo per sapere di quanto si Ł spostato il robot Ł contarne i
passi, il che non Ł facile come pu sembrar e (anche perchØ il robot Ł asimmetrico e ha
il baricentro spostato verso destra).
Nella lega Middle Size, i robot comunicano mediante schede di rete radio; nella
lega Legged, invece, l unica forma di comunicazione consentita (per ora) Ł quella
mediante altoparlante e microfoni, il che rende piø difficile il coordinamento delle
azioni dei robot, perchØ questi non possono trasmettersi a vicenda la propria esatta
posizione o quella degli altri oggetti in campo (palla, porta e altri robot): il fatto che
testa e zampe siano in perenne movimento rende, infatti, praticamente impossibile
valutare con precisione accettabile la posizione e l orientamento degli altri robot.
Un altra difficolt che s i incontra nella programmazione degli AIBO Ł legata
alla compilazione, che richiede tempi estremamente lunghi e al debugging, possibile
soltanto mediante collegamento seriale. L inserimento di un numero, anche modesto, di
stampe di debugging, provoca rallentamenti eccessivi nell esecuzione del software; di
conseguenza i dati analizzabili su terminale mediante collegamento seriale risultano
falsati, perchØ non rispecchiano l effettivo comportamento del robot.