Localization¶
Navigation is one of the most challenging competencies required of a mobile robot.
Building blocks of navigation¶
- Perception: Robot must interpret its sensors to extract meaningful data
- Localization: Robot must determine its position in its environment
- Cognition: Robot must decide how to act to achieve its goals
- Motion Control: Robot must modulate its motor outputs to achieve the desired trajectory
Devices relying on localization include IMU, encoders, LiDARs, Ultrasonic sensors, onboard cameras
Methodologies include Markov, Monte Carlo, Kalman Filters
Particle Filter¶
For localization in a known map
Estimate posterior density of state variables given the observation variables
Generic particle filter estimates the posterior distribution of hidden states using observation measurement process
Working principle: Bayesโ Rule
Requirements¶
- Uniformly-distributed particles
- Landmarks
- Object
Concept¶
- Object senses landmarks and generates measurements vector for each landmark
- These measurements are bearing angles, ie angle between object and landmark location
- Since sensors are noisy, bearing noise of gaussian mean 0 is added to the measurements
Steps¶
-
Randomly generate set of particles \(p_i =ย (x_i, y_i, \theta_i)\)
-
Predict next state of particles: Move particles based prediction of how the real system is behaving
-
Update weighting of particles proportional to closeness to object
-
Particles that closely match the measurements are weighted higher
-
Represented with larger area
-
Resample, by replacing highly improbable particles with copies of more probable particles
-
Compute estimate
Optionally, compute weighted means and covariance of set of particles to get a state estimate
Convolution¶
Shifting & flattening of probability distribution of the beliefs
Inexact Motion¶
Incorporate probability of undershooting/overshooting