Visione globale del progetto

 

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:

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

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.

Ambiente Software

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 persone e interpretare le espressioni facciali.

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. Su ciascun motore sono montati sensori di temperatura. Gli occhi sono sottoposti continuamente a revisioni dato che essi costituiscono l’intero e unico sistema visivo. Ogni occhio inoltre è dotato di un "pan" separato e di un motore inclinato.