I want to implement a localization system using particle filter or other bayesian filter. I have a motion model based on odometry and different types of sensors for measurement. During the navigation, some sensors may be more reliable than others depending on the environment. How can I implement the filter by taking all the measurements into account and weighting them by their (varying) reliability?
I implemented many types of particle filter for one sensor. Since your case(i.e sensor fusion) includes multiple sensors, I try to make analogy using KF which I used many times for sensor fusion. In KF you perform time update and measurement update for each upcoming measurement sequentially. And if your measurements are asyncronous you modify your time update matrix each time. Thus, in particle filter it should be the same.
You, first, propagate the particles using time update equation then calculate the measurement likelihood for the corresponding sensor. You need to use timetag of each sensor measurment and likelihood equation should be modified depending on your sensor type.
The rest of the algorithm is the same. You perform resampling if necessary and move on.