Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello...

40
Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010

Transcript of Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello...

Page 1: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Sistemi per il Governo dei robot

Shakey il robot “Autonomo”

Forastiere Manolo 50/007

Marrello Valentino 50/010

Page 2: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Struttura del seminario

•Paradigma reattivo

Esempio di funzionamento

Passi per progettare un sistema reattivo

Architettura a sussunzione

Tabella dei behavior per sussunzione

FSA

Architettura a campi di potenziale

•Conclusioni

Page 3: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Nel presente seminario si vuole mostrare come Shakey, il robot mobile dell’università di Stanford, implementato da Nilsson, nato con lo scopo di pianificare ogni azione o task che doveva compiere prima di poter procedere, potrebbe essere pensato utilizzando un paradigma reattivo in modo da agire in maniera riflessiva agli stimoli dell’ambiente in cui è immerso.

Sense plan act

Si passa quindi dal

Sense act

Al

Page 4: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Esempio di funzionamento

Per capire come Shakey potrebbe diventare autonomo e quindi essere adattato al paradigma reattivo, prendiamo come esempio un ambiente costituito da stanze, porte e oggetti e vediamo, utilizzando sia un’architettura a sussunzione che una a campi di potenziale come si riesce a risolvere un compito come quello di cercare un oggetto della quale non si conosce la collocazione.

Per far ciò mostriamo in sequenza i vari passi che ci portano a descrivere la nicchia ecologica di Shakey per poi specificare i behavior e come questi vengono integrati.

Page 5: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Step 1 Descrizione del task

L’obiettivo di shakey è quello girare per delle stanze attraversare porte per individuare un oggetto di colore rosso e raggiungerlo. Per fare questo però bisogna tener presente che nell’ambiente sono posti degli ostacoli come pareti e oggetti.

Step 2 descrizione del robot

Shakey è un robot di circa 50 cm per 50 cm con una altezza di 150 cm. E’ dotato di due ruote motrici poste ai suoi lati e di una ruota girevole anteriore. I sensori di cui è equipaggiato sono:

1 range finder situato sull’albero al centro orientato sul davanti del robot, che permette di ricavare la distanza di un oggetto e l’allineamento con lo stesso in un raggio di 2 metri;

1 telecamera a colori con un raggio d’azione in ampiezza di circa 150° e in profondità di circa 4 metri

Page 6: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

2 Bumper detector posti uno sul davanti e uno sui lati.

Ovviamente dal momento che Shakey non deve richiedere l’intervento dell’uomo, non sarà utilizzato il dispositivo radio che nel paradigma gerarchico serviva per mandare istruzioni per i relativi compiti che doveva eseguire.

Step 3 Descrizione dell’ambiente

L’ambiente in cui è immerso Shakey come già menzionato è composto da due stanze (di 7x7 m2) che hanno in comune un corridoio (di 14x2 m2), per accedere al corridoio dalle stanze vi sono due porte. Nelle stanze possono essere presenti ostacoli (alti quanto shakey) ed in una delle tre stanze viene posto l’oggetto di colore rosso che Shakey deve trovare. Le pareti del corridoio sono di colore blu, diverse rispetto al pavimento in modo da poterle distinguere con la telecamera, mentre le porte sono di colore marrone.

Page 7: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

L’amipezza delle porte è maggiore dell’ampiezza di shakey.

Page 8: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Step 4 descrizione delle reazioni di shakey in risposta all’ambiente

Possiamo ora concentrarci su ciò che Shakey dovrebbe fare cioè il comportamento che dovrà avere in base alle situazioni ambientali che si presentano.

Nel momento in cui Shakey viene introdotto in una delle stanze possono essere percepite dal sistema sensoriale diverse situazioni:

1- Shakey è posto difronte ad un ostacolo e quindi deve avere un Behavior per evitare l’ostacolo

2- Shakey vede l’oggetto che deve raggiungere e quindi bisogna prevedere un behavior per raggiungere lo stesso

3- Se Shakey vede le pareti blu il suo behavior sarà quello di seguirle

4- Se shakey non vede ne un ostacolo ne un obiettivo, bisogna prevedere un behavior che permetta di passeggiare per la stanza in modo da riuscire a trovare l’oggetto

Page 9: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

A questo punto dal momento che l’oggetto può non essere presente nella stanza bisogna far sì che Shakey non passeggi per un tempo indeterminato, ma prevedere che egli possa cambiare stanza. Visto che ci sono delle porte che separano una stanza dall’altra bisognerebbe mettere un limite al tempo che Shakey impiega nel passeggiare casualmente e fare in modo che se dopo un determinato tempo t non viene avvistato l’obiettivo porsi come un nuovo obiettivo quello di attraversare una porta.

Se Shakey invece individua il corridoio allora bisogna prevedere un behavior che gli permetta di seguirlo e nello stesso tempo di controllare se vi sono ostacoli o obiettivi da raggiungere.

Page 10: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Step 5 Raffinare ogni behavior (1/8)

A tal punto abbiamo un’idea complessiva di quello che Shakey dovrebbe poter fare. Il robot dovrebbe essere in grado di evitare ostacoli e pareti, di rilevare ed attraversare una porta, di rilevare ed attraversare un corridoio, di rilevare il goal e dirigersi verso di esso. I behavior individuati sono i seguenti:

• Collide • RunAway• Wander• Avoid• Follow_corridor• Through_door• Move_to_goal

Page 11: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Il behavior collide ha lo scopo di fermare i motori nel momento in cui lo schema percettivo “avverte” l’urto del robot con un oggetto.

Di seguito è riportata una descrizione in termini di schema theory di ciascun behavior primitivo

Collide bumper

Read_bumper() Stop_wheel()

Always_on

stop motor Schema percettivo

Read_bumper()

percetto Bumper_status

Schema motorio

stop_wheel(bumper_status)

Step 5 Raffinare ogni behavior (2/8)

Page 12: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Il behavior RunAway ha lo scopo di aggirare un ostacolo presente davanti Shakey. Il sonar dà un’indicazione della distanza dell’oggetto da Shakey, lo schema percettivo estrae il percetto in termini di coordinate polari (distanza,angolo) e se necessario, lo schema motorio provvede ad inviare i comandi per arretrare e invertire la rotta di 45°

RunAway Sonar

Extract_distance() Turn()

Always_on

Inverti rotta Schema percettivo Extract_distance()

Percetto (d,θ)

Schema motorio Turn(d, θ)

Step 5 Raffinare ogni behavior (3/8)

Page 13: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Il behavior Wander ha lo scopo di generare una direzione casuale ogni n secondi che Shakey dovrebbe seguire. Lo schema percettivo potrebbe essere pensato come un timer che segnala lo scadere degli n secondi. Lo schema motorio genera di conseguenza una direzione casuale (in termini di coppia (distanza,angolo))

Wander timer

Count_down() Random_walk()

Always_on

Direzione casuale

Schema percettivo Count_down()

Percetto Time_remaining

Schema motorio Random_walk()

Step 5 Raffinare ogni behavior (4/8)

Page 14: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Il behavior Avoid combina la distanza generata dal behavior wander con la lettura proveniente dal sonar. Lo schema percettivo somma il vettore proveniente da wander con il vettore che individua l’ostacolo ottenendo la direzione verso cui Shakey dovrebbe dirigersi. Lo schema motorio genera un pattern di azioni motorie da inviare agli attuatori per seguire la direzione desiderata.

Schema percettivo Feel_force()

Percetto (d, θ)

Schema motorio Avoid(d, θ)

Step 5 Raffinare ogni behavior (5/8)

Sonar Azioni motorie per seguire la direzione

Feel_force() Avoid()

Always_on

Wander Avoid

Page 15: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Il behavior Follow_corridor permette di individuare e percorrere il corridoio. La telecamera fornisce allo schema percettivo l’immagine dell’ambiente, lo schema percettivo individua la presenza del corridoio (dal colore delle pareti) mentre lo schema motorio genera un pattern di azioni motorie per attraversare il corridoio.

Follow_corridortelecamera

Extract_color() Go_straight()

See_corridor

Azioni motorie per attraversare il corridoio

Schema percettivo Extract_color(blu)

Percetto c_x

Schema motorio Go_straight(c_x)

Step 5 Raffinare ogni behavior (6/8)

Page 16: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Il behavior Through_door permette di individuare ed attraversare una porta (oggetto di colore marrone). Lo schema percettivo riceve dalla telecamera l’immagine dell’ambiente da cui estrae la posizione della porta (individuandone il colore), lo schema motorio genera un pattern di azioni motorie per attraversarla.

Through_doortelecamera

Extract_color() Through_door()

See_door

Azioni motorie per attraversare la porta

Schema percettivo Extract_color(brown)

Percetto c_x

Schema motorio Through_door(c_x)

Step 5 Raffinare ogni behavior (7/8)

Page 17: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Il behavior Move_to_goal infine permette di individuare e dirigersi verso l’obiettivo (oggetto di colore rosso). Lo schema percettivo riceve dalla telecamera l’immagine dell’ambiente e fornisce allo schema motorio la posizione dello stesso. Lo schema motorio provvede ad inoltrare i comandi giusti agli attuatori al fine di raggiungere l’oggetto.

Move_to_goaltelecamera

Extract_color() Move_to_goal()

See_goal

Azioni motorie per raggiungere

il goal

Schema percettivo Extract_color(red)

Percetto c_x

Schema motorio Move_to_goal(c_x)

Step 5 Raffinare ogni behavior (8/8)

Page 18: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Tabella dei behaviors

Releaser Behaviour Motor Scheme Percepts Perceptual scheme

Always_on Collide() Stop_wheel(Bumper_status) Bumper_status

Read_bumper()

Always_on Runaway()Turn(d,θ) (d,θ) Extract_Distance(sonar)

Always_on Avoid() Avoid(d,θ) (d,θ) Feel_force(wander,sonar)

Not_See_Goal=Extract_color(red)

Wander() Random_walk(Time_remaining) Time_remaining

Countdown()

See_door=Extract_color(brown)

Through door Through_door(c_x) c_x Extrat_color(brown)

See_corridor=Extract_color(blu)

Follow corridor() Go_straight(c_x) c_x Extract_color(blu)

See_Goal=extrat_color(red)

Move_to_goal() Move_to_goal(c_x) c_x Extract_color(red)

Page 19: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Automa a stati Finiti

Start

Move to goal

Wander

Through door

Follow corridor

See_goal

Not_See_goalAnd Not_see_corridor

See_goal

See_goal

See_goal

See_corridor

See_door

Not_See_goalAnd Not_see_corridor

See_door

See_corridor and not _See_goal

See_goal andBumper_on

stop

Page 20: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

L1

L0Bumper

Sonar

Forward

Turn

Collide

RunAway

AvoidWander

s

I livelli di competenza L0 ed L1 permettono al robot di girovagare e nel contempo di evitare ostacoli. Nel caso in cui avoid genera una direzione (data dalla somma fra il vettore casuale di wander ed il vettore ostacolo), il modulo RunAway è soppresso.

Step 6 Sussunzione (1/6)

Page 21: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

L2

L1

L0Bumper

Sonar

Forward

Turn

Collide

RunAway

AvoidWander

s

Extract_color

(blu)Telecamera Go_straight

s

corridor

Step 6 Sussunzione (2/6)

Il livello L2 permette al robot di attraversare il corridoio. Nel momento in cui lo schema percettivo Extract_color(blu) individua il corridoio, lo schema motorio Go_straight() dà al modulo avoid la direzione necessaria per attraversarlo sopprimendo il modulo wander. In tal caso il robot è in grado di attraversare il corridoio evitando eventuali ostacoli.

Page 22: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

L3

L2

L1

L0Bumper

Sonar

Forward

Turn

Collide

RunAway

AvoidWander

s

Extract_color(blu)

Telecamera Go_straight

s

s

Extract_color(brown) Through_doordoor

corridor

Step 6 Sussunzione (3/6)

Il livello L3 permette al robot di attraversare una porta. Nel momento in cui lo schema percettivo Extract_color(brown) individua la porta, lo schema motorio Through_door dà al modulo avoid la direzione necessaria per attraversarla sopprimendo il modulo wander e Go_straight. In tal caso il robot è in grado di attraversare la porta evitando eventuali ostacoli.

Page 23: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

L4

L3

L2

L1

L0Bumper

Sonar

Forward

Turn

Collide

RunAway

AvoidWander

s

Extract_color(blu)

Telecamera Go_straight

s

s

Extract_color(brown) Through_door

Extract_color (red)

Move_to_goal

s

Goal

door

corridor

Step 6 Sussunzione (4/6)

Il livello L4 permette al robot di individuare e dirigersi verso il goal (oggetto di colore rosso). Lo schema motorio Move_to_goal sopprime gli schemi

motori dei livelli sottostanti per poi terminare in avoid.

Page 24: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Step 6 Sussunzione (5/6)

Una struttura del genere non è del tutto sufficiente allo scopo. C’è il rischio che shakey abbandoni una stanza ancor prima di averla esplorata. Infatti lo strato di competenza L3 (attraversa la porta) sussume lo strato L1 (vaga nell’ambiente). Il problema può essere ovviato aggiungendo un ulteriore strato di competenza che ha lo scopo di inibire lo schema percettivo del behavior Through_door per n minuti permettendo a shakey di esplorare l’ambiente per almeno n minuti.

Page 25: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

L4

L3

L2

L1

L0

L5

Bumper

Sonar

Forward

Turn

Collide

RunAway

AvoidWander

s

Extract_color(blu)

Telecamera Go_straight

s

s

Extract_color(brown) Through_door

Extract_color (red)

Move_to_goal

s

Goal

door

corridor

Clock

I

Step 6 Sussunzione (6/6)

I

Page 26: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Campi di potenziale (1/13)

A differenza dell’architettura a sussunzione non c’è un behavior che vince su tutti ma si tratta di una vera e propria fusione di più behaviors individuali che richiedono, per la loro realizzazione, un metodo generale di rappresentazione delle azioni prodotte. Implementando ciascun behavior individuale come uno schema è possibile ottenere il risultato richiesto come somma vettoriale dei vettori attuativi che ciascun behavior produce in risposta a particolari e ben specificati pattern percettivi. Per generare tali vettori si fa uso della tecnica generale dei campi di potenziale.

Le architetture behavior-based che utilizzano i campi di potenziale assumono che l'azione motoria di un behavior sia rappresentabile con un vettore. Analogamente a quanto avviene per i vettori di forza della meccanica, si suppone che tali vettori siano derivabile da un campo di potenziale. Come tutti i vettori, anche nel caso della risposta di un behavior, la rappresentazione è ottenuta assegnandone intensità e direzione.

Page 27: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Possiamo prevedere i seguenti campi di potenziale primitivi la cui combinazione può produrre campi di complessità arbitraria.

Si è fatta l'assunzione che l'intensità dei campi di potenziale in ogni punto del piano sia, in generale, una funzione che dipende dalla distanza relativa del robot dall'oggetto in questione e dal profilo d'intensità. Si considerino, allora, i behaviors elencati nel seguito, i cui schemi motori sono implementati con campi di potenziale particolarmente semplici e che danno origine alla risposta del caso.

(2/13)

Campo repulsivo

Campo uniforme

Campo perpendicolare

Campo attrattivo

Page 28: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Move-to-goalSi tratta di un Behavior elementare con un attrattore che definisce l'obiettivo da raggiungere seguendo la direzione phigoal con una velocità proporzionale alla

distanza dallo stesso, che potrebbe essere pesata G in funzione del tipo di obiettivo.

NoiseQuesto behavior permette al robot di uscire da eventuali punti morti grazie ad una risposta costante in intensità e ad una direzione che viene cambiata ogni p secondi cosicchè tale consistenza determina la persistenza della direzione. Ne risulta un behavior elementare di wandering.

Vdirection = Φgoal

Vmagnitude =

Vdirection = direzione casuale cambiata

ogni p secondi

Vmagnitude = valore fissato di guadagno

D dper

D dper 0

GD

d

(3/13)

Page 29: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

AvoidPermette l'allontanamento da ostacoli fissi che possono risultare pericolosi, evitando in questo modo la collisione. Con questo behavior il robot si allontana da un ostacolo con velocità linearmente decrescente all'aumentare della distanza da esso. Tale azione repulsiva è percepita da un appropriato sensore di distanza (range finder) fino ad una distanza massima D dall'ostacolo. Si noti, comunque, che D non deve necessariamente coincidere con il raggio d'azione del sensore. Ovviamente il valore del campo dipende dal valore corrente della distanza d dall'ostacolo.

Vdirection=180°

D dper

D dper

)(

0

GD

dDVmagnitude =

(4/13)

Page 30: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Move-aheadSi tratta di un behavior elementare che permette l'avanzamento nella direzione phibussola

indicata dalla bussola con velocità costante c.

Stay-on-pathIl behavior in questione costringe il movimento del robot verso il centro di una corsia, strada o corridoio per cui la traiettoria del robot tende a stabilizzarsi lungo il suo asse mediano. Nel calcolo dell'intensità del campo (velocità) bisogna tener conto della larghezza W del cammino, la distanza d dal centro, il guadagno G sul cammino contrapposto a quello P fuori di esso.

)2/( dper

(W/2) dper

2/

WGW

d

PVmagnitude

Vdirection = In direzione della linea centrale.

Vdirection = Φbussola

Vmagnitude = C

W

(5/13)

Page 31: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

A questo punto vediamo come i vari behavior primitivi presentati devono essere fusi per ottenere un behavior più astratto.

Wander

Per ottenere il behavior wander infatti si può pensare di sommare le uscite dei seguenti tre behavior primitivi:

Noise

Avoid

timer

sonar

Wander

Σ

Move to goaltelecamera

(6/13)

Page 32: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Pseudocodice dei behavior primitivi di Wander

Noise

Vector Noise () { Double G; Double angle; Vector V; angle = random_percept(p); // schema percettivo V = pfield_noise(angle,G); // schema motorio return V;}

Vector pfield_noise (angle,G) { V.magnitude = C*G; V.direction = angle; return V; }

double random_percept (p) { for time=p downto 1 do { } return random(); }

(7/13)

Schema motorio Schema percettivo

Page 33: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

AvoidVector Avoid () { double distanza; double G; Vector V; double D;

D = sfera di influenza dell’ostacolo; distanza = read_sonar(); // schema percettivo V = pfield.repulsive(distanza,G,D); // schema motorio return V;}

Vector pfield.repulsive (distanza,G,D) { Vector V; V.magnitude=V.direction=0; If distanza <= D { V.magnitude = ((D-d)*G)/D ; V.direction = 180°; } return V; }

(8/13)

Schema motorio

Page 34: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Move to goalVector move to goal () { centroide position; Vector V; double G; centroide = extract_color(red); // schema percettivo V = pfield.actraction (centroide,G); // schema motorio return Voutput;}

Vector pfield.actration(centroide,G) {V.magnitude = V.direction=0;V.magnitude = linear_dropoff(goal_strength)*G;V.direction = goal_angle; }return V; }

centroide extract_color(goal_color) { if not_see(goal_color) then{ Centroide.goal_angle=0; Centroide.goal_strength =0; else …

} return centroide; }

type def struct {

double goal_angle

double goal_strength } centroide

(9/13)

Schema motorio Schema percettivo

Page 35: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Void Wander () { vector V, V1,V2,V3; While (robot==on) { V1 = noise (); V2 = move_to_goal(); V3 = Avoid(); V= SumVectors(V1,V2,V3); Turn (V.direction); Forward(V.magnitude); }}

Infine avremo che i precedenti tre behaviors andranno fusi mediante la funzione di controllo del behavior astratto wander

(10/13)

Page 36: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Follow corriddor

Per ottenere il behavior follow corridor si può pensare di sommare le uscite dei seguenti cinque behavior primitivi:

Stay on path

Move ahead

Lateral-sonar

sonar

Follow corridor

ΣAvoid

Move to goal

Noise

telecamera

timer

bussola

(11/13)

Page 37: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Throught door

Per ottenere il behavior Throught door si può pensare di sommare le uscite dei seguenti due behavior primitivi:

sonar

Throught door

Σ

Avoid

telecamera Go throught door

(12/13)

Page 38: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Noise

Avoid

timer

sonar

Wander

Σ

Move to goaltelecamera

Stay on path

Move ahead

Lateral-sonar

sonar

Follow corridor

ΣAvoid

Move to goal

Noise

telecamera

timer

bussola

sonar

Throught door

Σ

Avoid

telecamera Go throught door

Action

C

O

O

R

D

I

N

A

T

O

R

(13/13)

Page 39: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Conclusioni

Nello sviluppo di una versione di shakey reattiva, le principali difficoltà riscontrate sono state l’individuazione dei behavior primitivi e come coordinare gli stessi. Infatti mentre nel paradigma gerarchico ad ogni percezione del mondo corrispondeva una pianificazione e poi un’azione, qui più behavior possono essere attivi contemporaneamente e teoricamente conflittuali. Mentre nell’architettura a sussunzione la coordinazione è risolta con l’uso di livelli di competenza basati su una strategia del “vincitore prende tutto”, in quella a campi di potenziale la coordinazione è risolta per mezzo del principio di sovrapposizione per cui l’azione emergente è meno facile da prevedere. Ne deriva che l’unico modo per essere certi del funzionamento è di provarlo sul campo.

Page 40: Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.

Riferimenti

•Arkin R. , 1998. “Behavior-based robotics”

•Appunti del corso