37
UNIVERSITA’ DEGLI STUDI DI UNIVERSITA’ DEGLI STUDI DI NAPOLI NAPOLI FEDERICO II FEDERICO II A.A 2003-2004 A.A 2003-2004 GENGHIS ario Romano, matr. 50/957 lessandro Senatore, matr. 50/749 iovanni Tessitore, matr. 50/810

UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

Embed Size (px)

Citation preview

Page 1: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

UNIVERSITA’ DEGLI STUDI DI NAPOLIUNIVERSITA’ DEGLI STUDI DI NAPOLI

FEDERICO IIFEDERICO IIA.A 2003-2004A.A 2003-2004

GENGHIS

Dario Romano, matr. 50/957Alessandro Senatore, matr. 50/749Giovanni Tessitore, matr. 50/810

Page 2: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

22

IntroduzioneIntroduzione

Il robot Genghis è stato sviluppato e creato Il robot Genghis è stato sviluppato e creato da Brooks e rappresenta un esemplare di da Brooks e rappresenta un esemplare di sistema reattivo capace di camminare sia sistema reattivo capace di camminare sia su superfici regolari, sia su superfici su superfici regolari, sia su superfici accidentate.accidentate.

Page 3: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

33

Passi di progettazionePassi di progettazione

Page 4: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

44

Describe the taskDescribe the taskGenghis deve essere in grado di fare le Genghis deve essere in grado di fare le

seguenti cose:seguenti cose:

Stare in piediStare in piediTenersi in equilibrioTenersi in equilibrioCamminare su superfici regolariCamminare su superfici regolariCamminare su superfici accidentateCamminare su superfici accidentateSeguire un oggetto in movimentoSeguire un oggetto in movimento

Page 5: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

55

Describe the robotDescribe the robot6 zampe 6 zampe

rigiderigide2 motori per zampa: alpha e beta motors2 motori per zampa: alpha e beta motors

6 IR sensors frontali6 IR sensors frontali

2 inclinometri per rilevare inclinazioni 2 inclinometri per rilevare inclinazioni longitudinali e trasversalilongitudinali e trasversali

2 vibresse (wiskers)2 vibresse (wiskers)

Page 6: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

66

Describe the environmentDescribe the environment

Ambiente con:Ambiente con:

Superficie piana o irregolareSuperficie piana o irregolare

Presenza di ostacoli: altezza massima di 5 Presenza di ostacoli: altezza massima di 5 cmcm

Presenza di oggetti in movimentoPresenza di oggetti in movimento

Page 7: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

77

Le specifiche dell’ambiente impediscono di Le specifiche dell’ambiente impediscono di utilizzare semplici manovre per gli spostamenti.utilizzare semplici manovre per gli spostamenti.

Bisogna definire dei movimenti di base da Bisogna definire dei movimenti di base da comporre per ottenere capacità motorie più comporre per ottenere capacità motorie più complesse:complesse:

Movimenti orizzontali delle zampe (Alpha)Movimenti orizzontali delle zampe (Alpha)Movimenti verticali delle zampe (Beta)Movimenti verticali delle zampe (Beta)

Describe how the robot should act Describe how the robot should act in response to its environmentin response to its environment

Page 8: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

88

MOVIMENTI ALPHAMOVIMENTI ALPHA

• Spostamento orizzontale, ottenuto muovendo nello stessa direzione e con la stessa forza tutte le zampe

• Rotazione lungo l’asse verticale, ottenuto muovendo con la stessa forza ma in direzione opposta le due file di zampe

Page 9: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

99

MOVIMENTI BETAMOVIMENTI BETA

• Spostamento verticale, ottenuto muovendo tutte le zampe verso il basso o verso l’alto

• Rotazione sull’asse longitudinale, ottenuto alzando le zampe di un lato e abbassando quelle dell’altro lato

• Rotazione sull’asse trasversale, ottenuto alzando (abbassando) le zampe anteriori e abbassando (alzando) quelle posteriori e centrali.

Page 10: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1010

Movimenti Alpha e BetaMovimenti Alpha e Beta

Tutti questi movimenti sono ottenuti coordinando i movimenti semplici (orizzontali e verticali) di ciascuna zampa.

Page 11: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1111

Beta_pos Alza/abbassa zampe

BehaviorBehavior

Up/DownAlpha_pos Sposta avanti/indietro le zampe

Backward/Forwardinclinometer Alza e abbassa zampe

Rollinclinometer Alza e abbassa zampePitchIR_sensor Sposta avanti e indietro le zampeSteer

Page 12: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1212

Livelli di competenzaLivelli di competenzaLivello 0 : il robot deve stare in “piedi” Livello 0 : il robot deve stare in “piedi” S Stand_Uptand_Up

Livello 1 : semplice camminata Livello 1 : semplice camminata WalkWalk

Livello 2 : camminata con ostacoli Livello 2 : camminata con ostacoli Walk difficileWalk difficile

Livello 3 : seguire oggetto in movimento Livello 3 : seguire oggetto in movimento FollowFollow

Questi livelli sono ottenuti combinando i behaviors definiti Questi livelli sono ottenuti combinando i behaviors definiti precedentementeprecedentemente

Page 13: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1313

Livello 0 – Livello 0 – Stand_UPStand_UP

Lo Lo Stand_Up Stand_Up può essere ottenuto dal behavior può essere ottenuto dal behavior down. down. Si stabilisce un valore di default per i beta e gli alpha motors in Si stabilisce un valore di default per i beta e gli alpha motors in

modo tale che all’accensione portino le zampe in una posizione modo tale che all’accensione portino le zampe in una posizione tale da sollevare il robottale da sollevare il robot

Page 14: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1414

Livello 1 – Livello 1 – WalkWalk (1/2)(1/2)

Il robot ha sei zampe, come bisogna muoverle?Il robot ha sei zampe, come bisogna muoverle?

Relazione di vicinanza

Nello spostamento, una zampa può essere sollevata soltanto se le altre due sono poggiate a terra. In questo modo, in ogni istante il robot si poggia su tre zampe.

Page 15: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1515

Livello 1 – Livello 1 – Walk Walk (2/2)(2/2)

Rispettando la condizione per cui una zampa si può Rispettando la condizione per cui una zampa si può sollevare soltanto se quelle “vicine” sono poggiate sollevare soltanto se quelle “vicine” sono poggiate per terra, il behavior astratto che si occupa della per terra, il behavior astratto che si occupa della camminata è ottenuto dall’interazione dei behaviors camminata è ottenuto dall’interazione dei behaviors forward, backward, up e downforward, backward, up e down..

Page 16: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1616

Livello 2 – Livello 2 – Walk difficileWalk difficile

Per superare gli ostacoli c’è bisogno di controllare la Per superare gli ostacoli c’è bisogno di controllare la stabilità del robot. Per far questo vengono aggiunti i stabilità del robot. Per far questo vengono aggiunti i behaviors che si occupano delle rotazioni sull’asse behaviors che si occupano delle rotazioni sull’asse longitudinale e trasversale :longitudinale e trasversale :

Page 17: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1717

Livello 3 - Livello 3 - FollowFollow

Il Follow è ottenuto aggiungendo il behavior steer Il Follow è ottenuto aggiungendo il behavior steer ai precedentiai precedenti

Page 18: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1818

AutomaAutoma

StartStart

Down/Backward

Down/Backward

Up/Forward

Up/Forward

Pitch_ControlPitch_Control

Stand_UpStand_Up

Roll_ControlRoll_Control

ON

NOT IR_ACTIVITY

IR_ACTIVITY

LEG_COLLIDE

LEG_UP

LEG_DOWN

HI_PITCH

LEG_UP

LEG_UP

HI_PITCH

NOT LEG_UP AND

HI_ROLL

Stand_Up:

down

Down/Backward:

down

backward

steer

Up/Forward:

up

forward

steer

Up/Forward:

up

forward

collide

steer

Roll_Control:

down

up

steer

Pitch_Control:

up

down

steer

NOT HI_PITCH AND NOT HI_ROLL

NOT HI_PITCH AND HI_ROLL

Page 19: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

1919

Implement & refine each behaviorImplement & refine each behavior

Prima di analizzare in dettaglio lo schema Prima di analizzare in dettaglio lo schema a sussunzione, chiariamo meglio cosa a sussunzione, chiariamo meglio cosa rappresenteranno le figure dello schema:rappresenteranno le figure dello schema:

Modulo che interagisce direttamente con gli attuatori,uno per ogni zampaModulo unico comune a tutte le zampeModulo comune a più di una zampa ma non a tutteModulo che interagisce direttamente con i sensori,uno per ogni zampaModulo interno, uno per ogni zampa

MODULE

Page 20: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

ss

y

x y

ii

y

x

dd

y

x

x

Soppressione - Inibizione - Defaulting

Soppressione

Inibizione

Default x

x

y

Page 21: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2121

beta posbeta pos

alpha posalpha pos

up leg triggerup leg trigger

leg downleg down alpha advance

alpha advance

ss

walkwalk

ss

alpha balance

alpha balance

IRsensor

IRsensor prowlprowl

steersteer

ii dd

for/bakpitch

for/bakpitch

beta forcebeta force beta balance

beta balance

feelerfeeler

alphacollidealphacollide

ss

dd

ii

Livello 0: Stand_UpLivello 0: Stand_UpStruttura a Struttura a SussunzioneSussunzione

Comunica direttamente con

i beta motors

Comunica direttamente con

i beta motors

Comunica direttamente con

gli alpha motors

Comunica direttamente con

gli alpha motors

Page 22: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2222

beta posbeta pos

alpha posalpha pos

up leg triggerup leg trigger

leg downleg down alpha advance

alpha advance

ss

walkwalk

ss

alpha balance

alpha balance

Livello 1: WalkLivello 1: Walk

Tiene la zampaabbassata

Tiene la zampaabbassata

Fa alzare la zampaFa alzare la zampa

Fa muovere la zampa in avanti

Fa muovere la zampa in avanti

Compensa il movimentoorizzontale delle zampeCompensa il movimentoorizzontale delle zampe

Invia i segnaliper far

muovere lezampe

Invia i segnaliper far

muovere lezampe

Page 23: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2323

beta posbeta pos

alpha posalpha pos

up leg triggerup leg trigger

leg downleg down alpha advance

alpha advance

ss

walkwalk

ss

alpha balance

alpha balance

Livello 2: Walk Livello 2: Walk difficiledifficile

Quando beta force è troppo

alto fa alzare o fermare

la zampa

Quando beta force è troppo

alto fa alzare o fermare

la zampa

Rileva la collisione della

zampa con un ostacolo

Rileva la collisione della

zampa con un ostacolo

Rileva collisioni

attraverso i wiskers

Rileva collisioni

attraverso i wiskers

Monitorizza il bilanciamento

orizzontaledel robot

Monitorizza il bilanciamento

orizzontaledel robot

dddd

for/bakpitch

for/bakpitch

beta forcebeta force beta balance

beta balance

feelerfeeler

alphacollidealphacollide

ss

ii

Monitorizza laforza verso il

basso applicata sulla zampa

Monitorizza laforza verso il

basso applicata sulla zampa

Page 24: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2424

beta posbeta pos

alpha posalpha pos

up leg triggerup leg trigger

leg downleg down alpha advance

alpha advance

ss

walkwalk

ss

alpha balance

alpha balance

IRsensor

IRsensor prowlprowl

steersteer

ii

Livello 3: Livello 3: SteerSteer

dd

Sensore a infrarossi

che rileva la presenza di

oggetti in movimento

Sensore a infrarossi

che rileva la presenza di

oggetti in movimento

Se non riceve attività da IR

sensor mandaun segnale di Inibizione per

walk

Se non riceve attività da IR

sensor mandaun segnale di Inibizione per

walk

Fa girareIl robot nella

direzionedove IR

sensor è piùforte

Fa girareIl robot nella

direzionedove IR

sensor è piùforte

for/bakpitch

for/bakpitch

beta forcebeta force beta balance

beta balance

feelerfeeler

alphacollidealphacollide

ss

dd

ii

Struttura aStruttura asussunzionesussunzione

Page 25: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2525

Learning taskLearning task

Normalmente il controllo dei behaviors è stabilito Normalmente il controllo dei behaviors è stabilito mediante un flusso di controllo precompilatomediante un flusso di controllo precompilato

La coesistenza di molti behaviors rende difficile La coesistenza di molti behaviors rende difficile la progettazione di questo flusso di controllola progettazione di questo flusso di controllo

L’obbiettivo è quello di fare in modo che il L’obbiettivo è quello di fare in modo che il controllo dei behaviors si stabilisca a run-time controllo dei behaviors si stabilisca a run-time mediante un processo di learningmediante un processo di learning

Page 26: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2626

Learning TaskLearning Task

Algoritmo che consente al robot di Algoritmo che consente al robot di “apprendere” il controllo dei behaviors.“apprendere” il controllo dei behaviors.

In accordo con le architetture behavior-In accordo con le architetture behavior-based, l’algoritmo è completamente based, l’algoritmo è completamente distribuitodistribuito

ciascun behavior apprende quando deve ciascun behavior apprende quando deve attivarsiattivarsi

Page 27: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2727

Condizioni da soddisfareCondizioni da soddisfare

L’algoritmo deve essere:L’algoritmo deve essere:

distribuitodistribuito

computazionalmente poco costosocomputazionalmente poco costoso

riadattabileriadattabile: se l’ambiente cambia, il robot è in : se l’ambiente cambia, il robot è in grado di adattarsi alla nuova stuazionegrado di adattarsi alla nuova stuazione

Page 28: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2828

PrecondizioniPrecondizioniDato un robot, esso deve avere:Dato un robot, esso deve avere: Un vettore binario di condizioni percettive (perceptual Un vettore binario di condizioni percettive (perceptual

conditions), che possono essere soddisfatte o non, ad conditions), che possono essere soddisfatte o non, ad ogni istante di tempoogni istante di tempo

Un insieme di behaviors, ognuno dei quali ha una lista di Un insieme di behaviors, ognuno dei quali ha una lista di precondizioni (precondition list) che è soddisfatta o meno precondizioni (precondition list) che è soddisfatta o meno a seconda delle perceptual conditions. Una precondition a seconda delle perceptual conditions. Una precondition list soddisfatta permette al relativo behavior di eseguire il list soddisfatta permette al relativo behavior di eseguire il proprio compitoproprio compito

Un generatore di feedback positivo. Ad ogni istante di Un generatore di feedback positivo. Ad ogni istante di tempo tutti i behaviors possono ricevere o meno un tempo tutti i behaviors possono ricevere o meno un feedback positivofeedback positivo

Un generatore di feedback negativoUn generatore di feedback negativo

Page 29: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

2929

Come funzionaCome funziona

L’algoritmo modifica la lista di precondizioni L’algoritmo modifica la lista di precondizioni associate a ciascun behaviorassociate a ciascun behavior

In ogni momento vengono scelti solo i behaviors In ogni momento vengono scelti solo i behaviors “rilevanti” e “attendibili”“rilevanti” e “attendibili”

L’algoritmo è distribuito:L’algoritmo è distribuito: ciascun behavior modifica la propria lista di ciascun behavior modifica la propria lista di

precondizioniprecondizioni

Page 30: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3030

Come funzionaCome funzionaOgni behavior inizia con una lista di Ogni behavior inizia con una lista di

precondizioni “minimale”precondizioni “minimale”

Ciascun behavior mantiene una statistica dei Ciascun behavior mantiene una statistica dei feedback mediante feedback mediante l’usol’uso di due tabelle (una di due tabelle (una per quello positivo ed una per quello negativo):per quello positivo ed una per quello negativo):

ActiveActive Not activeNot active

Positive feedbackPositive feedback jj kk

No positive feedbackNo positive feedback ll mm

Page 31: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3131

Come funzionaCome funziona

Per misurare la “rilevanza” si usano gli Per misurare la “rilevanza” si usano gli operatorioperatori

Corr(P,A),Corr(N,A)Corr(P,A),Corr(N,A)

-1 <= Corr(P,A) <= 1

Corr(P, A) ( Corr(N,A) ) fornisce una misura statistica circa il verificarsi o meno di feedback positivo (negativo) per quel behavior.

)(*)(*)(*)(

**),(

ljkjkmlm

klmjAPcorr

Page 32: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3232

RilevanzaRilevanza

La rilevanza viene calcolata con:

-2 <= Corr(P,A) - Corr(N,A) <= 2

Determina la possibilità per un behavior di Determina la possibilità per un behavior di divenire attivodivenire attivo

Permette di stabilire quale behavior è di Permette di stabilire quale behavior è di maggior interesse (rilevanza)maggior interesse (rilevanza)

Page 33: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3333

AttendibilitàAttendibilità

L’attendibilità del behavior viene invece calcolata con:

Gli indici P ed N si riferiscono ai feedback positivo e negativo. Il valore d’affidabilità varia tra 0 e 1

)),max(),,min(max(NN

N

NN

N

PP

P

PP

P

lj

l

lj

j

lj

l

lj

j

L’attendibilità permette di decidere se un behavior dovrebbe provare ad eseguire il proprio compito

Page 34: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3434

Strategia di controlloStrategia di controllo

I behavior sono organizzati in gruppi, ciascuno dei quali I behavior sono organizzati in gruppi, ciascuno dei quali controlla gli stessi attuatoricontrolla gli stessi attuatori

Quando necessario, tra i componenti del gruppo viene Quando necessario, tra i componenti del gruppo viene scelto al più un behaviorscelto al più un behavior

Il behavior selezionato ha il valore più alto di rilevanza, Il behavior selezionato ha il valore più alto di rilevanza, attendibilià e le sue precondizioni sono tutte soddisfatteattendibilià e le sue precondizioni sono tutte soddisfatte

Ogni volta che viene generato un feedback vengono Ogni volta che viene generato un feedback vengono modificate le tabellemodificate le tabelle

Page 35: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3535

Applicazione a GenghisApplicazione a Genghis

Aggiunta di due touch sensors ed un Aggiunta di due touch sensors ed un sensore che misura l’avanzamentosensore che misura l’avanzamento

Il Feedback negativo è generato dai touch Il Feedback negativo è generato dai touch sensors sensors

Il Feedback positivo è generato dal Il Feedback positivo è generato dal sensore di avanzamentosensore di avanzamento

Page 36: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3636

ConsiderazioniConsiderazioni

L’algoritmo di apprendimento consente di L’algoritmo di apprendimento consente di programmare il behavior del robot programmare il behavior del robot selezionando un numero di behaviors da selezionando un numero di behaviors da una libreria, connettendoli ai sensori e agli una libreria, connettendoli ai sensori e agli attuatori, definendo funzioni di feedback attuatori, definendo funzioni di feedback negativo e positivo, e rendendo cascun negativo e positivo, e rendendo cascun behavior capace di apprendere, in base behavior capace di apprendere, in base all’esperienza, quando è giusto attivarsiall’esperienza, quando è giusto attivarsi

Page 37: UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A 2003-2004 GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr

3737

RiferimentiRiferimenti1. “A Robot that Walk; Emergent Behaviors from a

Carefully Evolved Network”, R.Brooks

2. “New Approaches to Robotics”, R.Brooks

3. “Learning to Coordinate Behaviors”, P.Maes,R.Brooks

4. “Control of a Six-Legged Robot Walking on Abrupt Terrain”, E.Celaya,J.Porta

5. “Introduction to AI robotics” - MIT Press – 2000 - Murphy R.R.