Robotica ROOMBA: ANALISI DI UNA ARCHITETTURA REATTIVA

Documenti analoghi
Progettazione del robot

Tele-Laboratori di Automatica

Martina Agazzi. Corso di Tecniche plastiche contemporanee. Prof. Carlo Lanzi

AURORA LUCA MARTINA GIANLUCA

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Corso di Automazione industriale

Università degli studi di Messina facoltà di Scienze mm ff nn. Progetto Lauree Scientifiche (FISICA) Prisma ottico

GLI ANGOLI. Ricordiamo insieme: ogni volta che una linea spezzata, chiusa o aperta, cambia orientamento si forma un angolo.

ESERCITAZIONE Scrittura di un programma CNC per la fresatura di un componente dato

da 2 a 5 giocatori, dai 10 anni in su, durata 30 minuti

Osservazioni sulla continuità per le funzioni reali di variabile reale

PROGETTO ESCAVATORE VIRTUALE

Il Test d ingresso per la Facoltà à di Scienze. PISA 3 dicembre 2008

SUITE BY GSM Direct Monitor

Programmi e Oggetti Software

A.S CLASSE PRIMA SCUOLA PRIMARIA D ISTITUTO COMPETENZA CHIAVE EUROPEA DISCIPLINA

Capitolo 4 - Costruire un Tutorial a supporto della didattica sulla scienza del suono: realizzare un timbro armonico costituito da 4 sinusoidi

Architettura dei calcolatori II parte Memorie

PLC Sistemi a Logica Programmabile Il linguaggio Ladder-Parte

Eclipse - Nozioni Base

Guida alla procedura di inserimento materiale didattico sui minisiti degli insegnamenti

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Più processori uguale più velocità?

L influenza della corrente sulla barca si manifesta in due effetti principali: uno sul vento e uno sulla rotta percorsa.

Traccia delle soluzioni

Guida alla gestione del sito Ragazzi del fiume

Test, domande e problemi di Robotica industriale

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Cenni sui trasduttori. Con particolare attenzione al settore marittimo

Controlli Remoti. 96 Controlli remoti 100 Accessori

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Guida rapida all uso di Moodle per gli studenti

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Tutorial 3DRoom. 3DRoom

REGOLAMENTO TENNIS STAR

Le Basi di Dati. Le Basi di Dati

Raggruppamenti Conti Movimenti

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Usando il pendolo reversibile di Kater

MODULO ISCRIZIONE TORNEO ESTIVO DI CALCIO A 5

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

PARK Calcoli di energia

Ragionamento spaziale visivo e percezione

NAVIGAZIONE IN TEMPO REALE DI UN MANIPOLATORE ROBOTICO INDUSTRIALE IN PRESENZA DI OSTACOLI

Programmazione dei robot

Progetti e diagrammi di Gantt con Access

LE FUNZIONI A DUE VARIABILI

Realizzazione di un simulatore didattico. in campo medico

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Guida rapida all uso di Moodle per gli studenti

Scanner serie i5000. Informazioni sul codice patch. A-61801_it

Istituto Nazionale di Previdenza per i Dipendenti dell Amministrazione Pubblica

Basi di programmazione ISO per macchine CNC con CNC Simulator

DIPARTIMENTO DI STUDI UMANISTICI

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

SCHEDA TECNICA PER IL MONTAGGIO DELLE COPERTURE LA COPERTURA TOSCANA.

Sommario Introduzione Accesso alla Segreteria online Inserimento della domanda di immatricolazione Scelta tipo domanda di

irobot.it Roomba, i robot aspirapolvere.

GUIDA 1. Processo di pre-immatricolazione on line LAUREE TRIENNALI, LAUREE MAGISTRALI A CICLO UNICO

INTRODUZIONE ALL INFORMATICA CORSO DI LAUREA IN BIOLOGIA A.A. 2015/2016

EUROCONSULTANCY-RE. Privacy Policy

Guida all utilizzo dei servizi per il supporto alla didattica Area WEB Privata FUNZIONI STUDENTE

Università degli Studi di Messina

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

SPECTER OPS. L'obiettivo del giocatore agente è quello che il suo agente completi 3 su 4 missioni obiettivo qualsiasi

Politecnico di Bari I Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Meccanica ENERGIA EOLICA

Laurea magistrale in Economia e Management (L-56) A.A. 2016/2017 Modifiche requisiti di accesso

I libri di testo. Carlo Tarsitani

Il potenziale a distanza r da una carica puntiforme è dato da V = kq/r, quindi è sufficiente calcolare V sx dovuto alla carica a sinistra:

11 struttura degli archivi di dati ESPLORA RISORSE

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Sui concetti di definizione, teorema e dimostrazione in didattica della matematica

LA PROGRAMMAZIONE N10 G0 X5 Y5

Modellazione del flusso di attività a partire da testo in linguaggio naturale: il caso di una compagnia di assicurazioni

Telemaco e Registro Imprese versione accessibile

SENS. DOPPIO PIR E DT EFFETTO TENDA FILARE

LA DISCIPLINA DEI LICENZIAMENTI

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Intelligenza Artificiale

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

Laboratorio di Informatica di Base Archivi e Basi di Dati

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile

Lezione 16: La luce strutturata

Architetture software

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

APPALTIPA PRESENTAZIONE SOFTWARE

Come realizzare i disegni in Autocad partendo da un immagine

Guida all uso delle piastre per convergenza per kart.

Lezione 18. Magnetismo

Regolamento dei Robot "Cacciatori di Palline"

MATEMATICA CLASSE PRIMA

Dimostrare alla Scuola media: dal perché al rigore spontaneamente

Nuovi oggetti grafici per la Visualizzazione del Tracker

Str.Casale, Moncalvo (AT) - ITALY +39 (0)

Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Maschere. Microsoft Access. Maschere. Maschere. Maschere. Aprire una maschere. In visualizzazione foglio dati: Maschere

Il Riesame nei Corsi di laurea delle professioni sanitarie

Transcript:

Università degli Studi di Parma Corso di laurea in Ingegneria Informatica A.A. 2004-2005 Robotica ROOMBA: ANALISI DI UNA ARCHITETTURA REATTIVA Docenti: Prof. Monica Reggiani Prof. Stefano Caselli Dario Lodi Rizzini Simone Scaffardi 1

Sommario Hardware: sensori ed attuatori Analisi dei Comportamenti Modello per Player-Stage 2 Dario Lodi Rizzini, Simone Scaffardi

Componenti interni (1) Da notare la pin port No 4 (in verde) non usata. Forse è un interfaccia di diagnostica/programmazione. 3 Dario Lodi Rizzini, Simone Scaffardi

Componenti interni (2) Filo rosso Diagnostica/ programmazione 4 Dario Lodi Rizzini, Simone Scaffardi

Sensori (1) Quando viene urtato il bumper frontale, viene coperto il foro di un emettitore IR. Questo causa un cambiamento di potenziale di 5 Volts sul contatto del collettore di un fototransistor,, segnalando al processore l evento bump bump. L anodo è a un potenziale costante di 1.25 Volts 5 Dario Lodi Rizzini, Simone Scaffardi

Sensori (2) Il robot usa anche due emettitori IR frontali per assistere la propria navigazione 6 Dario Lodi Rizzini, Simone Scaffardi

Sensori (3) Processando gli impulsi IR riflessi, emessi frontalmente, il robot ot riesce a eseguire task del tipo wall wall-following. Sensori IR interni interagiscono con unità di muro virtuale per restringere il campo d azione del robot ad aree fissate 7 Dario Lodi Rizzini, Simone Scaffardi

Movimenti I comportamenti di Roomba, essendo la navigazione il compito da espletare in modo intelligente, possono essere espressi come combinazione di movimenti semplici. Sono essenzialmente possibili: moti traslazionali moti rotazionali intorno all asse Nel seguito diamo una classificazione dei vari comportamenti composti. 8 Dario Lodi Rizzini, Simone Scaffardi

Comportamenti (1) Quadrant: registrazione della posizione iniziale dell eye spot di Roomba all inizio di ogni comportamento Spirale a destra o a sinistra: combinazione di rotazione di 90 e di moto traslazionale Spin a destra o a sinistra: rotazione stazionaria (i.e. il baricentro non si sposta) di almeno 360 Sterzata a destra o a sinistra: rotazione stazionaria di un angolo pari almeno a 45 ed inferiore a 360 9 Dario Lodi Rizzini, Simone Scaffardi

Comportamenti (2) Movimento in avanti: movimento puramente traslazionale in avanti (quindi senza rotazione o l azione di un altro comportamento) Inseguimento del bordo: movimento parallelo ad un muro o ad un ostacolo per 2 o più secondi a meno di 3.8 cm (il doppio dell eye spot ) dal muro; può essere: diritto a destra/sinistra shimmying / bumping a destra/sinistra 10 Dario Lodi Rizzini, Simone Scaffardi

Osservazioni sui comportamenti La classificazione presentata è stata costruita partendo da osservazioni: l identificazione di un comportamento è arbitraria. Es.: i comportamenti rotazione e movimento in avanti possono essere considerati un unico comportamento. Non sono reperibili informazioni sulle relazioni tra i vari comportamenti (collegamenti fra i vari blocchi, punti di inibizione, ecc.). Si è fatto ricorso alla simulazione per verificare le interazioni. 11 Dario Lodi Rizzini, Simone Scaffardi

Simulazioni Abbiamo provato ad implementare un modello di Roomba usando il framework Player-Stage. Sono state introdotte alcune semplificazioni: spaziali (es. la forma ottagonale del modello spaziale) nei sensori (il bumper non è supportato) nel codice (es. per correggere gli effetti delle semplificaz.) nei comportamenti: solo alcuni sono stati implementati movimento a spirale allontanamento dagli ostacoli (sterzata + avanzamento) spin 12 Dario Lodi Rizzini, Simone Scaffardi

Implementazione del modello L architettura reattiva del modello è realizzata con oggetti C++. RoombaStatus + getdistance() + getrotation() + getcollision() + addcollisionobserver() + update() Call getspeed(), getturnrate() Call notify() for observers Behavior + ison() + hasbehavior() + getspeed() + getturnrate() Il pattern Chain of Responsibility realizza la subsumption -sense() -act() RandomTurnBehavior + notify() SpiralBehavior ObstacleAvoidBehavior 13 Dario Lodi Rizzini, Simone Scaffardi

La gerarchia dei comportamenti. Laser Proxy Subsumption Subsumption Roomba Status getspeed() getturnrate() Random Turn Behavior Obstacle Avoid Behavior Spiral Behavior Position Proxy setmotorspeed() 14 Dario Lodi Rizzini, Simone Scaffardi

Esempio di simulazione Area effettivamente esplorata 15 Dario Lodi Rizzini, Simone Scaffardi

Conclusioni sulle simulazioni La realizzazione dell architettura reattiva è effettivamente incrementale e flessibile (pattern Chain of Responsibility) ma non consente a due o più comportamenti di manifestarsi contemporaneamente. L area esplorata è soltanto una minima parte del mondo accessibile al robot. SpiralBehavior e ObstacleAvoidBehavior sono totalmente deterministici; manca il comportamento di inseguimento del bordo che consentirebbe di evitare la stazionarietà. I comportamenti di Roomba e la loro interazione è complessa. 16 Dario Lodi Rizzini, Simone Scaffardi

Riferimenti Roomba page presso la irobot http://www.irobot.com/consumer/why_roomba.cfm Roomba Comunity Home Page http://www.roombacommunity.com/, http://www.tla.org/roomba/ Prof. Tim Cannon, University of Scranton http://academic.scranton.edu/faculty/cannon/methods04/ Player/Stage project page http://playerstage.sourceforge.net 17 Dario Lodi Rizzini, Simone Scaffardi