Lo scopo del progetto è quello di costruire un umanoide dotato di visione attiva, suoni di input e di output e di una manipolazione destrorsa; il tutto realizzato mediante l’architettura parallela MIMD. Il progetto si avvale delle più sofisticate risorse disponibili sul mercato per poter raggiungere due obiettivi fondamentali:
uno più ingegneristico che consiste nella realizzazione di un prototipo general purpose di un robot autonomo
uno
più scientifico concernente il capire la cognizione propria dell’uomo.
In
questo modo il robot viene inserito nel mondo fisico attraverso una vasta gamma
di sensori ed attuatori servo controllati che lo guidano nell’interazione col
mondo temporale umano. Ecco spiegato il motivo per cui uno degli obiettivi
ingegneristici sia proprio quello di determinare i requisiti architetturali
necessari per questo tipo di interazione.Nei più recenti sviluppi di
intelligenza artificiale il robot è stato programmato per essere attento a ben
determinate immagini e ben determinati suoni per poter essere così in grado di
arrivare ad imparare selettivamente a conformarsi agli input ambientali.
La
costruzione di un robot autonomo con forma umana è sempre stata uno dei temi
ricorrenti nella finzione cinematografica a cominciare da Frankestein. Con il
passare degli anni e lo sviluppo delle tecnologie si è sempre cercato di
realizzare robot che siano umani sia nella forma sia nelle funzioni anche se il
robot più umano di tutti è privo di un corpo vero e proprio. Il primo passo
nella costruzione di un umanoide consiste nella realizzazione del livello
sensoriale ovvero come percepire il concetto di spazio: “up”, “down”,
“near”, “far”. Dopo di che si passa alla vista delle cose mediante un
linguaggio che ci permetta di essere osservatori di noi stessi. Questa è in
pratica la base della coscienza: l’idea che esistiamo e che una parte di noi
sta osservandone un’altra. Per realizzare tutto questo abbiamo bisogno di
un’alta performance computazionale; il modello computazionale di cui
necessitiamo è molto di più di un semplice algoritmo che presi dati in
ingresso restituisce un risultato. Occorre innanzitutto un alto grado di
parallelismo per garantire il coordinamento dei molti sottosistemi che lavorano
sincronizzati; inoltre ci sono molte cose che accadono continuamente nel mondo
ed indipendentemente dagli eventi (da qui la nozione di robot come agente del
mondo). Tuttavia l’umanoide avrà solo un minimo controllo del mondo; ci
saranno persone intorno a lui che si muoveranno e risponderanno ai suoi
movimenti creando nuovi sviluppi. Dal canto suo il robot riceverà sempre
maggiore "data input" dei quali prenderà coscienza e porrà in
relazione con le esperienze passate. Per realizzare tutto questo occorre usare
ambienti software e hardware che ci supportino nel realizzare i nostri propositi
senza sacrificare l’alto livello della performance.
Occorre
realizzare un software che sia altamente portabile e implemntato con un codice
efficiente di alto livello usando un linguaggio facilmente comprensibile (come
ad esempio il CommonLisp). Vi è
sempre stata una lunga dicotomia, basata principalmente sui lavori di Walter e
Nilsson, nello stile usato per il
disegno e l’implementazione dei robot il cui obiettivo è quello di muoversi e
operare nel mondo reale. Il primo
sviluppa semplici robot basati sulle azioni riflesse, che usano solamente pochi
elementi basati su interazioni tra i meccanismi hardware, i loro circuiti
elettrici e le caratteristiche dell’ambiente. L’altro invece descrive un
robot elaborato che prende "perceptual input" e crea un modello di
mondo mediante "sensory data". Il lavoro di Walter prende il nome di
"behavior-based robotics" (basato sul comportamento) mentre il lavoro
di Nilsson appartiene al movimento "GOFAI" (good old fashioned
intelligence artificial).
Vediamo
schematicamente le differenze dei due stili:
GOFAI | BEHAVIOR-BASED | |
Designed in | sensor fusion, Models, Goals, Plans | matched filters, action selection, action schemas, behavior |
Problems | search | binding problem |
Output | choose next action | concurrent actions |
Emergent | behavioral responses | goals and plans |
Si è passati dal concetto tradizionale di intelligenza artificiale al behavior-based mediante due successivi cambiamenti di punti di vista:
·
Il primo, piuttosto improvviso, fece cadere la necessità che il sistema
che agiva intelligentemente avesse un modello centrale di mondo, cioè una
struttura indipendente dalla sua locazione in memoria.
·
Il secondo, più graduale, fu quello di abbandonare l’idea che
l’intelligenza sia un processo computazionale che dato un input produce un
output.
Nel nostro approccio
gli agenti stanno nel mondo e le interazioni avvengono col mondo. In questo
contesto occorre sviluppare un sistema robotico che abbia un'evoluzione
complessa come quella umana. Per agire come un umano una creatura artificiale
con forme umane ha bisogno di un ricco e vasto insieme di capacità per
migliorare le informazioni sensoriali. Alcune capacità di base sono il
movimento, occhi che rispondano in modo appropriato ai segnali vestibolari, un
tracking lineare, un coordinamento del corpo, della testa, del movimento stesso
degli occhi compensando eventuali errori visivi che si possono presentare quando
la testa o il corpo si muovono. In più occorre un controllo motorio assai
coordinato sui diversi sottosistemi come ad esempio il mantenere la postura del
corpo quando testa e braccia si muovono.
Per
quanto riguarda l’interazione con le persone occorre risolvere i problemi
concernenti la distinzione delle facce, il riconoscimento delle voci dagli altri
suoni, il seguire lo sguardo delle
Quando ci occupiamo dei robot cognitivi o cognobotics occorre risolvere i seguenti problemi:
1.
aspetto fisico
2.
motivazioni
3.
coerenza
4.
auto-adattamento
5.
sviluppo
6. circostanze storiche
Vediamo alcuni dei sopracitati punti in dettaglio:
1.
se vogliamo costruire un robot con intelligenza umana occorre che abbia
anche sembianze umane affinché sia capace di proporsi. Altro motivo della
costruzione di un robot con sembianze umane consta nella realizzazione di un
corpo più stabile; inoltre con un robot siffatto sarà molto più facile e
naturale per gli umani interagire con lui.
2.
ogni robot è costruito per svolgere ben precise attività in specifici
ambienti.
3.
naturalmente con un robot complesso come un umanoide con diversi gradi di
libertà e svariati sottosistemi sensoriali, meccanici e computazionali possono
insorgere dei problemi di coerenza se il tutto non è orchestrato da un
controllore centralizzato.
4.
il robot deve essere in grado di adattare i propri movimenti a seguito
dei cambiamenti col mondo dovuti ad esempio ad un innalzamento o abbassamento di
temperatura oppure a variazioni di luminosità.
5.
i progettisti hardware e software di un robot possono rappresentare le
regole dell’evoluzione cercando di implementare nel robot le risorse con le
quali l’evoluzione fa crescere gli individui. L’idea sarebbe quella di
creare un robot baby capace di crescere riproducendo lo sviluppo umano.
Il tutto è realizzato nel COG.
Il
robot COG è un umanoide dotato di testa, collo e di un tronco; è munito di un
braccio terminante con una pinza come mano. Il tronco è montato su una base
fissa ed ha tre gradi di libertà così come il collo; il braccio invece ha sei
gradi di libertà mentre ciascun occhio può muoversi esclusivamente nel mondo
bidimensionale.