LAIR- All About Particle Filters

Hi everyone!

 

My name is Hannah, and I am researching under LAIR this summer with Prof. Clark!

 

My partner, Olivia, and I have kicked off the summer with working on a Particle Filter. The basic idea of a particle filter is that it can be used as a localization technique. In our case, we are working on coding up a Particle Filter that will run on our Autonomous Underwater Vehicle (AUV) so that it can estimate the location of a shark the AUV is tracking.

 

 

 

A Particle Filter works by creating a collection of random particles, and each particle is its own estimate of the shark’s position. These random particles have a ‘weight’ or importance factor. The weights associated with each particle are updated according to how close the particle is from the AUV’s most recent measurement of the shark’s position. The equation used for this update is a Gaussian function. An easy way to think of the weight is that a higher weight assumes that the particle has more importance. And thus, we are more likely to ‘listen to’ or follow particles that have a higher importance. Moreover, the greater the weight, the higher the chance of re-selecting the particle for use in a later time step’s shark state estimate calculation.

 

 

 

So far, we have been working on debugging our code such that the updating and re-weighting of the particles is working smoothly. Although we do not yet have a picture of our particle filters working, past teammates have created a de-bugged and successful particle filter.

Below is an image of their particle filters. As you can see over time, the particle filter is getting 'smarter' as the particles cluster towards the shark, the pink circle. Also, the images shows that as the shark is moving, the particles are moving towards the shark. 




References
[1] C. Forney, E. Manii, M. Farris, M. A. Moline, C. G. Lowe, and C. M.
Clark, \Tracking of a tagged leopard shark with an auv: Sensor calibra-
tion and state estimation," in 2012 IEEE International Conference on
Robotics and Automation. IEEE, 2012, pp. 5315{5321.



Comments

  1. This comment has been removed by the author.

    ReplyDelete
  2. For your particle filter, are you constructing it fully from scratch or are you implementing different python libraries (such as https://filterpy.readthedocs.io/en/latest/monte_carlo/resampling.html for the resample part of the particle filter) ? Also, what was the decision process of using a particle filter to estimate the shark's next location compared to using a Kalman filter instead? Thanks

    ReplyDelete

Post a Comment