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.
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.
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.
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.
Mettiamo in evidenza che i behavior strategici sono spesso assemblati sotto forma di scripts.
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.
Le architetture manageriali provengono direttamente dal paradigma reattivo al quale i progettisti hanno pensato di aggiungere maggiori funzionalità cognitive.
La comunità di intelligenza artificiale, particolarmente lo STANFORD SRI, è stata, invece, favorevole ad architetture top-down.
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.
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.
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.
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.
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.
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.
La motivazione per l’architettura scaturisce dal fatto basilare che vi sono tre modalità (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).
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.
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.
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.
Le componenti reattive di SAFIRA consistono di behavior.
I behavior estraggono input sensoriali virtuali dal modello centrale del mondo, lo Spazio Percettivo Locale (LPS). L’uscita dei behavior è gestita da regole FUZZY che sono fuse usando la logica FUZZY per i comandi di velocità
e le 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.
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à.
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
Dato fuzzy
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 alla 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.
Regola 1: if (A&B) then X con forza y
Regola 2: 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))
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.
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 degli attuali calcolatori hanno reso i costi accettabili.
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