The thesis objective consists in research and development of navigation algorithms run on Linux OS, using ROS framework. The first and more substantial part of the work consists in the simulation of an autonomous vehicle. For this purpose, a preliminary research work has been performed, in order to find the most efficient algorithms for the desired features, such as Visual Odometry and sensor fusion through Kalman Filter. These features have been implemented in ROS Framework, which is executed on Linux OS, and they are required for the correct operation of Navigation2. This tool is also executed through ROS, and it represents the high level part of the autonomous navigation. The second part of the thesis work has been more practical. In fact it consisted in the application of the algorithms studied in simulation on a real model of a vehicle. A python script has been written to ensure proper communication between the low-level on board controller and the navigation system. In addition to this, during this part the topics of Linux dependencies, the OS structure of NVIDIA Jetson (ARM64) and, in particular, the method of installing and configuring the required libraries to make the above mentioned packages work have been studied in deep.

L’obiettivo di questa tesi consiste nella ricerca e nello sviluppo di algoritmi di navigazione eseguiti su sistema operativo Linux utilizzando il framework ROS. Attraverso tali strumenti si desidera ottenere un sistema che elabori e percorra autonomamente un certo percorso, 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 e sono stati utilizzati per il corretto funzionamento di Navigation2, anch’esso eseguito tramite ROS, per garantire un’efficace navigazione autonoma del veicolo. Successivamente si è passati alla fase applicativa del lavoro di tesi, ovvero all’implementazione 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.

Algoritmi di Navigazione e Orientamento per Veicoli Autonomi e Robotici in Ambiente ROS

SANTARELLI, DAMIANO
2020/2021

Abstract

The thesis objective consists in research and development of navigation algorithms run on Linux OS, using ROS framework. The first and more substantial part of the work consists in the simulation of an autonomous vehicle. For this purpose, a preliminary research work has been performed, in order to find the most efficient algorithms for the desired features, such as Visual Odometry and sensor fusion through Kalman Filter. These features have been implemented in ROS Framework, which is executed on Linux OS, and they are required for the correct operation of Navigation2. This tool is also executed through ROS, and it represents the high level part of the autonomous navigation. The second part of the thesis work has been more practical. In fact it consisted in the application of the algorithms studied in simulation on a real model of a vehicle. A python script has been written to ensure proper communication between the low-level on board controller and the navigation system. In addition to this, during this part the topics of Linux dependencies, the OS structure of NVIDIA Jetson (ARM64) and, in particular, the method of installing and configuring the required libraries to make the above mentioned packages work have been studied in deep.
2020
2021-10-22
Navigation and Orientation Algorithms for Autonomous and Robotic Vehicles in ROS Framework
L’obiettivo di questa tesi consiste nella ricerca e nello sviluppo di algoritmi di navigazione eseguiti su sistema operativo Linux utilizzando il framework ROS. Attraverso tali strumenti si desidera ottenere un sistema che elabori e percorra autonomamente un certo percorso, 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 e sono stati utilizzati per il corretto funzionamento di Navigation2, anch’esso eseguito tramite ROS, per garantire un’efficace navigazione autonoma del veicolo. Successivamente si è passati alla fase applicativa del lavoro di tesi, ovvero all’implementazione 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.
File in questo prodotto:
File Dimensione Formato  
tesi.pdf

Open Access dal 23/10/2023

Dimensione 33.93 MB
Formato Adobe PDF
33.93 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12075/1204