Esplorazione multi-robot con agente cieco. Progetto finale per il corso di Progettazione di Sistemi di Controllo 19 febbraio 2009.

Slides:



Advertisements
Presentazioni simili
APPROCCIO COMPORTAMENTALE AL CONTROLLO COORDINATO DI WHEELED MOBILE ROBOT G. Barbera - P. Calore -
Advertisements

Prof.ssa Rossella Petreschi Lezione del 29/10/2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitolo 19 del testo Cormen, Leiserson, Rivest,
Bellinato Luca IAM D ' Agostino Massimo IAM Roveron Francesco IAM Docente : Luca Schenato CORSO DI PROGETTAZIONE DI SISTEMI DI.
Prof.ssa Rossella Petreschi Lezione del 3/12/2013 del Corso di Algoritmica GRAFI e PLANARITA’ Lezione n°15.
Prof.ssa Rossella Petreschi Lezione del 29 /10/2014 del Corso di Algoritmica Lezione n°8.
A cura dell’Ing. Marco Buttolo
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Piattaforma per la gestione di forniture basata su servizi web
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
© 2007 SEI-Società Editrice Internazionale, Apogeo
Alcune note, dalla rete, sui Sistemi cellulari
Tratto da: Anna Labella (a cura), E questo tutti chiamano Informatica, Manuali Scienze e Tecnologie – Formazione, La Sapienza Roma.
ING. MAURIZIO TORRES MERCOLEDI’ 14 SETTEMBRE 2016
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Coding unplugged e con il PC nella scuola primaria
Cammini minimi in grafi:
5. Approccio euristico.
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Algoritmi di stima con perdita di pacchetti in reti di sensori wireless: modellizzazione a catene di Markov, stima e stima distribuita Chiara Brighenti,
Sistemi basati su conoscenza Metodi di ricerca informata
Relazione finale su [nome del progetto]
Analisi di sequenze di operazioni Union-Find
Lezione n°9 Prof.ssa Rossella Petreschi
Come promuovere le competenze. Esperienze e prospettive di sviluppo.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Lezione n°15 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Il problema del cammino minimo
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Università di Pisa INFN – Sezione di Pisa
Usi (meno scontati) della visita DFS
Anno Accademico 2010 – 2011 Corso di Progettazione dei Sistemi di Controllo Prof. Luca Schenato Prof. Gianluigi Pillonetto Gottardo Giuseppe, matr
Algoritmi e Strutture Dati
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
CONTROLLO DI UN ROBOT IN REMOTO MEDIANTE SISTEMA DI ACQUISIZIONE AD INFRAROSSI Relatore: Daniele Carnevale Tesista: Giuseppe Ferrò 18/09/2018.
K4 è planare? E K3,3 e K5 sono planari? Sì!
per rappresentare grafi
Lezione n°11 Prof.ssa Rossella Petreschi
ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA
ABBINAMENTO Lezione n°13
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
5. Approccio euristico.
Algoritmi per il flusso nelle reti
Lezione n°6 Prof.ssa Rossella Petreschi
Scan matching nel dominio di Hough
Scheduling in Linux (Kernel 2.4 e 2.6)
Cammini di costo minimo su un grafo pesato
La regolazione gerarchica della tensione
Il nuovo concetto Leitner
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Usi (meno scontati) della visita DFS
Tecniche di Animazione dello sguardo “idle”: Personaggi in Movimento
Algoritmi e Strutture Dati
Cammini minimi in grafi:
Grafi e problem solving
Lezione n°7 Splay-Trees e Heaps Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Unione per ranghi compressi
Algoritmi e Strutture Dati
Analisi ammortizzata Lezione n°2
Progetto e collaudo di un ricevitore GPS satellitare per il satellite universitario PiCPoT Relatori: Leonardo Reyneri Claudio Sansoè Candidata: Monica.
ANALISI DI UNA MISSIONE SATELLITARE PER MONITORAGGIO AMBIENTALE
Transcript della presentazione:

Esplorazione multi-robot con agente cieco

Progetto finale per il corso di Progettazione di Sistemi di Controllo 19 febbraio 2009

RELATORI: Luca Lovato Mattia Zorzi Bruno Lain DOCENTE: Luca Schenato

Introduzione

Problema di navigazione autonoma di una squadra di robot in ambiente sconosciuto

ESEMPIO: Squadra di robot per l'esplorazione di un pianeta sconosciuto ● robot principale non sacrificabile ● robot di supporto sacrificabili

Idea del progetto Far raggiungere un luogo predeterminato (goal) ad un agente cieco (actor) col supporto di altri robot, (observer) che esplorano l'ambiente.

Svolgimento ● Sviluppo e confronto di tre algoritmi di esplorazione ● Elaborazione di un algoritmo di cammino minimo basato su Dijkstra ● Sperimentazione in Navlab

Mapping Mapping tramite grid-map Celle: ● esplorate e libere ● esplorate ed occupate da un ostacolo ● inesplorate

Insieme delle celle adiacenti Insieme delle celle vicinanti Insieme delle celle di frontiera Mapping

Ipotesi: ● i robot si muovono lungo le celle adiacenti ● l'unità centrale conosce la posizione di ogni robot durante l'esplorazione ● gli observer rilevano l'attributo delle celle vicinanti come se fossero dotati di un radar ● gli observer 'vedono deterministicamente' ● ogni robot sa cos'è già stato esplorato

Obbiettivo: Far giungere quanto prima l'actor alla posizione designata come goal

Esplorazione

Algoritmi di esplorazione Gli approcci di esplorazione multi-robot in letteratura sono ancora pochi rispetto al singolo robot - B. Yamauchi. Frontier-based exploration using multiple robot. In Proceedings of the Second International Conference on Autonomous Agents, Pages 47; 53, W. Burgard, M.Moors, D. Fox R., Simmons, S. Thrun. Collaborative Multi-Robot Exploration, IEEE Aprile 2000

Algoritmo di esplorazione bruta (EB)

Algoritmo non collaborativo ● Si determinano le celle di frontiera ● Si associa ad ogni observer una cella di frontiera in modo da minimizzare la funzione costo: dove è la cella di frontiera e è la cella occupata dall'observer

Algoritmo non collaborativo ● Per ogni observer si determina il cammino ottimale per raggiungere la corrispondente cella di frontiera ● Si sposta ogni observer alla prima cella del cammino ● Si ripete l' algoritmo

Algoritmo non collaborativo

Algoritmo collaborativo Differisce dal non collaborativo dal fatto che si massimizza la funzione dove U( ) è l'utilità della cella di frontiera Inizializzazione dell' utilità

Algoritmo collaborativo Dopo aver effettuato un'associazione tra una cella di frontiera e un'observer, si effettua l'aggiornamento dell'utilità U

Algoritmo collaborativo

Prestazioni degli algoritmi

Algoritmo EB: 3 observer

Algoritmo NC: 3 observer

Algoritmo C: 3 observer

Prestazioni degli algoritmi

Path planning

Problema di ricerca di un cammino minimo Ogni cella della mappa è un nodo. Costo archi per gli observer: ● 0.3 se termina in una cella frontiera ● 1 se termina in una cella non di frontiera Costo archi per actor: ● sempre uguale ad 1

Cammino minimo secondo Dijkstra S Insieme dei nodi del grafo che sono collegati al nodo di partenza 'start' da un cammino di costo minimo Un cammino da 'start' ad 'h' è dato dal cammino da 'start' ad 'i' con l'aggiunta dell'arco (i,h)

Ad ogni ciclo del nostro algoritmo si individua il nodo 'h' che non è ancora appartenente a S unito ad S dall'arco di costo minimo (i,h) e lo si aggiunge ad S. Il costo del cammino per raggiungere 'h' sarà il costo del cammino fino ad 'i' più il costo di (i,h). L'algoritmo termina quando l'espansione di S fa si che si trovi un cammino dallo start al goal.

Prima versione dell'algoritmo il nuovo nodo 'h' da aggiungere in S viene individuato da una scansione di ogni nodo del grafo. Complessità computazionale algoritmo: O(n ² ) Seconda versione dell'algoritmo si utilizza una coda di priorità con i nodi non appartenenti ad S ma adiacenti a nodi di S. Complessità computazionale algoritmo: O(n log(n))

Esempio versioni 1 e 2

Idea per nuove implementazioni: Se oltre alla nuvola attorno allo start si aggiungesse una nuvola attorno al goal si ridurrebbe il numero di celle candidate ad appartenere al cammino start-goal

La cella a cui viene associato un cammino sia dallo start che dal goal diventa la cella anello. Il cammino 'start-goal' viene formulato a partire da: 'start - cella anello' 'goal - cella anello'

In certe mappe un cammino sviluppato con una nuvola può essere diverso da quello sviluppato con due: ● ci possono essere selezioni diverse nella formulazione di un cammino tra celle candidate di pari costo ● (per gli observers) assimetria dei costi nei passaggi : da cella di frontiera a cella non di frontiera (costo 1) da cella non di frontiera a cella di frontiera (costo 0.3) nel tratto 'cella anello-goal'

Terza versione dell'algoritmo due nuvole le cui celle sono individuate da scansioni di tutta la mappa Quarta versione dell'algoritmo due nuvole le cui celle sono individuate con l'ausilio di due code di priorità

Esempio versioni 3 e 4

Confonto fra i due esempi

Confronto prestazioni

Movimento actor ● Algoritmo NMA: l'actor rimane fermo fino all'individuazione di un cammino start-goal ● Algoritmo MA: l'actor si dirige alla cella esplorata più vicina al goal

Prestazioni NMA, MA N A : numero di passi della simulazione P A : numero di celle visitate dall'actor

Sperimentazione in Navlab

Rilevazione e aggiornamento della mappa La pedana vuota viene rilevata la mappa costruita e salvata in una variabile non nota agli observer. Quando un observer raggiunge una nuova posizione viene rivelata la mappa attorno, simulando il funzionamento di un radar.

Misura della posizione di un uniciclo ● Odometro ● Sistema GPS ● Metodo ibrido Stima della posizione grazie a: ● lettura degli encoder ● conoscenza della posizione iniziale ● conoscenza precisa del mod ello Misura della posizione tramite: ● sistema di telecamere ● rete di sensori ● s istema di satelliti Normalmente si utilizza l'odometro. Quando si ritiene che la stima della posizione raggiunta non sia affidabile la si aggiorna grazie al GPS

Struttura di Controllo ● Rilevazione della posizione dei robot ● Aggiornamento della mappa conosciuta ● Assegnazione della cella successiva ● Controllo di traiettoria in catena chiusa per ciascun veicolo ● Stop dei robot

Traiettorie La traiettoria viene pianificata da cella a cella, con un segmento che parte dal punto in cui si trova il robot e arriva al centro della cella obiettivo

Commenti sul controllo DFL Dynamic Feedback Linearization È un tipo di controllo molto sensibile alla misura dello stato del veicolo. Modifiche: ● Riduzione del numero di riferimenti che descrivono la traiettoria desiderata ● Taratura della velocità angolare massima ● Miglioramento della misura di posizione del GPS

Miglioramenti al sistema GPS Correzione della prospettiva dovuta all'altezza dei led rispetto al piano di riferimento.

Miglioramenti al sistema GPS Prefiltraggio dell'immagine per una più precisa identificazione del centro della nuvola corrispondente ad un led

Prove in Navlab: 1 actor e 3 observer

Prove in Navlab: 1 actor e 6 observer

Prove in Navlab: 5 robot con trappola

Sviluppi futuri ● Utilizzo dei sensori di prossimità di cui è dotato l'e-Puck ● Simulare un radar che aquisisce informazioni sull'ambiente in maniera non deterministica ● Observer eterogenei, ovvero con raggio di visibilità diverso ● Approccio decentralizzato ai problemi di mapping e di esplorazione

Grazie per l'attenzione