slides
Transcript
slides
Andrea Sterbini LegoLab: robotica con Lego e robotica evolutiva con e-Puck (ma prima un minuscolo intermezzo) e-Learning adattivo e sociale SocialX: [Temperini] Learn by doing: imparare svolgendo, condividendo e discutendo esercizi singoli e di gruppo i 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 Bloom learning gaps, learning paths, (verifiche intelligenti?) Supporto alla didattica WebTeach: [Bagnoli] Wiki per la didattica + generazione di questionari parametrici TestSystemWeb: [Temperini] correzione automatica di esercizi C Analisi linguistica del codice sorgente leggibilità 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 LegoLab: il corso Attività complementare della laurea specialistica Aperta anche a studenti triennali in caccia di tesi 2/3: intro alla robotica con Lego NXT Esperienze in laboratorio programmando il NXT in Java (col firmware LeJos) Navigazione odometrica Controllo dell'equilibrio con PID Planning del movimento con mappe di occupazione Controllo behavior-based Apprendimento superv.: Line follower con rete neurale Appr. non superv.: Q-learning per avvicinarsi ad un ostacolo Mappe di Kohonen e autocategorizzazione Monte Carlo Localization 1/3: intro alla robotica evoluzionista su e-Puck Allevare/evolvere robot neurali per compiti semplici Legway: rimanere in equilibrio Emanuele Cimò: un Segway di Lego Giroscopio + Accelerometro 3D (uno solo non basta) Kalman filter per fondere le due informazioni Controllore PID per regolare i motori Telecomandato con Wiimote Progetti d'esame (su Lego NXT) Navigazione landmark-based il robot cerca dei punti di riferimento e ne fa una mappa Simulatore di robot LeJos NXT Rende 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 statici Ne 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 Un robot con omnicamera per navigazione basata su landmark Esplorazione dell'ambiente e costruzione della mappa topologica Omnicamera: una webcam rivolta in su verso uno specchio sferico (una palla 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'ambiente sono punti colorati facili da trovare nell'immagine, compatti, e che danno informazioni utili alla mappa (direzione e “distanza”) Intro alla robotica evolutiva Evorobot*: un “allevamento simulato” di robot (di S. Nolfi e O. Gigliotta - LARAL, CNR) simula accuratamente robot e-puck o khepera controllati 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 Esempio di coordinamento e comunicazione Obiettivo: Due robot devono scambiarsi di posto tra due zone target diverse Possono “vedersi”, “parlarsi” e riconoscere la zona Fitness: quante volte si sono scambiati di posto Risultato: si “tengono d'occhio” per sapere dove andare 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 Stigmergia e formiche: comunicare modificando l'ambiente Argomento di ispirazione naturalista: le formiche Ho aggiunto ad Evorobot* la simulazione di feromoni così che: I robot possono “marcare il territorio” calpestato e possono “fiutare” i feromoni nell'ambiente vicino Le tracce di feromone sono additive ma svaniscono Nota: il feromone può codificare informazioni (colore) che non svaniscono così rapidamente Domanda: riusciamo ad allevare “formicherobot” che trovano più cibo grazie ai feromoni? Quali comportamenti emergono? Riusciamo a “imitare” i comportamenti animali? Schema dell'esperimento Sensori: 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 possibile Feromoni: additivi, colorati, evaporano Evorobot* su GPU le GPU delle schede grafiche (NVIDIA e ATI) sono macchine SIMD a centinaia di core semplici Evorobot* è facile da rendere parallelo abbiamo tanti individui uguali in tanti esperimenti moltissimi dati sono condivisi tra esperimenti, generazioni, individui, istanti di tempo diversi si 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 neurale aggiorna la posizione e direzione del robot aggiorna il valore di fitness e ad ogni generazione seleziona i migliori e li fa mutare è un problema perfetto per un sistema vettoriale Evorobot* @ Home Berkeley Open Infrastructure for Network Computing Voluntary computing Esempi: SETI @ Home, Folding @ Home, ... Simuliamo in genere 10*1000*100 (10^6) “vite” di individui per esperimento Ants @ Home? “Abbiamo cercato “La ricerca” (da XKCD.com) 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. Tesi disponibili Ballbot: robot di Lego equilibrista su una palla e-puck che rilasciano “feromoni” nell'ambiente videoproiettore + sensore di luce e posizione oppure 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)