Navigation and guidance algorithms for autonomous and robotic vehicles in ROS environment
Gianluca Toscano, Alessandro Serrapica
The objective of the thesis is to research and develop navigation algorithms on a Linux operating system, using the ROS framework. The goal is to obtain, through these tools, a system that autonomously processes and navigates from starting point A to the end point B.
The first part of the work focused on the implementation of an autonomous vehicle simulator. In this regard, we have been looking for the most efficient algorithms in order to implement the Visual Odometry and sensor fusion functionalities through an extended Kalman filter, in order to obtain the odometry of the vehicle in real-time. These algorithms have been implemented within the ROS environment, running on Linux operating system, and have been used for the proper functioning of the Navigation Stack, also run through ROS. In the second phase we moved on to the application part of work, the algorithms studied in the simulation were implemented on a real vehicle on a 1:10 scale. To ensure the correct communication between the low-level controller and the navigation system, scripts in Python language have been developed. In addition, the topic of Linux dependencies, the structure of the operating system of the hardware (ARM64) and the method of installation and configuration of the libraries necessary for the operation of the above-mentioned packages have been studied in depth
To move a robot indoors, algorithms are required to understand where the robot is located and understand which path is best to take within the map. The thesis aims to deepen the prerequisites and implement the control logics related to the Navigation Stack. In particular, the visual odometry algorithm was implemented as a single odometric system
In the first phase of the activity, a bibliographic analysis was carried out on autonomous driving in indoor environments to study the state of the art. Subsequently, a model of an autonomous vehicle of the Ackermann type was developed for simulation tests of ROS applications in the RVIZ environment, a 3D visualization tool. Finally, a visual odometry algorithm was developed, integrated into the ROS and Navigation Stack system and tested on a scale model.
The results obtained through the addition of visual odometry to the autonomous driving algorithms met expectations.
Increasing the accuracy of autonomous driving systems based on ROS framework by integrating algorithms based on additional sensors, such as IMU.