Un altro stile manageriale di architettura è SFX (Murphy). Esso è partito come una estensione di AURA incorporando i sensori per i cammini.
L’estensione consiste nell’aggiungere moduli per specificare come la percezione, incluso la funzione dei sensori e la diagnosi dei guasti dei sensori, sono gestiti.
Nel tempo SFX ha riorganizzato le componenti reattiva e deliberativa di AURA sebbene le due architetture rimangano filosoficamente identiche.
SFX è uno esempio di come può essere introdotta la robustezza in un’architettura.
SFX è stata usata su 8 robot per la navigazione all’interno di uffici, per seguire le strade all’aperto, e per la ricerca e il salvataggio in ambito urbano.
Nella fig. si mostra un modello neuro-fisiologico della percezione basato su quella dei gatti. Il modello suggerisce che il processo sensoriale è inizialmente locale a ciascun sensore, e può avere il suo proprio campo recettivo dipendente dal sensore. Questo è consistente con i behavior reattivi ed anche con la motivazione per la fusione dei sensori.
L’elaborazione sensoriale sembra quindi ramificarsi attraverso duplicati verso il collicolo superiore (una struttura a metà cervello responsabile dei behavior motori) e verso la corteccia cerebrale (responsabile di funzioni più cognitive). La ramificazione permette allo stesso gruppo di sensori di essere usato contemporaneamente in molte maniere.
In SFX le funzioni equivalenti nel collicolo superiore sono implementate nello strato reattivo e le attività corticali nello strato deliberativo.
La ramificazione delle percezioni è ottenuta attraverso l’uso di whiteboard comuni in numerosi sistemi di intelligenza artificiale come strutture dati globali cognitive.
La componente deliberativa è divisa in moduli o classi di oggetti, ciascuno dei quali è in realtà un agente software, cioè un programma software autocontenuto che è specializzato in alcune aree di competenza e può interagire con altri agenti.
L’agente dominante è chiamato pianificatore di missione.
Questo agente serve per interagire con l’uomo e specificare i vincoli della missione agli altri agenti nel livello deliberativo. Gli agenti nel livello deliberativo cercano di trovare e mantenere un insieme di behavior che permetta di compiere la missione nel rispetto dei vincoli.
Gli agenti software in ogni livello deliberativo sono equivalenti, così come lo sono i behavior, e operano indipendentemente l’uno dall’altro. Ma la natura della deliberazione suggerisce che essi devono negoziare con quelli equivalenti per trovare un insieme di behavior soddisfacente per assolvere il compito corrente.
Una maniera di pensare a questa suddivisione è che il pianificatore di missione agisce come un presidente di una grande compagnia dando le direttive mentre i behavior sono i lavoratori.
Gli agenti al livello deliberativo più basso sono il management medio, pianificano come organizzare i compiti dei lavoratori, controllano la produttività e modificano i compiti se necessario.
A livello deliberativo il Task Manager, il Sensor e l’Effector funzionano come risorse manageriali. Le funzioni delle risorse manageriali sono divise fra i manager perché il tipo di conoscenza e gli algoritmi sono differenti per gestire percezioni e azioni.
I manager usano pianificazione AI, scheduling e tecniche di problem solving per determinare la migliore sistemazione dell’effettore e percepire le risorse da un insieme di schemi percettivi e motori di comportamento.
Ai manager non è permesso di rilassare alcun vincolo specificato dal pianificatore di missione.
In questa maniera essi sanno essenzialmente che cosa il robot deve fare, ma solo il pianificatore di missione sa perché.
Il vantaggio di questo livello di classe media è che rende più semplici le tecniche di AI necessarie per il management comportamentale.
Il sensor manager in SFX è importante perché è esplicitamente dedicato a controllare la performance e a risolvere problemi.
Esso ha due agenti software per monitorare sia la performance dei compiti sia i cambiamenti ambientali (in questo caso è probabile che si abbia una perdita di performance).
Se un behavior fallisce o uno schema percettivo rileva che i valori dei sensori non sono consistenti o ragionevoli allora il sensor manager è allertato e può individuare schemi percettivi alternativi oppure behavior per sostituire il behavior problematico.
Si immagini un convoglio di robot che trasportano cibo alla tana. Se un robot ha un problema ad un sensore, esso non dovrebbe immediatamente fermarsi e pensare a risolverlo. Invece dovrebbe ricorrere ad un piano sostitutivo oppure camminare lentamente mentre cerca un piano alternativo. Altrimenti l’intero convoglio si fermerebbe e ci sarebbero scontri. Dopo di che, lavorando in background, il manager sensoriale può tentare di diagnosticare la causa del problema e correggerla.
In una dimostrazione un robot che usava SFX è riuscito a liberarsi di una camicia che copriva la sua telecamera.
Il cartografo è responsabile della produzione di mappe e della pianificazione del percorso, mentre gli agenti della performance cercano di osservare il progresso del robot verso il goal quando il robot non ci riesce .
Un esempio è quando il robot si infila in una pozzanghera di una strada sporca.
Il behavior follow-path è eseguito correttamente; esso sta guardando la strada e sta dando correttamente i comandi agli attuatori.
I sensori di rotazione mostrano che le ruote stanno girando.
Ma non avanza. Allora è necessario un qualche altro processo, più cosciente di un behavior reattivo, per accorgersi che il robot non si sta muovendo.
Ad esempio in questo caso se il robot si muovesse la visione dovrebbe cambiare nel tempo e non rimanere la stessa.
Anche la componente reattiva è divisa in due strati.
In questo caso uno strato riflette il behavior strategico e l’altro il behavior tattico.
Come prima detto, ogni architettura ibrida ha un suo proprio metodo di combinazione dei behavior nella parte reattiva.
AURA usa la combinazione di campi di potenziali, mentre SFX usa un metodo di filtri.
La filosofia di SFX è simile alla sussunzione; vi sono alcuni behavior fondamentali che dovrebbero sovrapporsi agli altri comportamenti.
La differenza è che in SFX è il behavior tattico più basso che fa la sussunzione e non quello strategico più alto.
L’idea di un behavior tattico è meglio illustrata da un esempio.
Si ricordi il caso di evitare gli ostacoli con i campi di potenziale. L’uso di un campo repulsivo era semplice ma avrebbe potuto condurre a minimi globali dove la repulsione avrebbe potuto annullare qualunque altro campo come quello di muovere verso l’obiettivo.
La soluzione NaTs è quella di utilizzare il vettore creato dagli altri campi come input per il campo evita-ostacolo. Questo vettore potrebbe aggiungere un campo tangenziale al campo repulsivo, ottenendo così un campo evita-ostacolo che fornisce un comando strategico; come fosse un generale che dice alle truppe di muovere avanti.
Il campo evita-ostacolo è il fante; esso sta cercando di andare nella direzione indicata dal generale senza sapere perchè.
Il behavior evita-ostacolo, in questa maniera, filtra la direzione strategica (data da vai-verso-goal) con la situazione tattica immediata (la presenza di un ostacolo) ottenendo un risultato corretto.
Un altro esempio di behavior tattico in SFX è il controllo di velocità.
Il controllo di velocità in AURA e in molte architetture è il prodotto incrociato dei meccanismi usati per combinare comportamenti.
La velocità emergente in AURA è la grandezza del vettore ottenuto dalla somma delle attività dei behavior.
Nella prossima lezione si vedrà il controllo di velocità di SFX.
1. Introduzione
4. Esempi di applicazione del paradigma gerarchico
11. Schema Theory
13. Architetture Reattive a Sussunzione
14. Architetture a Campi di Potenziale
15. Architetture a Campi di Potenziale e Sussunzione
16. Progettazione di un sistema Reattivo - 1
17. Progettazione di un sistema Reattivo - 2
18. Progettazione di un sistema Reattivo - 3