|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
The state of a Rao-Blackwellized particle filter (decisions.md [rb-particle-filter]): ParticleGaussianParams, weighted particles for one block with a Gaussian or a hybrid of Gaussians over the rest each, built by particleGaussian() or drawn from a joint Gaussian by drawParticleGaussian(), and its density ParticleGaussian, which gives the collapse. More...
#include <expected>#include <random>#include <span>#include <type_traits>#include <utility>#include <EmrysFilter/Core/Execution.h>#include <EmrysFilter/Core/Macros.h>#include <EmrysFilter/Core/Math.h>#include <EmrysFilter/Core/Print.h>#include <EmrysFilter/Core/Resampling.h>#include <EmrysFilter/Core/Stamp.h>#include <EmrysFilter/Core/Weights.h>#include <EmrysFilter/Distributions/Conditionals.h>#include <EmrysFilter/Distributions/Gaussian.h>#include <EmrysFilter/Distributions/Hybrid.h>#include <EmrysFilter/Distributions/Moments.h>#include <EmrysFilter/Distributions/Params.h>#include <EmrysFilter/Distributions/ParticleSet.h>#include <EmrysFilter/Distributions/SampleSet.h>#include <EmrysFilter/Distributions/Sampling.h>#include <EmrysFilter/Spaces/Space.h>#include <EmrysFilter/Spaces/TagPath.h>Go to the source code of this file.
Classes | |
| class | Emrys::ParticleGaussianParams< Space_, Path_, Covariance_, Scalar_, Allocator_, Component_ > |
| The parameters of a Rao-Blackwellized particle filter's state: weighted particles for one block of the state, each carrying a Gaussian, or a hybrid of Gaussians, over the rest. More... | |
| class | Emrys::ParticleGaussian< Space_, Path_, Covariance_, Scalar_, Allocator_, Component_ > |
| The density of a Rao-Blackwellized particle filter's state, a checked view of its ParticleGaussianParams (decisions.md [params-and-density], [view-stamp]): \( p(x) = \sum_i w_i \, \delta(x_p - p_i) \, \mathcal{N}(x_r; \mu_i, \Sigma_i) \), or with a hybrid per particle, a mixture over its modes in place of each Gaussian. More... | |
Functions | |
| template<typename P, Space S, typename Scalar, typename Allocator, typename Covariance = SharedCovariance> | |
| auto | Emrys::particleGaussian (S space, ParticleSet< typename internal::BlockSplit< S, P >::PinnedSpace, Scalar, Allocator > particles, GaussianParams< typename internal::BlockSplit< S, P >::RestSpace, Scalar > const &conditional, Covariance covariance={}) |
| template<typename P, Space S, typename Scalar, typename Allocator, typename Component, typename ModeSpace, typename HybridAllocator> | |
| auto | Emrys::particleGaussian (S space, ParticleSet< typename internal::BlockSplit< S, P >::PinnedSpace, Scalar, Allocator > particles, HybridParams< Component, ModeSpace, HybridAllocator > const &conditional) |
| template<typename P, typename Covariance = SharedCovariance, typename S, typename Scalar, std::uniform_random_bit_generator G, typename Allocator = DefaultAllocator> | |
| auto | Emrys::drawParticleGaussian (GaussianParams< S, Scalar > const &joint, Eigen::Index count, G &rng, Covariance={}, Allocator const &allocator={}) |
The state of a Rao-Blackwellized particle filter (decisions.md [rb-particle-filter]): ParticleGaussianParams, weighted particles for one block with a Gaussian or a hybrid of Gaussians over the rest each, built by particleGaussian() or drawn from a joint Gaussian by drawParticleGaussian(), and its density ParticleGaussian, which gives the collapse.
Read Models next; the design review is docs/guide/rao-blackwellized-filters.md.