Università Politecnica delle Marche
Computer and Automation Engineering
Master's degree
AutoreDamiano Santarelli
Algoritmi di navigazione e orientamento per veicoli autonomi e robotici in ambiente ROS
Università Politecnica delle Marche
Computer and Automation Engineering
Master's degree
AutoreDamiano Santarelli
Gianluca Toscano, Alessandro Serrapica
Abstract
L’obiettivo di questa tesi consiste nella ricerca e nello sviluppo di algoritmi di navigazione su sistema operativo Linux, utilizzando il framework ROS. Attraverso tali strumenti, si desidera ottenere un sistema che elabori e percorra autonomamente un certo path, dati il punto A di partenza e il punto B di arrivo.
La prima e più corposa parte del lavoro è consistita nell’implementazione in simulazione di un veicolo autonomo. A tal proposito è stato compiuto un lavoro di ricerca degli algoritmi più efficienti per poter implementare le funzionalità di Visual Odometry e di sensor fusion tramite filtro di Kalman esteso, al fine di ottenere l’odometria del veicolo in tempo reale. Tali algoritmi sono stati implementati all’interno dell’ambiente ROS, eseguito su sistema operativo Linux e sono stati utilizzati per il corretto funzionamento del Navigation Stack, anch’esso eseguito tramite ROS, e quindi della navigazione autonoma del veicolo. Successivamente si è passati alla fase applicativa del lavoro di tesi, ovvero all’applicazione degli algoritmi studiati in simulazione su un veicolo reale in scala 1:10. Per garantire la corretta comunicazione tra il controllore a basso livello a bordo del veicolo e il sistema di navigazione sono stati sviluppati script in linguaggio Python. Inoltre sono stati approfonditi il tema delle dipendenze di Linux, la struttura del sistema operativo dell’hardware in questione (ARM64) e, in particolare, il metodo di installazione e configurazione delle librerie necessarie al funzionamento dei pacchetti sopra citati.
Obiettivo Tesi
Per muovere un robot in ambiente indoor sono richiesti algoritmi in grado di capire dove il robot si trova e capire quale strada è meglio percorrere all’interno della mappa. La tesi ha lo scopo di approfondire i prerequisiti ed implementare le logiche di controllo legate al Navigation Stack. In particolare è stato implementato l’algoritmo di visual odometry come unico sistema odometrico.
Metodologia di ricerca
In una prima fase dell’attività è stata svolta un’analisi bibliografica sulla guida autonoma in ambinete indoor per studiarne lo stato dell’arte. In seguito, è stato sviluppato un modello di un veicolo autonomo di tipo ackermann per prove in simulazione di applicazioni ROS in ambiente RVIZ, uno strumento di visualizzazione 3D. Infine è stato sviluppato un algoritmo di visual odometry, integrato nel sistema ROS e Navigation Stack e testato su un modello in scala.
Conclusioni
I risultati ottenuti con l’aggiunta della visual odometry agli algoritmi di guida autonoma hanno rispettato le aspettative.
Sviluppi futuri
Aumentare la precisione dei sistemi di guida autonoma basati su framework ROS integrando algoritmi basati su ulteriori sensori, tipo IMU.