Particle filter using EKF for proposal step. More...
#include <EKparticlefilter.h>

Public Member Functions | |
| EKParticleFilter (MCPdf< ColumnVector > *prior, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS) | |
| Constructor. More... | |
| virtual | ~EKParticleFilter () |
| Destructor. More... | |
Public Member Functions inherited from BFL::ParticleFilter< ColumnVector, ColumnVector > | |
| ParticleFilter (MCPdf< ColumnVector > *prior, ConditionalPdf< ColumnVector, ColumnVector > *proposal, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS) | |
| Constructor. More... | |
| ParticleFilter (MCPdf< ColumnVector > *prior, MCPdf< ColumnVector > *post, ConditionalPdf< ColumnVector, ColumnVector > *proposal, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS) | |
| Constructor. More... | |
| ParticleFilter (const ParticleFilter< ColumnVector, ColumnVector > &filt) | |
| Copy Constructor. More... | |
| virtual MCPdf< ColumnVector > * | PostGet () |
| Get Posterior density. More... | |
| ConditionalPdf< ColumnVector, ColumnVector > * | ProposalGet () |
| Get a pointer to the proposal density. More... | |
| virtual void | ProposalSet (ConditionalPdf< ColumnVector, ColumnVector > *const cpdf) |
| Set the proposal density. More... | |
| virtual | ~ParticleFilter () |
| Destructor. More... | |
Public Member Functions inherited from BFL::Filter< ColumnVector, ColumnVector > | |
| Filter (Pdf< ColumnVector > *prior) | |
| Constructor. More... | |
| Filter (const Filter< ColumnVector, ColumnVector > &filt) | |
| copy constructor More... | |
| virtual void | Reset (Pdf< ColumnVector > *prior) |
| Reset Filter. More... | |
| int | TimeStepGet () const |
| Get current time. More... | |
| virtual bool | Update (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
| Full Update (system with inputs/sensing params) More... | |
| virtual bool | Update (SystemModel< ColumnVector > *const sysmodel, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
| Full Update (system without inputs, with sensing params) More... | |
| virtual bool | Update (SystemModel< ColumnVector > *const sysmodel, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z) |
| Full Update (system without inputs/sensing params) More... | |
| virtual bool | Update (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z) |
| Full Update (system with inputs, without sensing params) More... | |
| virtual bool | Update (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u) |
| System Update (system with inputs) More... | |
| virtual bool | Update (SystemModel< ColumnVector > *const sysmodel) |
| System Update (system without inputs) More... | |
| virtual bool | Update (MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
| Measurement Update (system with "sensing params") More... | |
| virtual bool | Update (MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z) |
| Measurement Update (system without "sensing params") More... | |
| virtual | ~Filter () |
| destructor More... | |
Protected Member Functions | |
| virtual bool | ProposalStepInternal (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
| virtual bool | Resample () |
| Resample also redefined for the same reasons... More... | |
| virtual bool | UpdateInternal (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
| Actual implementation of Update, varies along filters. More... | |
Protected Member Functions inherited from BFL::ParticleFilter< ColumnVector, ColumnVector > | |
| virtual bool | DynamicResampleStep () |
| Resample if necessary. More... | |
| virtual bool | StaticResampleStep () |
| Resample if wanted. More... | |
| virtual bool | UpdateWeightsInternal (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
| Update Weights. More... | |
Protected Attributes | |
| std::vector< SymmetricMatrix >::iterator | _cov_it |
| std::vector< double > | _CumPDF |
| std::vector< double >::const_iterator | _CumPDFit |
| const int | _dimension |
| const int | _num_samples |
| std::vector< WeightedSample< ColumnVector > >::iterator | _oit |
| std::vector< WeightedSample< ColumnVector > > | _old_samples |
| std::vector< WeightedSample< ColumnVector > > | _result_samples |
| std::vector< WeightedSample< ColumnVector > >::iterator | _rit |
| Sample< ColumnVector > | _sample |
| std::vector< SymmetricMatrix > | _sampleCov |
| Sample Covariances for use with EKF Proposal density. More... | |
| std::vector< SymmetricMatrix > | _tmpCov |
| std::vector< SymmetricMatrix >::iterator | _tmpCovit |
| std::vector< double > | _unif_samples |
| ColumnVector | _x_old |
Protected Attributes inherited from BFL::ParticleFilter< ColumnVector, ColumnVector > | |
| bool | _created_post |
| created own post More... | |
| bool | _dynamicResampling |
| Dynamic resampling or fixed period resampling? More... | |
| vector< WeightedSample< ColumnVector > > | _new_samples |
| While updating store list of new samples. More... | |
| vector< Sample< ColumnVector > > | _new_samples_unweighted |
| While resampling. More... | |
| vector< WeightedSample< ColumnVector > >::iterator | _ns_it |
| Iterator for new list of samples. More... | |
| vector< WeightedSample< ColumnVector > > | _old_samples |
| While updating store list of old samples. More... | |
| vector< WeightedSample< ColumnVector > >::iterator | _os_it |
| Iterator for old list of samples. More... | |
| ConditionalPdf< ColumnVector, ColumnVector > * | _proposal |
| Pointer to the Proposal Density. More... | |
| bool | _proposal_depends_on_meas |
| Proposal depends on last measurement? More... | |
| int | _resamplePeriod |
| Number of timestep between resampling from the Posterior Pdf. More... | |
| int | _resampleScheme |
| Which resample algorithm (see top of particle.h for #defines) More... | |
| double | _resampleThreshold |
| Threshold used when dynamic resampling. More... | |
| WeightedSample< ColumnVector > | _sample |
| While updating use sample<StateVar> More... | |
Protected Attributes inherited from BFL::Filter< ColumnVector, ColumnVector > | |
| Pdf< ColumnVector > * | _post |
| Pointer to the Posterior Pdf. More... | |
| Pdf< ColumnVector > * | _prior |
| prior Pdf More... | |
| int | _timestep |
| Represents the current timestep of the filter. More... | |
Particle filter using EKF for proposal step.
NOTE: Only applicable to continuous problems with additive gaussian noise, so the models you specify ... specify should by
Definition at line 35 of file EKparticlefilter.h.
| BFL::EKParticleFilter::EKParticleFilter | ( | MCPdf< ColumnVector > * | prior, |
| int | resampleperiod = 0, |
||
| double | resamplethreshold = 0, |
||
| int | resamplescheme = DEFAULT_RS |
||
| ) |
Constructor.
| prior | pointer to the Monte Carlo Pdf prior density |
| resampleperiod | fixed resampling period (if desired) |
| resamplethreshold | threshold used when dynamic resampling |
| resamplescheme | resampling scheme, see header file for different defines and their meaning |
Definition at line 26 of file EKparticlefilter.cpp.
|
virtual |
Destructor.
Definition at line 50 of file EKparticlefilter.cpp.
|
protectedvirtual |
Proposalstep is redefined here since we have to take into account the sample covariances here!
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 117 of file EKparticlefilter.cpp.
|
protectedvirtual |
Resample also redefined for the same reasons...
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 76 of file EKparticlefilter.cpp.
|
protectedvirtual |
Actual implementation of Update, varies along filters.
| sysmodel | pointer to the used system model |
| u | input param for proposal density |
| measmodel | pointer to the used measurementmodel |
| z | measurement param for proposal density |
| s | sensor param for proposal density |
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 57 of file EKparticlefilter.cpp.
|
protected |
Definition at line 41 of file EKparticlefilter.h.
|
protected |
Definition at line 54 of file EKparticlefilter.h.
|
protected |
Definition at line 55 of file EKparticlefilter.h.
|
protected |
Definition at line 47 of file EKparticlefilter.h.
|
protected |
Definition at line 48 of file EKparticlefilter.h.
|
protected |
Definition at line 50 of file EKparticlefilter.h.
|
protected |
Definition at line 49 of file EKparticlefilter.h.
|
protected |
Definition at line 51 of file EKparticlefilter.h.
|
protected |
Definition at line 52 of file EKparticlefilter.h.
|
protected |
Definition at line 57 of file EKparticlefilter.h.
|
protected |
Sample Covariances for use with EKF Proposal density.
Definition at line 40 of file EKparticlefilter.h.
|
protected |
Definition at line 43 of file EKparticlefilter.h.
|
protected |
Definition at line 44 of file EKparticlefilter.h.
|
protected |
Definition at line 53 of file EKparticlefilter.h.
|
protected |
Definition at line 56 of file EKparticlefilter.h.