-

hey viewer, we're moving!

We are currently transitioning to a new web system, so we are not updating this wikisite anymore.

The public part of the new web system is available at http://www.ira.disco.unimib.it


RAI 3 Geo & geo

From Irawiki

Jump to: navigation, search

Page to describe the demo, and its preparation

Contents

Timeline

La demo è prevista per il 25 gennaio 2013.

Di seguito le deadlines stabilite. in grassetto le persone assegnate a ciascun task

  • 12/12/12: definire domande e risposte e traccia della demo da inviare a rai3: TUTTI, su questa pagina wiki. si attende loro risposta per poi definire:
    • se e come costruire una copertura di cartone a forma di veicolo per il pioneer
    • disegno della mappa utilizzabile dal navigation stack. L'idea è di usare gmapping sul posto ma teniamo questa mappa come soluzione di riserva
    • definizione del piano logistico dettagliato (numero di persone, rimborsi, viaggio ecc)
  • 24/12/12: scadenza intermedia per:
    • provare nuovo sensore sick (acquisizione dati con driver ros) Sacchi, Ballardini, Galbiati, Furlan, chi ha tempo
    • togliere la rotazione sul posto dal local planner Fontana
    • configurare e tunare parametri sbpl (global planner) Fontana
  • 10/01/13: entro questa data deve essere pronta una demo realistica di quanto avverrà in studio ovvero: TUTTI per quanto possibile
    • gmapping
    • navigazione secondo la demo prescelta
    • discorso di chi parla
    • il tutto in uno scenario realistico con robot e sensori che verranno utilizzati sul posto

Proposta Demo

Qui discutiamo della proposta da mandare a rai 3 circa la demo da effettuare

Robot and setup

baseline: Pioneer 3dx with Hokuyo lowocost lidar

advancement: to test the new sick sensor (tim300) and run the demo with the sick

Map

RAI will provide a map of the studio, we will think to how to build a simple urban environment, with some boxes to represent buildings.

La mappa verrà ricostruita in loco con gmapping, quindi la dimensione e posizione di case e strade può essere variata a piacimento della RAI a patto di mantenere la larghezza minima delle strade da noi fissata.

Path

The robot should follow a path.. which will be generated by....

Discorso e svolgimento demo

[Ad un certo punto parte un video in sottofondo con il cart in fiera o piazza della scienza]

P: Siamo qui col professor Sorrenti dell'Università degli Studi di Milano - Bicocca. Ci parli delle attività del suo laboratorio

S: Noi ci occupiamo di robotica autonoma e percezione delle macchine. Oggi vi parliamo di guida autonoma in ambito urbano, una applicazione su cui stiamo lavorando da un po' di tempo.

P: Perche' specifica che si tratta di ambito urbano? cosa cambia se fossimo, per dire, in autostrada?

S: per chiarire la differenza faccio una breve introduzione sul funzionamento di agente autonomo fisico; questo è un concetto forse gia' visto anche in vostre precedenti puntate su temi di robotica mobile, penso agli interventi dei miei colleghi di roma la sapienza (umanoide romolo, prof. nardi e iocchi) o dell'IIT (umanoide icub). Ma diciamo in breve di che si tratta, cosa fa un robot autonomo, che è poi quello che facciamo anche noi, incessantemente, a livello conscio ed inconscio. semplificando un po' possiamo dire che noi, e similmente un robot autonomo, eseguiamo continuamente un ciclo costituito da percezione dello stato del mondo, determinazione delle azioni da compiere, esecuzione delle azioni. in realta' queste attività sono svolte da diversi sottosistemi biologici e procedono contemporaneamente, la determinazione delle azioni puo' poi aver luogo a diversi livelli di coscienza, ci sono ad esempio dei riflessi innati, dei ragionamenti basati qualitativamente sulla nostra percezione del mondo e ci sono anche scelte quantitative, chesso' traguardo l'immagine del dito con l'immagine del tasto dell'ascensore e sposto il dito per allinearlo al tasto. lo facciamo noi, ma lo deve fare anche un agente autonomo... La questione importante per il nostro lavoro e' quella della rappresentazione del mondo... se anche posseggo un fantastico algoritmo / meccanismo / insieme di regole per allineare il dito al tasto oppure attraversare una porta, ma vedo il tasto riflesso in uno specchio (non mi accorgo che si tratta di un riflesso) oppure sono in una casa degli specchi al luna park, allinero' il dito al riflesso oppure cerchero' di passare attraverso una parete di vetro... ecco il problema con i robot, secondo noi, e' riuscire ad evitare di vedere fischietti al posto di fiaschetti. Questa nostra e' comunque una visione di parte, ci sono tantissimi scienziati che vedono le cose i un altro modo: se anche vedi dov'e' la porta o il tasto, ma poi nel muoverti non riesci nemmeno ad attraversarla o premi il muro invece del tasto... comunque non funziona... ovviamente servono entrambe le cose... la prima comunita', la nostra, e' quella dell'intelligenza artificiale, la seconda quella del controllo, comunita' molto vicine; e' bello notare come di recente gli approcci probabilistici stiano un po' colmando i fossi che si erano scavati nel passato tra queste comunità...

P: ma tutto questo che c'entra con la guida autonoma?

S: c'entra! un veicolo a guida autonoma dovra' comportarsi bene in strada, non puo' certo ondeggiare a destra e sinistra nella sua corsia (e questo ci collega all'importanza del controllo), ma non puo' certo non vedere i limiti della corsia oppure non notare la presenza di un ciclista (e qui ci colleghiamo alla percezione)... ci sono alcuni sviluppi su queste linee che sono gia' prodotti commerciali, ad esempio penso alla percezione dei pedoni, alla marcia stop&go, sono piccoli pezzettini, sono componenti del tutto che dovra' stare sui veicoli autonomi, veicoli che andranno in giro senza l'ausilio di un autista, scegliendo la strada da percorrere ed evitando gli ostacoli in sicurezza. tra l'altro, uno dei principali motivi per cui si fa ricerca in quest'area e' proprio per la prospettiva di riduzione della pericolosita' degli autoveicoli... quindi, per tornare alla sua domanda: un veicolo autonomo dovra' percepire il mondo intorno a se', dovra' decidere come agire e dovra' poi agire, e questo ciclo lo dovra' ripetere ad una discreta frequenza; in altre parole, quello che adesso viene fatto dal guidatore del veicolo dovra' essere fatto dal veicolo...

P: ma prima parlava di ambito urbano, che differenza c'e' per la guida urbana? perche' e' diverso in ambito urbano?

S: allora, siamo d'accordo che il veicolo di deve costruire una rappresentazione interna del mondo intorno a lui. possiamo anche concordare sul fatto che questa rappresentazione possa essere limitata ad una zona attorno al veicolo, piu' o meno grande, ma limitata; se mi trovo in questa strada [indicare una strada sul "plastico"] non mi serve sapere cosa sta succedendo nella strada dietro a quel palazzo sulla mia destra... mentre mi muovo questa zona del mondo che mi costruisco nella "mente" si sposta con me; se una macchina parcheggiata sulla mia destra si muove quando io sono 200 metri piu' avanti a me non e' che mi interessi molto... cosi' come non interessa molto ad un guidatore umano... ecco, il percepire questo mondo, il costruire questa rappresentazione del mondo, e' spesso difficile in ambito urbano, spesso ci sono situazioni non prevedibili che mettono in difficolta' i sistemi percettivi. inoltre, c'e' una parte di questa rappresentazione del mondo, la posizione del veicolo, che a prima vista si potrebbe pensare non costituire un problema ed invece in ambito urbano e' un problema. ci potremmo aspettare, pensando ai sistemi di navigazione che possiamo usare direttamente noi, basati sui sistemi di geolocalizzazione sistema (come ad esempio il sistema gps, il glonass, galileo), che il conoscere la nostra posizione, momento per momento, sia un problema risolto... ecco, non e' del tutto vero, in ambito urbano; ho visto che avete fatto una bella puntata sul sistema gps e non vorrei dilungarmi troppo su questa tecnologia, ma ricordo che per trovare la posizione abbiamo bisogno di avere in vista un po' di satelliti. in ambito urbano, a causa della presenza di edifici, di vegetazione, etc. spesso capita che di satelliti ne siano visibili in numero non adeguato, alle volte anche nessuno (in realta' non e' questione solo di numero, ma anche di dove si trovano momento per momento nella volta celeste, non so se il prof. crespi abbia parlato di questo aspetto) e la presenza di ostacoli verticali di lato al veicolo lasciano visibili satelliti in posizioni meno efficaci. quindi in certe aree, con costruzioni e vegetazione non tanto alta le cose potrebbero andare benissimo, in altre meno.

P: come fa a quel punto un veicolo a sapere dove si trova?

S: ci sono sostanzialmente due approcci per affrontare questo problema e questo e' il principale problema su cui stiamo lavorando. ci sono sistemi che cercano di ovviare misurando il cammino che il veicolo effettua, un po' come di notte al buio in un corridoio di casa nostra facciamo anche 3 / 4 passi ed entriamo in una porta senza urtare, perche' "sappiamo fare e rifare quei 3 / 4 passi abbastanza bene tutte le volte", ma se nell'eseguire quel movimento fossimo meno accurati, ad esempio potrebbe succedere una volta che magari abbiamo un po di febbre, potremmo facilmente finire con la fronte sullo spigolo della porta... e perche' finiamo sullo spigolo della porta? perche' pensiamo di essere andati dritti, ma non ci siamo accorti di aver deviato leggermente. lo stesso accade in questi approcci chiamati "odometrici" (odos, metria, misura del cammino) per robot mobili; si possono misurare le rotazioni delle ruote, usare sensori inerziali, ma ad ogni piccolo errore che si commette ad un certo tempo si deteriora sempre piu' la stima della posizione; se dobbiamo percorrere 20 - 30 metri in rettilineo a velocita' costante non ci sono grandi problemi, ma se dobbiamo percorrerne centinaia con curve, rallentamenti ed accelerazioni allora la precisione della stima della posizione si deteriora molto piu' velocemente.

S: diceva 2 approcci...

P: si puo' pensare di fare come noi umani, che ci orizzontiamo con il nostro spettacolare sistema percettivo visivo, ma per l'appunto quello umano e' un livello di performance molto molto alto. cosa facciamo noi umani? piu' attivita' contemporaneamente: riconosciamo parti del mondo (un lampione, una macchina parcheggiata, un albero, etc), ma anche misuriamo distanze, angoli, etc. certo, se partiamo da un luogo noto, dopo 3 / 4 minuti di guida in ambito urbano con fermate, ripartenze, curve, rettilinei, etc sapremo solo molto vagamente dire dove ci troviamo, come un sistema odometrico, ma se abbiamo in testa una mappa, se riconosciamo l'incrocio tra una via roma ed un corso garibaldi, allora la nostra incertezza svanisce e sappiamo dire con grande precisione dove ci troviamo. il problema per i robot e' che le mappe stradali non sono state costruite dai robot stessi per loro stessi, le hanno fatte per noi, quindi non e' facie per un robot usarle per riconoscere la sua posizione. quello su cui stiamo lavorando, un argomento molto studiato nel mondo della robotica, e' rendere i robot in grado di costruirsi da se' la mappa del mondo, cosicche' poi il ritrovarcisi, che noi chiamiamo localizzazione del robot, sia meno difficile.

P: e come fa il robot a vedere il mondo e costruirsi una mappa?

S: usa i suoi sensori. camere, camere 3D (kinect-like) e laser scanners (spiegazione dei principi di funzionamento di questi sensori) e ad ogni attivazione del sensore raccoglie dei dati, poi pero' questo osservatore si deve spostare e riattivare il sensore, altrimenti non vede che una minima parte del suo mondo... qui nascono i problemi: ho i dati che osservano un pezzo di una piazza ed i dati che ne osservano un'altra; devono avere un po' di sovrapposizione, altrimenti non ho speranze... se hanno un po' di sovrapposizione posso provare ad allinearli, pensate (una buona similitudine) alla costruzione di immagini panoramiche con una macchina fotografica che fa tante foto mentre io che scatto giro su me stesso... il problema e' in questo caso molto piu' grande e complicato perche' devo trattare dati che poi stanno nel mondo tridimensionale, non nel piano dell'immagine, mi sposto non di 360 gradi, ma di centinaia di metri, magari con pochi dati nella zona di sovrapposizione, ma insomma, c'e' una buona similitudine con il caso del panorama. vi faccio vedere un esempio in questo piccolo plastico. qui ci sono tante semplificazioni, la piu' forte e' che qui posso dire che il veicolo si muove su un piano, una cosa relativamente ragionevole in molti ambienti di interni, meno in strada... il software che vedete in funzione qui, mentre costruisce la mappa usando i dati che il robot raccoglie durante il suo movimento, è un software open-source sviluppato da colleghi dell'università di friburgo, tra l'altro uno di loro è di roma ed è appena rientrato! caso quasi unico di rientro dei cervelli, visto che di questi tempi la fuga è continua. [il robot viene guidato nel plastico e costruisce la mappa. viene inquadrato il portatile dove si vede la mappa.]

P: e per ambienti estesi?

S: hic sunt leones... qui c'è la frontiera attuale della ricerca a livello mondiale...

P: e, una volta che il robot avesse la mappa, come fa a decidere il percorso da seguire?

S: fa una cosiddetta pianificazione del percorso sulla mappa; questo è un settore abbastanza maturo dell'intelligenza artificiale; è quello che. ad esempio, avviene in google maps o servizio analogo quando si chiede di determinare il percorso da un posto all'altro. certo, nel caso di google maps o servizio analogo la rappresentazione è più, potremmo dire, pulita, è ben chiaro cosa sia percorribile, c'è stata tutta una serie di definizioni preliminari e quindi il risultato è anche più efficace. su una mappa che si costruisce da solo il robot le cose sono meno definite, meno facili. comunque possiamo notare che, in analogia con quello che succede a noi umani, abbiamo un momento di pianificazione del piano globale (uso google maps o servizio analogo), uno che ha luogo in tempo reale, ad esempio arrivo all'incrocio, dovrei girare a destra, ma ci sono dei lavori in corso e devo pianificare nuovamente il percorso globale, inoltre c'è il livello che noi chiamiamo locale, il livello del mondo vicino al robot: ad esempio per decidere se superare un ciclista oppure rallentare, il percorso da seguire nel superarlo, etc. anche questo come accade a noi umani. [si vede il monitor con il planner che calcola, poi il robot parte e va verso il primo goal]

P: quindi con gli ostacoli non succedono imprevisti? non viene investito il ciclista?

S: in generale, con i sensori disponibili, il robot individua gli ostacoli ed agisce di conseguenza; però ci deve essere la possibilità di individuarli, non si può pretendere da un umano di guidare una macchina senza fari in una galleria completamente buia. diciamo che il software di analisi dei dati sensoriali, quello che costruisce la rappresentazione del mondo, potrebbe non essere perfetto. come garantire che lo sia? e poi c'è un interessante problema legale: chi è responsabile di eventuali danni che un veicolo autonomo potrebbe causare? al momento in italia non è legale far circolare un veicolo autonomo su strada pubblica; noi le nostre prove le facciamo in area non pubblica oppure dobbiamo chiedere la chiusura al traffico della zona; in un paio di stati americani, da pochi mesi, è possibile la circolazione sperimentale di veicoli autonomi... [il robot va verso il secondo goal e si ferma all'ostacolo, poi riparte ]

P: ma questa ricerca sulla guida autonoma che impatto può avere sulla nostra vita?

S: i ricercatori di questo settore (robotica autonoma) hanno spesso espresso il sogno di ridurre gli incidenti causati dal fatto che il guidatore si distrae, non perché sia cattivo, ma perché davvero non è che guidare sia sempre un piacere... la situazione di riferimento non è certo quella della gita in un bel posto, magari anche con una strada ed un veicolo che diano piacere nella guida, qui si pensa alla guida necessaria in ambito urbano ed extra-urbano, ad esempio per andare al lavoro... io ho però un sogno diverso, non che non sia importante la riduzione degli incidenti, ma io vengo da milano... io sento l'esigenza di ridurre il traffico ovvero l'inquinamento, migliorando il servizio di trasporto pubblico. quando vivevo a londra, una città più estesa di milano, non avevo una macchina, andavo a fare la spesa con i mezzi o la bicicletta, e non ero certo l'unico. lei quanti ne vede andare al supermercato qui da noi con l'autobus? e perché? a me pare che il servizio sia troppo scomodo. il mio sogno è che ci sia una flotta di veicoli pubblici relativamente piccoli e questi possano, si dice in gergo "on demand", su chiamata, darmi il servizio di trasporto, ovviamente condividendo i pezzi di tragitto comuni con gli altri utenti. un risparmio energetico potenzialmente enorme! ed un sistema del genere si può fare anche per le merci, ovviamente. ecco questo risparmio e' il mio sogno. ovviamente non si possono sostenere i costi di migliaia di veicoletti se non sono a guida autonoma...

S: vorrei dire un'ultima cosa, forse poco tecnica...

P: prego dica

S: vorrei fare un commento sugli effetti della divulgazione che effettuate con questa trasmissione... in italia ci sono delle vere eccellenze in questo settore, non parlo di noi che, pur considerando il fatto che questo lavoro lo effettuiamo assieme a colleghi del politecnico di milano, siamo comunque un gruppo non tanto grande, penso ad altre realta' di eccellenza italiane... mi pare che non ci sia una attenzione, da parte del mondo politico ed anche industriale, adeguata al livello di eccellenza accademico... E' un peccato! credo che la vostra trasmissione stia contribuendo, per fare in modo che le cose cambino, perche' se chi adesso puo' investire in questi ambiti non lo vuole fare, forse, grazie alla vostra divulgazione, potrebbe emergere qualche altro attore, qualcuno potrebbe capire che nell'universita' italiana ci sono tante eccellenze, prendere ulteriori informazioni e magari decidere di investire, insomma fare qualcosa per invertire questa sensazione che qualunque innovazione tecnologica la dobbiamo per forza importare a pagamento dall'estero.

Software

Mapping

We use gmapping

Navigation

local+global=?????

sbpl configuration

Results

Preparation

Videos, images, data and so on regarding the preparation of the demo

Demo

Videos, images, data and so on regarding the demo itself

Mappa

File: MappaDemoGeo.jpg Media: MappaDemoGeo.jpg

Link to what has been aired, from the RAI website, requires MS silverlight :-(

Personal tools