0
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ Your confusion confuses me. The whole point of state estimation is to take the anticipated statistics of the measurement into account when you do the calculation. So, just do that. It means that you need to calculate each iteration individually, but my understanding of particle filters is that you have to do that anyway. $\endgroup$ – TimWescott Oct 30 '19 at 20:31
  • $\begingroup$ So isn't it a problem if the uncertainty of the sensors varies with time/space? $\endgroup$ – firion Oct 31 '19 at 7:01
  • $\begingroup$ If the uncertainty of the sensors vary in a known way then you take that into account as you run the filter, by plugging the uncertainty into the appropriate parts of the equation. If the uncertainty varies slowly, then there are ways of estimating sensor uncertainty online (but I don't know them -- I just know they're out there to be researched). If you anticipate sharp differences in sensor uncertainty with position, then perhaps you should share some detail about what you mean? $\endgroup$ – TimWescott Oct 31 '19 at 15:14
1
$\begingroup$

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.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.