1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per...

145
1

Transcript of 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per...

Page 1: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

1

Page 2: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

2

Lez. 12

Page 3: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

3

Il Paradigma Reattivo emerse nei tardi anni ‘80. Esso è importante

da studiare per almeno due motivi.

Primo, i sistemi robotici operanti in domini ristretti con compiti

limitati sono ancora oggi costruiti usando architetture reattive.

Secondo, il Paradigma Reattivo è la base per il Paradigma Reattivo-

Deliberativo Ibrido

Page 4: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

4

Il Paradigma Reattivo scaturì dall'insoddisfazione del paradigma gerarchico e dalle idee provenienti dall'etologia.

Anche se i vari sistemi reattivi possono o non possono aderire strettamente ai principi dell'intelligenza biologica, generalmente imitano alcuni aspetti della biologia.

L'insoddisfazione del Paradigma Gerarchico fu molto bene compendiata da Rodney Brooks, che evidenziò la sua struttura orizzontale.

Page 5: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

5

Invece, un esame della letteratura etologica suggerisce che l'intelligenza è stratificata secondo una decomposizione verticale, come mostrato qui

Page 6: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

6

Secondo una decomposizione verticale, un agente prevede in primo luogo behaviour di sopravvivenza primitivi ed evolve poi verso strati nuovi di behaviour che o riusano i behaviour più bassi e precedenti, oppure interdicono altri behaviour, o creano in parallelo behaviour più avanzati.

Gli elementi paralleli possono essere pensati a strati, accatastati verticalmente. Ogni strato ha accesso a sensori ed attuatori indipendentemente da qualunque altro strato.

Page 7: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

7

Se accade qualche cosa ad un behaviour avanzato, i behaviour di livello più basso restano ancora operativi. Questo ritorno ad un livello più basso imita il degrado di funzioni autonome nel cervello.

Le funzioni nel cervello funzionano (come il respirare) continuamente, indipendentemente da funzioni di ordine più alto (come contare, riconoscere volti, progettare), permettendo ad esempio ad una persona che ha un danno al cervello, derivante ad esempio da un incidente automobilistico, ancora di respirare, etc.

Page 8: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

8

Molti lavori di Arkin, Brooks e Payton si sono

concentrati sulla definizione dei behaviour e sui

meccanismi per manipolare correttamente situazioni

quando più behaviour sono simultaneamente attivi.

Brooks propose un approccio noto ora come

sussunzione e costruì degli insetti robot con behaviour

inseriti direttamente nell’hardware.

Page 9: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

9

Arkin e Payton usarono una metodologia di campi di

potenziale, favorendo realizzazioni software. Questi

approcci sono praticamente equivalenti. Il Paradigma

Reattivo incontrò inizialmente una forte resistenza da

parte dei clienti tradizionali di robotica, particolarmente

i militari e le agenzie per il controllo nucleare. Questi

utenti delle tecnologie robotiche erano preoccupati del

modo impreciso in cui behaviour distinti si combinavano

per formare un behaviour emergente e più ricco.

Page 10: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

10

In particolare, i behaviour reattivi non sono

assoggettabili a dimostrazioni matematiche che mostrano

che essi sono sufficienti e corretti per un certo compito.

Alla fine, i tempi di esecuzione rapidi associati coi

behaviour riflessivi portarono alla loro accettazione da

parte degli utenti, proprio nel momento in cui i

ricercatori si erano spostati verso il paradigma ibrido per

introdurre anche elementi di intelligenza.

Page 11: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

11

I behaviour possono operare concomitantemente e sequenzialmente.

Di seguito le due architetture rappresentative, sussunzione e campi di potenziale, sono confrontate e contrapposte usando lo stesso task come esempio.

Vedremo in questa parte come una architettura manipola behaviour concomitanti per produrre un behaviour emergente.

Page 12: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

12

Attributi del Paradigma Reattivo

L'attributo fondamentale del paradigma reattivo è che

tutte le azioni sono portate a termine attraverso

behaviour.

Come nei sistemi etologici, i behaviour sono un mapping

diretto degli input dei sensori con un pattern di azioni

motorie che sono usate poi per realizzare il compito.

Da una prospettiva matematica, i behaviour sono

semplicemente una funzione di trasferimento che

trasforma gli input sensoriali in comandi per gli

attuatori.

Page 13: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

13

Per gli scopi di questo corso, un behaviour sarà trattato

come uno schema, e consisterà di almeno un schema

motore ed uno schema percettivo.

Lo schema percettivo contiene l'algoritmo per estrarre il

percetto e la sua forza (o valore), lo schema motore

contiene l'algoritmo per generare il pattern di azione per

un attuatore fisico.

Teniamo presente però che solo poche architetture di

robot reattivi descrivono i loro behaviour in termini di

schemi. Ma in pratica, le diverse realizzazioni con

behaviour hanno routine motorie e percettive

riconoscibili, anche se raramente sono riportate come

schemi.

Page 14: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

14

Il Paradigma Reattivo eliminò la componente di Pianificazione della triade Percezione, Pianificazione, Azione, come mostrato in Figura.

SENSE ACT

behaviour

SENSE ACT

behaviour

SENSE ACT

behaviour

SENSE ACT

behaviour

SENSE ACT

behaviour

SENSE ACT

behaviour

Page 15: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

15

Le componenti di Percezione e Azione sono strettamente accoppiate nei behaviour, e tutte le attività del robot emergono come il risultato di questi behaviour che o operano in sequenza o concomitantemente.

L’organizzazione S-A non specifica come i behaviour sono coordinati e controllati.

La percezione nel Paradigma Reattivo è locale in ogni behaviour, o behaviour-specifico.

Page 16: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

16

Ogni behaviour ha il suo proprio sistema percettivo dedicato. In molti casi, questo è implementato come un sensore o schema percettivo per behaviour. Ma in altri casi, più di un behaviour può prendere lo stesso output da un sensore e può trattarlo differentemente (tramite gli schemi percettivi dei singoli behaviour).

Un behaviour letteralmente non sa quello che un altro behaviour sta facendo o sta percependo. La Fig. mostra graficamente il meccanismo percettivo del Paradigma Reattivo.

Page 17: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

17

…....

Page 18: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

18

Organizzazione S-A del Paradigma Reattivo in behaviour multipli e concomitanti

Questo paradigma, come già detto, è fondamentalmente opposto al modello di mondo globale usato nel paradigma gerarchico. Il percetto è immediatamente disponibile per lo schema percettivo del behaviour che può fare poca o molta elaborazione secondo le necessità per estrarre il percetto prevalente. Se è usata una affordance, computazionalmente poco costosa, allora la parte percettiva del behaviour è quasi istantanea e l’azione è molto rapida.

Come si è visto nel capitolo precedente relativo ai fondamenti biologici del paradigma reattivo, i behaviour favoriscono l'uso di affordances.

Page 19: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

19

Brooks disse (rumorosamente) in una conferenza, "noi non abbiamo bisogno di rappresentazioni puzzolenti" e scrisse un lavoro dal titolo “Gli elefanti non giocano a scacchi” (1990).

Si dovrebbe notare che spesso la parte di schemi percettivi del behaviour deve usare una rappresentazione behaviour-specifica o una struttura dati per rivelatori specializzati capace di estrarre affordances.

Per esempio, estrarre una regione rossa in un'immagine è non-banale per un computer comparato con un animale che vede il rosso.

Il punto è che mentre un programma di computer può dovere avere strutture dati per simulare un semplice funzionamento neurale, il behaviour non conta su alcuna rappresentazione centrale fornita da tutti i sensori.

Page 20: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

20

Nelle prime realizzazioni del paradigma reattivo, l'idea di

"un sensore, un behaviour" funzionò bene.

Per behaviour più avanzati, divenne utile fondere l’output di sensori multipli all'interno di uno schema percettivo per avere maggiore precisione o una migliore misura della forza dello stimolo.

Questo tipo di fusione di sensori è permesso all'interno del paradigma reattivo finché la fusione è locale al behaviour.

Page 21: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

21

Caratteristiche e connotazioni dei behaviour reattivi

Come visto precedentemente, un sistema robotico reattivo decompone le funzionalità in behaviour che accoppiano strettamente percezione ad azione senza l'uso di interposizioni di rappresentazioni astratte (globale).

Questa è una definizione ampia e vaga.

Page 22: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

22

La connotazione primaria di un sistema robotico reattivo è che risponde rapidamente.

L'accoppiamento stretto di percezioni ed azioni permettono al robot di operare in tempo reale, muovendosi alla velocità di 1-2 cm per secondo. I behaviour possono essere implementati direttamente in hardware come circuiti, o come algoritmi di complessità computazionale bassa (0(n)).

Page 23: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

23

Questo vuole dire che i behaviour reagiscono non solo rapidamente rispetto al processo, ma sono particolarmente veloci se comparati alle velocità di esecuzione di Shakey e di altri robot legati al paradigma gerarchico.

Una connotazione secondaria è che i sistemi robotici reattivi non hanno nessuna memoria, limitandosi, i behaviour reattivi, a quello che i biologi chiamerebbero riflessi stimolo-risposta puri.

Page 24: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

24

In pratica, molti behaviour esibiscono un pattern di risposta di azione prefissata, laddove il behaviour persiste per un periodo di tempo corto senza la presenza diretta dello stimolo.

Il punto principale è che i behaviour sono controllati da quello che sta accadendo nel mondo, duplicando così lo spirito di meccanismi di releasing innati, piuttosto che dal memorizzare e ricordare quello che il robot ha fatto di recente.

Page 25: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

25

Le cinque caratteristiche di quasi tutte le architetture che seguono il Paradigma Reattivo sono:

1. I robot sono agenti situati che operano in una nicchia ecologica. Come visto nella prima parte, agente situato vuole dire che il robot è una parte integrante del mondo. Un robot ha le sue proprie mete ed intenzioni. Quando un robot agisce, cambia il mondo, e riceve una reazione immediata dal mondo attraverso i sensori. Quello che il robot percepisce influenza le sue mete e, il tentativo di soddisfarle, genera un nuovo ciclo di azioni. Attenzione che la situatedness è definita da un ciclo Azione-Percezione alla Neisser.

Similmente, le mete del robot, il mondo nel quale opera e come esso può percepire il mondo formano la nicchia ecologica del robot.

Per enfatizzare questo, molti ricercatori di robotica dicono che loro stanno lavorando su robotica ecologica.

Page 26: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

26

2. I behaviour servono come fondamenti di base per le azioni del robot, ed il behaviour complessivo del robot è quello che emerge.I behaviour sono entità computazionali indipendenti, ed operano concomitantemente. Il behaviour complessivo emerge di conseguenza: non c'è nessun modulo "controllore" esplicito che determina quello che sarà fatto, o funzioni che chiamano altre funzioni. Ci può essere un programma di controllo coordinato nello schema di un behaviour, ma non c'è nessun controllore esterno di tutti i behaviour per un dato compito. Come con gli animali, l’"intelligenza" del robot è nell'occhio dell'osservatore, piuttosto che in un specifico pezzo di codice. Poiché il behaviour complessivo di un robot reattivo emerge dal modo con cui i suoi behaviour individuali interagiscono, le maggiori differenze tra le architetture reattive risiedono di solito nello specifico meccanismo per le interazioni. Questi meccanismi includono combinazione, soppressione, cancellazione.

Page 27: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

27

3. Sono permessi solo behaviour-specifico locali.

L'uso di rappresentazioni della conoscenza astratte esplicite nel trattare la percezione, anche se è behaviour-specifico, è evitato.

Qualunque percetto che richiede rappresentazione è espresso mediante coordinate ego-centriche (robot-centriche).

Per esempio, si consideri l’evitare un ostacolo. Una rappresentazione ego-centrica vuole dire che non è importante che un ostacolo è nel mondo alle coordinate (x,y,z), ma solamente dove è relativamente al robot.

I dati sensoriali, con l'eccezione del GPS, sono inerentemente ego-centrici (e.g., un range finder ritorna una distanza dall'oggetto più vicino al transducer), questo elimina l’elaborazione necessaria per creare un modello del mondo, mentre estrae solo la posizione degli ostacoli relativamente al robot.

Page 28: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

28

4. Questi sistemi seguono i buoni principi della progettazione software.

La modularità dei behaviour favorisce la decomposizione di un task in behaviour componenti.

I behaviour sono esaminati indipendentemente, e possono essere assemblati a partire da behaviour primitivi.

Page 29: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

29

5. Modelli di behaviour ispirati ad animali sono spesso citati come una base per questi sistemi o per un particolare behaviour.

Diversamente dai primi giorni della robotica AI, dove c'era un sforzo consapevole di non imitare l'intelligenza biologica ma di ricorrere alla matematica e alla logica, nel paradigma reattivo è accettabile usare gli animali come ispirazione per una collezione di behaviour.

Page 30: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

30

Lez. 13

Page 31: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

31

I vantaggi di programmare con i behaviour

Costruire un sistema robotico secondo il Paradigma Reattivo è spesso riportato come programmare con behaviour, poiché il componente fondamentale di ogni realizzazione sono i behaviour. Programmare con behaviour ha molti vantaggi, la maggior parte dei quali sono coerenti coi buoni principi di ingegneria del software. I behaviour sono inerentemente modulari e facili da testare isolati dal sistema (i.e., essi forniscono unità di test). I behaviour forniscono anche possibili espansioni incrementali delle capacità di un robot. Un robot diviene più intelligente avendo più behaviour. La decomposizione comportamentale dà luogo ad una realizzazione che opera in tempo reale ed è di solito computazionalmente poco costosa. Ciononostante vedremo che alcune volte la duplicazione di alcuni sensori specializzati (come i flussi ottici) è lenta. Se i behaviour sono realizzati in economia, allora la realizzazione reattiva può essere lenta.

Page 32: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

32

Generalmente, la velocità di reazione di un robot reattivo è equivalente ai tempi di stimolo-risposta negli animali.

I behaviour rappresentano dei buoni principi di ingegneria del software utilizzando la decomposizione, la modularità e i test incrementali.

Se il sistema robotico è programmato con il più alto grado di indipendenza possibile (anche detto accoppiamento basso), il progettista può mettere su biblioteche facili da capire, da manutenere, e può riusare moduli che minimizzano i side effects.

Accoppiamento basso vuole dire che i moduli possono funzionare indipendentemente l'uno dall'altro con minimi collegamenti o interfacce, promuovendo così un facile riuso.

Coesione vuole dire che i dati e le operazioni contenute in un modulo si riferiscono solo al goal di quel modulo.

Page 33: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

33

Architetture rappresentative Per implementare un Sistema Reattivo il progettista deve

identificare il set di behaviour necessario per il task. I behaviour possono essere o nuovi o si possono usare behaviour esistenti. L'azione complessiva del robot emerge da behaviour multipli e concomitanti.

Quindi un'architettura reattiva deve offrire meccanismi per

1) gestire behaviour

2) determinare quello che accade quando behaviour multipli sono attivi allo stesso tempo.

Un'altra caratteristica che distingue tra loro le architetture reattive è come esse definiscono un behaviour.

Page 34: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

34

Ci sono molte architetture che vanno bene con il Paradigma Reattivo.Le due più conosciute e meglio formalizzate sono la sussunzione e i campi di potenziale.

La sussunzione fa riferimento a come i behaviour sono combinati.

Le metodologie a campi di potenziale costringono i behaviour ad essere implementati come campi di potenziale, ed i behaviour risultanti sono ottenuti dalla sommatoria dei rispettivi campi di potenziale.

Page 35: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

35

Un terzo stile di architettura reattiva che è popolare in Europa e in Giappone è il rule encoding, dove il componente schema motore del behaviour ed il meccanismo di combinazione sono implementati secondo regole logiche. Le regole per combinare i behaviour sono spesso ad hoc, e perciò non le tratteremo in questo corso.

Altri metodi per combinare behaviour esistono, incluso metodi fuzzy e il vincitore-prende-tutto, ma questi tendono ad essere dettagli di realizzazione piuttosto che una vera e propria architettura.

Page 36: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

36

Si legga e commenti in una relazione l’articolo di Brooks:

Elephants dont’t play chess

distribuito a lezione.

La relazione è attesa tra una settimana.

Page 37: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

37

Architettura a Sussunzione L'architettura a sussunzione di Rodney Brooks è la più nota nei sistemi puramente reattivi. Parte della popolarità scaturisce dalla pubblicità che circonda i molti robot naturalistici costruiti con la sussunzione. Come si può vedere in Fig., questi robot davvero sembrano insetti dell’ordine di grandezza di una scatola di scarpe, con sei gambe ed antenne.

In molte realizzazioni, i behaviour sono inseriti direttamente nel hardware o su piccoli microprocessori, permettendo ai robot di avere tutta la capacità di calcolo on-board (questo non era vero per i microprocessori poco potenti di metà degli anni 1980).

Inoltre, i robot di Brooks furono i primi ad essere capaci di camminare, evitando collisioni, salire su ostacoli senza le pause del "muovi-pensa-muovi-pensa" di Shakey.

Page 38: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

38

Page 39: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

39

Il termine "behaviour" nell'architettura a sussunzione ha un significato meno preciso che nelle altre architetture.

Un behaviour è una rete di moduli percezione-azione che portano a termine un task. I moduli sono Augmented Finite State Machine AFSM, che hanno registri, temporizzatori, e altri miglioramenti per permettere loro di essere connessi con gli altri moduli.

Un AFSM è equivalente all'interfaccia tra gli schemi e la strategia di controllo coordinato in un schema comportamentale. In termini di teoria degli schemi, un behaviour di sussunzione è una raccolta di uno o più schemi in un behaviour astratto.

Page 40: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

40

Una Macchina a Stati Finiti (FSM) è un sistema computazionale che cambia il suo stato in funzione dello stato corrente e dell’input.Essa può assumere un numero finito di stati differenti e passa da uno stato all’altro secondo precise regole.

Page 41: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

41

I behaviour sono attivati con una modalità tipo stimolo-risposta, senza un programma esterno che li coordini e controlli esplicitamente.

Ci sono quattro aspetti interessanti della sussunzione in termini di attivazione e controllo :

1. I moduli sono raggruppati in strati di competenza. Gli strati riflettono una gerarchia dell'intelligenza, o della competenza. Strati più bassi incapsulano funzioni di sopravvivenza di base come evitare collisioni, mentre livelli più alti creano azioni dirette alla meta come ad esempio il mapping di un ambiente. Ognuno degli strati può essere visto come un behaviour astratto per un particolare compito.

Page 42: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

42

2. I moduli in un strato più alto possono avere la priorità, o sussumere, l’output del behaviour nello strato adiacente più basso.

Gli strati comportamentali operano concomitantemente ed indipendentemente, quindi si ha bisogno di disporre di un meccanismo che si occupi dei conflitti potenziali.

La soluzione nella sussunzione è del tipo il vincitore-prendere-tutto, dove il vincitore è sempre lo strato più alto.

Page 43: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

43

3. L'uso di stati interni è evitato.

Per stato interno in questo caso si intende un qualunque tipo di rappresentazione locale e persistente che rappresenta lo stato del mondo, o un modello.

Poiché il robot è un agente situato, la maggior parte delle sue informazioni dovrebbero venire direttamente dal mondo.

Se il robot dipende da una rappresentazione interna, quello che esso crede può cominciare a divergere pericolosamente dalla realtà.

Alcuni stati interni sono necessari per attivare behaviour come essere spaventati o affamati, ma una buona progettazione li minimizza.

Page 44: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

44

4. Un task è portato a termine attivando lo strato opportuno che poi

attiva gli strati più bassi sotto di lui e così via.

In pratica, i sistemi a sussunzione non sono facilmente taskable,

ovvero, non possono ricevere l’ordine di fare un altro task senza

essere riprogrammati.

Page 45: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

45

Ci sono quattro aspetti interessanti della sussunzione in termini di attivazione e controllo :

1. I moduli sono raggruppati in strati di competenza.

2. I moduli in un strato più alto possono avere la priorità, o sussumere, l’output del behaviour nello strato adiacente più basso.

3. L'uso di stati interni è evitato quando possibile.

4. Un task è portato a termine attivando lo strato opportuno che

poi attiva gli strati più bassi sotto di lui e così via.

Page 46: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

46

Esempi Questi aspetti sono illustrati meglio da un esempio, preso e modificato estensivamente dai lavori originali di Brooks al fine di essere consistente con la terminologia della teoria degli schemi e facilitare il paragone con la metodologia dei campi di potenziale.

Un robot capace di muoversi in avanti e non collidere con niente potrebbe essere rappresentato con un solo strato, Livello 0.

In questo esempio, il robot ha sonar multipli (o altri sensori di distanza), ognuno che punta in una direzione diversa, e due attuatori, uno per andare avanti ed uno per girare.

Page 47: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

47

Il modulo Sonar legge il range dei sonar, fa ogni possibile filtraggio del rumore, e produce un grafico polare.

Un grafico polare rappresenta le letture di distanze in coordinate polari, (r, ), intorno al robot.

Come mostrato in Fig., la trama polare può essere sviluppata linearmente.

Page 48: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

48

Se la lettura del range del sonar rivolto in avanti è sotto una certa soglia, il modulo COLLIDE annuncia una collisione e spedisce il segnale di alt all'attuatore che gestisce il FORWARD. Se il robot si sta muovendo in avanti, ora si ferma. Nel frattempo, il modulo di FEELFORCE sta ricevendo lo stesso grafico polare. Esso tratta ogni lettura del sonar come una forza repulsiva che può essere rappresentata come un vettore.

Page 49: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

49

FEELFORCE può essere pensato come un sommatore di vettori formati da ognuna delle letture sonar. Questo dà luogo ad un vettore nuovo. Il vettore repulsivo è passato poi al modulo di TURN. Il modulo di TURN fornisce la direzione per girare e la invia all'attuatore di svolta. TURN passa il vettore anche al modulo FORWARD che usa la grandezza del vettore per determinare la grandezza del prossimo movimento in avanti (quanto lontano o quanto veloce). Così il robot gira e va via per una piccola distanza dall'ostacolo.

Page 50: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

50

Il behaviour osservabile consiste nella verifica che il robot fa di non trovarsi in un spazio occupato. Questo behaviour si ripete finché un ostacolo non arriva vicino al robot. Se l'ostacolo è su un lato del robot, il robot girerà di 180° nella direzione opposta e andrà via. Il robot può reagire ad un ostacolo se l'ostacolo (o robot) è immobile o in lento movimento; la risposta è calcolata ad ogni aggiornamento dei sensori.

Page 51: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

51

Se parte dell'ostacolo, o un altro ostacolo, è messo davanti, il robot si fermerà, poi applicherà i risultati di RUNAWAY. Cioè si fermerà, girerà e comincerà a muoversi di nuovo in avanti. La fermata impedisce al robot di urtare l'ostacolo mentre sta girandosi. Il livello 0 mostra come un set abbastanza complesso di azioni può emergere da moduli molto semplici.

Page 52: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

52

È utile rivedere l'architettura a sussunzione nei termini usati finora in questo corso, come mostrato in Fig. Si noti come questo somiglia alla decomposizione verticale del lucido 4: i dati sensoriali circolano attraverso i behaviour concorrenti verso l'attuatore. I behaviour sono indipendenti. Il modulo SONAR potrebbe essere considerato come un'interfaccia globale verso i sensori, mentre i moduli TURN e FORWARD sarebbero considerati come parte dell'attuatore (un'interfaccia).

Page 53: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

53

Per gli scopi di questo corso, un behaviour deve consistere di uno schema percettivo e di uno schema motorio. Gli schemi percettivi sono connessi ad un sensore, mentre gli schemi motori sono connessi ad attuatori. Per il Livello 0, gli schemi percettivi sarebbero contenuti nei moduli FEELFORCE e COLLIDE. Gli schemi motori sono i moduli RUNAWAY e COLLIDE. COLLIDE combina sia il processo percettivo (estrae il vettore dal sonar che guarda direttamente avanti) sia il pattern attuativo (dà l'alt se c'è una lettura negativa). I behaviour primitivi riflettono i due percorsi attraverso lo strato. Uno potrebbe essere chiamato il behaviour di RUNAWAY e l'altro il behaviour di COLLIDE. Insieme, i due behaviour creano un behaviour per evitare ostacoli, o uno strato di competenza.

Page 54: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

54

Si noti che i behaviour usano una percezione diretta, o affordances. La presenza di una lettura di distanza indica che c’è un ostacolo; il robot non sa di che tipo di ostacolo si tratti. Supponiamo di costruire un robot che va in giro invece di stare immobile, ma è sempre capace di evitare ostacoli. Sulla base dello schema a sussunzione, può essere aggiunto un secondo strato di competenza (Livello 1).

L0

L1

Page 55: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

55

In questo caso, il Livello 1 consiste di un modulo WANDER che elabora un andamento casuale ogni n secondi. L'andamento casuale può essere pensato come un vettore. Esso ha bisogno di passare la sua indicazione ai moduli TURN e FORWARD. Ma non può essere passato direttamente al modulo TURN. Questo infatti sacrificherebbe l’evitare gli ostacoli, perché TURN accetta solamente un input. Una soluzione è di aggiungere un altro modulo al Livello 1, AVOID che combina il vettore di FEELFORCE col vettore di WANDER.

L0

L1

Page 56: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

56

Aggiungendo un nuovo modulo AVOID si offre un'opportunità di creare una risposta più sofisticata agli ostacoli. AVOID combina la direzione della forza da evitare con la direzione desiderata. Questo dà luogo alla direzione attuale che è rivolta più verso una direzione corretta che verso la svolta che il robot avrebbe dovuto fare facendo un avanzamento diretto. (Si noti anche che il modulo AVOID è capace di "spiare" le componenti dello strato più basso). L’output di una direzione di AVOID ha la stessa rappresentazione dell’output di RUNAWAY così che TURN può accettare input da entrambe le fonti.

Page 57: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

57

Il problema ora è quello di stabilire quando accettare il vettore di direzione e da quale strato.

La sussunzione rende questo semplice: l’output dal livello più alto sussume l’output dal livello più basso.

La sussunzione è realizzata in uno dei due seguenti modi:

1. inibizione.

Nell’inibizione, l’output del modulo di sussunzione è connesso all’output di un altro modulo. Se l’output del modulo che sussume è "on" o ha un qualunque valore, l’output del modulo sussunto è spento. L’inibizione agisce come un rubinetto, cambiando da on a off l’output.

Page 58: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

58

2. soppressione.

Nella soppressione, l’output del modulo che sussume è connesso all’input di un altro modulo. Se l’output del modulo che sussume è on, esso sostituisce l’input normale al modulo sussunto.

La soppressione agisce come uno switch, scambiando un input con un altro.

In questo caso, il modulo AVOID sopprime (segnato nel diagramma con una S) l’output da RUNAWAY.

RUNAWAY sta ancora operando, ma il suo output non va da nessuna parte.

Invece, l’output di AVOID va a TURN.

Page 59: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

59

L'uso di strati e sussunzione permette a nuovi strati di essere

costruiti sopra lo strato meno competente, senza cambiare gli

strati più bassi. Questa è buona ingegneria del software, poichè

facilita la modularità e semplifica il test. Essa aggiunge anche

un po' di robustezza nel senso che se qualche cosa dovesse

disabilitare il Livello 1, il Livello 0 è probabile che rimanga

intatto. Il robot sarebbe almeno capace di preservare il suo

meccanismo di autodifesa e quindi di fuggire quando si

avvicina agli ostacoli.

Page 60: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

60

La Fig. mostra il Livello 1 rivisto come behaviour. Nota che FEELFORCE è usato da RUNAWAY e AVOID. FEELFORCE è la componente percettiva (nello schema) di ambo i behaviour, con i moduli AVOID e RUNAWAY che sono il componente motorio. Spesso accade che i behaviour sono chiamati con il nome dell'azione osservabile. Questo vuole dire che il behaviour (che consiste di percezione ed azione) e la componente azione hanno lo stesso nome. La figura non mostra che i behaviour AVOID e RUNAWAY hanno lo stesso schema percettivo FEELFORCE. Come sarà visto nel prossimo capitolo, le proprietà object-oriented dello schema theory facilitano il riuso e la condivisione di componenti percettive e motorie.

Page 61: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

61

L0

L1

L2

Ora supponiamo di aggiungere un terzo strato per permettere al robot di muoversi lungo un corridoio, come mostrato in Fig. (il terzo strato nel lavoro originale di Brooks è "esplorare", perché lui stava considerando un task di mappatura). Il modulo di LOOK esamina il plot polare del sonar ed identifica un corridoio. (Si noti che questo è un altro esempio di behaviour che condivide gli stessi dati sensoriali ma li usa localmente per scopi diversi).

Page 62: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

62

L0

L1

L2

Poiché identificare un corridoio è più costoso computazionalmente che estrarre solo i dati di distanza, LOOK può richiedere più tempo di elaborazione di quello richiesto dai behaviour a livelli più bassi. LOOK passa il vettore che rappresenta la direzione in mezzo al corridoio al modulo STAYINMIDDLE. STAYINMIDDLE sussume il modulo WANDER e manda il suo output al modulo AVOID che può eventualmente girare attorno agli ostacoli.

Page 63: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

63

Ma come fa il robot se il modulo di LOOK non ha calcolato una direzione nuova? In questo caso il modulo INTEGRATE sta osservando il moto attuale del robot dagli shaft encoders degli attuatori. Questo dà una stima di quanto lontano dal centro il robot abbia viaggiato dall'ultimo aggiornamento di LOOK.STAYINMIDDLE può usare i dati raccolti per calcolare il vettore per il nuovo corso. Questo serve a colmare i vuoti negli adattamenti dovuti a diverse velocità di aggiornamento dei diversi moduli. Si noti che LOOK e STAYINMIDDLE sono alquanto sofisticati da un punto di vista software.

L0

L1

L2

Page 64: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

64

INTEGRATE è un esempio di modulo che si preoccupa di un eventuale stato interno pericoloso: esso opera sulla base di un feedback dal mondo reale. Se per qualche ragione, il modulo di LOOK non aggiorna mai, allora il robot potrebbe operare senza alcuni dati sensoriali per sempre. O almeno finché non si rompe! Perciò, sistemi con lo stile a sussunzione includono costanti di tempo sulla soppressione e sull'inibizione. Se la soppressione da STAYINMIDDLE funziona più a lungo di n allora la soppressione cessa. Il robot comincia a vagare con una buona speranza che qualunque sia il problema (come essere entrato in un ambiente molto grande) che aveva condotto alla perdita dei segnali si risolva.

Page 65: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

65

Chiaramente, un altro problema è: come sa il robot che non ha cominciato a percorrere il corridoio come avrebbe dovuto?

Risposta: non lo sa.

Il progetto presume che un corridoio sarà sempre presente nella nicchia ecologica del robot.

Se non c’è, il robot non si comporta come previsto.

Questo è un esempio della connotazione i che sistemi reattivi sono "senza memoria."

Page 66: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

66

Sommario Sussunzione

• La sussunzione ha una debole definizione di behaviour come accoppiamento stretto di percezione e azione. Anche se non è un'architettura a schema-theory, essa può essere descritta in questi termini. Essa raggruppa moduli tipo schema in strati di competenza, o behaviour astratti. • Strati più alti possono sopprimere e inibire behaviour in strati più bassi, ma behaviour in strati più bassi non sono mai riscritti o sostituiti. Da un punto di vista della programmazione, questo può sembrare strano. Comunque, così si imita l'evoluzione biologica. Si ricordi che il behaviour descritto per le rane (Lez. 3) era il risultato di due behaviour, uno che si muoveva sempre verso gli oggetti in movimento e l'altro che sopprimeva questo behaviour quando l'oggetto era grande.

Page 67: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

67

• Il progetto di strati e componenti di behaviour per una realizzazione della sussunzione, come con ogni altro progetto comportamentale, è difficile; è più un'arte che una scienza. Questo è vero per tutte le architetture reattive. • Non vi è nulla che assomigli ad una pianificazione tipo STRIPS nella sussunzione. Invece i behaviour sono attivati dalla presenza dello stimolo nell'ambiente.

Page 68: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

68

•La sussunzione risolve il Frame problem eliminando il bisogno di modellare il mondo. Non ci deve preoccupare se il mondo aperto è non-monotono e non ha un tipo di meccanismo di mantenimento di verità, perché i behaviour non ricordano il passato. Ci può essere della persistenza percettiva che conduce ad un tipo di behaviour con un pattern di azione fisso (e.g. seguire un corridoio), ma non c'è nessun meccanismo che evidenzi i cambi nell'ambiente. I behaviour semplicemente rispondono a qualunque stimolo dell'ambiente.

Page 69: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

69

•La Percezione è diretta, usando le affordances. Il releaser per un behaviour è quasi sempre il percetto per guidare lo schema motore.

•La percezione è ego-centrica e distribuita. Nell'esempio del WANDER (strato 1), il plot polare del sonar è relativo al robot. Un plot polare nuovo viene creato ad ogni aggiornamento dei sensori. Il plot polare è anche disponibile per qualunque processo ne abbia bisogno (memoria globale e condivisa), permettendo ai moduli utente di essere distribuiti. L’output dallo schema percettivo può essere condiviso con gli altri strati.

Page 70: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

70

PROPOSTE DI PROGETTO

SIMULAZIONE

1. Operai – Dato un ambiente con ostacoli fissi di colore blu, contenenente un certo numero di oggetti gialli. Progettare un team di robot (da due a 5 a scelta) che individuano gli oggetti gialli e li spingono (o trasportano insieme) in una prefissata posizione di accumulo.

Page 71: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

71

PROPOSTE DI PROGETTI

HARDWARE

1. Simulare il comportamento di tre robot. L’ambiente è costituito da una tana, degli ostacoli e il cibo. Un robot va in esplorazione, cerca il cibo, quando lo trova chiama gli altri due robot. Quando questi arrivano nei pressi del primo robot questi concede l’accesso al cibo ai due altri robot e regola il loro ritorno alla tana.

Page 72: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

72

Lez. 14

Page 73: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

73

Metodologie a Campi di potenziale

Un altro stile di architettura reattiva è basato sui campi di

potenziale. Le architetture specifiche che usano il tipo a campi di

potenziale sono troppo numerose per essere descritte tutte, per cui

ci limiteremo ad una generalizzazione.

Lo stile a campo di potenziale dei behaviour fa uso sempre di

vettori per rappresentare i behaviour e della somma vettoriale per

combinare vettori di behaviour diversi per produrre un behaviour

emergente.

Page 74: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

74

Visualizzazione dei campi di potenziale

Il primo dogma di un'architettura a campi potenziale è che l'azione motoria di un behaviour deve essere rappresentata come un campo di potenziale .

Un campo di potenziale è un array, o campo di vettori.

Un vettore è una struttura matematica che consiste di una ampiezza ed una direzione.

Un vettore V può essere descritto anche come un coppia (m,d), dove m sta per ampiezza e d per direzione.

Per convenzione l’ampiezza è un numero reale tra 0 e 1, ma in generale può essere qualunque numero reale.

Page 75: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

75

L'array rappresenta una regione di spazio. In molte applicazioni robotiche lo spazio è bidimensionale, rappresentando una prospettiva a volo di uccello del mondo come fosse una mappa. La mappa può essere divisa in quadrati, creando una griglia (x,y). Ogni elemento dell'array rappresenta un quadrato dello spazio. Oggetti percepibili nel mondo esercitano un campo di forza sullo spazio circostante. Il campo di forza è analogo ad un campo magnetico o gravitazionale.

Il robot può essere pensato come una particella che entra nel campo emesso da un oggetto o da un ambiente. Il vettore rappresenta la forza, cioè la direzione di rotazione e l’ampiezza o velocità da intraprendere in quella direzione.

I campi di potenziale sono continui e ad ogni punto nello spazio è associato un vettore.

Page 76: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

76

La Fig. mostra come un ostacolo produce un campo sul robot e lo fa fuggire. Se il robot è vicino all'ostacolo, diciamo entro i 5 metri, esso è nel campo di potenziale, allora si genera una forza che lo spinge ad allontanarsi dall'ostacolo.

Se il robot non è all'interno del raggio dell'ostacolo, esso resta là perché nessuna forza è applicata su lui. Si noti che il campo rappresenta quello che dovrebbe fare il robot (lo schema motorio) se il robot percepisse un ostacolo (lo schema percettivo).

Il campo non dà conto di come il robot arriva vicino all'ostacolo; il robot sente la stessa forza sia se si sta muovendo all'interno del raggio sia se sta fermo al suo interno.

Page 77: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

77

Un modo di pensare ai campi di potenziale è di immaginare un

campo di forza che agisce sul robot. Un altro modo è pensare a

loro come ad una superficie di energia potenziale in tre

dimensioni (la gravità spesso è rappresentata così) ed il robot

come una palla di marmo. In questo caso, il vettore indica la

direzione verso cui il robot rotolerebbe sulla superficie.

Dossi sulla superficie fanno sì che il robot rotoli via o giri

intorno (i vettori dovrebbero puntare lontano dalla "vetta"

della collina), e le valli fanno sì che il robot rotoli verso il basso

(vettori che puntano verso il fondo).

Page 78: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

78

Ci sono cinque campi di potenziale di base, o primitivi che possono essere combinati per costruire campi più complessi: uniforme, perpendicolare, attrattivo, repulsivo, e tangenziale. La Fig. a mostra un campo uniforme. In un campo uniforme, il robot dovrebbe sentire la stessa forza indipendentemente da dove si trova e quale orientamento abbia. Esso dovrebbe sentire il bisogno di girare e allinearsi alla direzione della punta della freccia e muoversi in quella direzione ad una velocità proporzionale alla lunghezza della freccia. Un campo uniforme si usa spesso per descrivere il behaviour "va in direzione di ….”.

Page 79: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

79

La Fig. b mostra un campo perpendicolare, dove il robot è orientato

perpendicolarmente all'oggetto o al muro o al confine. Il campo

mostrato è diretto fuori dal muro grigio, ma un campo

perpendicolare può essere puntato anche verso un oggetto.

Page 80: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

80

In Fig. c si illustra un campo attrattivo. Il cerchio al centro del campo rappresenta un oggetto che sta esercitando un'attrazione sul robot. Dovunque il robot sia, il robot sentirà una forza dovuta all'oggetto. I campi attrattivi sono utili per rappresentare un qualche tropismo, dove l'agente è letteralmente attirato da luce, cibo o una meta. L'opposto di un campo attrattivo è un campo repulsivo, mostrato in Fig. d. I campi repulsivi sono associati comunemente agli ostacoli, o cose che l'agente dovrebbe evitare. Più vicino il robot è all'oggetto, più è forte la forza repulsiva che lo allontana di 180° via da lui.

Page 81: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

81

L’ultimo campo primitivo è il campo tangenziale in Fig. e. Il campo è una tangente attorno all'oggetto (si pensi ad un vettore tangente come perpendicolare alle linee radiali che si estendono verso l’esterno dell'oggetto). I campi tangenziali possono essere orari o antiorari; la Fig. e mostra una rotazione oraria. Essi sono utili per spingere un robot a girare attorno ad un ostacolo, o un robot a investigare su qualche cosa.

Page 82: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

82

Profili di ampiezze Si osservi che nelle Fig. c,d,e la lunghezza delle frecce è diversa a seconda della distanza dall'oggetto. Il modo in cui l’ampiezza dei vettori cambia nel campo è stata chiamata profilo di ampiezza. (Il termine “profilo di ampiezza” è usato qui perché il termine profilo di velocità è usato dagli ingegneri di controlli automatici per descrivere come i motori di un robot accelerano e rallentano per produrre un particolare movimento senza dare scosse.)

Page 83: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

83

Si consideri il campo repulsivo in Fig. Matematicamente, il campo può essere rappresentato in coordinate polari ed il centro del campo è l'origine (0, 0): (4.1) Vdirection = -Ф

Vmagnitude = cIn questo caso, l’ampiezza è un valore costante c; la lunghezza delle frecce cioè rimane la stessa. Questo può essere visualizzato con un plot della ampiezza mostrata in Fig. a.

a

Page 84: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

84

Questo profilo dice che il robot fuggirà (la direzione verso cui

correrà è -Ф), sempre alla stessa velocità, non importa quanto

vicino sia all'oggetto, finché è nel raggio dell'ostacolo. Appena il

robot esce dal raggio d’azione dell'ostacolo, la velocità cade a 0,

fermando il robot.

Il campo è essenzialmente binario: il robot o sta fuggendo a

velocita' costante o si ferma.

In pratica c’è qualche problema con l’ampiezza costante. Si può

infatti produrre un moto a scatti lungo il perimetro del raggio

d’azione del campo. Questo si nota quando un robot andando in

una particolare direzione, incontra un ostacolo. Fugge, lasciando

quasi immediatamente il campo, poi torna indietro di nuovo sul

suo percorso originale, incontra il campo di nuovo, e così via.

Page 85: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

85

I profili di ampiezza rendono anche possibile al progettista rappresentare la riflessività (una risposta che dovrebbe essere proporzionale alla forza dello stimolo) e creare risposte interessanti. Si consideri il profilo in Fig. b. Esso può essere descritto dal comportamento visto da un osservatore che guarda il robot :se il robot è lontano dall'oggetto, esso andrà in giro e si muoverà rapidamente, quando si dirige verso l’oggetto inizierà a rallentare per evitare di colpirlo.

Page 86: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

86

In matematica, questo andamento è detto linear drop off

(esaurimento lineare), perché la velocità alla quale l’ampiezza si

esaurisce può essere rappresentata da una linea retta. La formula di

una retta è y = mx + b dove x è la distanza e y è l’ampiezza. b

influenza l'inizio della linea e m è l’inclinazione ( ). Qualunque

valore di m e b è accettabile. Se non è specificato, m = 1 o -1 (una

inclinazione di 45° in su o in giù) e b = 0 per le funzioni lineari.

Il profilo lineare in Fig. b soddisfa il behaviour desiderato dal

progettista di avere un robot che reagisca di più, quanto più è vicino.

x

ym

Page 87: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

87

Per catturare il bisogno di una reazione forte e più accentuata si

deve usare un altro profilo. Un tale profilo è una funzione detta

a esaurimento esponenziale in cui l’esaurimento è proporzionale

al quadrato della distanza: per ogni unità di distanza

dall'oggetto la forza sul robot diminuisce della metà.

Page 88: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

88

Come si può vedere dagli esempi precedenti, quasi nessun profilo di ampiezza è accettabile. La motivazione di usare profili di ampiezza è quella di raffinare il behaviour. È importante notare che il robot calcola solamente i vettori che agiscono su di lui nella sua posizione corrente. Le figure, invece, espongono il campo intero per tutte le possibili ubicazioni del robot.

La domanda che sorge è: perché le figure mostrano un campo intero su uno spazio?

Prima di tutto, questo aiuta a visualizzare quello che il robot farà complessivamente, non solo ad un particolare istante di tempo.

Secondo, siccome i campi sono rappresentazioni continue, questa è una semplificazione che conferma se il campo è corretto e rende subito evidente ogni cambio improvviso.

Page 89: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

89

Campi di potenziale e percezione

Negli esempi precedenti, la forza del campo di potenziale in ogni dato punto era una funzione del profilo di ampiezza e della distanza relativa tra il robot ed un oggetto.

La forza di un campo di potenziale può però essere una funzione dello stimolo, indipendentemente dalla distanza. Come esempio si richiama dalla lez. 3 il behaviour di cibo per il piccolo di rondine artica dove il behaviour cibo è guidato dallo stimolo "rosso." Questo può essere modellato da un campo attrattivo. Più grande e rosso è un oggetto nel campo visivo del piccolo, più forte l'attrazione, suggerendo un profilo di ampiezza che usa una funzione esponenziale crescente.

Un altro importante punto che già è stato menzionato è che i campi di potenziale sono ego-centrici perché la percezione di un robot è ego-centrica.

Page 90: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

90

Programmazione di un singolo campo di potenziale

I campi di potenziale sono facili da programmare, specialmente quando sono ego-centrici rispetto al robot.

La visualizzazione di un intero campo può indurre a pensare che il robot e gli oggetti sono in un sistema di coordinate fisso, assoluto, ma in realtà non lo sono.

Il robot calcola l'effetto del campo di potenziale, di solito come una linea retta, ad ogni aggiornamento senza memoria di dove era prima o dove il robot si è mosso.

Vediamo alcuni esempi.

Page 91: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

91

Vdirection = -180°

Vmagnitude =

Ddper

Ddper

0D

dD

dove D è il range massimo dell'effetto del campo, o la massima distanza a cui il robot può scoprire l'ostacolo. (D non è sempre la distanza di rilevamento. Può essere la distanza alla quale il robot dovrebbe rispondere ad un stimolo. Per esempio, molti sonar possono scoprire ostacoli lontani 60 cm, producendo una risposta quasi infinitesima nel behaviour emergente ma richiedendo un alto runtime per la chiamata di funzione).

In pratica, un robotico metterebbe un D di 2 metri). Si noti che la formula produce un risultato quando

0.0 <= Vmagnitude <= 1.0.

Un campo di potenziale primitivo è rappresentato usualmente da una sola funzione. Il vettore che ha un impatto sul robot è calcolato ad ogni aggiornamento. Si consideri il caso di un robot con un solo sensore di distanza rivolto in avanti. Il progettista decide che è adatto un campo repulsivo con una attenuazione lineare. La formula è:

>

Page 92: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

92

Questo è un frammento di codice C che cattura il campo repulsivo.

typedef struct { double magnitude; double direction;

} vector; vector repulsive(double d, double D) {vector outputVector;

if (d <=D) { outputVector.direction =180; // si gira! outputVector.magnitude = (D-d)/D; // decadimento

lineare } else {

outputVector.direction=O.O outputVector.magnitude=O.O }

return outputVector;}

Page 93: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

93

A questo punto, è facile illustrare come un campo di potenziale può essere usato da un behaviour, RUNAWAY, per il robot con un solo sensore. Il behaviour RUNAWAY userà la funzione repulsive() come schema motorio, ed una funzione readSonar() come schema percettivo. L’output del behaviour è un vettore.RUNAWAY è chiamato dal robot ad ogni ciclo di aggiornamento.

vector RUNAWAY() { vector Voutput; double reading; reading=readSonar(); // schema percettivo Voutput =repulsive(reading, MAX_DISTANCE);// schema return Voutput; // motorio } // ****************** MAIN **************while (robot==ON) { double Vrunaway;

Vrunaway=RUNAWAY(reading); // schema motorio turn(Vrunaway.direction); forward(Vrunaway.magnitude*MAX_VELOCITY);

}

Page 94: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

94

Combinazione di behaviour e Campi

Come affermato precedentemente, il primo attributo di una vera metodologia di campi di potenziale è che essa richiede che tutti i behaviour siano implementati come campi di potenziale.

Il secondo attributo è che essa combini i behaviour non mediante una sussunzione uno dell’altro, ma mediante una sommatoria di vettori.

Un robot avrà generalmente forze agenti su lui provenienti da behaviour multipli e concomitanti.

Vogliamo fornire due esempi di come behaviour multipli sorgono e come sono implementati e sono combinati.

Page 95: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

95

Un primo esempio è la semplice navigazione di un robot che sta perseguendo una meta (specificata come "10.3 m in direzione Θ") ed incontra un ostacolo. Lo schema motorio del behaviour di move2goal è rappresentato con un campo di potenziale attrattivo che usa gli shaft encoder del robot per dire se è giunto alla posizione di meta. Il behaviour RUNAWAY è un campo repulsivo ed usa un sensore di distanza per scoprire se qualche cosa è di fronte a lui.

GO

Page 96: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

96

La Fig. mostra una vista a volo di uccello dell'area di azione, e mostra una visualizzazione del campo di potenziale. Il behaviour di move2goal in Fig. b esercita un campo attrattivo sull’intero spazio; dovunque sia il robot, esso sarà attratto dalla meta. Il behaviour RUNAWAY in Fig. a esercita un campo repulsivo in un raggio attorno all'ostacolo (tecnicamente il campo repulsivo si estende su tutto lo spazio come fa move2goal, ma la ampiezza della repulsione è 0.0 oltre il raggio d’azione). Il campo combinato è mostrato in Fig. 4.16 c.

O

G

R

Page 97: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

97

Ora si consideri il behaviour emergente del robot immerso in questo campo quando parte dall'angolo in basso a sinistra, mostrato in Fig. Al tempo t0, il robot sente il mondo. Può percepire solamente la meta e non può percepire l'ostacolo, così l'unico vettore che sente è attrattivo (RUNAWAY ritorna un vettore di ampiezza 0.0). Esso si muove su una linea retta verso la meta. A t2, aggiorna i suoi sensori ed ora percepisce la meta e l'ostacolo. Entrambi i behaviour offrono un vettore; i vettori sono sommati ed il robot ora si allontana. A t3, il robot si è mosso già oltre l'ostacolo e la meta va ora esercitando la forza più forte. A t4, riprende la corsa e raggiunge la meta.

GO

t0t1

t2

t3 t4 t5

Page 98: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

98

L'esempio illustra anche altri punti sui metodi a campi di potenziale: l'impatto della velocità di aggiornamento e i minimi locali. Si noti che la distanza (lunghezza delle frecce) tra aggiornamenti è diversa. Questo è dovuto ai cambi nella ampiezza del vettore di output che controlla la velocità del robot. Se il robot ha un vettore più "corto", viaggia più lentamente e, perciò, copre meno distanza nello stesso ammontare di tempo. Può anche superare il segno tra un aggiornamento e l’altro come visto tra t3

e t4 dove il robot va veloce senza girare e quindi deve tornare indietro. Il cammino sarà più breve se l’aggiornamento è più frequente.

Page 99: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

99

Un altro aspetto della frequenza di aggiornamento è che il robot può superare la meta, specialmente se sta usando shaft encoders (la meta è a 10.3 metri da dove il robot è partito). Qualche volta i progettisti usano campi attrattivi con una ampiezza che si attenua man mano che il robot si avvicina, facendo rallentare il robot che così può dire che è giunto alla meta. (I programmatori mettono di solito una tolleranza sull'ubicazione della meta, per esempio invece di 10.3m la meta è l0.3m0.5m.)

Page 100: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

100

I campi di potenziale trattano il robot come se fosse una particella che può cambiare istantaneamente velocità e direzione. Questo non è vero per i robot reali. Robot di ricerca come Khepera (mostrato in Fig.) possono girare in qualunque direzione, ma devono fermarsi prima e c'è un ammontare misurabile di errore a causa dell’attrito tra le ruote e la superficie. Molti robot hanno Ackerman, o sterzi di automobile, e chiunque ha tentato di parcheggiare un'automobile sa che una macchina può andare solamente in certe direzioni.

Page 101: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

101

Un terzo problema è che i campi possono anche dare somma 0. In Fig., si disegni una linea tra la Meta e l'Ostacolo. Lungo questa linea dietro all’ostacolo, i vettori hanno solamente una testa (direzione della freccia) e nessun corpo (lunghezza della freccia). Questo vuole dire che l’ampiezza è 0 e che il robot se raggiunge quel posto, si fermerà e non si muoverà più. Questo stato è chiamato un problema di minimo locale, perché il campo di potenziale ha un minimo, o un avvallamento che intrappola il robot. Soluzioni al problema di minimi locali saranno descritte alla fine del capitolo.

Page 102: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

102

Esempio che usa un behaviour per sensore

Per avere un altro esempio di come è potente questa idea di sommatoria di vettori, è utile considerare come RUNAWAY per evitare ostacoli è implementato comunemente su veri robot. La Fig. mostra una configurazione dei sensori di distanza IR su un robot Khepera.

Page 103: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

103

Siccome i sensori sono montati permanentemente sulla

piattaforma, il loro angolo αi, relativo al fronte è conosciuto. Se un

sensore riceve una lettura di distanza, qualche cosa è di fronte a

quel sensore. Sotto un campo repulsivo per RUNAWAY, il vettore

di input sarà di 180° opposto a αi. Il sensore non è capace di dire

molto sull'ostacolo: solo che si trova diritto di fronte a lui ed è ad

esso perpendicolare.

Se questo sensore fosse l'unico sensore sul robot, il behaviour

RUNAWAY sarebbe molto stringente. Ma cosa accade se, come

nel caso di Khepera, il robot ha più sensori di distanza? Gli

ostacoli più grandi saranno scoperti da più sensori allo stesso

tempo.

In genere si ha un behaviour RUNAWAY per ogni sensore.

Questa operazione è chiamata istanziazione multipla dello stesso

behaviour.

Page 104: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

104

Nel frammento di codice a istanziazione multipla sottostante si nota che tutto quello che deve essere fatto è di aggiungere un ciclo per sondare ogni sensore.

In questo caso sfruttiamo le due proprietà della somma vettoriale: associativa (a+b+c+d) può essere calcolata come ((a + b) + c) + d), commutativa (non importa in che ordine i vettori sono sommati).

while(robot==ON) { vector.mag=vector.dir=0.0; //inizializza a 0for (i=0; i<=numberIR; i++ { vectorCurrent=RUNAWAY(i); guarda un certo sensore

vectorOutput=VectorSum(tempVector,vectorCurrent);} turn(vector.dir); forward(vector.mag*MAX_VELOCITY);}

Page 105: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

105

Come si vede in Fig., il robot è capace di uscire fuori da una trappola tipo caverna, detta un box canyon, senza costruire un modello del muro. Ogni istanza offre un vettore, alcuni dei quali hanno una componente X o Y che lo porta fuori. Da una prospettiva etologica, il programma è elegante perché è equivalente alla instanziazione di behaviour negli animali. Si ricordi, nel Ch. 3 il modello di rana computrix e la sua controparte nella vita reale, il rospo, dove ogni occhio vede e risponde indipendentemente dall'altro occhio al passaggio di una mosca. In questo caso, il programma tratta il robot come se avesse 8 occhi indipendenti!

Page 106: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

106

Da un punto di vista robotico, l'esempio illustra due punti importanti. Primo, l'accoppiamento diretto delle operazioni di sentire e di agire. Secondo, la programmazione con behaviour è consistente con le buone pratiche di ingegneria del software. La funzione RUNAWAY esibisce una coesione funzionale, dove la funzione fa una sola cosa e bene ed ogni asserzione nella funzione ha direttamente qualche cosa a che fare con lo scopo della funzione. La coesione funzionale è desiderabile, perché questo vuole dire che è improbabile che la funzione presenti side effects nel programma principale o che sia dipendente da un'altra funzione. L'organizzazione complessiva mostra l’accoppiamento dei dati, dove ogni chiamata di funzione prende un semplice argomento. L’accoppiamento dei dati è buono, perché ciò vuole dire che tutte le funzioni sono indipendenti; per esempio, il programma può essere cambiato facilmente per tener conto di più sensori.

Page 107: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

107

L'alternativa alla instanziazione multipla è fare in maniera che lo

schema percettivo di RUNAWAY processi tutte le 8 letture di

distanza. Un approccio è quello di sommare internamente tutti gli

8 vettori. (Si può facilmente vedere che il vettore risultante è lo

stesso) . Questo non è elegante dal punto di vista dell’ingegneria

del software perché il codice ora è specifico del robot (si dice che la

funzione ha una coesione procedurale), e può essere usato

solamente con un robot che ha otto sensori di distanza in quelle

ubicazioni.

Un altro approccio che produce un behaviour emergente diverso è

quello che prevede che lo schema percettivo ritorni la direzione e

la distanza delle sole letture di distanza più grandi. Questo rende il

behaviour più selettivo.

Page 108: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

108

Lez. 15

Page 109: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

109

I campi di potenziale comparati con la sussunzione

Come possiamo formare un behaviour emergente più complicato dei semplici behaviour?

Alla stessa maniera dei campi di potenziale più complicati che sono costruiti da campi primitivi: combinando instanziazioni multiple di behaviour primitivi.

Questo può essere visto rivisitando il behaviour di esempio che descriveva l'architettura di sussunzione.

Nel caso del Livello 0 nella sussunzione, se non ci sono ostacoli all'interno del raggio d’azione, il robot non sente la forza repulsiva ed è immobile. Se un ostacolo entra all'interno del raggio d’azione ed è rivelato da più di un sonar, ognuna delle letture sonar crea un vettore, puntando il robot nella direzione opposta.

Page 110: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

110

Nell'esempio della sussunzione , si può immaginare, che questi vettori vengano sommati nel modulo RUNAWAY come mostrato in Fig. In un sistema a campi di potenziale, ciascuna lettura sonar rilascia un’istanza del behaviour RUNAWAYpf ("pf" è usato per rendere chiaro quale RUNAWAY è assegnato). Il behaviour di RUNAWAYpf usa un campo di potenziale repulsivo. I vettori di output sono quindi sommati, e il vettore risultante è usato per guidare la svolta e l’avanzamento del motore.

Page 111: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

111

While (robot==ON){

vector.magnitude=vector.direction=0; For (i=0; i<=numberSonars; i++)

{ Reading=readSonar (); // schema percettivo currentVector=runaway(reading); // schema motorio vector=vectorSum(vector, currentVector);

} turn(vector.direction); forward(vector.magnitude*MAX_velocità);

}

Page 112: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

112

Il modulo COLLIDE nella sussunzione non coincide con un behaviour nella metodologia a campi di potenziale. Si ricordi che lo scopo di COLLIDE è fermare il robot se tocca un ostacolo; e questo accade se il behaviour RUNAWAY fallisce.

Questa descrizione va bene per la definizione di behaviour, cioè: ha un input sensorio (distanza dall’ostacolo = 0) ed un pattern riconoscibile dell'attività motoria (si ferma).

Ma non produce un campo di potenziale, a meno che un campo uniforme di vettori di ampiezza 0 non sia considerato lecito. Se fosse trattato come un behaviour, il vettore a cui esso contribuisce sarebbe sommato con gli altri vettori prodotti dagli altri behaviour. Ma un vettore di ampiezza 0 è la funzione identità per la somma dei vettori, così un vettore COLLISION non avrebbe alcun impatto. Invece le collisioni sono spesso trattate come situazioni di "panico", provocando una risposta di emergenza fuori della struttura del campo di potenziale.

Page 113: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

113

Alcune differenze più sottili tra campi di potenziale e sussunzione appaiono quando è considerato il caso del Livello 1. La stessa funzionalità può essere portata a termine aggiungendo un solo blocco di behaviour WANDER, come mostrato in Fig.

Page 114: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

114

Come prima, il behaviour genera una direzione nuova per muoversi ogni n secondi. Questo potrebbe essere rappresentato da un campo di potenziale uniforme dove il robot sente la stessa attrazione ad andare in una certa direzione, incurante di dove si trova, per n secondi. Comunque, combinando l’output di WANDER con l’output dei vettori di RUNAWAYpf, il bisogno di un nuovo behaviour AVOID è eliminato. Il vettore WANDER è sommato al vettore repulsivo e di conseguenza, il robot si allontana contemporaneamente dagli ostacoli e va verso la direzione desiderata. Questo è mostrato in Fig.

Page 115: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

115

Le differenze principali in questo esempio sono che i campi di potenziale esplicitamente incapsulano percezione e azione in behaviour primitivi, e non devono sussumere nessun behaviour più basso. Come con la sussunzione, il robot diventa più “intelligente” quando il behaviour WANDERpf viene aggiunto al behaviour RUNAWAYpf.

Ora vediamo, per il Livello 2, come sarebbe implementato follow-corridor in un sistema a campo di potenziale.

In questo caso si vede bene la differenza concettuale tra i due approcci. Il robot avrebbe due behaviour concorrenti: RUNAWAYpf e follow-corridor. RUNAWAYpf rimarrebbe lo stesso di prima, ma WANDER potrebbe essere scartato.

In termini di campi di potenziale, il task di seguire un corridoio richiede due behaviour simili, mentre il task di vagare richiede due behaviour diversi.

Page 116: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

116

FOLLOW-CORRIDOR

L0

L1

L2

Page 117: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

117

Il behaviour follow-corridor è interessante, perché richiede un campo di potenziale più complesso. Come mostrato in Fig., sarebbe desiderabile per il robot stare nel mezzo del corridoio. Questo può essere fatto usando due campi di potenziale: un campo uniforme perpendicolare al confine sinistro e che punta al centro, ed un campo uniforme perpendicolare al confine destro che punta al centro. Si noti che entrambi i campi hanno un decremento lineare in ampiezza non appena il campo si avvicina al centro del corridoio. In pratica questo abbassamento impedisce al robot di oscillare al centro.

Page 118: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

118

Si noti anche che i due campi uniformi non sono sufficienti perché non permettono al robot di muoversi in avanti; il robot si muoverebbe nel mezzo del corridoio e si fermerebbe là. Perciò si aggiunge un terzo campo uniforme che è parallelo al corridoio. Questi tre campi combinati producono un campo smussato che spinge il robot nel mezzo del corridoio secondo una funzione di prossimità al muro, mentre contemporaneamente il robot va spostandosi in avanti. La figura sotto mostra i campi coinvolti. Si ricordi, in questo esempio, che il robot non sta proiettando confini passati o futuri del corridoio; la visualizzazione del campo lo fa apparire così

Page 119: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

119

Il behaviour di follow-corridor usa gli stessi dati dei sonar di

AVOID; perciò i muri produrranno un campo repulsivo che

generalmente spingerebbe il robot verso il mezzo del corridoio.

Perché non usare un solo campo parallelo uniforme per follow-

corridor?

Prima di tutto i behaviour sono indipendenti. Se c'è un behaviour

follow-corridor, esso deve essere capace di seguire i corridoi senza

dipendere da effetti collaterali dagli altri behaviour. Secondo, la

simmetria polare dei campi repulsivi può causare oscillazioni,

così c'è un vantaggio pratico ad avere un behaviour separato.

Page 120: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

120

L'uso di conoscenza di behaviour-specifico del dominio (data al

momento dell’instanziazione come un parametro di

inizializzazione opzionale) può migliorare ulteriormente il

behaviour complessivo del robot. Se il robot conosce l'ampiezza

del corridoio a priori, follow-corridor può sopprimere le istanze

di AVOID perché per gli ostacoli sa che quella è la forma del

confine del muro. Quindi eviterà solamente gli ostacoli che sono

nel corridoio. Se non ci sono ostacoli, follow-corridor produrrà

una traiettoria diritta. Se gli ostacoli sono prossimi ad un muro, il

follow-corridor tratterà il profilo dell'ostacolo come un muro e si

sposterà più vicino al centro.

Page 121: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

121

Gli schema motori per un behaviour possono essere ordinati in

sequenza. Un esempio di questo è il behaviour di docking.

Docking (approccio) è quando un robot si deve muovere verso

una specifica ubicazione (la stazione di docking) con un certo

orientamento.

Questo è utile per i robot che maneggiano materiali in una

industria. Per prendere un pezzo di materiale da trasportare il

robot deve, nella sua posizione finale, essere abbastanza vicino al

lato giusto del nastro trasportatore e trovarsi rivolto verso di esso.

Page 122: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

122

Poiché il docking richiede una specifica posizione ed

orientamento, non può essere fatto con un schema motorio

attrattivo. Con questo campo il robot andrebbe in linea retta

verso il nastro, anche se alle sue spalle; il robot si fermerebbe

dietro la posizione giusta con l’orientamento sbagliato. Invece, è

necessario un campo di attrazione selettivo. Qui il robot "sente"

solamente la forza attrattiva quando è all'interno di un certo

range angolare della stazione di docking, come mostrato in Fig.

Page 123: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

123

Sfortunatamente l'attrazione selettiva non copre il caso di quando il robot si avvicina dalla parte posteriore o di lato. Come si può muovere un robot in un'area dove c’è un campo di attrazione selettivo? Un modo per fare questo è avere un campo tangenziale che permette al robot di orbitare attorno al dock finché non entra nell'area di attrazione selettiva. La combinazione dei due schemi motori produce un campo continuo che fa convergere il robot nella posizione ed orientamento corretto, come mostrato in Fig..

Page 124: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

124

Page 125: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

125

Un aspetto interessante del behaviour di docking è quando il

robot sta operando in prossimità del dock.

Il dock rilascia un’istanza di AVOID che impedisce al robot di

andare vicino alla posizione desiderata.

In questo caso, i behaviour di docking devono attenuare

l’ampiezza (il guadagno) del vettore di output dell’AVOID

instanziato nell'area di dock.

Essenzialmente questo è come se inibisse in parte il behaviour di

AVOID in alcune regioni selezionate.

Avremo quindi che tra attrazione e repulsione il robot si ferma

dove l'attrazione selettiva del dock si bilancia con la repulsione.

I campi selettivi e tangenziali non sono sufficienti in pratica, a

causare delle limitazioni percettive. Se il robot non può vedere il

dock, non può istanziare i campi.

Page 126: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

126

DOCKING

Page 127: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

127

E’ probabile che un robot industriale sappia la direzione relativa di un dock molto di più di quanto un'ape ricordi la direzione del suo alveare. Perciò una forza attrattiva attira il robot vicino al dock, e poi quando il robot vede il dock, comincia l’effetto di incanalamento verso la posizione con l’orientamento corretto anche in presenza di ostacoli, come si vede in Fig.

Page 128: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

128

Page 129: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

129

Almeno tre schemi percettivi sono necessari per il behaviour di

docking. Uno è necessario per estrarre la direzione relativa del

dock per l'attrazione regolare.

Un altro è uno schema percettivo capace di riconoscere il dock in

generale, anche dalla parte posteriore o dai lati, al fine di sostenere

il campo tangenziale.

Il terzo schema percettivo è necessario per il campo di attenzione

selettiva e deve essere capace di interagire con la parte anteriore

del dock e valutare la distanza e l’orientamento relativo del robot.

Page 130: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

130

DOCKINGSELETTIVO

DOCKINGTANGENZIALE

DOCKINGATTRATTIVO

Page 131: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

131

Il behaviour di docking è definito quindi come costituito da tre

schemi percettivi e tre schemi motorii (potrebbero essere

raggruppati in 3 behaviour primitivi). Una rappresentazione in

termini di schema-theory indica che il behaviour ha alcuni

programmi di controllo per coordinare e controllare questi

schemi.

Page 132: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

132

Nel caso del behaviour di docking, una macchina a stati finiti è una scelta ragionevole per coordinare la sequenza di schemi percettivi e motorii.

Essa fornisce una maniera formale per rappresentare la sequenza, ed anche ricorda al progettista di considerare transizioni di stato fuori dell’ordinario.

Il robot per esempio potrebbe stare muovendosi verso il dock sotto l’influenza dei campi tangenziali e dell’attenzione selettiva. Se una persona gli passa davanti, essa occluderebbe la vista del dock e quindi cesserebbe l’attrazione. Allora si riattiva lo schema motorio di attrazione generale, e insieme allo schema percettivo associato rivalutano la direzione del dock alla luce del nuovo ostacolo.Il nuovo vettore permetterebbe al robot di evitare la persona andando in una direzione favorevole al raggiungimento del dock e tentare di raggiungerlo.

Page 133: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

133

Il behaviour di docking illustra anche quale impatto hanno le

capacità sensoriali del robot sui parametri dello schema motorio.

Si noti che l’ampiezza angolare del campo di attenzione selettivo è

determinata dagli angoli ai quali il terzo schema percettivo

potrebbe identificare il dock.

Similmente il raggio del campo tangenziale e di attrazione selettiva

è determinato dalla distanza alla quale il robot può percepire il

dock.

Page 134: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

134

Vantaggi e svantaggi

L’architettura a campo di potenziale ha molti vantaggi. Il campo di potenziale è una rappresentazione continua che è facile visualizzare su una grande regione dello spazio. Di conseguenza, è più facile per il progettista visualizzare il behaviour complessivo del robot. È anche facile combinare campi, e, linguaggi come C++, forniscono strumenti per la creazione di biblioteche comportamentali. I campi di potenziale possono essere parametrizzati: il loro range di influenza può essere limitato e una funzione continua può esprimere il cambio in ampiezza rispetto alla distanza (lineare, esponenziale, ecc.). Inoltre un campo bi-dimensionale di solito può essere esteso ad un campo tri-dimensionale, e così behaviours sviluppati per 2D vanno bene anche per il 3D.

Page 135: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

135

Costruire un sistema reattivo con campi di potenziale non è senza

svantaggi.

Il problema comunemente più citato con i campi di potenziale è

quello che campi multipli possono portare ad un vettore con

ampiezza 0; questo è chiamato il problema del minimo locale. Si

veda il caso del box canyon. Se il robot viene attirato in un punto

dietro il box canyon, il vettore attrattivo annullerebbe il vettore

repulsivo ed il robot rimarrebbe fermo perché tutte le forze si

annullerebbero. Il problema del box canyon è un esempio di

raggiungimento di un minimo locale.

In pratica, vi sono molte soluzioni eleganti per questo problema.

Una è quella di avere un schema motorio che produce vettori di

piccola ampiezza a partire da rumore casuale. Il rumore nello

schema motorio servirebbe a sbattere il robot fuori dai minimi

locali. Si vedano le reti neurali e il simulated annealing.

Page 136: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

136

Un'altra soluzione è quella dei template di navigazione (Navigation

Templates), come quelle implementate da Mark Slack per JPL (Jet

Propulsion Lab – California Inst.of Tech.).

La motivazione è che il problema dei minimi locali spesso sorge a

causa di interazioni fra il behaviour di campo repulsivo di AVOID

e gli altri behaviour, come quello del campo attrattivo di muovere-

verso-una-meta. Il problema dei minimi scomparirebbe se il campo

di potenziale AVOID fosse in qualche modo più intelligente. In

NaTs, il behaviour AVOID riceve come input il vettore somma

degli altri behaviour. Questo vettore rappresenta la direzione

verso cui il robot andrebbe se non ci fossero ostacoli vicino. Per gli

scopi di questo corso, questo sarà chiamato vettore strategico.

Se il robot ha un vettore strategico, quel vettore dice che se c’è un

ostacolo esso deve essere superato sulla destra o sulla sinistra.

Page 137: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

137

Per esempio, se il robot sta attraversando un ponte (vedi Fig.), vorrà passare alla sinistra degli ostacoli che stanno a destra per stare nel mezzo. Nota che il vettore strategico definisce quello che sta a sinistra e quello che sta a destra.

Page 138: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

138

NaTs implementa questa semplice euristica nel campo di

potenziale per RUNAWAY, promuovendolo ad un vero AVOID. Il

campo di repulsione viene completato con un campo a orbita

tangenziale. La direzione dell'orbita (in senso orario o anti orario)

è determinato dalla posizione del robot cioè se è a destra o a

sinistra del vettore strategico.

L’output del behaviour AVOID può essere chiamato vettore

tattico, perché persegue la meta strategica del robot di fronte a

sfide immediate.

Page 139: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

139

Una più recente soluzione al problema di minimi locali è stata

quella di esprimere i campi come funzioni armoniche. I campi di

potenziale implementati come funzioni armoniche sono garantiti

dal non avere un minimo locale pari a 0. Lo svantaggio di questa

tecnica è che è computazionalmente costosa, e deva essere

implementata su un chip VLSI per operare in tempo reale per

grandi aree.

Page 140: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

140

Per riassumere i punti principali sulle architetture a campi di potenziale: • I behaviour sono definiti come formati da uno o più behaviour di schemi motori e percettivi. Lo schema motorio per un behaviour deve essere un campo di potenziale. • Tutti i behaviour operano concomitantemente ed i vettori di output sono sommati. I behaviour sono trattati alla pari e non sono stratificati, anche se ci possono essere, come vedremo, behaviour astratti che internamente ordinano in sequenza i behaviour. Il programma di controllo coordinato non è specificato; il progettista può usare la logica, oppure macchine a stati finiti, ogni qualvolta è ritenuto opportuno. L’ordinare in sequenza è di solito controllato da percezioni o affordances presenti nell'ambiente che sono viste come releasers.

Page 141: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

141

• Anche se tutti i behaviour sono trattati ugualmente, i behaviour possono dare contributi diversi all'azione complessiva del robot. Un behaviour può cambiare i guadagni rispetto a un altro behaviour, riducendo o aumentando l’ampiezza del suo output. Questo vuole dire che i behaviour possono inibire o eccitare gli altri behaviour, anche se questo è usato in pratica raramente.

• La percezione di solito è gestita da percezioni dirette o affordances.

• Una percezione può essere condivisa da diversi behaviour. Una conoscenza a priori può essere data allo schema percettivo, per simulare un sensore specializzato che è più sensibile ad eventi come i confini di un corridoio.

Page 142: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

142

La valutazione delle Architetture Reattive

Come visto dall'esempio di follow-corridor, le due architetture, sussunzione e campi di potenziale, sono molto simili nella filosofia e nei tipi di risultati che si ottengono. Essenzialmente, sono equivalenti.

In termini di supporto alla modularità, entrambe decompongono, le azioni e le percezioni necessarie per trasformare un task in un behaviour, anche se c'è disaccordo sul livello di astrazione di un behaviour.

La sussunzione sembra favorire una realizzazione hardware, mentre i metodi dei campi di potenziale hanno interessanti proprietà per un sistema orientato al software.

Page 143: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

143

Un problema ancora aperto è se queste architetture mostrano una

buona trasportabilità verso altri domini. I sistemi reattivi sono

limitati a applicazioni che possono essere portate a termine con

behaviour riflessivi. Essi non possono essere trasferiti a domini

dove il robot ha bisogno di fare pianificazione, ragionando

sull'allocazione delle risorse, ecc. (questo ha portato al Paradigma

Ibrido).

Page 144: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

144

In pratica, veramente pochi dei livelli dell’architettura a

sussunzione possono essere trasferiti a nuove applicazioni di

navigazione senza fare cambiamenti. Le diverse applicazioni

creano strati che hanno bisogno di sussumere differentemente gli

strati più bassi.

La metodologia dei campi potenziale fa un po' meglio nel senso

che il progettista può creare una libreria di behaviour e schemi

tra cui scegliere, senza un implicito ricorso ad uno strato più

basso.

Page 145: 1. 2 Lez. 12 3 Il Paradigma Reattivo emerse nei tardi anni 80. Esso è importante da studiare per almeno due motivi. Primo, i sistemi robotici operanti.

145

Nessuna architettura propone sistemi che potrebbero essere detti

veramente robusti.

La stratificazione della sussunzione impone un certo degrado se un

livello superiore è distrutto, ma non ha nessun meccanismo per

evidenziare che c’è stato un degrado.

Come negli animali, un robot reattivo farà cose consistenti con la

sua percezione del mondo, ma non sempre quelle giuste.