Robotica Lezione 6 Paradigma Gerarchico Il paradigma gerarchico, altrimenti detto knowledge-based, procede top-down dalla definizione del compito assegnato al robot alle procedure che lo stesso deve utilizzare nelle diverse situazioni, smontando il problema in sottoproblemi finchè si dispone dell'azione ad hoc. Paradigma Reattivo Il paradigma reattivo, o behaviour-based, si basa sulla definizione incrementale delle abilità di base del robot tale repertorio produce il comportamento emergente desiderato il task assegnato è risolto dall'interazione dei comportamenti di base. metodo bottom-up per il quale non esiste necessariemente la soluzione cercata Percezione verso Azione importanza dell'apparato percettivo la percezione non può essere ridotta ad un semplice insieme di periferiche di input dei dati. la qualità, il tipo, il significato dei dati sensoriali è talmente variegato che necessita una consistente fase di elaborazione. Fusione Sensoriale paradigma cognitivista, caratterizzato da un modulo per l'elaborazione delle informazioni sensoriali fusione dei dati sensoriali provenienti dai diversi sensori eterogenei, aggiornamento consistente (belief revision) della rappresentazione simbolica interna (rappresentazione della conoscenza). Modulo SENSE ll peso computazionale del paradigmo gerarchico insiste maggiormente sull'input in conseguenza dell'elaborazione piuttosto pesante a carico dei moduli sensoriali. Sensori Virtuali raccolta dei dati provenienti dai moduli (driver) che controllano i singoli sensori, fusione dell'informazione sensoriale complessiva. i sensori considerati dal modulo SENSE sono visti già ad un livello di astrazione (sensori virtuali) rispetto ai sensori reali. collo di bottiglia del paradigma gerarchico Paradigma SPA Caratteristica generale del paradigma gerarchico è la sequenza dei moduli evidenziati in figura, nota anche come sequenza SENSE-PLAN-ACT Approccio AI Seguendo il punto di vista dell'Intelligenza Artificiale il vero limite è pretendere che si possa realizzare una "mente" abbastanza potente da poter controllare il "corpo" di un qualunque robot autonomo. Reattivo/Deliberativo il paradigma reattivo è caratterizzato da la parallelizzazione evidente delle operazioni, lo spostamento del carico computazionale verso l'output attuativo. l'implementazione di questo tipo di controllo considera gli input sensoriale provenienti dai diversi sensori indipendenti fra loro, in grado ciascuno di suggerire una specifica azione attuativa. Selezione delle Azioni guidata dal raggiungimento dell'obiettivo prefissato, assenza di un modello interno del mondo, decisione del robot non ottimale, valutazione approssimata dello stato di avanzamento della missione, alcune azioni potrebbero risultare inconsistenti rispetto al mantenimento, ad esempio, dell'integrità interna del robot. Arbitraggio Non tutte le azioni hanno lo stesso peso rispetto al soddisfacimento dell'obiettivo per cui si richiede un arbitraggio dei moduli comportamentali candidati a prendere il controllo del robot. arbitraggio: meccanismo che, a fronte di un insieme di possibili azioni, ciascuna proposta da uno specifico comportamento, ne seleziona una o più da passare agli attuatori sotto forma di comandi motori. Schema di Arbitraggio La figura illustra schematicamente il modo generale di funzionamento dell'arbitraggio Priorità assegnazione di un livello di priorità a ciascun comportamento scelta dell'azione proposta dal comportamento attivo a priorità maggiore soluzione semplice ma efficace, il robot agisce in ambienti pericolosi, caratterizzati da dinamiche altamente imprevedibili Architettura di Sussunzione soluzione proposta da Brooks (1991) col nome di subsumption architecture permette di costruire molte creature artificiali che mostrano il comportamento degli insetti. Pianificatore Secondo il punto di vista dell'Intelligenza Artificiale il comportamento di un robot è controllato dal piano la cui esecuzione è resa possibile dal cosiddetto pianificatore che è soltanto una parte del programma complessivo che governa il funzionamento del robot. Caratterizzazione del Piano Con l'ipotesi del sistema simbolico il termine piano assume il significato Il piano è quella parte del programma di controllo su cui il robot può ragionarvi esplicitamente in vista di esecuzioni future pianificare le azioni di un robot: generazione automatica e l'eventuale ottimizzazione dei piani per un robot. Piano in Esecuzione caratterizzazione di piano in esecuzione per evidenzare sia la dipendenza dall'ambiente che gli aspetti pragmatici dell'esecuzione Pianificazione il modulo plan definisce la parte dell'unità di governo del robot che genera il piano, prende come input il modello corrente del mondo, aggiornato da uno o più azioni sensoriali (modulo sense), genera una sequenza di azioni utilizzate per pilotare gli attuatori (act) e aggiornare la rappresentazione interna (exec). Interpretazione del Piano La figura precedente mostra che l'interpretazione del piano riguarda la manipolabilità, ossia la capacità di garantire un'immediato utilizzo delle azioni generate da parte degli attuatori; l'espressività, ossia l'uso di meccanismi di rappresentazione con cui eseguire eventuali ragionamenti. Pianificazione Lineare La forma più semplice ed immediata che può assumere un piano è, ovviamente, quella di una lista di azioni che impone alle stesse di essere eseguite nell'ordine indicato. Compito del Piano verificare se gli effetti richiesti dell'ultima azione eseguita si siano effettivamente realizzati meccanismo percettivo: individuare un'opportuna politica di gestione sensoriale per ottenere dal loro impiego il maggior vantaggio possibile Generazione del Piano insieme di regole da applicarsi alla descrizione del mondo acquisita in anticipo ed, eventualmente, aggiornata con uso congruo dei sensori Risultato dell'azione Se il pianificatore è del tutto equivalente a quello di un generico risolutore di problemi allora l'azione selezionata modifica lo stato del mondo in accordo con la semantica dell'azione stessa. Se viene eseguita da un agente che agisce nel mondo reale allora è necessario che il pianificatore situi l'azione. Percezione Situata l'esecuzione delle azioni dipende anche dalla verifica che un certo insieme di condizioni q siano rimaste vere al termine di ciascuna azione ak Abilità Sensomotorie l'azione percettiva ha l'effetto di modificare la rappresentazione del mondo dell'agente, selezionare l'azione più opportuna per conseguire il risultato voluto. l'agente è dotato di un repertorio P1, P2,..., Pm di azioni percettive e a1, a2,..., an di azioni attuative che costituiscono gli elementi base delle sue abilità sensomotorie. Azione Percettiva risposta al riconoscimento che l'evento Ei si è verificato se lo stato del mondo è descritto da B'i, allora tale descrizione deve modificarsi in B''i Pre/Post Percezione le azioni percettive sono procedure mirate di revisione della conoscenza modificano la descrizione dello stato del mondo Br nel nuovo stato Bs successivo alla suddetta percezione. Ciclo Percezione-Azione Il termine p esprime la condizione di persistenza dell'azione percettiva per cui, quando p diventa falso significa che tale azione non è più disponibile o necessaria. Il termine q, analogamente, indica le condizioni di default che devono essere soddisfatte per l'applicabilità dell'azione attuativa. Schema Reattivo lo schema reattivo rilegge l'implementazione del pianificatore classico in modo da eliminare tutta la parte di manipolazione di simbolica in esso presente Comportamento Dall'insieme degli elementi sensomotori si possono selezionare quelli che si riferiscono allo stesso sottoinsieme di precondizioni {B'1, B'2, ..., B's}. Si sostituisca alle rappresentazioni simboliche B'i le etichette Si, ottenendo la funzione di transizione di stato di un automa a stati finiti FSA. Si associ a ciascun Si la corrispondente azione attuativa ai. Comportamento Emergente Tutti comportamenti del robot si ottengono allo stesso modo; il quale, non impiegando esplicitamente il pianificatore per raggiungere l'obiettivo assegnato (comportamento emergente), deve necessariamente servirsi di un modulo ad hoc per combinare l'azione dei vari moduli comportamentali (arbitro).