Tesi etd-10272020-154214 |
Link copiato negli appunti
Tipo di tesi
Tesi di laurea magistrale
Autore
PROCOPIO, ALESSANDRO
URN
etd-10272020-154214
Titolo
Simulazione ed implementazione di un algoritmo di SLAM per la guida autonoma su circuito di un veicolo small-scale
Dipartimento
INGEGNERIA DELL'INFORMAZIONE
Corso di studi
INGEGNERIA ROBOTICA E DELL'AUTOMAZIONE
Relatori
relatore Prof. Gabiccini, Marco
relatore Prof. Pollini, Lorenzo
relatore Prof. Pollini, Lorenzo
Parole chiave
- autonomous vehicle
- guida autonoma
- SLAM
Data inizio appello
19/11/2020
Consultabilità
Non consultabile
Data di rilascio
19/11/2090
Riassunto
In questa tesi è stato implementato e testato sperimentalmente un algoritmo di SLAM, noto come FastSLAM, per la guida autonoma in un ambiente strutturato: un circuito delimitato da marker facilmente riconoscibili all'interno di un'immagine.
Inizialmente, l'algoritmo è stato validato simulando in ROS sia la dinamica di un veicolo generico che il processo di acquisizione delle misure. Poiché si sono ottenuti risultati soddisfacenti, il sistema è stato testato sperimentalmente su un veicolo in scala munito di telecamera RGBD, IMU e encoder per la misura della velocità di rotazione delle ruote. In questa fase, il circuito è stato realizzato delimitandone i bordi con dei landmark, composti da alcuni supporti rigidi a cui sono stati fissati dei marker ArUco. Questa scelta ha permesso di semplificare notevolmente il processo di feature detection, in quanto la libreria ArUco permette di determinare la posizione di ogni marker rispetto al piano immagine della telecamera analizzando i frame video acquisiti. Nonostante ogni marker sia identificabile univocamente, ci si è serviti di questa informazione solo per determinarne il bordo di appartenenza; pertanto, il problema di data association è stato risolto autonomamente dal FastSLAM. Le stime, in termini di traiettoria e mappa, sono state poi valutate rispetto ad un ground truth ottenuto a partire da alcune riprese aeree e, nuovamente, sfruttando una coppia di marker ArUco.
Malgrado l'algoritmo sia molto oneroso in termini di risorse computazionali, è stato comunque possibile eseguirlo on-line su una Nvidia Jetson TX2 a bordo veicolo con una frequenza di 15 Hz. Dati i buoni risultati ottenuti in fase sperimentale, è stata implementata e testata una semplice legge di guida a waypoint: questo ha permesso al robot di mantenersi sempre al centro del tracciato, guidando in maniera completamente autonoma.
The aim of this thesis is to develop and test a SLAM algorithm, known as FastSLAM, in order to autonomously guide a vehicle in a structured environment: a track delimited by easily detectable square markers.
The algorithm has been validated in a simulated context thanks to the Robotic Operating System framework (ROS): both the dynamics of a generic vehicle and the data acquisition process have been replicated in the simulation. Since the results were satisfying, the system has been tested on a small scale vehicle equipped with an RGBD camera, an IMU and a couple of encoders for the wheels speed measurement. During
this phase the circuit bounds were defined by a set of landmarks, each of them composed of an ArUco marker attached to a vertical support. This choice allowed us to drastically simplify the feature detection process: the AruCo library provides the users the poses of each marker with respect to the camera image plane by simply analyzing video frames.
Even though each marker can be unambiguously identified, this information has been only employed during the experiments to determine whether a marker belongs to the left or right circuit bound; therefore, FastSLAM had to autonomously deal with the data association problem. The real pose of the car has been calculated from aerial shots of the scene comprising two ArUCo markers: one upon the vehicle and one on the ground. Despite the fact that the algorithm is quite resource consuming, it has been possible to run it on-line on the Nvidia Jetson TX2 board at a frequency of 15 Hz. Thanks to the promising results, a simple waypoint based guidance has been developed and, later on, tested on a real case scenario. The vehicle was able to autonomously drive within the track and, in addition, stay in the middle of the roadway.
Inizialmente, l'algoritmo è stato validato simulando in ROS sia la dinamica di un veicolo generico che il processo di acquisizione delle misure. Poiché si sono ottenuti risultati soddisfacenti, il sistema è stato testato sperimentalmente su un veicolo in scala munito di telecamera RGBD, IMU e encoder per la misura della velocità di rotazione delle ruote. In questa fase, il circuito è stato realizzato delimitandone i bordi con dei landmark, composti da alcuni supporti rigidi a cui sono stati fissati dei marker ArUco. Questa scelta ha permesso di semplificare notevolmente il processo di feature detection, in quanto la libreria ArUco permette di determinare la posizione di ogni marker rispetto al piano immagine della telecamera analizzando i frame video acquisiti. Nonostante ogni marker sia identificabile univocamente, ci si è serviti di questa informazione solo per determinarne il bordo di appartenenza; pertanto, il problema di data association è stato risolto autonomamente dal FastSLAM. Le stime, in termini di traiettoria e mappa, sono state poi valutate rispetto ad un ground truth ottenuto a partire da alcune riprese aeree e, nuovamente, sfruttando una coppia di marker ArUco.
Malgrado l'algoritmo sia molto oneroso in termini di risorse computazionali, è stato comunque possibile eseguirlo on-line su una Nvidia Jetson TX2 a bordo veicolo con una frequenza di 15 Hz. Dati i buoni risultati ottenuti in fase sperimentale, è stata implementata e testata una semplice legge di guida a waypoint: questo ha permesso al robot di mantenersi sempre al centro del tracciato, guidando in maniera completamente autonoma.
The aim of this thesis is to develop and test a SLAM algorithm, known as FastSLAM, in order to autonomously guide a vehicle in a structured environment: a track delimited by easily detectable square markers.
The algorithm has been validated in a simulated context thanks to the Robotic Operating System framework (ROS): both the dynamics of a generic vehicle and the data acquisition process have been replicated in the simulation. Since the results were satisfying, the system has been tested on a small scale vehicle equipped with an RGBD camera, an IMU and a couple of encoders for the wheels speed measurement. During
this phase the circuit bounds were defined by a set of landmarks, each of them composed of an ArUco marker attached to a vertical support. This choice allowed us to drastically simplify the feature detection process: the AruCo library provides the users the poses of each marker with respect to the camera image plane by simply analyzing video frames.
Even though each marker can be unambiguously identified, this information has been only employed during the experiments to determine whether a marker belongs to the left or right circuit bound; therefore, FastSLAM had to autonomously deal with the data association problem. The real pose of the car has been calculated from aerial shots of the scene comprising two ArUCo markers: one upon the vehicle and one on the ground. Despite the fact that the algorithm is quite resource consuming, it has been possible to run it on-line on the Nvidia Jetson TX2 board at a frequency of 15 Hz. Thanks to the promising results, a simple waypoint based guidance has been developed and, later on, tested on a real case scenario. The vehicle was able to autonomously drive within the track and, in addition, stay in the middle of the roadway.
File
Nome file | Dimensione |
---|---|
Tesi non consultabile. |