Adaptive Monte Carlo Localization in ROS
Lauttia, Tuomas (2022)
Lauttia, Tuomas
2022
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-01-27
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202110247781
https://urn.fi/URN:NBN:fi:tuni-202110247781
Tiivistelmä
The purpose of this work was to gain insight into the world of robot localization and to understand the characteristics of the algorithms widely used for this task. The algorithm chosen for inspection was the Adaptive Monte Carlo Localization (AMCL) algorithm. AMCL is one of the most popular algorithms used for robot localization.
AMCL is a probabilistic algorithm that uses a particle filter to estimate the current location and orientation of the robot. The algorithm starts with an initial belief of the robot's pose's probability distribution, which is represented by particles that are distributed according to such belief. As the robot moves, the particles are propagated according to the robot's motion model. Data from the robot's odometry sensors and range finders are used to evaluate the particles based on how likely it is to obtain such sensor readings at the current pose estimate. The particles are then resampled, with the higher-ranked particles having a higher likelihood of being sampled. Eventually, the lower likelihood particles will disappear and the algorithm will converge towards a single cluster of higher likelihood particles. If localization is successful, this would be near the true pose of the robot.
The AMCL algorithm was tested using a randomly selected subset of the HouseExpo dataset. The HouseExpo dataset contains 2D binary maps of indoor areas. The algorithm was tested in the specific case of global localization, where the initial particle filter estimate is a uniform distribution over the entire map. The tests were run using Gazebo for simulating the robot, ROS for communication and controlling the robot and Matlab for running the AMCL algorithm and visualizing the particle filter. The localization process was done 10 times for each map, for a maximum of 100 particle filter updates. The runs were evaluated based on whether the AMCL algorithm converged near the true position of the robot and how many steps it took until convergence.
Overall the AMCL algorithm performed quite well, converging near the true position of the robot 878 times out of 1000 test runs. For 53 of the 100 maps, the algorithm converged to the correct position 10 times out of the 10 test runs. The number of rooms and number of vertices per map doesn't seem to significantly affect whether the algorithm converges to the correct position or not. The test results indicate a slight increase in the average amount of steps required until convergence as the number of rooms increases. Symmetric areas and a high amount of similar-looking rooms seem to cause the most problems for the algorithm.
AMCL is a probabilistic algorithm that uses a particle filter to estimate the current location and orientation of the robot. The algorithm starts with an initial belief of the robot's pose's probability distribution, which is represented by particles that are distributed according to such belief. As the robot moves, the particles are propagated according to the robot's motion model. Data from the robot's odometry sensors and range finders are used to evaluate the particles based on how likely it is to obtain such sensor readings at the current pose estimate. The particles are then resampled, with the higher-ranked particles having a higher likelihood of being sampled. Eventually, the lower likelihood particles will disappear and the algorithm will converge towards a single cluster of higher likelihood particles. If localization is successful, this would be near the true pose of the robot.
The AMCL algorithm was tested using a randomly selected subset of the HouseExpo dataset. The HouseExpo dataset contains 2D binary maps of indoor areas. The algorithm was tested in the specific case of global localization, where the initial particle filter estimate is a uniform distribution over the entire map. The tests were run using Gazebo for simulating the robot, ROS for communication and controlling the robot and Matlab for running the AMCL algorithm and visualizing the particle filter. The localization process was done 10 times for each map, for a maximum of 100 particle filter updates. The runs were evaluated based on whether the AMCL algorithm converged near the true position of the robot and how many steps it took until convergence.
Overall the AMCL algorithm performed quite well, converging near the true position of the robot 878 times out of 1000 test runs. For 53 of the 100 maps, the algorithm converged to the correct position 10 times out of the 10 test runs. The number of rooms and number of vertices per map doesn't seem to significantly affect whether the algorithm converges to the correct position or not. The test results indicate a slight increase in the average amount of steps required until convergence as the number of rooms increases. Symmetric areas and a high amount of similar-looking rooms seem to cause the most problems for the algorithm.
Kokoelmat
- Kandidaatintutkielmat [8997]