Il paradigma gerarchico è storicamente il primo metodo utilizzato per la progettazione di robot.
E’ stato introdotto a partire dal 1967 con il primo robot Shakey allo SRI ed è stato utilizzato fino alla fine degli anni ‘80 con l’avvento del paradigma reattivo.
Un paradigma gerarchico è definito dalle relazioni tra tre primitive:
(P-P-A) percepire-pianificare-agire
in inglese (S-P-A) sensing-planning-acting
PERCEZIONE → PIANIFICAZIONE → AZIONE
e cioè dalla maniera in cui i dati percepiti dai sensori sono elaborati e trasmessi lungo il sistema robotico.
Il robot in maniera sequenziale percepisce con i sensori l’ambiente in cui è immerso e se ne costruisce una mappa. Dopo, “ad occhi chiusi”, pianifica tutte le direttive che deve dare agli attuatori per raggiungere il suo goal. Infine opera iniziando dalla prima direttiva.
Dopo aver concluso il primo ciclo S-P-A, il robot riapre gli occhi, percepisce le conseguenze della sua azione, ripianifica e agisce di nuovo (eventualmente anche senza far nulla).
Tutte le informazioni fornite dai sensori vengono messe in una struttura dati a cui accede il pianificatore. Questa struttura dati è anche detta modello del mondo del robot.
In questa struttura dati, nel paradigma gerarchico, sono contenuti:
a – una rappresentazione a priori del mondo in cui il robot è immerso;
b – informazioni sensoriali (mi trovo in questo punto della stanza);
c – ogni ulteriore informazione di tipo cognitivo (es. il goal che deve perseguire).
Una soluzione di un problema di pianificazione deve avere le seguenti proprietà:
Consideriamo un agente spazzino a cui sia stato dato il compito di ripulire un’ambiente e versare la spazzatura nel secchio. Supponiamo che l’ambiente in cui si muove sia una griglia NxN, che inizialmente il robot sia nella casella (0,0), e che se trova la spazzatura la raccoglie, e poi, se ha fatto il pieno, va a versare la spazzatura nel secchio che è in (N,N). Le azioni che l’agente può compiere sono solo quelle di:
Le informazioni (percetti) che l’agente può ricevere sono: c’è lo sporco, c’è il secchio, nessuna informazione. Le azioni che può compiere sono: vai avanti, pulisci, gira, deposita. Il goal è quello di attraversare continuamente la stanza e ripulirla quando trova lo sporco.
L’elaborazione di tutte queste informazioni può essere dal punto di vista computazionale molto onerosa.
Esercizio
Rappresentare e risolvere il problema dei 3 missionari e 3 cannibali.
3 missionari e 3 cannibali fanno un viaggio insieme e devono attraversare un fiume sfruttando una zattera che può ospitare al massimo 2 persone. Bisogna fare in maniera che sulle due sponde il numero dei cannibali non superi mai quello dei missionari.
Suggerimento: usare un albero dove ogni nodo rappresenta la situazione sulle due sponde e ogni arco un operatore che indica quali soggetti sono traghettati.
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