CORSO SISTEMI DI GOVERNO DEI ROBOT Lezione n.6 Sistemi Ibridi

Slides:



Advertisements
Presentazioni simili
LA NUOVA GRIGLIA DI VALUTAZIONE Ins. Baragli Maria Grazia
Advertisements

Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Meccanismi di IPC Problemi classici di IPC
“Intervista sul mondo del lavoro”
2. Introduzione alla probabilità
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
Meccanica 2 1 marzo 2011 Cinematica in una dimensione
I sistemi di riferimento
Lez. 3 - Gli Indici di VARIABILITA’
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
Analisi Bivariata e Test Statistici
Reti neurali per la percezione dell’ambiente in robotica autonoma
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Iterazione enumerativa (for)
Algoritmo di Ford-Fulkerson
Canale A. Prof.Ciapetti AA2003/04
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
COMPRESENZA LINGUAGGI NON VERBALI - PSICOLOGIA
Test di ipotesi X variabile casuale con funzione di densità (probabilità) f(x; q) q Q parametro incognito. Test Statistico: regola che sulla base di un.
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
MP/RU 1 Dicembre 2011 ALLEGATO TECNICO Evoluzioni organizzative: organico a tendere - ricollocazioni - Orari TSC.
Cos’è un problema?.
Gli italiani e il marketing di relazione: promozioni, direct marketing, digital marketing UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA RICERCHE PER ASSOCOMUNICAZIONE.
Num / 36 Lezione 9 Numerosità del campione.
Lezione 13 Equazione di Klein-Gordon Equazione di Dirac (prima parte)
CHARGE PUMP Principio di Funzionamento
Velocità ed accelerazione
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Q UESTIONI ETICHE E BIOETICHE DELLA DIFESA DELLA VITA NELL AGIRE SANITARIO 1 Casa di Cura Villa San Giuseppe Ascoli Piceno 12 e 13 dicembre 2011.
66% 32% 2% non specificato Suddivisione per sesso
Blue economy Blue economy Maggio Universo di riferimento Popolazione italiana Numerosità campionaria cittadini, disaggregati per sesso,
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Elementi di Informatica di base
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
ISTITUTO COMPRENSIVO “G. BATTAGLINI” MARTINA FRANCA (TA)
Radix-Sort(A,d) // A[i] = cd...c2c1
1)Completa la seguente successione: C4, B7, E10, D13, G16,. A. G19 B
GEOGRAFIA DEI NUMERI Accademia dei Lincei - Roma 18 Ottobre2011
Un trucchetto di Moltiplicazione per il calcolo mentale
1 Ly-LAB Sistema di gestione dei dati analitici di laboratorio.
14 marzo 2002 Avvisi:.
Esempi risolti mediante immagini (e con excel)
QUANDO ALCUNI BAMBINI SI SONO SOFFERMATI SULLA POTENZA DEL SOLE ABBIAMO CAPITO CHE IL CALORE DEL SOLE NON C'ENTRA CON LA LUNGHEZZA DELLE OMBRE MA … C'ENTRA.
1 ORGAMIZZAZIONE E GESTIONE DELLE RISORSE UMANE. 2 PRESENTAZIONE DEL CORSO L’Organizzazione aziendale La gestione delle persone.
RITUALITÀ LA COMUNICAZIONE È DETERMINATA DA REGOLE SOCIALMENTE STABILITE PER OGNI PARTICOLARE SITUAZIONE. IN CERTE.
Il Gruppo di Lavoro.
Minimo comune multiplo
AUTOVALUTAZIONE D’ISTITUTO
Robotica Lezione 6. Paradigma Gerarchico Il paradigma gerarchico, altrimenti detto knowledge-based, procede top-down dalla definizione del compito assegnato.
Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.
Robotica Lezione 2.
Robotica Lezione 4. 2 Attributi dell’Intelligenza Pensiero Capacita’ a risolvere problemi Apprendimento e Memoria Linguaggio Intuizione e Creativita’
Come impostare il curricolo
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
  Lingua materna (LM o L1): la lingua che acquisiamo ‘inconsciamente’, del nostro vivere quotidiano  Lingua seconda (L2): la lingua che si impara in.
1. 2 CHE SIGNIFICA IBRIDO ? Un esempio con le reti neurali.
Analisi matematica Introduzione ai limiti
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Transcript della presentazione:

CORSO SISTEMI DI GOVERNO DEI ROBOT Lezione n.6 Sistemi Ibridi prof. Ernesto Burattini

PROPOSTE DI PROGETTI HARDWARE 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. Descrivere il task Descrivere il robot Descrivere l’ambiente Descrivere le reazioni del robot in risposta all’ambiente Raffinare ogni behaviour Verificare ogni behaviour Verificare i behaviour tutti insieme

PROPOSTE DI PROGETTO SIMULAZIONE 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. Descrivere il task Descrivere il robot Descrivere l’ambiente Descrivere le reazioni del robot in risposta all’ambiente Raffinare ogni behaviour Verificare ogni behaviour 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: l'ambiente può perdere consistenza temporale e stabilità il sistema sensoriale robotico è adeguato solo al compito specifico può essere difficile localizzare un robot rispetto ad un modello del mondo la conoscenza simbolica rappresentativa del mondo non viene presa in considerazione

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.

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.

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.

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.

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.

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, organizzazione o sincronizzazione, cioè una pianificazione.

MOTIVAZIONE ATTENZIONE CONTROLLO COSCIENTE SISTEMA PERCETTIVO SINCRONIZZAZIONE ORGANIZZAZIONE MODULAZIONE SISTEMA MOTORIO CONTROLLO SUB-CONSCIO

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 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.

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.

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.

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 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 il piano (o una porzione del piano).

I comportamenti vengono eseguiti fin quando il piano non è completato 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.

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.

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 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).

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.

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 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.

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.

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.

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 interagire Nehmzow

Aspetti architetturali Le varie architetture ibride deliberative-reattive si distinguono sulla base di come esse rispondono alle questioni seguenti: Come fa l'architettura a distinguere fra reazione e deliberazione? 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).

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).

Componenti comuni delle architetture ibride. Generalmente una architettura ibrida ha i seguenti moduli o oggetti: 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.

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).

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.

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.

Un agente Performance Monitoring e Problem Solving che 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é).

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).

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).

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.

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.

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.

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 la parte deliberativa: il pianificatore e il cartografo.

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.

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 carto- grafo per elaborare un cammino per il robot e dividerlo in sub-task (sei sulla montagna segui la strada lungo il fiume).

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.

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, 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.

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.

Il problema diventa come renderlo omeostatico 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.

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.

La tabella seguente riassume le componenti di AURA.

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 ambito urbano.

Da Scientific American - Marzo 2004

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.

L'agente dominante è chiamato pianificatore di missione. 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. Mission planner

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 se l'ambiente è cambiato (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 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 suo 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 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.

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 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).

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 .

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. Comunque bisogna mettere 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.

Architetture orientate al modello. 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.

Comunque vi sono quattro differenze. 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

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.

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.

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).

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. 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.

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 temp=25 gradi centigradi dato fuzzy temp =tiepida con credibilità 0.8 temp = fredda con credibilità 0.4

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.

x=max(forza regola 1,forza regola 2) = max(min(a,b), min(c,d)) 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))

regola 1: if (A&B) then X con forza y 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…)

 molto chiaro chiaro scuro molto scuro nanometri

Web cam Sonar molto chiaro chiaro scuro molto scuro 700 600 500 400 300 nanometri distanze Sonar 10 20 30 40 50 60 70 80 90 100 110 120 130 140 vicino abbastanza vicino lontano molto lontano cm

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.

La tabella riassume SAFIRA in termini di componenti comuni e stili dei behavior emergenti.

FINE