Discussion topics SLAM overview Range and Odometry data Landmarks Data Association Localisation Algorithms Co-operative SLAM
SLAM overview The general Idea Simultaneous Localisation and Mapping Large base of research on the topic Starting with no priori, build a geometric map of the environment
SLAM overview The basic process Move Take range and odometry data Update state with odometry data Update state with previously seen landmarks Update state with new landmarks Repeat
Range and Odometry Data 2 main inputs to a SLAM algorithm used to update the state Odometry data is used to get an estimated position of the robot Range and bearings are nearby landmarks are taken These are passed through the localisation algorithm
Range and Odometry Data 3 common types of scanners. Each with their own problems Laser Scanners Almost perfect, but Expensive! Video cameras Extremely complex algorithms required Highly dependent on lighting conditions Ultrasonic scanners Scan width Multiple reflections and crosstalk
Range and Odometry Data Ultrasonic scanners Scan width is a problem Can be overcome by using Triangulation Based Fusion
Landmarks and Data Association Landmarks are used to correct the estimation of the robot’s position given by odometry data Algorithm implementation is dependent on the type of landmark expected Static vs Dynamic environment
Landmarks and Data Association Landmark Extraction Example – Spike Landmarks A simple algorithm looking for large variations in range readings Good for static environments
Landmarks and Data Association Landmark Extraction Example – RANSAC (Random Sampling Consensus) Tries to identify lines from range scans Good for dynamic indoor environments
Landmarks and Data Association Proper association of landmarks from previous scans is paramount to the success of the algorithm Allows the algorithm to correct its perceived position Makes ‘loop closure’ a possibility Difficulties It may be easy for humans, but not programmatically Odometry and sensor error
Localisation algorithms 2 of the most popular algorithms The Extended Kalman Filter Uses a Kalman filter that is extended to use range data to help correct the position Monte Carlo Localisation Based on Particle Filters Creates a set of random poses (states) Filters out the most unlikely poses recursively
Co-operative SLAM A very new aspect of research in the area of SLAM Various implementations have been tested Simply using a common state and landmark vector A master slave configuration (confirmation of readings)