Sistemi per il Governo dei Robot
Silvia Rossi - Lezione 6
IL PARADIGMA GERARCHICO
Monitoraggio e Ripianificazione
E’ una strategia generale che può essere applicata a qualsiasi rappresentazione del piano includente state space, partial order e piani condizionali, qualsiasi sia la possibilità di conoscenza dell’ ambiente.
Un agente che ripianifica è un agente che quando avviene qualcosa di inaspettato chiama di nuovo il pianificatore per produrre un nuovo piano: piano che solitamente tenterà di essere una modifica del piano precedente.
Action Monitoring Plan Monitoring
A.(ction) M.(onitoring)
L’ agente, prima di ogni azione
verifica se gli eventuali cambiamenti avvenuti nell’ambiente rendono
ancora applicabile l’azione.
P.(lanning) M.(onitoring)
Prima di applicare un’azione si fa il
monitoraggio del rimanente piano, cioè si verifica la soddisfacibilità di tutte le
precondizioni (a parte quelle che sono
ottenute in qualche precedente step del
piano rimanente) degli step che ad esso
appartengono.
Algoritmo di M.R. per lo State-space Planner con action monitoring
Esempio di interruzione e ripianificazione
P.M.
Il P.M. ha un vantaggio:
può accorgersi con largo anticipo che il piano rimanente deve essere rifatto.
Il P.M. si può ridurre a un A. M. se ogni step del piano tiene traccia delle precondizioni che
l’esecuzione del rimanente piano richiede.
Può accorgersi del successo accidentale
(serendipity) che l’ ambiente è diventato tale da
soddisfare tutta una parte del piano (per esempio un altro agente ha già fatto parte del lavoro) e quindi
può risparmiare di applicarla.
A(gente) che P(ianifica) (C)ontinuamente
Un agente che sia realmente immerso in un ambiente deve continuamente percepire, agire, è
continuamente richiesto di soddisfare goals, pianificare ed agire.
Per questo agente pianificare e monitorare l’ambiente più che essere processi separati debbono essere
considerati come un unico processo nel continuo agire.
Naturalmente quando un goal viene formulato
occorre una fase di pianificazione ma non è detto che l’ esecuzione debba aspettare il completamento del piano, soprattutto in presenza di goals indipendenti.
CONTINUOUS-POP-AGENT
Start is always used as the label for the current state. The agent updates the
state after each action.
An external agent moves D onto B
IL PARADIGMA GERARCHICO
Alcune architetture gerarchiche.
Il Nested Hierarchical Controller (NHC) è una delle più note architetture gerarchiche sviluppata da Meystel (1990).
In essa le tre componenti SENSE-PLAN-ACT sono ben visibili.
Il robot inizia con il raccogliere i dati dai suoi sensori (SENSE) per costruire il suo modello del mondo (World Model/Data Base). Per altro il suo World Model può anche avere una conoscenza a priori fornita dal progettista (ad esempio una mappa dell’ambiente, regole di comportamento, etc.).
Aggiornato il World Model con l’attività sensoriale, il modulo PLAN
Questo modulo ha tre sotto moduli ognuno dei quali interagisce con il World Model e con quello che lo precede.
Mission planner. Riceve dall’uomo o genera da solo una missione da compiere (esempio prendi lo scatolo nella camera accanto), instanziando una serie di variabili (es. box=B1; rm=R2). Ciò fatto il Mission Planner accede al World Model per determinare dove si trova il robot ET e dove il goal B1.
Navigator. A partire dalla localizzazione di ET e B1 determina un percorso dalla postazione di ET a B1.
Pilot. Riceve il percorso da Navigator. Prende il primo segmento retto o pezzo di
ET1
B1
Cosa accade se il percorso è molto lungo o un ostacolo improvviso si para davanti a ET? Contrariamente a Shakey questo robot non va in giro necessariamente con gli occhi chiusi. Non appena infatti Pilot manda gli opportuni comandi ai controller degli attuatori, ET riattiva i suoi sensori.
Se il Pilot verifica che ha raggiunto l’estremità del segmento di cammino assegnatogli dal Navigator informa quest’ultimo e riceve il nuovo
segmento da seguire. Se ha raggiunto il goal allora il Navigator informa il Mission planner che decide cosa fare (fermare il tutto, programmare un Il World Model è aggiornato. Però
non si ripete il ciclo precedente, perché ora ET ha il suo goal e il suo percorso. Il Pilot semplicemente, sulla base delle nuove informazioni verifica se e a quale punto del percorso previsto si trova ET e se per caso non ci sono ostacoli.
Se il Pilot trova un ostacolo ne informa il Navigator che gli fornisce un nuovo percorso da seguire per raggiungere il goal. Il tutto avviene con una costante interazione tra i moduli, in maniera gerarchica e con il World Model aggiornato di volta in volta.
NHC
I vantaggi di NHC consistono nell’alternare pianificazione e azione.
L’attività inizia a eseguire una pianificazione.
Se il mondo nel frattempo cambia allora anche NHC cambia i suoi piani.
Si noti che i tre livelli gerarchici lo sono non solo in termini
temporali ma anche dal punto di vista della ”intelligenza”, nel senso che Mission Planner è più intelligente e opera ad un
livello più astratto di Navigator e lo stesso avviene rispetto a Pilot.
Questa organizzazione la ritroveremo anche in altre architetture.
Lo svantaggio dell’architettura NHC è che essa sembra adatta a problemi di navigazione ma meno adeguata per problemi
tipo prendi l’oggetto o ruota una manopola e così via.
NHC è stato fondamentalmente testato solo in simulazione.
Jim Albus (1996) ai fini di applicazioni industriali nell’ambito dei manipolatori sviluppò un’architettura detta Real-Time Control System (RCS) per aggiungere, usando la NHC, più intelligenza ai robot industriali.
ARCHITETTURE RCS & NASREM
SENSORY PERCEPTION
OBSERVED INPUT
CHANGES AND EVENTS
VALUE JUDGMENT
WORLD MODELLING KNOWLEDGE BASE
BEHAVIOR GENERATION PERCEPTION,
FOCUS OF ATTENTION
PLANS, STATE OF ACTIONS
TASK GOALS
COMMANDED SIMULATED PLANS
SENSE PLAN
ACT
RCS
Le attività percettive sono raggruppate in una serie di moduli denominati Percezione Sensoriale.
L’output dei sensori è inviato al World Model che costruisce una mappa globale usando anche le informazioni già presenti nella sua Knowledge Base.
Questa organizzazione è simile a quella del NHC.
La principale differenza consiste nel fatto che il modulo sensoriale effettua un preprocessing delle informazioni percepite (feature extraction).
Queste informazioni vengono elaborate dal Value Judgment modulo che fornisce la maggior parte delle funzionalità necessarie per
l’attività di PLAN.
In altre parole pianifica e simula i piani per assicurarsi che tutto funzioni.
Dopo di che invia i piani al modulo Behavior generation che converte i piani in azioni che il robot può realmente eseguire (ACT).
A questi moduli se ne aggiunge un altro non mostrato che permette il debug all’osservatore umano.
Questi tipi di architettura hanno fornito una serie di
indicazioni sulla opportunità di introdurre modularità nel progetto di un robot.
Questa modularità però non consente molta portabilità poiché in genere le due architetture prima viste sono state realizzate e, si pensa lo siano sempre, per ristrette nicchie di applicazioni.
NHC è prevalentemente utilizzata per problemi di
navigazione mentre RCS è stata utilizzata per controllo di strumentazioni in sottomarini e scavi in miniera.
Il vero problema rimane quello del tempo di reazione all’evento quando questo può essere catastrofico.
Infatti i moduli di pianificazione, prevedendo una simulazione, sono in genere molto time-expensive.
In realtà in queste architetture i moduli SENSE e ACT sono sempre disconnessi impedendo così una immediata reazione ad un evento pericoloso.
Questo standard è stato adottato dalla NASA e dal US Bureau of Mines. In fig. ci sono tre differenti robot che hanno adoperato questa architettura.
Queste architetture, NHC e RCS sembrano molto utili per un c o n t r o l l o s e m i a u t o n o m o . L’operatore umano può fornire il w o r l d m o d e l , d e c i d e r e l a missione, decomporla in piani e quindi in azioni.
A livello inferiore il robot esegue le azioni. Ovviamente man mano che si eleva l’intelligenza del robot questo può occuparsi dei moduli di livello superiore al Pilot nella gerarchia prima vista. Sulla base di queste considerazioni Albus ha sviluppato una architettura chiamata NASREM per teleguidare le braccia di un robot nello spazio, che è ancora oggi utilizzata.
La dipendenza da un global world model, e cioè del frame problem, fa sì che queste architetture non sono molto generali ma risentono delle applicazioni per le quali sono state pensate.
Altro problema non risolto è quello dell’incertezza che può essere semantica (NEXTTO che significa veramente?) e dovuta all’imprecisione dei sensori e degli attuatori.
Inoltre non è sempre chiaro quando si può considerare completata l’azione del robot e come questo si può rilevare.
Dal punto di vista dei linguaggi di programmazione data la presenza della ricorsione e della logica dei predicati STRIPS favorisce linguaggi come il Lisp e il PROLOG.
Il paradigma gerarchico incoraggia una programmazione monolitica piuttosto che una orientata agli oggetti.
Sebbene NHC decomponga la pianificazione in più parti, questa divisione è però strettamente funzionale (di qui l’uso prevalente del Lisp).
Le architetture NHC e RCS/NASREM sono ragionevoli per sistemi semi-autonomi dove
L’operatore umano potrebbe:
Fornire il modello del mondo Decidere la missione
Decomporre la missione in piani Decomporre i piani in azioni
Il robot potrebbe:
Eseguire azioni
Far diventare il robot più intelligente significa trasferirgli alcune delle funzioni dell’operatore umano seguendo a salire la gerarchia precedente.
Nel modello gerarchico tipo juke-box, ogni strato è formato da 4 componenti introdotte da Albus: sensory processing, world modelling, task decomposition, value judgement.
Tutti gli strati sono connessi tramite una GLOBAL
MEMORY attraverso la quale la conoscenza simbolica è messa a disposizione.
L’aspetto più significativo
introdotto da Albus riguarda la percezione.
Essa è utilizzata per stabilire e mantenere relazioni fra la rappresentazione interna
contenuta nel world model e il mondo esterno reale.
Le azioni sono la conseguenza di ragionamenti fatti sul world model.
A METÀ DEGLI ANNI ’80 GLI USA ADOTTARONO QUESTO MODELLO COME STANDARD (NASRAM) RIPORTATO IN FIG.. CIÒ NONOSTANTE QUESTO STANDARD È ADOPERATO SOLO NELL’AMBITO DELLA TELEROBOTICA NELLE STAZIONI SPAZIALI DELLA NASA (LUMIA 1994).
I sei livelli di questo sistema catturano ciascuno una specifica funzionalità. Dal basso verso l’alto si ha:
SERVO: fornisce posizione, velocità, forza ai servo controlli di tutti gli attuatori;
PRIMITIVE: determina le primitive di moto per generare traiettorie senza spigoli;
ELEMENTAL MOVE: definisce e pianifica percorsi liberi da ostacoli;
TASK: converte l’azione desiderata per un singolo oggetto del mondo in una sequenza di movimenti elementari che la realizzano;
SERVICE BAY: converte le azioni su gruppi di oggetti in compiti che devono essere eseguti su i singoli oggetti, schedulando questi compiti nell’ambito di questa area;
SERVICE MISSION: decompone l’intera missione in parti che colloca nella service bay.
Come si vede i livelli più in alto creano subgoal per i livelli più bassi.
Un altro modello inserito in questo filone è stato sviluppato alla Drexel University.
Mette in relazione il team umano con le strutture di controllo del robot;
Una gerarchia di decisori implementa questa idea;
I sistemi di controllo autonomi sono organizzati come team di decisori;
Assume che il task sia decomponibile in sub-task strutturati;
Le gerarchie sono generate ricorsivamente usando un controllore generalizzato;
Le precondizioni son stabiliti a ogni livello della ricorsione per assicurare una corretta esecuzione.
Al Research Polytechnic Institute la gerarchia è stata ristretta a tre livelli primari:
ORGANIZATION LEVEL: per la pianificazione ad alto livello e il ragionamento;
COORDINATION LEVEL: per la coordinazione tra i vari sotto sistemi hardware;
EXECUTION LEVEL: fornisce i controlli di base e l’hardware.
Questo approccio implementa il principio dell’aumento della precisione con la diminuizione dell’intelligenza scendendo
lungo la gerarchia.
Il controllo gerarchico in
definitiva sembra buono per ambienti ben noti e altamente prevedibili.