Overview of robot localization strategies
In a recent article, we looked at mapping for mobile robots. So, now the robot is able to build a map, even if partial given the scale of the environment, how does it know where it is?
This can be solved by developing localization strategies and there are a few different ways of approaching this. Let us find out more about what is localization and how does a mobile robot address the localization challenges.
What is robot localization?
Localization, for mobile robots, is the task of determining the robot’s position with respect to its environment. This can be done with the help of various sensors like odometer, camera, LiDAR etc.
Without knowing where the robot currently is with respect to a map, it cannot figure out where it needs to go and how to get there. This is one of many real world deployment challenges one needs to address to be able to have the robots operate.
What are the types of localization?
There are two types of localization, namely local and global localization.
Local localization, sometimes also referred to as dead reckoning or simply position tracking is the process of finding the robot’s position relative to its last known position. This can be done if the initial location of the robot is known apriori along with the distance and direction of the robot motion since.
In real world, often the initial position and orientation of the robot are unknown and hence, local localization may not always be feasible. In such cases, the robot needs to perform global localization.
Global localization is the process of finding the robot’s position relative to the whole environment. For example, if the robot needs to navigate to any place in the environment, it needs to know its position with respect to the map of the environment.
What are the various localization strategies?
Various localization strategies can be used for global and local localization depending on the available data and the environment.
Local localization strategies
Odometry: Odometry calculates the pose of the robot based on the previous pose and the distance and angle travelled from the previous pose. This is an inexpensive and straightforward method, however, it is not a very accurate one since it is prone to systematic and random errors.
Fiducial Localization: Fiducial Localization involves the usage of ArUco markers which are used by the robot to detect its current pose and localize itself.
Received Signal Strength based localization (RSS): RSS based localization uses the signal strength of the wireless signals obtained by the robot to calculate the current position of the robot. For instance, with respect to a known wifi transmitter, the wifi signal strength at the receiver mounted on the robot can be used to estimate location. The farther the receiver/robot from the source, the weaker is the signal received. Similarly, any other wireless signal strength could be potentially used to localize with respect to a known source.
Landmark-based localization: This method uses distinctive landmarks like buildings, trees, traffic signs and so on to determine the robot’s position. The robot needs to have a prior knowledge of the landmark location and it needs to be able to detect the landmarks in real time.
Global localization strategies
Kalman Filter (KF): Kalman filter is a mathematical technique used to estimate the current state of the robot from the noisy measurements. This method takes into account multiple sources of uncertainty and uses a probabilistic approach for the calculations.
Particle Filter (PF): Particle filter is a probabilistic estimation technique used to estimate the location of a mobile robot. This method works by generating multiple particles and assigning a weight to each particle based on the probability of how accurate the current position predicted by the particle is, with respect to the real position of the robot.
Monte Carlo Localization (MCL): Similar to particle filter, MCL also works by generating multiple possible robot positions, but instead of assigning weights to the particles, this method uses probabilistic sampling technique to sample the particles and determine the likelihood of the robot’s position.
Markov Localization: Markov Localization is a Bayesian approach to global robot localization. This method uses a Markov Decision Process (MDP) which approximates the probability of a robot’s position in a given map by making assumptions about the robot’s motion model and sensor model.
Kidnapped Robot Problem (Re-localization)
In perceptually aliased environment, such as similar looking corridors, a robot may mistakenly infer that it is in a certain location when in fact, it might be in a different location in reality. In such cases, the robot needs to re-localize itself to correct for errors. To test how well a robot can re-localize itself and how quickly, it is sometimes subjected to what is known as the kidnapped robot scenario.
This is a very classic formulation of the localization problem, where the robot is teleported to an unknown location in the environment. The robot must then explore the environment to locate itself by making use of the maps it has built.
One might argue that in real world deployments, a robot never really gets kidnapped, but this is just a rigorous test to check the ability of the robot to navigate and localize itself quickly and accurately.
In order for a robot to be able to navigate in its environment, it needs a map of the environment and needs to know its location with respect to the map. Only when it knows where it is, a robot can figure out how to get to its destination and where is the destination on the map.
This article was a high level overview about localization approaches with each approach having its own strengths and weaknesses, which will dictate the choice of the best approach. Depending on the environment and the required accuracy, one must choose the most suitable localization strategy.