We use simple particle filter. To understand how it works look at Udacity course by Sebastian Thrun.
We combine data from odometry and lidar (HokuyoLX).
The trickest thing is the weight function of our particle filter. It is based on https://github.com/simama realization.
How it works?
- We filter all data according to intensity rate from Lidar
- For each particle we calculate theoretical data
- We fit theoretical data to real and get error
- We calculate Gaussian function from error (It is our weight, then we normalize it)
- That's all