La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA A AA A AAA A Pietro Salvagnini, 586929

Presentazioni simili


Presentazione sul tema: "TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA A AA A AAA A Pietro Salvagnini, 586929"— Transcript della presentazione:

1 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA A AA A AAA A Pietro Salvagnini, Francesco Simmini, Michele Stoppa, Padova, 19 Febbraio 2009

2 Introduzione ABSTRACT navigazione autonoma di robot in ambiente sconosciuto N robot esploratori dotati di una piccola telecamera 1 attore cieco che conosce solo la sua posizione OBBIETTIVO: individuare un percorso dalla posizione iniziale dell'attore ad un obbiettivo noto, attraverso la costruzione di una mappa dell'ambiente. E E A

3 Filosofia Progettuale Realismo: utilizzare tutti gli strumenti a disposizione per mantenere il progetto il più generale possibile, limitando linserimento di sensori simulati; Funzionalità: creare un sistema effettivamente funzionante; Semplicità: cominciare da tecniche semplici, implementabili praticamente, da raffinare solo dopo averne verificato il funzionamento per ottenere risultati;

4 Materiale a disposizione Calcolatore centrale Robot E-puck Telecamera Logitech Quickcam Pedana di lavoro 3.20m 2.40m Telecamera E-puck ! Obstacles

5 Panoramica generale 1 IDEA DI BASE Explorer Gli Explorer Siano [q θ] le coordinate dellexplorer 1.Fare una foto e aggiornare la mappa {Mapping} 2.Algoritmo di esplorazione: [p oss θ oss ] {Exploration} 3.Pianificare un percorso da q a p oss {Path-Planning} 4.Muoversi con controllo in retroazione dagli encoder {Moto} 5.Correggere la posizione tramite GPS virtuale {Re-locating} 6.Girarsi in direzione θ oss e ricominciare da 1. {Turning} Proseguire finché non avvista lobbiettivo

6 Panoramica generale 2 IDEA DI BASE Actor L Actor intanto deve: 1.aspettare aggiornamenti della mappa {Wait} 2.calcolare la strada più breve con l'informazione nota a questa a punto, supponendo lo spazio ancora ignoto privo di ostacoli, e decidere se partire {Path-Planning} 3.se si parte, muoversi fino a dove la mappa è conosciuta {Moto} Proseguire finché non giunge allobbiettivo

7 Lo schema di controllo ORGANIZZAZIONE: Controllo centralizzato Controllo centralizzato – Il pc centrale organizza Schema di controllo a stati Schema di controllo a stati – Uno stato per ogni robot – Unazione per ogni stato Ad ogni passo si eseguono le N+1 azioni definite dagli stati dei robot Ad ogni passo si eseguono le N+1 azioni definite dagli stati dei robot Stati: 1.{Mapping} Foto Costruzione mappa 2.{Exploration} Scelta punto successivo 3.{Planning} Trovare il percorso e pianificare 4.{Turning} 5.{Re-locating} 6.{Moving}

8 Lo schema di controllo 2. Exploration 3. Path-Planning 4. Turning 5. Moving 1. Mapping 2. Exploration 3. Path-Planning 4. Turning 5. Re-locating 4. Turning Per pianificare Se si deve solo girare Per prepararsi al moto Se non si ha finito Per spostarsi Se si ha finito il moto 6. Moving 5. Re-locating Se non si ha finito Se si ha finito

9 Lo schema di controllo La suddivisione è necessaria per poter tenere un tempo di campionamento basso Si dividono le operazioni onerose in più fasi Nonostante tutto: T=2 sec !COMPLICAZIONI Cono di visuale troppo stretto 3 foto Cono di visuale troppo stretto 3 foto Alcune operazioni possono prolungarsi si servono prima i robot in movimento Alcune operazioni possono prolungarsi si servono prima i robot in movimento Stati Actor leggermente diversi Stati Actor leggermente diversi

10 MAPPING Costruire mappa dellambiente attraverso le misure ottenute dal sensore, la telecamera, posta sui robot esploratori: Rappresentazione della mappa Individuazione degli ostacoli Elaborazione delle misure Aggiornamento della mappa

11 MAPPING - Rappresentazione della mappa Occupancy grid cells Mappa = Matrice Area di 1 cm 2 = una cella della mappa P(x):Probabilità di occupazione = valore della cella 0 se la cella è libera 1 se la cella è occupata se la cella non è stata esplorata

12 SENSORE UTILIZZATO: telecamera VGA a colori risoluzione 640 x 480 Processore capacità limitate: possibilità di utilizzo 320 x 320 bianco e nero, campionata 8:1, quindi con risoluzione effettiva 40 x 40. Problematiche principali: Adattare alcuni parametri lavorando direttamente sul processore Tempi di trasmissione lunghi ridurre informazione trasmessa Telecamera non adeguatamente fissata MAPPING - Individuazione degli ostacoli

13 MAPPA 2D Sufficiente individuare i bordi orizzontali. Pavimento chiaro ed ostacoli scuri. Per ogni colonna si parte dal basso e quando si trovano due celle scure consecutive si segnala il bordo. VANTAGGI: veloce e funzionale per il nostro problema: si trasmette solo un vettore, non tutta limmagine SVANTAGGI: Taratura della soglia

14 UTILIZZO DELLA CAMERA MAPPING - Elaborazione della misura Obiettivo: definire una trasformazione piano immagine piano su cui si muove il robot

15 GEOMETRIA DELLA CAMERA MAPPING - Elaborazione della misura Da h ed f, parametri della camera, ed y posizione nellimmagine si ottiene distanza ostacolo da camera

16 Infine conoscendo la posizione e lorientazione del robot si ottiene una misura nel sistema di riferimento assoluto Riferimento piano immagine Riferimento telecamera MAPPING - Elaborazione della misura Riferimento telecamera Riferimento robot

17 RISULTATO: MAPPING - Elaborazione della misura

18 CONSIDERAZIONI E PROBLEMATICHE: Scarsa precisione della misura sopra i 30 pixel, ottima per pixel vicini. Da considerarsi nella tecnica di aggiornamento Si è scelto di posizionare sempre lostacolo più vicino possibile al robot, allinterno della regione corrispondente a ciascun pixel

19 MAPPING - Esempio

20 Data una misura m(k) si vuole aggiornare la mappa M(k-1) ottenendo la mappa M(k): MAPPING - Aggiornamento della mappa Celle di M(k-1) ed esplorate in m(k) prendono il valore che hanno in m(k) Celle occupate in M(k-1) e libere in m(k) diventano libere in M(k) Celle libere in M(k-1) ed occupate in m(k) restano libere in M(k) Si fa così perché le misure sono molto conservative. Posso solo vedere ostacoli dove non ci sono

21 Esplorazione ESPLORAZIONE Assegnare ad ogni robot la successiva posizione di osservazione e la direzione verso cui scattare la foto successiva 1.Mirata ad individuare un percorso fino al goal 2.Ridurre il tempo di esplorazione 3.Ridurre lo spazio percorso

22 Esplorazione Gestire una visibilità limitata dei robot ( angolo di visibilità di 28° e lunghezza di visibilità di 40 cm) Garantire che i robot esplorino lambiente con percorsi possibilmente diversi per ottimizzare i tempi Gestire situazioni complicate, come strade chiuse, o degeneri come goal irraggiungibile,per esempio a causa di passaggi troppo stretti PROBLEMI

23 Esplorazione INPUTOUTPUT ALGORITMO DI ESPLORAZIONE

24 Esplorazione ELABORAZIONE PRELIMINARE DELLA MAPPA PER RISOLVERE PROBLEMI DI DIMENSIONE DEI ROBOT SOLUZIONE : ORLARE LA MAPPA CIOÈ INGRANDIRE UN PO GLI OSTACOLI CON UN FILTRO UNIFORME.

25 Esplorazione NELLA STESSA FASE SI ELABORA LA MAPPA AL FINE DI ELIMINARE CELLE INESPLORATE ISOLATE

26 Esplorazione ALGORITMO DI ESPLORAZIONE

27 Esplorazione Individuare le celle di frontiera ( frontier cells) tra la zona esplorata e quella sconosciuta, e dividerla in N parti dove N è il numero dei robot esploratori.

28 Esplorazione Si minimizza un indice di costo J: – Distanza dal goal: si vuole che il robot scelga un punto di frontiera vicino al goal. – Distanza dalla posizione attuale: si desidera che il robot compi percorsi di lunghezza standard. – Distanza dalla posizione dellaltro robot: si vuole che i due robot esplorino zone diverse per ottimizzare i tempi. J1J1 J3J3 J2J2

29 Esplorazione INDICE J

30 Esplorazione Andamento dei tre indici

31 Esplorazione Determinato il punto c che minimizza lindice J:

32 Esplorazione

33

34 Lalgoritmo di ricerca dei cammini PROBLEMA: individuare un percorso libero tra due punti della mappa la mappa non è completa, si aggiornaSOLUZIONE: grafo ricerca di cammini minimi su un grafo [Dijkstra (1959)] aggiornamento dinamico del percorso algoritmo D* Serve un grafo!

35 Costruzione del grafo SOLUZIONE SEMPLICE: 10 14

36 L'algoritmo D* (D-star) [A. Stentz: An Optimal and Efficient Path-planning for Partially Known Enviroments] IDEA: mantenere ottimi i nodi più vicini al Goal mantenere ottimi i nodi più vicini al Goal propagare i cambiamenti attraverso i vicini propagare i cambiamenti attraverso i vicini TECNICA: puntatori puntatori per tenere traccia del per- corso lista aperta lista aperta dei nodi non ottimi costo attuale e costo minimo funzioni di costo attuale e costo minimo per mantenere lottimalità

37 D*: esempi (1) Risultato prima chiamata dellalgoritmo Scoperta celle occupate Inserimento nodi nella lista Propagazione ai nodi che li puntavano

38 D*: esempi (2) RISULTATO: È stato trovato un nuovo percorso SE POI SI SCOPRE UNA CELLA LIBERA: La si inserisce nella lista

39 D*: esempi (3) RISULTATO: In un solo passo il percorso si migliora!

40 Controllo della traiettoria TECNICA MOLTO USATA IN LETTERATURA Dynamic Feedback Linearization [De Luca, Oriolo, Venditelli; Wmr control via dynamic feedback linearization: Design, implementation, and experimental validation] PROBLEMA Richiede traiettorie smooth per il calcolo dellazione di feedforward PROBLEMA Sistema non lineare anolonomo: il robot non si può spostare lateralmente

41 Il punto più avanti SOLUZIONE SEMPLICE Il punto B fuori dallasse delle ruote può compiere cammini con velocità discontinua

42 Legge di controllo Con le nuove coordinate il modello delluniciclo diventa Si può definire la legge di controllo statica Con ingressi il sistema diventa lineare Si può poi introdurre un termine di retroazione Velocità desiderata Errore di posizione

43 LOCALIZZAZIONE TECNICHE PER LA LOCALIZZAZIONE Odometria Errore di misura piccolo ma non scorrelato Già implementata, richiede solo comunicazione con robot Utilizzata per il controllo del moto GPS virtuale costituito da telecamera Errore di misura maggiore ma scorrelato Computazionalmente più oneroso. Effettuata in uno stato apposito al termine del moto

44 RILOCALIZZAZIONE – GPS virtuale INDIVIDUAZIONE DEL ROBOT CERCATO: Si prende lo sfondo f 0 Si prende limmagine attuale f Si fa la differenza f 0 -f

45 RILOCALIZZAZIONE Costruzione di e-puck medio Riduzione allarea di interesse FILTRAGGIO per ottenere punti a massima correlazione Individuazione del 1 o massimo Azzeramento ed Individuazione del 2 o massimo

46 RILOCALIZZAZIONE – GPS virtuale CORREZIONE DELLANGOLO tramite 2 localizzazioni successive Determinazione dellangolo tra la posizione del robot prima della localizzazione e quella corretta: coincide con lerrore sullorientazione iniziale

47

48

49 RISULTATI

50

51 Ringraziamenti Claudio Lora per la disponibilità in NAVLAB Gio Cosi per lutile consulenza Antonio Simmini per la colorazione degli Obstacles Tommaso Stoppa per il montaggio Video La famiglia Salvagnini per aver ospitato un piccolo NAVLAB (il SALVLAB)


Scaricare ppt "TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA A AA A AAA A Pietro Salvagnini, 586929"

Presentazioni simili


Annunci Google