Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf ·...

16
Andrea Sterbini LegoLab: robotica con Lego e robotica evolutiva con e-Puck (ma prima un minuscolo intermezzo)

Transcript of Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf ·...

Page 1: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Andrea Sterbini

LegoLab: robotica con Legoe robotica evolutiva con e-Puck

(ma prima un minuscolo intermezzo)

Page 2: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

e-Learning adattivo e socialee-Learning adattivo e socialeSocialX: [Temperini]Learn by doing: imparare svolgendo, condividendo e

discutendo esercizi singoli e di gruppoi comportamenti didatticamente utili (fornire soluzioni,

aiutare gli altri, partecipare ...) sono premiati e rappresentati dalla “reputazione” raccolta dallo stud.

Lecomps: [Temperini, Limongelli, Fernandez]sistema e-learning con percorsi e stili didattici adattivi

basato su Learning Objectives (LO)LO = <cognitive level, concept, context>

tassonomie di concetti e contesti, livelli di Bloomlearning gaps, learning paths, (verifiche intelligenti?)

Page 3: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Supporto alla didatticaSupporto alla didatticaWebTeach: [Bagnoli]Wiki per la didattica + generazione di questionari

parametrici

TestSystemWeb: [Temperini]correzione automatica di esercizi C

Analisi linguistica del codice sorgenteleggibilità del codice, stili di scrittura

TiddlyWiki scientifico [Bagnoli, Jipsen]Prendere appunti in un “Wiki portatile” in Javascript

con formule, plot di funzioni e grafi interattivi

Page 4: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

LegoLab: il corsoLegoLab: il corsoAttività complementare della laurea specialisticaAperta anche a studenti triennali in caccia di tesi

2/3: intro alla robotica con Lego NXTEsperienze in laboratorio programmando il NXT in

Java (col firmware LeJos)Navigazione odometricaControllo dell'equilibrio con PIDPlanning del movimento con mappe di occupazioneControllo behavior-basedApprendimento superv.: Line follower con rete neuraleAppr. non superv.: Q-learning per avvicinarsi ad un ostacoloMappe di Kohonen e autocategorizzazioneMonte Carlo Localization

1/3: intro alla robotica evoluzionista su e-PuckAllevare/evolvere robot neurali per compiti semplici

Page 5: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Legway: rimanere in equilibrioLegway: rimanere in equilibrioEmanuele Cimò: un Segway di LegoGiroscopio + Accelerometro 3D (uno solo non basta)Kalman filter per fondere le due informazioniControllore PID per regolare i motoriTelecomandato con Wiimote

Page 6: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Progetti d'esame (su Lego NXT)Progetti d'esame (su Lego NXT)Navigazione landmark-basedil robot cerca dei punti di riferimento e ne fa una mappa

Simulatore di robot LeJos NXTRende disponibili le stesse classi della macchina

virtuale LeJos (così il codice non va ricompilato)Simula più robot contemporaneamente

Classloader per tener separate variabili e metodi staticiNe permette il debug in Eclipse

Simulatore di reti neurali da far girare su LeJos

Prossimo obiettivo: Realizzare un simulatore per “allevare/evolvere” robot fatti di Lego

Page 7: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Esplorazione dell'ambiente e costruzione della mappa topologica Omnicamera: una webcam rivolta in

su verso uno specchio sferico (unapalla di Natale)

un “landmark” (punto caratteristico) individua univocamente un luogo

Fotografia lineare dell'ambiente attorno al robot ottenuta da un anello di pixel dell'immagine distorta

è un vettore (di colori) che cambia poco per piccoli spostamenti, occupa poca memoria ed è facile/veloce da confrontare con altri

Posizione di specchi catarifrangenti colorati nell'ambientesono punti colorati facili da trovare nell'immagine, compatti,

e che danno informazioni utili alla mappa (direzione e “distanza”)

Un robot con omnicamera per Un robot con omnicamera per navigazione basata su landmark navigazione basata su landmark

Page 8: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Intro alla robotica evolutivaIntro alla robotica evolutivaEvorobot*: un “allevamento simulato” di robot(di S. Nolfi e O. Gigliotta - LARAL, CNR)simula accuratamente robot e-puck o kheperacontrollati da una rete neurale (inizialmente casuale)“vivono” in un ambiente simulato semplificato

(2D con ostacoli semplici: cilindri, muri, altri robot)solo i “migliori” esemplari si riproducono e mutano

E' possibile svolgere esperimenti “in reale”con “veri” robot telecomandati via bluetooth

parecchi sensori: telecamera, microfono, 8 sens. di prossimità, sens. di suolo, accelerometro 3D, ...

comunicazione bluetooth

Page 9: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Esempio di coordinamento e Esempio di coordinamento e comunicazionecomunicazione

Obiettivo: Due robot devono scambiarsi di posto tra due zone target diversePossono “vedersi”, “parlarsi” e riconoscere la zonaFitness: quante volte si sono scambiati di postoRisultato: si “tengono d'occhio” per sapere dove andare

Page 10: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

LegoLab: le tesi (completate)LegoLab: le tesi (completate)Giuseppe Morlino: Emergenza di meccanismi di categorizzazione astratta in agenti incarnati

[ECAL09 – Budapest]

Emanuele Cimò: Remote controlled balancing robot

Elio Chiapperini: Arbitrazione del comportamento tramite comunicazione infrarossa tra e-puck

Giovanni Colombi: Interfacciamento di una omnicamera a e-puck e comunicazione visuale

Page 11: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Stigmergia e formiche: comunicare Stigmergia e formiche: comunicare modificando l'ambientemodificando l'ambiente

Argomento di ispirazione naturalista: le formicheHo aggiunto ad Evorobot* la simulazione di feromoni così che:I robot possono “marcare il territorio” calpestato

e possono “fiutare” i feromoni nell'ambiente vicinoLe tracce di feromone sono additive ma svaniscono

Nota: il feromone può codificare informazioni (colore) che non svaniscono così rapidamente

Domanda: riusciamo ad allevare “formiche-robot” che trovano più cibo grazie ai feromoni?Quali comportamenti emergono?Riusciamo a “imitare” i comportamenti animali?

Page 12: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Schema dell'esperimentoSchema dell'esperimentoSensori: NO visione, NO comunicazione, 2 nasi e 8 s. prossimitàRete neurale: ricorrente (deve poter codificare stati diversi)Ambiente: 2 aree target (nido e cibo)Fitness: raccogliere più cibo possibileFeromoni: additivi, colorati, evaporano

Page 13: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Evorobot* su GPUEvorobot* su GPUle GPU delle schede grafiche (NVIDIA e ATI) sono macchine SIMD a centinaia di core sempliciEvorobot* è facile da rendere paralleloabbiamo tanti individui uguali in tanti esperimentimoltissimi dati sono condivisi tra esperimenti,

generazioni, individui, istanti di tempo diversisi simulano 10^9 “tick” (istanti) in cui Evorobot*

calcola i valori dei neuroni dei sensori del robot a seconda della sua posizione e direzione nell'ambiente

propaga i valori di attivazione nella rete neuraleaggiorna la posizione e direzione del robotaggiorna il valore di fitness

e ad ogni generazione seleziona i migliori e li fa mutareè un problema perfetto per un sistema vettoriale

Page 14: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Evorobot* @ HomeEvorobot* @ HomeBerkeley Open Infrastructure for Network ComputingVoluntary computingEsempi: SETI @ Home, Folding @ Home, ...

Simuliamo in genere 10*1000*100 (10^6)“vite” di individui per esperimento

Page 15: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Ants @ Home?Ants @ Home?

“Abbiamo cercato su dozzine di queste mattonelle diversi tipi di tracce di feromoni.”

“Se ci fosse vita intelligente lassù, ormai ne avremmo visto i messaggi.”

La prima colonia di formiche senzienti al mondo smette di cercare NOI.

“La ricerca” (da XKCD.com)

Page 16: Andrea Sterbini - w3data.di.uniroma1.itw3data.di.uniroma1.it/workshop_dipartimento/Sterbini.pdf · Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con

Tesi disponibiliTesi disponibiliBallbot: robot di Lego equilibrista su una pallae-puck che rilasciano “feromoni” nell'ambientevideoproiettore + sensore di luce e posizioneoppure tags RFID distribuiti al suolo

Wiimote Whiteboard: gestione dell'interazione in classe con una lavagna interattiva economica Sensore di ostacoli e precipizi a luce strutturata (proiettando griglie laser) con Wiimote e camera

(e in genere qualsiasi argomento interessante che coinvolga microcontrollori e/o Linux e/o FOSS)