0
$\begingroup$

Firstly I would like to say that I'm no expert in Bayesian Filters such as Kalman Filter and Particle Filter, but I've used the EKF before in a robot that has both wheel encoders and an IMU to localize itself in a map such that it knows its initial position in the map and it worked like a charm. Now I want to build a robot that uses the same sensors as above in addition to a vision sensor (be it a kinect or some kind of a 2d Lidar) that localizes itself in a known map but has no idea of its whereabouts when it starts; I heard that the Particle Filter is used for that kind of work so I have 2 questions:

1- Can I achieve the same thing using just the Kalman Filter?

2- Can I use both of them so that the particle filters will be used until the robot has the highest certainty of a location then "turn it off due to its high computational cost" and feed that location into an EKF as an initial estimate?

$\endgroup$

1 Answer 1

0
$\begingroup$

Answers to questions:

1) Yes you can use a Kalman filter. The trick to doing it is setting the initial covariance to be big enough to cover the whole map.

2) This is also a viable approach. I would probably keep them separate as you described. One advanced trick you could do is that depending on the implementation of the particle filter each particle is an EKF. Once you reach a high enough certainty you could maybe just continue working off of that one particle. The separate approach ,however, sounds a lot easier and is probably the one you should use.

The reason that a particle filter is better for localization over an EKF is that it allows for multiple hypothesis. As you begin to acquire data you could have 3 separate valid locations in the map. The EKF approach will generally force you to only consider 1 of them as valid. If more evidence comes along later that invalidates that choice then you are screwed.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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