Simultaneous Localization And Mapping(SLAM) - HU-ICT-LAB/RobotWars GitHub Wiki

SLAM introduction

SLAM is like the name says, a type of problem, one where a robot needs to map an environment while simultaneously locating itself within that environment, there are many different algorithms to solve these problems. It's relatively easy when there are no errors in the sensor data, but the real problem is handling sensor noise and drift.

error slam

The basic concept is that the robot is moving through the environment, most of the time an initial movement guess is made using odometry and using this is combined with it's observations to construct a map. Once the robot sees it's at a spot it's been before, it corrects the previous assumptions: making current location, previous path, and map more accurate.

Graph-SLAM

Most modern SLAM-methods are based on graph slam, this makes a loop of all the gathered information. You let the robot do the mapping at the start without thinking about the error. The only difference is that SLAM saves the previous points and the distance to the previous points of the robot. This will continue until the robot finds a similar view as it has seen at its start positions because this means the robot is back in its starting position. If the measured position between these two points is different, then SLAM will make an adjustment by pulling the second point to the starting point, merging them into one. And since all points are connected to each other in a chain, all points will be adjusted at the same time. With this SLAM created a map of the environment and becomes capable of moving itself through this environment.

closing the loop

Sources:

  1. mathworks. (n.d.). What is Slam. Retrieved August 30, 2021, from https://nl.mathworks.com/discovery/slam.html
  2. MATLAB. (2020, August 5). Autonomous Navigation. YouTube. Retrieved October 30, 2021, from https://www.youtube.com/playlist?list=PLn8PRpmsu08rLRGrnF-S6TyGrmcA2X7kg

Related issues

Issues: #55