• Non ci sono risultati.

Sistemi per il Governo dei Robot

N/A
N/A
Protected

Academic year: 2021

Condividi "Sistemi per il Governo dei Robot"

Copied!
35
0
0

Testo completo

(1)

Sistemi per il Governo dei Robot

Silvia Rossi - Lezione 6

(2)

IL PARADIGMA GERARCHICO

(3)

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

(4)

A.(ction) M.(onitoring)

L’ agente, prima di ogni azione

verifica se gli eventuali cambiamenti avvenuti nell’ambiente rendono

ancora applicabile l’azione.

(5)

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.

(6)

Algoritmo di M.R. per lo State-space Planner con action monitoring

(7)

Esempio di interruzione e ripianificazione

(8)

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.

(9)

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.

(10)

CONTINUOUS-POP-AGENT

(11)
(12)

Start is always used as the label for the current state. The agent updates the

state after each action.

(13)

An external agent moves D onto B

(14)
(15)

IL PARADIGMA GERARCHICO

(16)

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.

(17)

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

(18)

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

(19)

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.

(20)

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.

(21)

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.

(22)

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.

(23)

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

(24)

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.

(25)

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.

(26)

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.

(27)

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.

(28)

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

(29)

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.

(30)
(31)

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.

(32)

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

(33)

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.

(34)

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.

(35)

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.

Riferimenti

Documenti correlati