La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Esplorazione multi-robot con agente cieco. Progetto finale per il corso di Progettazione di Sistemi di Controllo 19 febbraio 2009."— Transcript della presentazione:

1 Esplorazione multi-robot con agente cieco

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

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

4 Introduzione

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

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

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

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

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

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

11

12 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

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

14 Esplorazione

15 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, 1998. - W. Burgard, M.Moors, D. Fox R., Simmons, S. Thrun. Collaborative Multi-Robot Exploration, IEEE Aprile 2000

16 Algoritmo di esplorazione bruta (EB)

17

18

19

20 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

21 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

22 Algoritmo non collaborativo

23

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

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

26 Algoritmo collaborativo

27

28 Prestazioni degli algoritmi

29 Algoritmo EB: 3 observer

30

31 Algoritmo NC: 3 observer

32

33 Algoritmo C: 3 observer

34

35 Prestazioni degli algoritmi

36

37

38

39 Path planning

40 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

41 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)

42 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.

43 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))

44 Esempio versioni 1 e 2

45

46

47

48

49

50

51

52

53 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

54 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'

55 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'

56 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à

57 Esempio versioni 3 e 4

58

59

60 Confonto fra i due esempi

61 Confronto prestazioni

62 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

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

64 Sperimentazione in Navlab

65 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.

66 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

67 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

68

69 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

70 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

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

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

73 Prove in Navlab: 1 actor e 3 observer

74

75 Prove in Navlab: 1 actor e 6 observer

76

77 Prove in Navlab: 5 robot con trappola

78

79 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

80 Grazie per l'attenzione


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

Presentazioni simili


Annunci Google