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. | |
virtual | ~EKParticleFilter () |
Destructor. | |
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... | |
virtual bool | UpdateInternal (SystemModel< ColumnVector > *const sysmodel, const ColumnVector &u, MeasurementModel< ColumnVector, ColumnVector > *const measmodel, const ColumnVector &z, const ColumnVector &s) |
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 |
While updating store list of old samples. | |
std::vector< WeightedSample < ColumnVector > > | _result_samples |
std::vector< WeightedSample < ColumnVector > >::iterator | _rit |
Sample< ColumnVector > | _sample |
While updating use sample<StateVar> | |
std::vector< SymmetricMatrix > | _sampleCov |
Sample Covariances for use with EKF Proposal density. | |
std::vector< SymmetricMatrix > | _tmpCov |
std::vector< SymmetricMatrix > ::iterator | _tmpCovit |
std::vector< double > | _unif_samples |
ColumnVector | _x_old |
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.
BFL::EKParticleFilter::~EKParticleFilter | ( | ) | [virtual] |
Destructor.
Definition at line 50 of file EKparticlefilter.cpp.
bool BFL::EKParticleFilter::ProposalStepInternal | ( | SystemModel< ColumnVector > *const | sysmodel, |
const ColumnVector & | u, | ||
MeasurementModel< ColumnVector, ColumnVector > *const | measmodel, | ||
const ColumnVector & | z, | ||
const ColumnVector & | s | ||
) | [protected, virtual] |
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.
bool BFL::EKParticleFilter::Resample | ( | ) | [protected, virtual] |
Resample also redefined for the same reasons...
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 76 of file EKparticlefilter.cpp.
bool BFL::EKParticleFilter::UpdateInternal | ( | SystemModel< ColumnVector > *const | sysmodel, |
const ColumnVector & | u, | ||
MeasurementModel< ColumnVector, ColumnVector > *const | measmodel, | ||
const ColumnVector & | z, | ||
const ColumnVector & | s | ||
) | [protected, virtual] |
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 57 of file EKparticlefilter.cpp.
std::vector<SymmetricMatrix>::iterator BFL::EKParticleFilter::_cov_it [protected] |
Definition at line 41 of file EKparticlefilter.h.
std::vector<double> BFL::EKParticleFilter::_CumPDF [protected] |
Definition at line 54 of file EKparticlefilter.h.
std::vector<double>::const_iterator BFL::EKParticleFilter::_CumPDFit [protected] |
Definition at line 55 of file EKparticlefilter.h.
const int BFL::EKParticleFilter::_dimension [protected] |
Definition at line 47 of file EKparticlefilter.h.
const int BFL::EKParticleFilter::_num_samples [protected] |
Definition at line 48 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> >::iterator BFL::EKParticleFilter::_oit [protected] |
Definition at line 50 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> > BFL::EKParticleFilter::_old_samples [protected] |
While updating store list of old samples.
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 49 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> > BFL::EKParticleFilter::_result_samples [protected] |
Definition at line 51 of file EKparticlefilter.h.
std::vector<WeightedSample<ColumnVector> >::iterator BFL::EKParticleFilter::_rit [protected] |
Definition at line 52 of file EKparticlefilter.h.
Sample<ColumnVector> BFL::EKParticleFilter::_sample [protected] |
While updating use sample<StateVar>
Reimplemented from BFL::ParticleFilter< ColumnVector, ColumnVector >.
Definition at line 57 of file EKparticlefilter.h.
std::vector<SymmetricMatrix> BFL::EKParticleFilter::_sampleCov [protected] |
Sample Covariances for use with EKF Proposal density.
Definition at line 40 of file EKparticlefilter.h.
std::vector<SymmetricMatrix> BFL::EKParticleFilter::_tmpCov [protected] |
Definition at line 43 of file EKparticlefilter.h.
std::vector<SymmetricMatrix>::iterator BFL::EKParticleFilter::_tmpCovit [protected] |
Definition at line 44 of file EKparticlefilter.h.
std::vector<double> BFL::EKParticleFilter::_unif_samples [protected] |
Definition at line 53 of file EKparticlefilter.h.
ColumnVector BFL::EKParticleFilter::_x_old [protected] |
Definition at line 56 of file EKparticlefilter.h.