Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCirillo Bernasconi Modificato 9 anni fa
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.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.