1
PROPOSTE DI PROGETTI
HARDWARE
1. Cataglyphis. Simulare il comportamento di due formiche
Cataglyphis. Entrambe partono dalla tana e in maniera casuale
vanno a cercare il cibo. Quando una delle due lo trova, accende
una luce si fa raggiungere dall’altra e poi va direttamente alla
tana. La stessa cosa farà la seconda formica.
1.
2.
3.
4.
5.
6.
7.
Descrivere il task
Descrivere il robot
Descrivere l’ambiente
Descrivere le reazioni del robot in risposta all’ambiente
Raffinare ogni behaviour
Verificare ogni behaviour
2
Verificare i behaviour tutti insieme
PROPOSTE DI PROGETTO
SIMULAZIONE
1. Operai – Dato un ambiente con ostacoli fissi di colore blu,
addossati ai muri, contenenente un certo numero di oggetti gialli
mobili. Progettare un team di robot (da due a 5 a scelta) che
individuano gli oggetti gialli e li spingono (o trasportano insieme)
in una prefissata posizione di accumulo.
1.
2.
3.
4.
5.
6.
7.
Descrivere il task
Descrivere il robot
Descrivere l’ambiente
Descrivere le reazioni del robot in risposta all’ambiente
Raffinare ogni behaviour
Verificare ogni behaviour
3
Verificare i behaviour tutti insieme
Perché fare sistemi ibridi ?
Abbiamo visto che i sistemi reattivi possono avere performance
robuste in domini complessi e dinamici.
Nel caso di sistemi puramente reattivi noi assumiamo che:
1. l'ambiente può perdere consistenza temporale e stabilità
2. il sistema sensoriale robotico è adeguato solo al compito
specifico
3. può essere difficile localizzare un robot rispetto ad un modello
del mondo
4. la conoscenza simbolica rappresentativa del mondo non viene
presa in considerazione
4
In alcune situazioni queste assunzioni possono non essere
strettamente vere.
In situazioni dove il mondo può essere modellato accuratamente,
l'incertezza diminuisce e allora i metodi deliberativi sono preferiti.
In un mondo reale, in cui agiscono esseri viventi, le condizioni che
favoriscono i pianificatori puramente deliberativi non esistono.
Per realizzare macchine che si comportano come un uomo o un
animale sono necessari sistemi reattivi.
Molti ricercatori comunque ritengono che sistemi ibridi, capaci di
incorporare ragionamento deliberativo e comportamento basato
su behavior, sono necessari.
5
I sistemi deliberativi usano la rappresentazione della conoscenza a
scopi di pianificazione prima della esecuzione dell’azione.
Questa conoscenza potenzialmente interessante può assumere
diverse forme:
•comportamenti e strategie percettive possono essere
rappresentate come moduli e progettate per corrispondere a
diverse missioni e ambienti, con una certa versatilità
•una conoscenza a priori del mondo quando è disponibile e
stabile può essere usata per configurare o riconfigurare i
behavior efficientemente
•modelli del mondo acquisiti dinamicamente possono essere
usati per prevenire certi fallimenti ai quali i metodi non
rappresentazionali sono soggetti.
6
Le architetture ibride deliberativo-reattive combinano gli aspetti
dei modelli simbolici della IA tradizionale con la robustezza e
flessibilità dei sistemi puramente reattivi, mediante una
rappresentazione della conoscenza simbolica, mantenendo
l'obiettivo di tempo utile.
Le architetture ibride permettono la riconfigurazione dei sistemi di
controllo reattivi basata sulla conoscenza disponibile del mondo
attraverso la loro capacità di ragionare sulle componenti
comportamentali sottostanti.
La costruzione di tali sistemi ibridi, comunque, richiede dei
compromessi tra i due estremi. Per altro la natura dei confini tra
deliberazioni e esecuzione reattiva non è ancora ben chiara. 7
Evidenze neuro-psicologiche a sostegno dei sistemi ibridi.
Modelli di comportamento psicologici e neurologici danno una
prova della esistenza di strategie che coinvolgono elementi di
ragionamento deliberativo e di controllo basati su comportamenti.
Così come molti psicologi si sono spostati dal behaviorismo alla
psicologia cognitiva per fornire una descrizione accettabile della
elaborazione umana dell’informazione, anche le ricerche sull'uso
dei sistemi ibridi hanno incluso molti concetti provenienti da
questa scuola di pensiero. Shiffrin e Schneider (1977) hanno
indicato l'esistenza di due distinti modi di comportamento:
volontario e automatico.
Norman e Shallice (1986) hanno modellato la coesistenza di due
distinti sistemi concernenti il comportamento umano.
8
Il primo sistema modella il comportamento automatico ed è molto
vicino ad un sistema reattivo. Questo sistema manipola
l’esecuzione automatica dell’azione senza coscienza, parte senza
l’attenzione, e consiste di attività multiple indipendenti e parallele
(schemi).
Il secondo sistema controlla il comportamento volontario e
fornisce una interfaccia tra il controllo cosciente e il sistema
automatico. La figura mostra questo modello.
9
Questa ricerca ha caratterizzato i task che richiedono controllo
volontario nell'uomo e coinvolgono risorse deliberative e di
attenzione quali:
•pianificazione o decisione
•problemi e dubbi
•azioni nuove o poco conosciute
•azioni pericolose o difficili
•abitudini sopravvenute o tentazioni
Altri task sono tipicamente automatici e possono essere perseguiti
senza far uso dell’attenzione.
Nello schema di Norman e Shallice (1986) le connessioni
orizzontali possono tranquillamente essere comparate alla
sussunzione.
L’aspetto deliberativo è introdotto laddove si hanno più behavior
da eseguire e quindi è necessario realizzare una loro modulazione,
10
organizzazione o sincronizzazione, cioè una pianificazione.
SISTEMA
PERCETTIVO
CONTROLLO
COSCIENTE
CONTROLLO
SUB-CONSCIO
MODULAZIONE
ORGANIZZAZIONE
SINCRONIZZAZIONE
MOTIVAZIONE
ATTENZIONE
SISTEMA
MOTORIO
11
Dalla fine del 1980 la tendenza in robotica è stata la progettazione
con il paradigma reattivo. Questo paradigma permette al robot di
operare in tempo utile usando processori senza memoria,
economici e disponibili sul mercato.
L’assenza di deliberazione significa che un robot potrebbe non
pianificare una traiettoria ottimale, fare mappe, controllare il suo
comportamento o ancora selezionare i comportamenti migliori da
usare per eseguire un compito (pianificazione generale).
Si noti che non tutte queste funzioni coinvolgono la pianificazione
per sè, fare mappe prevede la gestione di incertezze, mentre
controllare la performance (e di cosa fare in presenza di
performance degradate) coinvolge la soluzione di problemi e
l'apprendimento.
Al fine di distinguere queste funzioni più cognitive della
pianificazione di un percorso, è stato coniato il termine
12
deliberativo.
Il paradigma reattivo a volte non è accettato perché molte persone
trovano che progettare comportamento o comportamenti
emergenti sia un'arte e non una scienza.
Le tecniche per ordinare o per assemblare behavior, per produrre
un sistema capace di raggiungere una serie di sottogoal, è
fortemente dipendente dal progettista.
Non potrebbero i robot essere tanto intelligenti da selezionare i
comportamenti necessari per un particolare compito e generare
come dovrebbero essere eseguiti nel tempo?
La nuova sfida per la robotica IA agli inizi del 1990 è stata come
introdurre la pianificazione e la deliberazione nei robot senza
perdere il vantaggio del controllo reattivo.
13
Si convenne che il controllo dei behavior era la strada corretta per
realizzare i controlli di basso livello.
Nel 1988 Arkin iniziò a proporre di aggiungere più funzioni
cognitive ai sistemi reattivi nel sistema AURA (AUtonomous Robot
Architecture).
Molti robotici cercarono di aggiungere strati più elevati e più
funzioni cognitive ai loro sistemi comportamentali emulando
l'evoluzione dell'intelligenza.
Vedremo tre esempi di questo approccio:AURA, SFX, SAPHIRA.
14
Inizialmente l'ibrido fu visto come un artificio di ricerca, senza
alcun interesse per le implementazioni robotiche.
Fu allora raccomandato di progettare robot reattivi in ambienti
non strutturati.
Per ambienti ben conosciuti si suggeriva il paradigma
gerarchico.
Si riteneva che il paradigma ibrido fosse il peggiore dei due
perché rallentava i tempi di esecuzione con grandi difficoltà per
lo sviluppo del modello gerarchico.
15
Attualmente la comunità robotica ritiene che gli ibridi sono la
migliore soluzione architetturale per molte ragioni.
Primo, l'uso di tecniche di elaborazione asincrona (multitasking)
permette l'esecuzione di funzioni deliberative indipendentemente
dal comportamento reattivo.
Un pianificatore può calcolare lentamente il prossimo goal mentre
il robot naviga reattivamente verso il goal attuale ad una buona
velocità.
Secondo una buona modularità software permette che sottosistemi
o oggetti nelle architetture ibride vengano frammisti per
applicazioni specifiche.
Applicazioni che favoriscono comportamenti puramente reattivi
possono usare solo quel sottoinsieme di architetture reattive
necessarie, mentre problemi cognitivamente più importanti
16
possono usare l'intera architettura.
Attributi del paradigma ibrido.
L'organizzazione di un sistema ibrido deliberativo-reattivo può
essere descritta come: plan, e sense-act.
Il box Plan include tutte le deliberazioni e il modello globale del
mondo, non solo pianificazione di compiti o percorsi. Il robot
dovrebbe prima pianificare come eseguire una missione (usando il
modello globale del mondo) o un compito, e quindi instanziare o
rivolgersi ad un insieme di comportamenti (sense-act) per eseguire
17
il piano (o una porzione del piano).
I comportamenti vengono eseguiti fin quando il piano non è
completato. A questo punto il pianificatore dovrebbe rendere
disponibile un nuovo insieme di comportamenti e così via.
L'idea del PLAN e poi SENS-ACT deriva da due ipotesi del
paradigma ibrido.
18
Primo: la pianificazione copre un orizzonte di lungo tempo e
richiede una conoscenza globale, pertanto, dovrebbe essere
disaccoppiata dalla esecuzione in tempo reale secondo il principio
di coerenza dell'ingegneria del software (funzioni diverse
dovrebbero essere poste in oggetti diversi). Questa è una buona
strategia per proporre obiettivi e selezionare metodi, ma non per
prendere decisioni a grana fine. Un'altra maniera di dire ciò è che
la deliberazione lavora con i simboli cioè lo scopo è di prendere la
lattina di coca cola, mentre la reazione lavora con i sensori e gli
attuatori, ad esempio il percetto è una macchia rossa che esercita
un campo attrattivo.
19
Secondo: gli algoritmi di pianificazione e modellazione globale
sono computazionalmente costosi, quindi dovrebbero essere
disaccoppiati dalla esecuzione in tempo reale altrimenti
rallenterebbero il tempo di reazione.
L'organizzazione dei sensori nelle architetture ibride è più
complessa.
I behavior dei sensori rimangono come nel paradigma reattivo:
locali e specifici del comportamento.
La pianificazione e la deliberazione richiedono modelli del mondo
globale e quindi le funzioni di pianificazione hanno accesso a un
modello globale del mondo.
Il modello è costruito da processi indipendenti dalle percezioni
specifiche dei behavior.
Comunque, sia gli schemi percettivi per i behavior, sia per i
20
processi di modellazione, possono condividere gli stessi sensori.
Inoltre i processi di modellazione possono condividere i percetti
creati dagli schemi percettivi dei behavior oppure possono avere
sensori che sono destinati a fornire osservazioni per modellare il
mondo ma non sono usati per nessun behavior attivo (percetti
virtuali).
21
L'organizzazione delle primitive SENS-PLAN-ACT nel
paradigma ibrido è concettualmente diviso in una parte reattiva
(reattore) e in una parte deliberativa (deliberatore).
Sebbene molte architetture abbiano strati o funzionalità discrete
nel reattore e nel deliberatore, ciascuna architettura nel
paradigma ibrido ha delle divisioni ovvie fra le funzioni reattive
e deliberative.
22
Connotazioni di behavior reattivi negli ibridi.
Il paradigma ibrido è una estensione del paradigma reattivo e
dalla descrizione precedente appare chiaro che la componente
comportamentale non sembra toccata. Questo non è del tutto
vero.
I behavior nel paradigma ibrido hanno una connotazione
leggermente diversa da quella del paradigma reattivo.
Nel paradigma reattivo un behavior
connota behavior
puramente riflessivi.
Nel paradigma ibrido il termine behavior è generalmente più
vicino a quello etologico e include i behavior riflessivi, innati e
appresi. Questo può generare confusione, e alcune volte si usa il
termine skill (capacità) invece di behavior per evitare confusione
23
con behavior puramente riflessivi.
Anche le implementazioni ibride tendono ad usare assemblaggi
di behavior applicati sequenzialmente, piuttosto che behavior
primitivi.
Poiché le implementazioni ibride sono interessanti per i
behavior emergenti più complessi vi è una maggiore diversità
di metodi per combinare l'uscita di behavior concorrenti.
24
Connotazioni di globale
Il termine globale è usato come sinonimo di deliberativo mentre
locale di reattivo.
Questo può portare a confusioni perché globale non è sempre
veramente globale negli ibridi. La parte deliberativa di una
architettura ibrida contiene moduli e funzioni per cose che non
sono facili da rapresentare nei behavior reattivi.
25
Alcune di queste funzioni richiedono chiaramente un modello del
mondo globale:
pianificazione del percorso e realizzazione di mappe sono
probabilmente gli esempi migliori.
Ma altre attività richiedono una conoscenza globale di natura
differente. La gestione comportamentale (stabilire quale behavior
usare) richiede la conoscenza di qualche cosa circa la missione
corrente o prevista e lo stato dell'ambiente.
Questa è conoscenza globale in quanto richiede che il modulo
conosca qualche cosa fuori di sé, confrontato a un behavior
reattivo che può funzionare senza sapere se vi sono altri behavior
in esecuzione.
26
Analogamente controllare la performance per vedere se il robot
sta facendo progressi per raggiungere il goal o la soluzione del
problema, è una attività globale.
Si noti che un programma che controlla se il robot si muove in
avanti è un problema che riguarda il suolo e/o un sensore (per es.
gli shaft-encoders non ci dicono se le ruote girano
correttamente).
Per fare la diagnosi, il programma deve sapere che cosa il
behavior stava cercando di fare, e verificare se vi sono altri
sensori o sorgenti di conoscenza che possono corroborare le
ipotesi.
Quindi una funzione deliberativa può non avere bisogno di un
modello globale del mondo ma può aver bisogno di stabilire lo
stato interno del robot su una scala globale oppure stabilire con
quali altri moduli o capacità deliberative il programma dovrebbe
27
Nehmzow
interagire
Aspetti architetturali
Le varie architetture ibride deliberative-reattive si distinguono
sulla base di come esse rispondono alle questioni seguenti:
•Come fa l'architettura
deliberazione?
a
distinguere
fra
reazione
e
•Come organizza le responsabilità nella parte deliberativa?
•Come fa a far emergere il comportamento?
La differenza fra reazione e deliberazione è un problema critico
per costruire una buona e riutilizzabile implementazione
orientata agli oggetti.
Questo determina quali funzionalità vanno in quale modulo, quali
moduli hanno accesso alla conoscenza globale (che porta a
specificare classi public and friend in C++), in quale dovrebbe
essere la conoscenza globale (strutture dati condivise).
28
Analogamente è importante suddividere la parte deliberativa in
moduli o oggetti.
Una buona scomposizione assicura portabilità e riusabilità.
Mentre le architetture ibride sono ben note per come incorporano
la deliberazione nei robot mobili, esse introducono anche alcuni
cambiamenti nella maniera con cui è organizzata la reazione.
Molti ricercatori hanno trovato che le due principali maniere di
combinare i behavior reattivi, sussunzione e campi di potenziale,
sono limitate.
Di qui almeno altri tre meccanismi sono stati introdotti:
voting (DAMN),
fuzzy logic (SAPHIRA),
filtering (SFX).
29
Componenti comuni delle architetture ibride.
Generalmente una architettura ibrida ha i seguenti moduli o
oggetti:
1. Un agente Sequencer che genera insiemi di behavior da
attivare per realizzare un subtask, determinando tutte le
condizioni di sequenze di attivazione.
La sequenza è generalmente rappresentata come una rete di
dipendenza o una macchina a stati finiti, e il sequenziatore
dovrebbe o generare questa struttura o essere capace di
adattarla dinamicamente.
30
2. Un resource manager che distribuisce le risorse ai behavior
inclusa la selezione delle librerie o schemi.
Per esempio un robot può avere visione stereo, sonar, sensori
IR, i quali tutti sono capaci di rilevare distanze.
Il gestore di behavior dovrebbe accertare se i sensori IR
possono rilevare ad una distanza sufficiente, la visione stereo
può aggiornare abbastanza velocemente per ottenere la
velocità desiderata del robot, e i sonar hanno potenza
sufficiente per produrre letture affidabili.
Nelle architetture reattive le risorse per un behavior sono
spesso hard-coded/wired nonostante l’abilità dell'uomo ad
usare in maniera alternativa i sensori e gli effettori (aprire la
porta con una mano piuttosto che con l'altra).
31
3. Un Cartographer che è responsabile della creazione,
memorizzazione e mantenimento di mappe o informazioni
spaziali e in più di metodi per l'accesso ai dati. Il Cartographer
spesso contiene un modello globale del mondo e una
rappresentazione della conoscenza anche se non è una mappa.
32
•
Un Mission planner che interagisce con l'uomo, rende operativi
i comandi del robot, e costruisce un piano della missione.
Ad esempio l'assistente robot ideale potrebbe ricevere un
comando, "vai alla polizia". Il pianificatore di missione
dovrebbe interpretare questo comando in primo luogo in
termini di andare a cercare una persona, riconoscerla come un
poliziotto dall'uniforme, attirare la sua attenzione e quindi
condurlo indietro al punto di partenza. Il pianificatore di
missione dovrebbe avere accesso alle informazioni e molto
probabilmente sapere se il poliziotto è nel suo ufficio, al bar,
oppure nell'ultimo posto dove lo ha visto.
Il piano deve essere elaborato prima di andare all'ufficio della
polizia.
33
5. Un agente Performance Monitoring e Problem Solving che
permette al robot di stabilire se sta facendo progressi
oppure no.
Si noti in questo caso il robot, al limite, dovrebbe esibire una
sorta di auto-coscienza (sapere di sé).
34
Stili di architetture ibride.
Gli stili architetturali si possono dividere in tre categorie.
Stile manageriale: divide la parte deliberativa in strati basati
sullo scopo del controllo o sulle responsabilità manageriali di
ciascuna funzione deliberativa. Un modulo di mission planning
dovrebbe essere capace di dirigere altri moduli come la
navigazione (dove andare) perché è più astratto del path planning
(come arrivarci).
35
Stili di architetture ibride.
Gerarchie di stato: usano la conoscenza dello Stato del robot per
distinguere fra attività reattive e deliberative. I behavior reattivi
sono visti come non avere uno stato, non avere auto-coscienza e
funzionare solo nel presente. Le funzioni deliberative possono
essere divise in quelle che richiedono conoscenza dello stato
passato del robot (cioè di una sequenza di comandi) e del futuro
(pianificazione della missione e del percorso).
36
Stili di architetture ibride.
Model oriented styles: sono più nebulose. Esse sono caratterizzate
da behavior che hanno accesso a parti del modello del mondo,
spesso ad un punto tale che sembra di ritornare al modello globale
del mondo gerarchico.
37
Architetture manageriali.
Gli stili manageriali di architetture ibride sono riconoscibili dalla
loro scomposizione di responsabilità simile alla gestione d'affari.
In cima ci sono agenti che fanno pianificazione a alto livello,
quindi passano il piano ai subordinati, che rifiniscono il piano e
procurano le risorse e passano queste ai lavoratori di livello più
basso i behavior reattivi.
38
Architetture manageriali.
Gli agenti di livello più alto possono vedere i risultati degli agenti
subordinati di livello più basso e possono dare indicazioni.
Come nella sussunzione un livello può influire sul livello
sottostante.
Nello stile manageriale ciascun livello cerca di eseguire le proprie
direttive, di identificare i problemi, di correggerli localmente. Solo
quando un agente non può risolvere un suo problema chiede aiuto
a un agente superiore.
39
AUtonomous Robot Architecture
AURA è uno dei robot ibridi più antichi.
Esso è stato progettato è realizzato da Arkin nello stesso periodo
in cui Brooks iniziava a pubblicare il suo lavoro sulla sussunzione.
Aura è basato sullo schema theory e consiste di cinque sottosistemi
equivalenti, a classi orientate agli oggetti.
Due sottosistemi comprendono
pianificatore e il cartografo.
la
parte
deliberativa:
40
il
AUtonomous Robot Architecture
Il pianificatore è responsabile della pianificazione della missione e
del task.
Il cartografo contiene tutte le funzioni per leggere le mappe
necessarie per la navigazione. Il cartografo può anche avere una
mappa a priori.
Le tre componenti del pianificatore possono interagire con il
cartografo attraverso metodi per ottenere un cammino da seguire
suddiviso in segmenti.
41
42
Il sottosistema pianificatore è diviso in:
•pianificatore di missione,
•navigatore,
•pilota.
Il pianificatore di missione serve da interfaccia con l'uomo e,
l'attuale implementazione di
Aura, ha una delle più amichevoli
interfacce disponibili sul mercato.
Il navigatore lavora con il cartografo per elaborare un cammino
per il robot e dividerlo in sub-task
(sei sulla montagna segui la strada
lungo il fiume).
43
Il pilota prende il primo sub-task e procura le informazioni
necessarie (terreno, tipo di foglie etc) per generare il
comportamento. La parte pilota del sottosistema di pianificazione
interagisce con il manager dello schema motore nel sottosistema
motore dandogli la lista dei behavior di cui ha bisogno per
realizzare il task corrente.
Il manager dello schema motore
compone ogni behavior esaminando
le librerie degli schemi percettivi
nel sottosistema percettivo e gli
schemi motori nel sottosistema
motore. Lo schema motore
rappresenta le azioni con i campi
di potenziale e il behavior finale
emerge dalla somma dei vettori.
44
I sottosistemi motore e i sensori rappresentano la parte reattiva
dell’architettura.
Queste classi contengono librerie di schemi percettivi e motori, e
formano gli schemi dei comportamenti. Gli schemi stessi possono
consistere di assemblaggi di schemi primitivi, coordinati da
macchine a stati finiti.
Gli schemi possono condividere informazione, se necessario,
attraverso collegamenti del manager
dello schema motore. I behavior
non sono ristretti all'essere puramente
riflessivi. Behavior con una conoscenza
specifica e rappresentazioni in
memoria sono permessi all'interno dello
schema.
Gli schemi motori, comunque,
45
sono ristretti ai campi di potenziale.
Il quinto sottosistema, controllo omeostatico, ricade nell'area
grigia fra deliberativo e reattivo.
Lo scopo del controllo omeostatico e di modificare le relazioni
fra i behavior cambiando il guadagno in funzione della
“salute” del robot o di altri vincoli.
46
Ad esempio si consideri una macchina planetaria che opera su
un pianeta roccioso. Il robot deve fisicamente prendere pietre in
giro sul pianeta e portarle al veicolo madre. La data per il
ritorno del veicolo sulla terra è fissata indipendentemente da
quello che accade. Ora il veicolo può essere fornito di un
behavior di conservazione. Esso prevede che il robot deve stare
sempre lontano due metri da ogni ostacolo. All'inizio della
missione questo behavior di conservazione appare ragionevole.
Ora si consideri cosa accade quando il tempo per il ritorno del
veicolo si avvicina. Se il robot è vicino al veicolo di ritorno egli
potrebbe voler sfiorare gli angoli e ridurre il margine per il
quale evita gli ostacoli per consegnare in tempo il suo carico.
Il robot potrebbe voler fare l'equivalente di un sacrificio della
propria vita per il bene della missione.
47
Il problema diventa come renderlo omeostatico. Molti aspetti di
Aura sono ispirati dalla biologia e il controllo omeostatico non è
un'eccezione. Piuttosto che immettere un modulo nella parte
deliberativa per esplicitare il ragionamento su come cambiare il
behavior complessivo del robot, la biologia suggerisce che gli
animali cambiano inconsciamente i loro behavior tutte le volte
che è necessario sulla base di necessità interne. Per esempio un
animale che ha bisogno di mangiare aumenta man mano la sua
attenzione a cercare cibo.
48
Il behavior umano cambia in risposta all'insulina.
Fortunatamente il cambio del behavior emergente è possibile
nella rappresentazione dei behavior a campi di potenziale,
poiché il vettore di uscita prodotto da ogni behavior può essere
scalato con un termine di guadagno.
Ritornando al caso del veicolo planetario che corre per fare
l'ultima consegna, il guadagno del behavior move-to-goal che
attrae il veicolo verso la casa madre dovrebbe aumentare
mentre il guadagno del behavior avoid-obstacle dovrebbe
diminuire in funzione del tempo di lancio.
49
La tabella seguente riassume le componenti di AURA.
50
SFX Sensor Fusion Effects
Un altro stile manageriale di architettura è SFX (Murphy) , che è
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
51
ambito urbano.
Da Scientific American - Marzo 2004
52
53
54
Nella fig. si mostra un modello neurofisiologico 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.
55
56
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.
57
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.
Mission planner
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.
58
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.
59
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.
60
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.
61
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.
62
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 se l'ambiente è cambiato (in questo caso è probabile che
si abbia una perdita di performance).
63
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.
64
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.
65
66
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 suo goal quando
il robot non ci riesce .
67
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
68
dovrebbe cambiare nel tempo 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 combinazioni dei behavior nella parte reattiva.
AURA usa la combinazione di campi di potenziali, mentre SFX usa
un metodo di filtri.
69
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.
70
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.
71
La soluzione NAts era quello di utilizzare il vettore creato dagli
altri campi come input per il campo avoid-obstacle. Questo vettore
potrebbe portare un campo tangenziale in aggiunta al campo
repulsivo, risultando un campo avoid-obstacle che fornisce un
comando strategico; come un generale che dice alle truppe di
muovere avanti. Il campo avoid-obstacle è come un fante; esso sta
cercando di andare nella direzione indicata dal generale ma non
capisce nulla. Il behavior avoid-obstacle filtra la direzione
strategica (data da move-to-goal) con la situazione tattica
immediata (la presenza di un ostacolo).
72
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 .
73
In SFX il controllo di velocità è considerato come un behavior
separato. Una corretta velocità di un robot dipende da molti
fattori.
Se il robot non può girare sul posto (cioè gira come
un'automobile), è necessario che esso si muova a bassa velocità per
evitare di capovolgersi.
Analogamente può avere necessità di andare lentamente se sale o
scende pendii. Queste influenze derivano dai sensori e l'azione è
una conseguenza (il robot cammina sempre lentamente lungo i
pendii), così che il controllo di velocità è un behavior legittimo.
74
Ma altri behavior possono avere una qualche influenza sulla
velocità.
Ad esempio behavior strategici forniscono una velocità strategica
al behavior controllo di velocità.
Se la velocità strategica è minore della velocità di sicurezza
calcolata sulla base delle informazioni tattiche allora la velocità di
uscita è la velocità strategica.
Ma se la velocità di sicurezza tattica è più bassa allora la velocità
di uscita per l'attuatore è la velocità tattica.
75
I behavior tattici servono come filtri per i comandi strategici per
assicurare che il robot agisca in maniera sicura in accordo quanto
possibile con gli scopi strategici.
L'interazione di behavior strategici e tattici è considerato un
behavior emergente.
76
77
Un risultato della separazione strategico tattico è stata la scoperta
che ogni compito da fare può essere fatto con un behavior
strategico e alcuni behavior tattici.
Questo significa che la necessità di combinare behavior non capita
spesso, e così il meccanismo di combinazione non è molto
importante. Comunque bisogna mettere in evidenza che i behavior
strategici sono spesso assemblati sotto forma di scripts.
78
Vi sono molti behavior strategici, ma essi sono esplicitamente
coordinati e controllati in accordo con la conoscenza specifica del
behavior. La tabella riassume SFX in termini di componenti
comuni e di behavior emergenti.
79
Architetture orientate al modello.
Le
architetture
manageriali
provengono
direttamente
dal
paradigma reattivo al quale i progettisti hanno pensato di
aggiungere maggiori funzionalità cognitive.
80
La comunità di intelligenza artificiale, particolarmente lo
STANFORD SRI, è stata, invece, favorevole ad architetture topdown.
Un principio di queste architetture è che esse concentrano la
manipolazione simbolica intorno ad un modello globale del mondo.
Comunque, nonostante molte altre architetture ibride, che creano
un modello globale del mondo in parallelo con specifici behavior
sensoriali, questo modello globale del mondo serve per fornire
percezioni ai behavior (o behavior equivalenti).
In questo caso il modello globale del mondo serve come un sensore
virtuale.
81
L'uso di un singolo modello globale del mondo per percepire
sembra
essere
un
ritorno
al
paradigma
gerarchico
e
concettualmente lo è.
Comunque vi sono quattro differenze.
Prima il modello monolitico del mondo globale è meno ambizioso
nello scopo, e più fortemente organizzato dei primi sistemi.
Il modello del mondo è spesso solo interessato a etichettare
regioni del mondo percepito con simboli del tipo: ingresso, porta,
ufficio, etc.
Vedi esempio
82
Secondo: il processo percettivo è spesso fatto con processi
distribuiti così che routine percettive lente possono girare
asincronamente rispetto a routine più veloci e i behavior hanno
accesso alle informazioni più recenti.
83
Terzo: gli errori nei sensori e le incertezze possono essere filtrate
usando nel tempo la fusione sensoriale.
Questo può migliorare fortemente la performance del robot.
Quarto:
l'aumento
della
velocità
di
elaborazione
e
l'ottimizzazione dei compilatori hanno mitigato il collo di
bottiglia del calcolo.
84
Le due architetture migliori, del tipo orientate al modello, sono
l'architettura SAFIRA sviluppata da Kurt Könolige con altre
persone all'SRI e la Task Control Architettura (TCA)
sviluppata da Reid Simmons che è stata estesa per fare
pianificazione multi-task con il sistema Prodigy.
L'architettura SAFIRA è messa sui robot PIONEER della
ActivMedia.
85
SAPHIRA
L'architettura di Safira mostrata in figura è stata usata al SRI su
una varietà di robot inclusi i diretti discendenti di Shakey: Flakey
e Erratic.
86
La motivazione per l'architettura scaturisce dal fatto basilare che
vi sono tre piani per un robot mobile di operare con successo in un
mondo aperto: coordinazione, coerenza e comunicazione.
Un robot deve coordinare i suoi attuatori e sensori (come si è visto
nel paradigma reattivo) ma esso deve anche coordinare i suoi
obiettivi in un certo periodo di tempo (questo non è tenuto in conto
dal paradigma reattivo).
87
Mentre la motivazione per la coordinazione è compatibile con la
reattività, la coerenza è un'esplicita rottura con il paradigma
reattivo. La coerenza è essenzialmente l'abilità del robot di
mantenere un modello del mondo globale che Könolige e Myers
ritengono
sia
essenziale
per
una
buona
performance
comportamentale e per l’interazione con l'uomo.
Infine la comunicazione è importante perché i robot devono
comunicare con l'uomo e con gli altri robot.
Questo introduce il problema di avere quadri di riferimento
comuni per la comunicazione.
88
Il cuore dell'architettura è la pianificazione, e SAFIRA usa un
tipo di pianificatore reattivo, detto PRS-LITE, per un sistema di
ragionamento procedurale.
PRS-LITE è capace di
ricevere comandi vocali
in linguaggio naturale
dall'uomo e quindi renderli
operativi per compiti di
navigazione e per le routine
di riconoscimento percettivo.
La pianificazione e l'esecuzione
si trovano nello Spazio Percettivo
Locale cioè il modello centrale
del mondo.
89
Molta elaborazione è rivolta a
mantenere un modello del
mondo accurato basato sulle
percezioni
del
robot
e
sull'assegnazione di etichette
simboliche alle regioni.
SAFIRA divide inoltre le attività
deliberative tra diversi agenti
software. Questo fornisce un
alto grado di flessibilità.
Poiché gli agenti software sono
indipendenti, non è necessario
che essi operino a bordo del
robot che devono controllare.
90
91
Le componenti reattive di SAFIRA consistono di behavior.
I behavior estraggono input sensoriali virtuali dal modello
centrale del mondo, lo Spazio Percettivo Locale. L'uscita dei
behavior è gestita da regole FUZZY che sono fuse usando la logica
FUZZY in comandi di velocità
e sterzate.
La logica FUZZY
si rivela essere una maniera
molto naturale di fondere
richieste in competizione ed
è meno ad hoc delle regole a
logica booleana. I behavior
sono gestiti dall'esecutore
di piano del pianificatore
di navigazione.
92
Il ragionamento cosiddetto sfumato dei sistemi fuzzy riguarda ipotesi o fatti che non
sono mai completamente veri nè completamente falsi ma hanno un loro "grado di
verità” che incide sulla credibilità della regola applicata e quindi sulla conseguenza
che ne scaturisce.
Il grado di verità dell’ipotesi è in realtà il grado di appartenenza del valore di input a
un determinato range di valori che descrivono ad esempio una qualità o una misura
(es: temperatura calda).
Questi range non sono nettamente separati ma si sovrappongono con funzioni di
appartenenza normalmente di tipo triangolare/trapezoidale, per cui un valore di una
variabile di input potrebbe appartenere a due range con due differenti gradi di
credibilità.
93
Il valore 25 gradi della temperatura appartiene alla classe tiepida con
un degree of membership (grado di appartenenza) pari a 0.8 e alla
classe fredda con un grado di appartenenza uguale 0.4. Definendo delle
classi triangolari o trapezoidali (le più usate) si hanno dei gradi di
appartenenza che diminuiscono verso gli estremi delle classi
costruendo così un inizio di quello che è un ragionamento sfumato.
dato preciso temp=25 gradi centigradi
dato fuzzy temp =tiepida con credibilità 0.8
temp = fredda con credibilità 0.4
94
Una volta noti i dati fuzzy questi possono essere utilizzati da regole del
tipo:
if (input n appartiene alla classe k) then output m appartiene a classe j
Avere dei dati fuzzy in uscita serve a poco, perciò si rende necessario
trasformare i dati che derivano dalla valutazione delle regole in dati
numerici reali: questo processo è il processo opposto alla
fuzzyficazione dell’ input e si chiama defuzzyficazione dell’ output.
95
regola 1:
regola 2:
if (A&B) then X con forza y
if (C&D) then X con forza z
La forza delle premesse della regola 1 è data da min(a,b) dove a e b
sono gradi di appartenenza.
La forza delle premesse della regola 2 data da min(c,d) dove c e d sono
gradi di appartenenza.
y= forza della regola 1 in termini di grado di appartenenza
z= forza della regola 2 in termini di grado di appartenenza
Il grado di appartenenza dell’output X è dato da
x=max(forza regola 1,forza regola 2) = max(min(a,b), min(c,d))
96
In presenza di regole che conducono alle stesse conclusioni ma con gradi di
appartenenza diversi, vengono adoperati vari metodi di calcolo per ottenere il grado
di appartenenza finale.
Es.
regola 1:
if (A&B) then X con forza y
regola 2:
if (C&D) then X con forza z
Se i gradi di appartenenza degli output X sono quelli in fig. (b per la regola 1 e c per
la regola 2) un metodo consiste nel moltiplicare ciascun gda per il centro delle aree di
appartenenza, farne la somma e dividere il totale per la somma dei gda.
(f1*c1+f2*c2+…)/(f1+f2…)
97

molto
chiaro
chiaro
scuro
molto
scuro
nanometri
98
molto
chiaro
chiaro
scuro
molto
scuro
Web cam
700
600
500
400
300
nanometri
distanze
Sonar
10
20
vicino
30
40
50
60
abbastanza
vicino
70
80
lontano
90
100
110
molto
lontano
120
130 140
cm
99
Il meccanismo della logica FUZZY per combinare behavior
produce essenzialmente gli stessi risultati della metodologia a
campi di potenziale (v. Könolige e Myers). Lo spazio percettivo
locale può migliorare la qualità complessiva dei behavior del robot
poiché esso può attenuare gli
errori dei sensori.
Nonostante che questa
elaborazione centrale
introduca una penalità
computazionale, l’aumento
della potenza di calcolo e
della velocità di clock hanno
reso i costi accettabili.
100
La tabella riassume SAFIRA in termini di componenti comuni e
stili dei behavior emergenti.
101
102
Scarica

ppt