Teoresi logo

IO.T Solutions new section

Le nostre tesi
Logo_Università_Politecnica_delle_Marche

Università Politecnica delle Marche

Computer and Automation Engineering

Master's degree

Autore

Damiano Santarelli

2021

Algoritmi di navigazione e orientamento per veicoli autonomi e robotici in ambiente ROS

Logo_Università_Politecnica_delle_Marche

Università Politecnica delle Marche

Computer and Automation Engineering

Master's degree

Autore

Damiano Santarelli

Autonomous DrivingC++Python
Relatori Teoresi coinvolti

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.