ETD system

Electronic theses and dissertations repository


Tesi etd-04042019-114051

Thesis type
Tesi di laurea magistrale
Visual SLAM for Driverless racing vehicle
Corso di studi
relatore Prof. Avizzano, Carlo Alberto
correlatore Prof. Filippeschi, Alessandro
correlatore Dott. Tripicchio, Paolo
Parole chiave
  • rgb-d camera
  • ekf-slam
  • stereo vision
  • ros
  • track detection
  • driverless
  • racing vehicle
  • formula sae
  • visual slam
  • sfm
Data inizio appello
Secretata d'ufficio
Riassunto analitico
This work presents a VSLAM algorithm for Formula SAE and Formula Student Driverless vehicles. Popular VSLAM algorithms are implemented thinking about autonomous agents that can move around and explore an unstructured environment. In this kind of competitions, instead, vehicles have to move along a track delimited by coloured cones. These provide semantic features that can be exploited to simplify the VSLAM pipeline.
Instead of using generic features like SIFT, SURF or ORB, the proposed vision module uses an object detector to get 3D cones location analysing an RGB-D frame. Two different detectors are proposed: YOLO-based and colour-based.
The SLAM module uses the aforementioned 3D locations as landmarks for an EKF-based VSLAM using a vehicle kinematic model. The algorithm implements semantic data association and loop closure at the end of each lap. Also a localization-only mode is provided for events such as Acceleration and Skid Pad, where the track geometry is known a-priori.
The map provided by this VSLAM system is a sparse semantic one and it can be tricky for planning purposes. For this reason, it is used as an input by the track detection module, which connects cones to define track boundaries and the region where the vehicle can drive. Cones may not be detected in order and ordering them based on Euclidean distance may lead to wrong track reconstruction. For this reason, a custom metrics is proposed, aiming to minimize Euclidean distance and maximizing cones collinearity.
The SLAM module was first implemented in MATLAB, testing the correctness. Then the entire system was implemented in ROS, testing it using a RC car and small coloured cones.