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.

Slides:



Advertisements
Presentazioni simili
LA FASE RICEZIONE – PUNTO: DALLA TECNICA INDIVIDUALE AL GIOCO
Advertisements

Massimo Tuccoli – Istruttore di MTB della SIMB
Bartoccini Marco 3°A Il Movimento.
GRUPPO TELECOM ITALIA Testing Labs Telecontrollo di un robot 28 ottobre 2009.
E.Mumolo AGENTI CHE RAGIONANO LOGICAMENTE Logica fuzzy nella navigazione di robot autonomi E.Mumolo
Realizzazione di un robot mobile controllato mediante comandi labiali
Modello IS-LM.
Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania.
A. Stefanel - Esercizi di meccanica 1
Dalla dinamica del punto materiale alla dinamica dei sistemi
Video su articolazioni su scheletro su vivente arto superiore
Evolvere robot stigmergici in Evorobot*
Principio di conservazione della quantità di moto
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
LE GRANDEZZE CARATTERISTICHE DELLE ONDE LE GRANDEZZE CARATTERISTICHE DELLE ONDE A. martini Versione 2001.
Sensory-motor integration. Leggero contatto e stabilizzazione posturale Leggera pressione (0.5 N) di un dito può aumentare di molto la stabilità posturale.
Virata crawl Facoltà di Scienze Motorie Verona
Pedana di forza Misura: Stabilità posturale nel tempo Locomozione
Piano orizzontale di coda e trim
Recettori e vie centripete
Il linguaggio dell’insegnante
I PRINCIPI FONDAMENTALI DELLA DINAMICA (Leggi di Newton)
ENERGIA SOLARE.
Forze assiali Le forze assiali sono forze la cui linea di azione passa sempre per un asse fisso. Forze di questo tipo originano i tifoni. Una forza del.
PER NON CADERE…...
INTRODUZIONE LIVELLO ASPETTI DOMINANTI Sistema Corpo umano
ESPERIENZA e DISCIPLINA
Università degli studi di Genova
Relatore Candidato Prof. Alessandro De Luca Daniele De Simone
PRIMO PRINCIPIO DELLA DINAMICA
PIR Tenda Radio Corso Tecnico.
Whole-body dynamic behavior and control of human-like robots. Analisi di un articolo del dipartimento di scienze informatiche dell’università di Stanford.
Robotica Lezione 6. Paradigma Gerarchico Il paradigma gerarchico, altrimenti detto knowledge-based, procede top-down dalla definizione del compito assegnato.
1 Robotica Esempi di Architetture Lezione 8. 2 Criteri di Valutazione I secondo Arkin secondo Arkin – Supporto al parallelismo – Adattabilità all'hardware.
FORZA DI ATTRITO Reazioni vincolari: a causa dell'interazione sistema/ambiente, una massa può essere sottoposta all’azione di una forza di reazione che.
Esempio 2 Consideriamo una molla attaccata al soffitto con un peso agganciato all’estremità inferiore in condizioni di equilibrio. Le forze esercitate.
Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Robotica Lezione 2.
Sistemi per il Governo dei robot Shakey il robot “Autonomo” Forastiere Manolo 50/007 Marrello Valentino 50/010.
Università Degli Studi di Napoli “ Federico II”
UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot,
MRS: an Introduction © A. D’Angelo Multi Robot Systems: an Introduction Antonio D’Angelo.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Flusso Massimo Applicazione di algoritmi
1 Tecniche di controllo di forza di tipo “non time based” P. Pascutto UNIVERSITA’ DEGLI STUDI DI PADOVA.
Salto in lungo Cos ‘è? Il salto in lungo è una specialità sia maschile sia femminile dell'atletica leggera in cui gli atleti, dopo una rincorsa, raggiungono.
17/07/2015 Vincolo Si dice vincolo qualsiasi corpo che impedisce dei movimenti a un altro corpo. La forza esercita dal vincolo si chiama Esempi: il tavolo.
Idealizzata e creata da:
MOTO circolare uniforme
2) IL PIANETA TERRA Forma e Dimensioni
Corso di Sistemi di Trazione
FISICA.
LE LEVE.
Rivelatori Green Line G2 e G3. 2 La gamma iWISE è una serie di rivelatori a doppia tecnologia, infrarosso + microonda per la protezione volumetrica di.
Sezioni trasversali e movimenti di materia
1 Lezione XIII Avviare la presentazione col tasto “Invio”
Sistema di Riferimento Veneto per la Sicurezza nelle Scuole
Avviare la presentazione col tasto “Invio”
Esercizio-Tre blocchi di massa rispettivamente m 1 =5Kg, m 2 =2 Kg e m 3 =3Kg poggiano su un piano orizzontale e sono uniti da due funi (vedi figura).
Il sonar è un dispositivo, che mediante l’utilizzo di un sensore a ultrasuoni, permette di visualizzare su uno schermo la posizione degli oggetti che.
Teoria delle Piastre e dei Gusci
Il corpo, lo spazio e il movimento
1 A,B,C, Canoa Canadese, C2–C4 Cannone D.A., Collaboratore e referente tecnico Under 23 canadese.
corso di I° grado Relatore: Gualdi Simone
Transcript della presentazione:

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

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 Passi di progettazione

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 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 Describe the environment Ambiente con:  Superficie piana o irregolare  Presenza di ostacoli: altezza massima di 5 cm  Presenza di oggetti in movimento

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 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 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 Movimenti Alpha e Beta Tutti questi movimenti sono ottenuti coordinando i movimenti semplici (orizzontali e verticali) di ciascuna zampa.

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 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 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 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 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 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 Livello 3 - Follow Il Follow è ottenuto aggiungendo il behavior steer ai precedenti

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

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

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 – Murphy R.R.