La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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.

Presentazioni simili


Presentazione sul tema: "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."— Transcript della presentazione:

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. 50/810

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

3 3 Passi di progettazione

4 4 Describe the task Genghis deve essere in grado di fare le seguenti cose:  Stare in piedi  Tenersi in equilibrio  Camminare su superfici regolari  Camminare su superfici accidentate  Seguire un oggetto in movimento

5 5 Describe the robot  6 zampe  rigide  2 motori per zampa: alpha e beta motors  6 IR sensors frontali  2 inclinometri per rilevare inclinazioni longitudinali e trasversali  2 vibresse (wiskers)

6 6 Describe the environment Ambiente con:  Superficie piana o irregolare  Presenza di ostacoli: altezza massima di 5 cm  Presenza di oggetti in movimento

7 7 Le specifiche dell’ambiente impediscono di utilizzare semplici manovre per gli spostamenti. Bisogna definire dei movimenti di base da comporre per ottenere capacità motorie più complesse:  Movimenti orizzontali delle zampe (Alpha)  Movimenti verticali delle zampe (Beta) Describe how the robot should act in response to its environment

8 8 MOVIMENTI 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

9 9 MOVIMENTI 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.

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

11 11 Beta_pos Alza/abbassa zampe Behavior Up/Down Alpha_pos Sposta avanti/indietro le zampe Backward/Forward inclinometer Alza e abbassa zampe Roll inclinometer Alza e abbassa zampe Pitch IR_sensor Sposta avanti e indietro le zampe Steer

12 12 Livelli di competenza  Livello 0 : il robot deve stare in “piedi”  Stand_Up  Livello 1 : semplice camminata  Walk  Livello 2 : camminata con ostacoli  Walk difficile  Livello 3 : seguire oggetto in movimento  Follow Questi livelli sono ottenuti combinando i behaviors definiti precedentemente

13 13 Livello 0 – Stand_UP Lo Stand_Up può essere ottenuto dal behavior down. 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 tale da sollevare il robot 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 tale da sollevare il robot

14 14 Livello 1 – Walk (1/2) 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.

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

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

17 17 Livello 3 - Follow Il Follow è ottenuto aggiungendo il behavior steer ai precedenti

18 18Automa Start Down/ Backward Up/ Forward Pitch_Control Stand_Up Roll_Control ON NOT IR_ACTIVITY IR_ACTIVITY LEG_COLLIDE LEG_UP LEG_DOWN HI_PITCH 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

19 19 Implement & refine each behavior  Prima di analizzare in dettaglio lo schema a sussunzione, chiariamo meglio cosa rappresenteranno le figure dello schema: Modulo che interagisce direttamente con gli attuatori, uno per ogni zampa Modulo 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 zampa Modulo interno, uno per ogni zampa MODULE

20 s y xy i y x d y x x Soppressione - Inibizione - Defaulting Soppressione Inibizione Default x x y

21 21 beta pos alpha pos up leg trigger leg down alpha advance s walk s alpha balance IR sensor prowl steer i d for/bak pitch beta force beta balance feeler alpha collide s d i Livello 0: Stand_Up Struttura a Sussunzione Comunica direttamente con i beta motors Comunica direttamente con gli alpha motors

22 22 beta pos alpha pos up leg trigger leg down alpha advance s walk s alpha balance Livello 1: Walk Tiene la zampa abbassata Fa alzare la zampa Fa muovere la zampa in avanti Compensa il movimento orizzontale delle zampe Invia i segnali per far muovere le zampe

23 23 beta pos alpha pos up leg trigger leg down alpha advance s walk s alpha balance Livello 2: Walk difficile Quando beta force è troppo alto fa alzare o fermare la zampa Rileva la collisione della zampa con un ostacolo Rileva collisioni attraverso i wiskers Monitorizza il bilanciamento orizzontale del robot dd for/bak pitch beta force beta balance feeler alpha collide s i Monitorizza la forza verso il basso applicata sulla zampa

24 24 beta pos alpha pos up leg trigger leg down alpha advance s walk s alpha balance IR sensor prowl steer i Livello 3: Steer d Sensore a infrarossi che rileva la presenza di oggetti in movimento Se non riceve attività da IR sensor manda un segnale di Inibizione per walk Fa girare Il robot nella direzione dove IR sensor è più forte for/bak pitch beta force beta balance feeler alpha collide s d i Struttura a sussunzione

25 25 Learning task  Normalmente il controllo dei behaviors è stabilito mediante un flusso di controllo precompilato  La coesistenza di molti behaviors rende difficile la progettazione di questo flusso di controllo  L’obbiettivo è quello di fare in modo che il controllo dei behaviors si stabilisca a run-time mediante un processo di learning

26 26 Learning Task  Algoritmo che consente al robot di “apprendere” il controllo dei behaviors.  In accordo con le architetture behavior- based, l’algoritmo è completamente distribuito  ciascun behavior apprende quando deve attivarsi

27 27 Condizioni da soddisfare L’algoritmo deve essere:  distribuito  computazionalmente poco costoso  riadattabile: se l’ambiente cambia, il robot è in grado di adattarsi alla nuova stuazione

28 28 Precondizioni Dato un robot, esso deve avere:  Un vettore binario di condizioni percettive (perceptual conditions), che possono essere soddisfatte o non, ad ogni istante di tempo  Un insieme di behaviors, ognuno dei quali ha una lista di precondizioni (precondition list) che è soddisfatta o meno a seconda delle perceptual conditions. Una precondition list soddisfatta permette al relativo behavior di eseguire il proprio compito  Un generatore di feedback positivo. Ad ogni istante di tempo tutti i behaviors possono ricevere o meno un feedback positivo  Un generatore di feedback negativo

29 29 Come funziona  L’algoritmo modifica la lista di precondizioni associate a ciascun behavior  In ogni momento vengono scelti solo i behaviors “rilevanti” e “attendibili”  L’algoritmo è distribuito:  ciascun behavior modifica la propria lista di precondizioni

30 30 Come funziona  Ogni behavior inizia con una lista di precondizioni “minimale”  Ciascun behavior mantiene una statistica dei feedback mediante l’uso di due tabelle (una per quello positivo ed una per quello negativo): Active Not active Positive feedback jk No positive feedback lm

31 31 Come funziona  Per misurare la “rilevanza” si usano gli operatori 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.

32 32 Rilevanza La rilevanza viene calcolata con: -2 <= Corr(P,A) - Corr(N,A) <= 2  Determina la possibilità per un behavior di divenire attivo  Permette di stabilire quale behavior è di maggior interesse (rilevanza)

33 33 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 L’attendibilità permette di decidere se un behavior dovrebbe provare ad eseguire il proprio compito

34 34 Strategia di controllo  I behavior sono organizzati in gruppi, ciascuno dei quali controlla gli stessi attuatori  Quando necessario, tra i componenti del gruppo viene scelto al più un behavior  Il behavior selezionato ha il valore più alto di rilevanza, attendibilià e le sue precondizioni sono tutte soddisfatte  Ogni volta che viene generato un feedback vengono modificate le tabelle

35 35 Applicazione a Genghis  Aggiunta di due touch sensors ed un sensore che misura l’avanzamento  Il Feedback negativo è generato dai touch sensors  Il Feedback positivo è generato dal sensore di avanzamento

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

37 37 Riferimenti 1.“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.


Scaricare ppt "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."

Presentazioni simili


Annunci Google