• Le coordinate del punto che il robot ha osservato durante l’esperimento, corrispondenti alle variabili x e y presenti nel multislot point del template winner.
• Le variabili relative alle espressioni facciali che FACE ha realizzato durante il test (valence e arousal), corrispondenti alle variabili v e a presenti nel multislot ECS del template winner.
• Il nome della look rule che ha determinato, ad ogni ciclo di lavoro, il winner. Quest’ultima informazione corrisponde alla stringa contenuta nello slot lookrule del template winner.
La funzione di stampa dei dati in un file esterno, essendo inserita tra le azioni di una Action Rule, ad ogni ciclo di esecuzione ha stampato una riga riportante tutte le informazioni descritte. Questo metodo ha garantito la sincronizzazione dei dati.
Le variabili del punto e dell’espressione sono state importate in un foglio di calcolo Microsoft Excel. Conoscendo la frequenza di lavoro del sistema (300ms) è stato possibile rappresentarle nel tempo. Ne sono risultati i grafici riportati in figura 6.1.
6.2
Analisi e discussione dei risultati
Analizziamo nel dettaglio il grafici di figura 6.1. Nel primo grafico sono rappresentate la funzione x(t) e la funzione y(t). Dato che le coordinate (x,y) sono relative al punto della scena che il robot sta guardando, queste ci comunicano i movimenti della testa dell’androide (Head Position). Nel secondo grafico invece sono rappresentate le funzioni v(t) e a(t). Dato che le coordinate (v,a) sono le coordinate dell’ECS, ovvero le coordinate dell’espressione facciale che vengono spedite all’attuazione del volto (Robot Facial ECS ), l’andamento di queste funzioni ci comunica la variazione dello
stato emotivo espresso da FACE.
I due grafici sono stati allineati in modo da poter confrontare nel tempo i due andamenti. Gli eventi che si sono verificati durante il test sono stati evidenziati su entrambi i grafici con delle etichette che vanno dalla lettera A alla lettera Q, per sottolineare la correlazione tra gli eventi del contesto, i movimenti della testa di FACE, e gli stati emotivi espressi dal robot.
Di seguito si riporta l’analisi dei dati del grafico in relazione agli eventi che si sono verificati durante l’esperimento:
98 CAPITOLO 6. TEST E RISULTATI
6.2. ANALISI E DISCUSSIONE DEI RISULTATI 99
A. Il robot è solo nella stanza, con un’espressione annoiata (v = 0.27, a = −0.84) scruta l’ambiente circostante e la sua attenzione è catturata dal punto che nell’immagine acquisita presenta maggiore salienza (visual saliency point). Il motore di regole sta eseguendo la regola boring_loneliness.
B. Entra un soggetto nella stanza, il robot sposta la sua attenzione sul soggetto e nel contempo la sua espressione diventa neutrale (v = 0, a = 0). E’ attiva la regola lookrule_longdistance.
C. Il soggetto parla presentandosi al robot, il quale continua a focalizzare la sua attenzione sul soggetto cambiando la sua espressione in un’espressione “interessata” (v = 0.11, a = 0.30). E’ attiva la regola lookrule_speaking. D. Il soggetto mentre si presenta compie il gesto di alzare la mano, il robot reagisce
con un’espressione di felicità (v = 0.85, a = 0.10) e alza leggermente lo sguardo per seguire il movimento del soggetto. Il motore di regole ha eseguito la lookrule_raisehand.
E. La mano viene riabbassata e il soggetto continua a parlare, quindi il robot ritorna alla precedente espressione di interesse. Il sistema è tornato alla regola lookrule_speaking.
F. Qui c’è una piccola pausa in cui il soggetto non sta parlando (infatti l’espressione del robot torna neutrale) ma continuando ad essere nello spazio sociale del robot, questo non distoglie l’attenzione dal soggetto. E’ attiva la regola lookrule_distance.
G. Il soggetto parlando si avvicina al robot (lookrule_speaking) fino a che... H. ...non entra nello spazio intimo del robot, il quale reagisce con un espressione in-
termedia tra rabbia e disgusto (v = −0.65, a = 0.35) che comunica palesemente il suo fastidio. E’ scattata la regola lookrule_intrusive.
I. Al ché il soggetto, accorgendosi di aver “disturbato” FACE, arretra, allontanan- dosi un poco. Il robot ritorna a un’espressione neutrale (lookrule_distance). L. Il soggetto quindi chiede scusa per l’accaduto (lookrule_speaking),
100 CAPITOLO 6. TEST E RISULTATI
N. e si allontana per uscire dalla stanza attraversando le diverse porzioni di spazio che attivano, prima la regola lookrule_distance,
O. e successivamente la regola lookrule_longdistance. In entrambi i casi il robot manifesta un’espressione neutrale.
P. Il soggetto esce dalla stanza, così come dal campo visivo del robot che, essendo di nuovo solo, torna “annoiato” a guardarsi intorno, seguendo il punto che ha la massima salienza in base all’immagine che sta ricevendo (boring_loneliness). Q. Fine dell’esperimento.
Dall’analisi appena descritta risulta evidente la dipendenza del Sistema Cognitivo dagli eventi che si sono verificati nel contesto sociale del robot durante l’esperimento. Una dimostrazione ancor più chiara può essere fornita dai dati che hanno generato i grafici, riportati in forma tabulare nell’appendice D.
Gli eventi comparsi nel contesto del robot hanno determinato non solo la focalizza- zione della sua attenzione e il relativo tracking del soggetto, ma anche la modulazione dello stato emotivo del robot, e tutto questo è avvenuto in contemporanea e in modalità autonoma.
Lo stato emotivo, espresso tramite l’espressione facciale dell’androide, ha influito sul comportamento del soggetto umano presente nell’ambiente del robot. Si è quindi verificata una vera e propria interazione sociale tra l’uomo e la macchina. Potremmo dire che si è chiuso un loop in cui i comportamenti del soggetto hanno influenzato il comportamento del robot, e a sua volta il comportamento del robot ha influenzato quello del soggetto umano.
Sul robot sono stati condotti diversi altri esperimenti, anche con due o tre soggetti presenti nella scena. In questo tipo di esperimenti con soggetti multipli i grafici ricavati dalle coordinate della posizione della testa e dell’espressione facciale del robot diventano difficili da descrivere con un approccio narrativo, per questo motivo non sono riportati in questa tesi. Ad ogni modo, negli esperimenti con più soggetti, il robot ha dimostrato un comportamento sociale appropriato, seguendo correttamente i soggetti e spostando la sua attenzione in accordo alle regole implementate e alla strategia di risoluzione dei conflitti scelta.
Conclusioni e sviluppi futuri
In questo lavoro di tesi è stato progettato un Sistema Cognitivo per Robot Sociali sviluppato con CLIPS, un software per la produzione di Sistemi Esperti basati su un motore di regole. Questo motore di regole è stato quindi integrato all’interno del blocco cognitivo di un’architettura ibrida reattiva/deliberativa ideata per il controllo di Robot Sociali Umanoidi. In particolare come piattaforma hardware è stato usato FACE (Facial Automaton for Conveying Emotions), l’androide in grado di produrre espressioni facciali sviluppato presso il Centro di Ricerca “Enrico Piaggio” dell’Università di Pisa. Si è quindi condotto un esperimento nel quale il robot FACE è stato inserito in un contesto di interazione sociale con un soggetto umano. Il robot è stato posto in condizioni di totale autonomia. Durante il test sono stati estratti e analizzati i dati riferiti ai movimenti della testa e allo stato d’animo che l’androide ha manifestato durante l’esperimento.
Conclusioni
Il lavoro di tesi, insieme con i risultati dei test eseguiti, ha portato alle seguenti conclusioni:
• E’ possibile utilizzare un paradigma di programmazione ibrida per il controllo di un Robot Sociale Umanoide. La programmazione a oggetti, di tipo procedurale, viene riservata ai servizi del sistema deputati alla percezione e all’attuazione; per la via deliberativa del sistema, ovvero all’interno del blocco cognitivo, si utilizza invece la programmazione a eventi, così che l’informazione possa essere elaborata a un maggior livello di astrazione.
• Si è potuto in questo modo introdurre un linguaggio di programmazione naturale che permette a figure professionali di tipo medico, e ai ricercatori delle neuro-
102 CAPITOLO 6. TEST E RISULTATI
scienze, di avvicinarsi a un oggetto altamente tecnologico, senza necessariamente possedere particolari competenze ingegneristiche o di programmazione. • In particolare, il robot FACE, che precedentemente a questo lavoro non aveva
un vero e proprio Sistema Cognitivo, in seguito all’integrazione del nuovo brain, ha manifestato la capacità di eseguire comportamenti sociali in modo autonomo, diventando così protagonista attivo del contesto sociale in cui è inserito. • La struttura modulare del nuovo Sistema Cognitivo, e la semplicità del lin-
guaggio con cui questo può essere differentemente programmato, permettono agevolmente di modificare il comportamento del robot. Questo apre le porte ad una nuova possibile applicazione dell’androide come piattaforma abilitante per lo studio dei modelli cognitivi.
Sviluppi futuri
Sebbene il robot su cui è stato integrato sia frutto del lavoro di anni di ricerca, il Sistema Cognitivo discusso è un’assoluta novità del progetto FACE. L’obiettivo di questa tesi infatti non era quello di far sì che il robot acquisisse delle funzionalità specifiche, ma che fosse quanto meno in grado di replicare i comportamenti precedenti utilizzando il Sistema Cognitivo, assolutamente differente e innovativo, che è stato fin qui esposto. Come abbiamo dimostrato questo requisito è stato soddisfatto e superato, ma non è certo il risultato più importante. L’aspetto fondamentale non è cosa il robot sia stato in grado di fare, piuttosto come sia riuscito a farlo: non utilizzando degli algoritmi complessi e rigidi, ma un sistema che grazie alla sua flessibilità e modularità potrebbe accelerare di gran lunga l’evoluzione del progetto FACE e dell’implementazione di modelli cognitivi nei robot.
Detto ciò questa tesi deve considerarsi esclusivamente un inizio, le fondamenta su cui si può costruire molto. Non resterà che fondere le conoscenze del settore medico (psicologi, neuroscienziati, studiosi del comportamento umano) con le competenze degli ingegneri e la creatività degli sviluppatori informatici. E possiamo affermare che questa collaborazione potrà trarre vantaggio dalla possibilità di testare modelli cognitivi su una piattaforma robotica fisica.
Quindi, la prima cosa da fare nel prossimo futuro sarà migliorare il Sistema Cognitivo dal punto di vista dell’implementazione. Al momento il Sistema ha poche regole, deve quindi essere ampliato e perfezionato. Fortunatamente è difficile
6.2. ANALISI E DISCUSSIONE DEI RISULTATI 103
immaginare un limite alla complessità e al numero delle regole che si possono implementare. Infatti, là dove i costi computazionali si faranno ingenti, YARP ci darà la possibilità di distribuire il sistema in diversi computer, dividendo il carico di lavoro. Tutto starà nel capire quali meccanismi il motore di regole deve tentare di riprodurre, ma, come abbiamo già detto, questa informazione sarà fornita dalle figure professionali più appropriate.
Ci sono anche altri aspetti che devono essere assolutamente migliorati, che però non riguardano direttamente il Sistema Cognitivo, piuttosto i servizi sottostanti, in particolare quelli deputati alla percezione. Si sarà notato che molte informazioni rilevate dai sensori non sono state utilizzate dal brain e potrebbero invece garantire delle funzionalità davvero molto interessanti. Questa ovviamente non è stata una scelta ma è dipeso dall’attuale instabilità o persino assenza di questi dati.
Alla luce di questa analisi si elencano alcuni sviluppi futuri che porterebbero sicuramente portare vantaggio al Sistema Cognitivo:
• Abbiamo visto che nell’attuale implementazione del sistema non vengono uti- lizzati tutti i moduli rappresentati nell’architettura dell’I-Clips Brain (ve- di Fig. 2.4), al contrario tutta la meta-scena viene interamente caricata nell’Attention Module e, sempre all’interno di questo modulo, si trovano tutte le regole, i templates, le variabili globali, ed anche le CLIPS Ations utilizzate dal sistema. Sarebbe interessante invece raggruppare set di regole in moduli diversi e caricare selettivamente i moduli. Questo al momento non è stato fatto per i seguenti motivi: il Power Module non è stato usato perchè non ancora svi- luppata la parte di programma che preleva l’informazione consumption, mentre la suddivisione delle regole nei moduli Emotion Module e Attention Module avrebbe potuto comportare problemi di sincronizzazione tra le espressioni e i movimenti del robot. Deve essere sperimentata.
• Al momento sono presenti alcune operazioni matematiche all’interno di CLIPS (come lo shift dello sguardo del robot, oppure la normalizzazione e la conversione di alcuni valori). Questi calcoli in futuro dovranno essere estratti dall’ambiente CLIPS e portati nell’ambiente C#. E’ fondamentale disaccoppiare totalmente il calcolo matematico dalla manipolazione simbolica, ogni programma deve gestire il tipo di dati appropriato.
• In uscita dal brain non stiamo usando il metodo dei pacchetti di dati XML e la rete YARP, questo invece dovrà essere fatto. Il sistema dovrà essere disposto in
104 CAPITOLO 6. TEST E RISULTATI
modo che il brain, oltre all’espressione facciale, indichi esclusivamente l’ID del soggetto o dell’oggetto che il robot deve guardare, e deve farlo utilizzando due porte YARP distinte. A quel punto il servizio di attuazione che si registrerà alla porta contenente l’ID dovrà scrutare la scena passando dalla via reattiva dell’architettura e trovare le coordinate del soggetto (o dell’oggetto) a cui rivolgere l’attenzione.
• Dovranno essere ampliate le regole dell’Analyzing Rules Set definite Presence
Rules, al momento vengono usate solo le regole che stabiliscono la presenza
o l’assenza di soggetti all’interno della scena. Si possono aggiungere regole come check_femalepresence, check_childrenpresence o check_happypeople, sul- la base dei dati forniti da SHORETM, che creino dei fatti secondari in grado di
innescare interi set di regole dedicati.
• Purtroppo al momento, proprio il software di elaborazione dell’immagine SHORETM, una volta integrato nel sistema non presenta la stabilità necessaria per l’utilizzo delle informazioni estratte. Il programma risulta eccessivamente sensibile all’illuminazione dell’ambiente e le ratio relative all’espressione dei soggetti inquadrati (ad eccezione della happy_ratio) non funzionano. Le stime dell’età e del genere dei soggetti funzionano a intermittenza, rimanendo attive solo per qualche secondo. Questo è il motivo per cui queste informazioni non sono state utilizzate dal brain, quando invece potrebbero fornire un’informazione utilissima sullo stato emotivo dei soggetti rilevati dal robot. Si dovrà cercare di renderle stabili o in alternativa si dovrà sperimentare l’integrazione di diversi software in grado di estrarre questi dati fondamentali.
• E’ prevista nei prossimi anni l’evoluzione del corpo di FACE. Al robot saranno aggiunte delle parti, stampate con la tecnica 3D Printing, che costituiranno busto e braccia del robot con possibilità di movimento. Il robot disporrà quindi di nuovi motori e della possibilità di compiere gesti e posture emotivamente rile- vanti. Parallelamente si dovranno ampliare il Planning Rules Set e l’Executing
Rules Set inserendo tutte le regole che gestiscono il processo decisionale e
l’azione di questi movimenti.
• Un grande passo in avanti potrebbe essere fornito se riuscissimo a rendere stabili gli ID dei soggetti. Al momento infatti basta uscire e rientrare dalla scena per vedersi assegnato un ID diverso dal precedente. Se poi riuscissimo in
6.2. ANALISI E DISCUSSIONE DEI RISULTATI 105
qualche modo a memorizzare gli ID associati alle persone, si potrebbe tentare di riprodurre dei comportamenti umani più complessi. Ad esempio quello della confidenza, creando una friends-list che determinerebbe un comportamento del robot diverso a seconda delle persone interessate. Si potrebbe persino tentare di implementare nel motore di regole l’ipotesi del marcatore somatico di Antonio Damasio (vedi App. A), associando ad ogni soggetto, in base alle azioni che compie e gli stati fisici/emotivi che suscita nel robot, un valore o un simbolo che può essere negativo o positivo, e che moduli l’atteggiamento dell’androide nelle successive interazioni con il soggetto marcato.
• Sempre restando sul “tema damasiano” potremmo pensare, una volta disponibile la variabile consumption (o stamina), di utilizzarla come variabile del motore di regole, sia nelle condizioni che nelle azioni delle regole. Ovvero far sì che lo stato fisico, corporeo, del robot influisca non solo per via reattiva sui suoi movimenti, ma anche sul suo processo decisionale, e che, vice versa, questo sia modificato dagli eventi esterni, in modo che il robot possa essere “stancato” da uno stress psicologico oltre che fisico. Per non parlare del mood del robot, già implementato nell’architettura del brain ma non ancora utilizzato dal Sistema Cognitivo. Come ci ricorda Damasio, se vogliamo davvero simulare un processo decisionale umano questo processo dovrà inevitabilmente essere influenzato dalla percezione che l’androide ha di se stesso, includendo sia il suo stato fisico che il suo stato emotivo presenti nel momento in cui deve decidere le sue azioni. Quindi, così come consumption, anche l’utilizzo della variabile mood dovrà essere integrato nel Sistema Cognitivo.
Appendice A
Le teorie di Antonio Damasio
Antonio Damasio è un neurologo, neuroscienziato, psicologo e saggista portoghese1.
Ha compiuto importanti studi sulle basi neuronali della cognizione e del comporta- mento e le sue teorie sulla mente umana sono state una fonte ispiratrice fondamentale per lo sviluppo del lavoro presentato all’interno di questa tesi.
Queste teorie vengono esposte in modo davvero sublime, oltre che impeccabile, nel suo libro Descartes’ Error, ovvero “L’Errore di Cartesio”, scritto nel 1994 (vedi Fig. A.1).
In modo del tutto curioso poi, questo libro sembra, agli occhi di chi si deve occupare di Intelligenza Artificiale, una vera e propria guida per lo sviluppo di un Sistema Cognitivo.
Osserviamo ad esempio queste sue parole:
“Avere una mente significa questo: un organismo forma rappresen- tazioni neurali che possono divenire immagini, essere manipolate in un
processo chiamato pensiero e alla fine influenzare il comportamento aiu- tando a prevedere il futuro, a pianificare di conseguenza e a scegliere la
prossima azione.”
Questa citazione potrebbe tranquillamente rappresentare una spiegazione sintetica del funzionamento del motore di regole presentato.
In quest’appendice si vuole definire brevemente due punti salienti delle teorie di Damasio, che sono poi quelli che hanno ispirato questo lavoro, e che sono stati
1attualmente è direttore del Brain and Creativity Institute della University of Southern California
dove è professore di neurologia, neuroscienze e psicologia.
108 APPENDICE A. LE TEORIE DI ANTONIO DAMASIO
A.1. EMOZIONE E DECISIONE 109
implementati, o che tenteremo di implementare in futuro, all’interno del Sistema Cognitivo sviluppato.
A.1
Emozione e decisione
Partendo dalla relazione tra specifiche lesioni cerebrali e cambiamenti della personalità in alcuni suoi pazienti, Damasio è riuscito a dimostrare l’influenza dell’emozione (e del- le relative aree cerebrali) all’interno dei percorsi neurali implicati nella pianificazione e la decisione.
“ È come se noi fossimo posseduti da una passione per la ragione: un impulso che ha origine nel nucleo del cervello, permea gli altri livelli del sistema nervoso ed emerge sotto forma di sentimenti o inclinazioni inconsce a guidare il processo di decisione.”
La stretta interdipendenza tra questi due mondi che abbiamo sempre ritenuto così distanti (se non contrapposti) è, in sintesi, l’errore della divisione impartita da Cartesio, tra res cogitans e res extensa. Da una parte l’intelletto, la ragione, i procedimenti che ci permettono di ragionare; dall’altra l’emozione, la passione e i sentimenti, che non hanno niente a che fare con la ragione, e che nel pensiero comune ci distraggono, compromettendo il successo di un buon ragionamento. Questa netta scissione di fenomeni, che si sono poi rivelati strettamente legati e necessari l’un per l’altro, ha influenzato tutta la medicina occidentale, la nostra cultura e perfino il modo in cui percepiamo noi stessi.
Dato che si è dimostrato impensabile studiare i meccanismi della mente umana senza prendere in considerazione lo stato emotivo e gli stati corporei che accompa- gnano continuamente l’essere umano, si è cercato di restituire la giusta importanza a questi aspetti anche nello sviluppo di un’Intelligenza Artificiale, ponendo lo stato emotivo e l’espressività corporea al centro del Sistema Cognitivo da implementare nel robot.