ParticleFilters.jl provides a basic particle filter, along with some useful tools for constructing more complex particle filters. In particular it provides both weighted and unweighted [particle belief types](@ref Beliefs) that implement the POMDPs.jl distribution interface including sampling and automatic caching of probability masses. Additionally, an important requirement for a particle filter is efficient resampling. This package provides O(n) [sampling](@ref Sampling).
Dynamics and measurement models for the filters can be specified with a few functions or a POMDP. The simplest Bootstrap Particle filter can be constructed with BootstrapFilter. BasicParticleFilter provides a more flexible structure.
There are tutorials for three ways to use the particle filters:
- As an [estimator for feedback control](@ref Example:-Feedback-Control),
- to [filter time-series measurements](@ref Example:-Filtering-Preexisting-Data), and
- as an [updater for POMDPs.jl](@ref Example:-Use-with-POMDPs.jl).
For documentation on all aspects of the package, see the contents below.
Pages = Main.page_order