In questo lavoro è stato presentato un progetto, completo, di un modulo software scritto in linguaggio ANSI-C di path-planning per robot mobili e di un modulo software basato su tecnologia web per la visualizzazione dei risultati ottenuti e per la simulazione dei movimenti del robot mobile all'interno di mappe note precostituite. Il lavoro si è poi indirizzato sulla progettazione di un'architettura atta ad ospitare gli algoritmi, ma anche in grado di riconoscere ed eseguire i comandi provenienti da moduli esterni, capace di gestire condizioni di errore e produrre output nei formati predeterminati. Infine, sono state simulate delle tipiche condizioni operative del robot con in più diverse simulazioni per la taratura dei parametri. Il framework, pertanto, offre interessanti possibilità di sviluppo per essere adattato a situazioni di lavoro specifiche, come ad esempio l'ottimizzazione e le performance a velocità elevate, oppure su spazi ristretti e così via. L'architettura progettata è altamente modulare e consente di modificare rapidamente o addirittura usare algoritmi diversi ad esempio per la pianificazione/generazione di traiettorie. Si fa presente che si è preferita la strada geometrica, ovvero la rappresentazione della mappa in maniera vettoriale, perchè si è riusciti ad avere una minore quantità di dati da memorizzare soprattutto in situazioni in cui l'ambiente risulta essere molto vasto. Un'altro motivo interessante, fondamentale per algoritmi di map building, è quello di riuscire meglio ad adattare la rappresentazione dei punti costituenti la mappa in caso di correzioni necessarie a causa di errori dovuti al sistema di localizzazione del robot, tramite operazioni analitiche proprie della geometria vettoriale. Infatti le mappe a punti utilizzano insiemi di punti per rappresentare i contorni degli oggetti presenti nell'ambiente. Data una rilevazione le coordinate dei punti ottenuti vengono espresse nel sistema di riferimento assoluto della mappa, andando ad aggiungersi alle informazioni raccolte in precedenza. In questo tipo di mappe, le informazioni ottenute dai sensori non necessitano di particolari rielaborazioni prima di diventare parte della mappa globale e quindi l'aggiunta di nuova informazione risulta più efficiente rispetto ad altri metodi. L'approccio usato per l'algoritmo di path-planning interfacciato con il modulo di interpolazione ha suddiviso la traiettoria in una sequenza di comandi assegnati periodicamente. Quindi il robot, in ciascun intervallo è in grado di aggiornare le informazioni sull'ambiente circostante e decidere quale traiettoria prendere sulla base di queste nuove informazioni. Inoltre tale algoritmo consente di tener traccia dei vincoli cinematici del robot stesso, ristringendo le possibili traiettorie a quelle fisicamente raggiungibili nota la posizione attuale, l'intervallo di tempo e la velocità massima del robot. L'algoritmo di obstacle avoidance ha permesso di utilizzare le caratteristiche reattive e sensoriali del robot mobile per evitare ostacoli diversi da quelli individuati nella fase on-line. Allo stato attuale si ha a quindi a disposizione un prototipo completo e funzionante con le scelte implementative sopra esposte dell'algoritmo di path-planning con funzione di Real Time Obstacle Avoidance ottimizzato per trovare traiettorie smooth e safe. Si è testata altresì l'applicazione web-based in remoto con buoni risultati.
2D-PATH-PLANNING NELLA ROBOTICA MOBILE
ZUFFANTI, GIUSEPPE
2007/2008
Abstract
In questo lavoro è stato presentato un progetto, completo, di un modulo software scritto in linguaggio ANSI-C di path-planning per robot mobili e di un modulo software basato su tecnologia web per la visualizzazione dei risultati ottenuti e per la simulazione dei movimenti del robot mobile all'interno di mappe note precostituite. Il lavoro si è poi indirizzato sulla progettazione di un'architettura atta ad ospitare gli algoritmi, ma anche in grado di riconoscere ed eseguire i comandi provenienti da moduli esterni, capace di gestire condizioni di errore e produrre output nei formati predeterminati. Infine, sono state simulate delle tipiche condizioni operative del robot con in più diverse simulazioni per la taratura dei parametri. Il framework, pertanto, offre interessanti possibilità di sviluppo per essere adattato a situazioni di lavoro specifiche, come ad esempio l'ottimizzazione e le performance a velocità elevate, oppure su spazi ristretti e così via. L'architettura progettata è altamente modulare e consente di modificare rapidamente o addirittura usare algoritmi diversi ad esempio per la pianificazione/generazione di traiettorie. Si fa presente che si è preferita la strada geometrica, ovvero la rappresentazione della mappa in maniera vettoriale, perchè si è riusciti ad avere una minore quantità di dati da memorizzare soprattutto in situazioni in cui l'ambiente risulta essere molto vasto. Un'altro motivo interessante, fondamentale per algoritmi di map building, è quello di riuscire meglio ad adattare la rappresentazione dei punti costituenti la mappa in caso di correzioni necessarie a causa di errori dovuti al sistema di localizzazione del robot, tramite operazioni analitiche proprie della geometria vettoriale. Infatti le mappe a punti utilizzano insiemi di punti per rappresentare i contorni degli oggetti presenti nell'ambiente. Data una rilevazione le coordinate dei punti ottenuti vengono espresse nel sistema di riferimento assoluto della mappa, andando ad aggiungersi alle informazioni raccolte in precedenza. In questo tipo di mappe, le informazioni ottenute dai sensori non necessitano di particolari rielaborazioni prima di diventare parte della mappa globale e quindi l'aggiunta di nuova informazione risulta più efficiente rispetto ad altri metodi. L'approccio usato per l'algoritmo di path-planning interfacciato con il modulo di interpolazione ha suddiviso la traiettoria in una sequenza di comandi assegnati periodicamente. Quindi il robot, in ciascun intervallo è in grado di aggiornare le informazioni sull'ambiente circostante e decidere quale traiettoria prendere sulla base di queste nuove informazioni. Inoltre tale algoritmo consente di tener traccia dei vincoli cinematici del robot stesso, ristringendo le possibili traiettorie a quelle fisicamente raggiungibili nota la posizione attuale, l'intervallo di tempo e la velocità massima del robot. L'algoritmo di obstacle avoidance ha permesso di utilizzare le caratteristiche reattive e sensoriali del robot mobile per evitare ostacoli diversi da quelli individuati nella fase on-line. Allo stato attuale si ha a quindi a disposizione un prototipo completo e funzionante con le scelte implementative sopra esposte dell'algoritmo di path-planning con funzione di Real Time Obstacle Avoidance ottimizzato per trovare traiettorie smooth e safe. Si è testata altresì l'applicazione web-based in remoto con buoni risultati.File | Dimensione | Formato | |
---|---|---|---|
270928_tesimagistrale.pdf
non disponibili
Tipologia:
Altro materiale allegato
Dimensione
2.87 MB
Formato
Adobe PDF
|
2.87 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14240/70579