Bayesian Filtering Library  Generated from SVN r
Bug List
Member AnalyticSystemModelGaussianUncertainty::df_dxGet (const MatrixWrapper::ColumnVector &u, const MatrixWrapper::ColumnVector &x)
Should actually be defined for any continuous system model! There should be a class between this one and system model tout court, not assuming gaussian uncertainty!
Class ConditionalPdf< Var, CondArg >
All conditional arguments should be of the same type T for now!
Member ConditionalPdf< Var, CondArg >::NumConditionalArgumentsSet (unsigned int numconditionalarguments)
will probably give rise to memory allocation problems if you herit from this class and do not redefine this method.
Member EKParticleFilter::EKParticleFilter (MCPdf< ColumnVector > *prior, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS)
prior should be of type pdf and not mcpdf. See also notes with implementation
Class Filter< StateVar, MeasVar >
For now, due to a "bug" (= non-existence of a feature :-) in the ConditionalPdf class, STATES AND INPUTS MUST BE OF THE SAME TYPE (both discrete, or both continuous! This means that you can use this class for the following model types:
  • States, inputs and measurements continuous (most frequently used?)
  • States and inputs continous, Measurements discrete
  • States and inputs discrete, Measurements continous
  • States, inputs and measurements discrete
Member Filter< StateVar, MeasVar >::Filter (const Filter< StateVar, MeasVar > &filt)

we should make a copy of the prior

we should make a copy of the pdf's too

Member FilterProposalDensity::FilterProposalDensity (const FilterProposalDensity &fpd)
Not implemented yet
Member LinearAnalyticConditionalGaussian::NumConditionalArgumentsSet (unsigned int numconditionalarguments)
This method is not implemented, we can ReSize the std::vector<BFL::Matrix>, but we don't know the dimensions of the matrices self. So this will most certainly result in a segfault. Anyway, why would you need this?
Class MixtureParticleFilter< StateVar, MeasVar >
Resampling is not implemented generically enough yet. There's only the possibility to choose between static period resampling and dynamic resampling as proposed by Jun Liu. The correct way of implementing this would be to create a virtual function that has to be implemented by the user, but this creates more hassle for the user (a different particle filter for each scheme).
Member MixtureParticleFilter< StateVar, MeasVar >::DynamicResampleStepOne (int component)
let the user implement her/his own resamplescheme
Member MixtureParticleFilter< StateVar, MeasVar >::MaintainMixtureStep ()
let the user implement her/his own mixture maintaince scheme
Member MixtureParticleFilter< StateVar, MeasVar >::MixtureParticleFilter (Mixture< StateVar > *prior, ConditionalPdf< StateVar, StateVar > *proposal, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS, int maintainMixturePeriod=1)

prior should be of type pdf and not mcpdf. See also notes with implementation

let the user implement her/his own resamplescheme

Member MixtureParticleFilter< StateVar, MeasVar >::MixtureParticleFilter (Mixture< StateVar > *prior, Mixture< StateVar > *post, ConditionalPdf< StateVar, StateVar > *proposal, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS, int maintainMixturePeriod=1)

prior should be of type pdf and not mcpdf. See also notes with implementation

let the user implement her/his own resamplescheme

Member MixtureParticleFilter< StateVar, MeasVar >::MixtureParticleFilter (const MixtureParticleFilter< StateVar, MeasVar > &filt)
implementation probably contains a bug
Member MixtureParticleFilter< StateVar, MeasVar >::ProposalStepInternal (SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Make sampling method variable. See implementation.
Member MixtureParticleFilter< StateVar, MeasVar >::ProposalStepInternalOne (int component, SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Make sampling method variable. See implementation.
Member MixtureParticleFilter< StateVar, MeasVar >::StaticResampleStep ()
let the user implement her/his own resamplescheme
Class NonLinearAnalyticConditionalGaussian_Ginac
: This class is higly biased towards filtering applications.
Member NonLinearAnalyticConditionalGaussian_Ginac::dfGet (unsigned int i) const
only implemented for i = 0 for now (so in a filter context, only the derivative with respect to x is implemented
Class ParticleFilter< StateVar, MeasVar >
Resampling is not implemented generically enough yet. There's only the possibility to choose between static period resampling and dynamic resampling as proposed by Jun Liu. The correct way of implementing this would be to create a virtual function that has to be implemented by the user, but this creates more hassle for the user (a different particle filter for each scheme).
Member ParticleFilter< StateVar, MeasVar >::DynamicResampleStep ()
let the user implement her/his own resamplescheme
Member ParticleFilter< StateVar, MeasVar >::ParticleFilter (MCPdf< StateVar > *prior, ConditionalPdf< StateVar, StateVar > *proposal, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS)

prior should be of type pdf and not mcpdf. See also notes with implementation

let the user implement her/his own resamplescheme

Member ParticleFilter< StateVar, MeasVar >::ParticleFilter (MCPdf< StateVar > *prior, MCPdf< StateVar > *post, ConditionalPdf< StateVar, StateVar > *proposal, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS)

prior should be of type pdf and not mcpdf. See also notes with implementation

let the user implement her/his own resamplescheme

Member ParticleFilter< StateVar, MeasVar >::ParticleFilter (const ParticleFilter< StateVar, MeasVar > &filt)
implementation probably contains a bug
Member ParticleFilter< StateVar, MeasVar >::ProposalStepInternal (SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Make sampling method variable. See implementation.
Member ParticleFilter< StateVar, MeasVar >::StaticResampleStep ()
let the user implement her/his own resamplescheme
Member Pdf< T >::CovarianceGet () const
Discrete pdfs should not be able to use this!
Member Pdf< T >::CovarianceGet () const
Discrete pdfs should not be able to use this!
Member Pdf< T >::SampleFrom (Sample< T > &one_sample, int method=DEFAULT, void *args=NULL) const
Sometimes the compiler doesn't know which method to choose!
Member Pdf< T >::SampleFrom (vector< Sample< T > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const
Sometimes the compiler doesn't know which method to choose!
Member Pdf< T >::SampleFrom (vector< Sample< T > > &list_samples, const unsigned int num_samples, int method=DEFAULT, void *args=NULL) const
Sometimes the compiler doesn't know which method to choose!
Member Pdf< T >::SampleFrom (Sample< T > &one_sample, int method=DEFAULT, void *args=NULL) const
Sometimes the compiler doesn't know which method to choose!
Class SystemModel< T >
Currently supports only systemmodels of the form P(x | x, u), where both u and x are continu or discrete. So it lacks support for mixed systems () and systems with extra parameters. You are welcome to provide an API and implementation for this :-)
Member vector< T, A >::vector (size_type, const array_type &data)
this value is not used