-
 
No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.

bfl package from bfl repo

bfl

Package Summary

Tags No category tags.
Version 0.8.0
License LGPL
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-gbp/bfl-release.git
VCS Type git
VCS Version upstream
Last Updated 2019-02-09
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package contains a recent version of the Bayesian Filtering Library (BFL), distributed by the Orocos Project. For stability reasons, this package is currently locked to revision 31655 (April 19, 2010), but this revision will be updated on a regular basis to the latest available BFL trunk. This ROS package does not modify BFL in any way, it simply provides a convenient way to download and compile the library, because BFL is not available from an OS package manager. This ROS package compiles BFL with the Boost library for matrix operations and random number generation.

Additional Links

Maintainers

  • ROS Orphaned Package Maintainers

Authors

  • Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
$Id$
// 
// BFL: BAYESIAN FILTERING LIBRARY
// 
// 
// Copyright (C) 2002/2003/2004 Klaas Gadeyne <first dot last at gmail dot com>
//  
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//  
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//  
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//  

This library encoporates ideas from several available software
libraries:

- Scene (Andrew Davison).  See
<http://www.robots.ox.ac.uk/~ajd/Scene/>

- Bayes++ (from ACFR). See
<http://www.acfr.usyd.edu.au/technology/bayesianfilter/Bayes++.htm> 

- The CES programming library (Sebastian Thrun).  See 
<http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/thrun/public_html/papers/thrun.ces-tr.html>

- Our own research with Bayesian methods for compliant motion problems
<http://www.mech.kuleuven.be/pma/research/manip/default_en.phtml>

It's most important features are:
- Released under the GNU LGPL licence
- Wrapper around matrix and RNG libraries, so you can use your own
  favourite matrix library.
  At 2004/03/02 wrappers exist for
  =================================================
  * The matrix/RNG wrapper library of LTIlib
  <http://ltilib.sourceforge.net/doc/homepage/index.shtml>: a library
  with algorithms and data structures frequently used in image
  processing and computer vision.

  * NEWMAT <http://www.robertnz.net/nm_intro.htm> Matrix Library
  =================================================
  * boost <http://www.boost.org/> RNG


- "Bayesian unifying Design".  This allows to incorporate any Bayesian
  filtering algorithm!

  Currently the following filter schemes are implemented.
  * Standard KF, EKF, IEKF and Non-minimal State KF (See
  <http://people.mech.kuleuven.ac.be/~tlefebvr/publicaties/BayesStat.ps.gz> 

  * Standard Particle filter (arbitrary proposal), BootstrapFilter
  (Proposal = System Model PDF), Auxiliary Particle filter, Extended
  Kalman Particle Filter. 

For further details about the design ideas, see the poster about the
library presented at Valencia 7, a conference about Bayesian
Statistics, available from
<http://people.mech.kuleuven.ac.be/~kgadeyne/doctoraat.html>
Also have a look at the filtering libraries home page
<http://www.orocos.org/bfl>

Tinne De Laet Contributed a tutorial which can be found on the
website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/getting_started_guide.html>
It discusses how to construct your first filter in bfl. 

Wim Meeussen and Tinne De Laet contributed a installation guide which can be
found on the website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/installation_guide/installation_guide.html>



      












CHANGELOG

2008-01-07  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to bug described in bug #475
	* src/pdf/discrepdf.*: changed type of class variable _Values_p to
	vector<Probability>
	* src/filter/histogramfilter.cpp: adapted to changes of discretepdf 
	* tests/pdf_test.cpp: adapted to changes of discretepdf
	* tests/complete_filter_test.cpp: adapted to changes of discretepdf 
	* examples/test_complete_filter.cpp: adapted to changes of discretepdf 
	* examples/discrete_filter/test_discrete_filter.cpp: adapted to changes of discretepdf 

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to enhancement described in bug #472
	* src/filter/histogramfilter.*/: added class for histogram filter 
	* tests/complete_filter_test.*: added tests to test new class
	* examples/discrete_filter/*: added example of histogram filter

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* According to bug # 471, I made the interpretation of dimension unique
	* src/pdf/...: added a class variable _num_states to the discrete pdfs to
	represent the number of discrete states 
	* tests/...: adapted according to changes in pdf
	* examples/...: adapted according to changes in pdf

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/pdf/uniform.*/: added class for uniform distribution
	* tests/pdf_test.*: added tests to test new class

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/rng/rng.*/: added method to sample from uniform distribution with
	lower and upper border given

2007-08-10  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* tests/matrixwrapper_test.cpp: some extra tests added according to bug#441
	and existing test made more thoroughly

2007-05-25  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Singular value decomposition and pseudoinverse added to the matrix wrapper
	(revision 28197)

2007-05-21  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Smoother example included (and thoroughly tested ofcourse)

2007-05-11  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Scythe support re-activated

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add extensive testing for matrix/vector wrapper

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add first support for boost matrix/vector library

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* move experimental branch to new trunk location in orocos repository

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* update documentation for new build system. see bfl/docs/installation_guide.tex

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Finished porting BFL to cmake build system

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Replace the tests in the src folder with the cppunit tests in
	the bfl/tests folder
	* Replace the tests in the src folder with the examples in the
	bfl/examples folder

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Add the examples of the getting started guide to the BFL trunk
	(Klaas should be happy now :-)

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Moved the matrixWrapper into the BFL build system. The namespace
	MatrixWrapper was kept however for backwards compatibility

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* replace all checks and cerr messages by assert
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=331>

2007-05-03  Klaas Gadeyne  <first dot last at fmtc dot be>

	* README and INSTALL: Remove references to scythe and update boost
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=297>

2007-05-02  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: added testLinearAnalytic MeasurementModelGaussianUncertainty 
	* src/model/linearanalyticmeasurementmodel_gaussianuncertainty.h: removed
	typo from comment

2007-05-01  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: removed typo from cpp and added
	testLinearSystemModelGaussianUncertainty to test suite

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discreteconditionalpdf.cpp: removed TODO from indexGet, function
	checked 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* : included linearSystemModelGaussianUncertainty test in
	model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* and tests/pdf_test.*: included mcpdf test in pdf_test
	and discreteSytemModel test im model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: removed operator [] out of
	test files and replaces by () to prevent problems with newmat

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: moved latest version of tests
	files to experimental branch and small changes to work in experimental
	branch 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discretepdf.*: applied path proposed by Klaas Gadeyne proposed on
	the mailinglist on the day of the commit regarding BUG #298. Replaced return
	type of ProbabilitySet by bool (originally void). 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/filter/innovationCheck*:  solved source of warning noticed by Klaas
	Gadeyne and reported on the mailingslist on 2007-04-27.

2007-04-19  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* test/sample_test.*: inserted I adapted the test program a
	little bit in two points:(i) all values are set in the setup phase and not later on (was the case for
	the Sample<int>, (ii) I added tests for Sample<double>

2007-04-18  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* iteratedextendedkalmanfilter*: add convergence test for iterated extended
	kalman filter correction iteration.

2007-02-25  Klaas Gadeyne  <first dot last at gmail dot com>

	* configure.ac, acinclude.m4, doxyfile.in: Add m4 macro that
	checks subversion revision number and uses that for doxygen
	generated docu

2007-02-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add CPPUNIT unit tests to allow regression testing


2006-03-15  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* New test files included (replaces the previous ones (except GINAC):
	The goal of this test file (test_compare_filters.cpp) is to some filters for
	the mobile robot localisation example. A nonlinear system model designed for
	this example is added (nonlinearsystemmodel_gaussianuncertainty_mobile)
	
2005-11-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

2005-06-02  Wim Meeussen  <first dot last at mech dot kuleuven dot ac dot be>

	Lots of changes to improve performance of particle filters and to
	allow the use of hybrid states:
	* Replace std::list<> by std::vector<> to increase performance of
	particle filters.
	* Pass various arguments as reference to eliminate unnecessary
	copies (especially of std::vector<> types containling long lists
	of samples).
	* C++-ify the Sample class.
	* Remove template code that was specifically written for
	ColumnVector type, and replace by template specialization where
	necessary.
	* Fix in Probability class to allow probability of zero.
	
2005-05-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Bring Ginac classes for symbolic derivation back in sync with
	current API.  Thx to Bart Demarsin for extensive testing and
	providing example code.
	* C++-ify some of the code.

2005-05-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Change license from GPL into LGPL everywhere, add a COPYING file
	with test version of the licence and change email address in
	source code copyright.

2005-05-03  Klaas Gadeyne  <first dot last at gmail dot com>

	* Remove if(ptr) before delete ptr in src tree.  See 
	<http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8>

2005-03-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/test/test_compare_filters.cpp (main): fix small typo
	DEFAULT_ROT_SPEED should ofcourse be DEFAULT_NUM_SAMPLES
	* Add documentation in the src/filter/test/ subdirectory about the
	system and measurement model

2005-01-28  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* cvs tag rel-0_4_2
	
2005-01-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add Square Root iterated extended Kalman Filter, provided by
	Peter Slaets <peter dot slaets at hogelimb be>

2005-01-05 Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* Update Use new config file generated by matrix wrapper. Now you
	only need to specify--with-matrix_wrapper=/path and not
	--with-newmat=/path or --with-lti=/path 

2004-12-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix yet another bug by Wim Meeussen in acinclude.m4 for use with
	matrix wrapper
	* Update installation instructions and Makefile for Scythe03
	
2004-11-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp: Add some checks.  Not completely
	general, but general enough for now I guess.

2004-11-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix bug in design.  No class representing Non-Analytical
	Gaussian PDF.

2004-11-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* INSTALL (Note): Add notice about how to run the whole testsuite
	at once
	* Various:  Fix and improve lots of stuff in the test
	subdirectories after rechecking everything.
	* src/sample/test/test_weightedsample.cpp: Add new wrapper stuff
	and fix build system file Makefile.am
	* Fixed bug in EKF code when no system model was present

2004-11-05  Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* src/wrapper/matrix replaced by external matrix library. For
	installation instructions see INSTALL.
	
2004-07-05  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/EKparticlefilter.cpp (Resample): added resampling for
	EK particle filter.
	* API change resize -> ReSize()
	* Fix stuff with mcpdf template stuff
	* cvs tag rel-0_4_1-rc1

2004-07-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First attempt to implement Extended Kalman Particle Filter.
	Resampling not implemented yet.

2004-06-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add extra level between ConditionalGaussian and
	linearconditionalGaussian.  ConditionalGaussian is now more
	general and does not require additive noise anymore.
	* src/pdf/mcpdf.cpp (ListOfSamplesSet): bugfix, forgot to update
	CumPdf
	* src/pdf/mcpdf.cpp (SampleFrom): Performance improvement in
	Ripley sampling

2004-06-21  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ResampleStep): Add dynamic
	resampling algorithm.

2004-06-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Sampling from
	discrete index has to happen _every_ time.  Therefor also split up
	Resample() and ResampleStep in particlefilter class.  + add some
	"static" to params.
	* src/filter/particlefilter.cpp (ProposalStepInternal): Important
	bugfix in proposalstep method.  Forgot to propagate weight! 
	* src/wrappers/matrix.cpp (Pseudoinverse): Fix to make this work
	for non-square matrices (fix by Wim Meeussen).
	* cvs tag rel-0_4_1-pre2

2004-06-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ProposalStepInternal): Use O(N)
	sampling here instead of O(N log(N))
	* Put prereq autoconf version > 2.50 in
	* Since libtool generates problems, only build static libs for now
	by default.
	
2004-06-08  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Hey hey, I can use
	this add-changelog-Entry function from the buffer I'm working in
	:).  Added code for the Auxiliary filter, seems to work fine.  No
	performancetests yet.
	* cvs tag rel-0_4_1-pre1

	* Reworked filter polymorphism implementation.  Should be far more
	clear now.
	* Added IEKF test to test_switch_kf_bootstrapfilter.cpp and
	consequently renamed to test_compare_filters.cpp
	* Preparation for ASIR filter algorithm

2004-06-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Removed old build system Makefiles
	* changed some references to pointers to avoid const problems and
	dirty implementation

2004-??-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
        * Changes:  BFL now compiles with g++-3.4 (tested with version
	from Debian experimental)
	
2004-03-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Heavily tested with all libraries and compilers
	* cvs tag rel-0_4_0

2004-03-26  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Incorporate Support for automake and autoconf
	* Several Minor bugfixes, most due to template specialization
	* Small changes for compiling with gcc-3.4.  This version is ever
	more strict when it comes to C++ standard.  You _need_ a modified
	version of newmat and scythe for this.
	* Rename ORO stuff (oroerr.h etc) into BFL
	* Give constant.h bfl_ prefix
	* cvs tag rel-0_4_0-rc2
	
2004-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor fixes to LTI matrix/vector bindings.  Seems to work now,
	at least all of the tests run fine with both LTI CVS code and
	Newmat 11.
	* Minor modifications to some of the PDF test programs 
	* Remove complete ginac dependency (I guess)
	* cvs tag rel-0_4_0-rc1

2004-03-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add matrix/vector bindings for ltilib
	<http://ltilib.sourceforge.net/doc/homepage/index.shtml>
	Thanks to Jean Bernard Hayet for providing these wrappers
	* Some further elimination of Ginac dependency
	* Adapted INSTALL, README etc with information on ltilib
	

2004-02-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre2

	
2004-02-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Solved mean bugs in new code for particle filters.  They seem to
	be working now.
	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre1
	* move Non-Linear* models to non-linear*_ginac to avoid explicit
	ginac dependency

2004-01-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implemented faster sampling algorithm for MCPdf (O(N)) -> makes
	a big performance difference for particle filters.

2003-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implement a lot of filtering improvements to make stuff even
	more general
	* All code is fully templated now, still some bugs in the discrete
	version though.
	* cvs tag rel-0_4_0-pre1

2003-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Make some modifications to filter implementations (particularly
	to particle filter to make stuff more general.  Still should
	implement some stuff though :-)

2003-10-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in gaussian.cpp
	* Small changes in conditionalpdf to ease debugging
	* Adapt Makefile.Newmat to latest newmat code
	* cvs tag rel-0_2_7

2003-09-01  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* 1 Uniform namespace across all code : BFL
	* cvs tag rel-0_2_6

2003-08-19  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Bugfix in templates for MeasModel code
	* Changed a lot of template class names S and T into something
	more meaningful
	* cvs tag rel-0_2_5

2003-07-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Jan Callewaert added some preliminary files for making
	distributed visualization easier with opendx.  See the HOWTO.
	Some updates to the INSTALL file and small bugfixes too.
	* cvs tag rel-0_2_4

2003-07-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in src/filter/test, and some improvements in the
	Makefile
	* cvs tag rel-0_2_3

2003-05-20  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Serious bugfix: order of variables in systemmodel was fixed
	x = 0, u = 1.  Maybe we should completely rewrite the model
	classes as a particular implementation of pdf.
	* cvs tag rel-0_2_2

2003-05-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Redesign of model classes (Wim Meeussen)
	* cvs tag rel-0_2_1-improved-model-class

2003-04-30  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Full support for Non-minimal state KF of TL (Wim Meeussen)
	* release 0.2.1

2003-04-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Improved Kalman Classes (Wim Meeussen)
	* Improved Documentation
	* release 0.2.0 contains a fully working version of a particle
	filter and both an extended kalman filter and IEKF.

2003-04-03  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Corrected severe bug in SVD in the matrix wrapper
	* Improved API to allow multiple measurementmodels, updated
	asynchronously.  Testprograms should keep running without any
	changes
	* Kalman Filter code is now pretty stable (Wim Meeussen and Johan
	Rutgeerts)

2003-03-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Extended Kalman Filter should now be working, together with the
	non-linear analytical System and Measurement models with additive
	Gaussian uncertainty.  Ginac remains a problem in Debian unstable
	* g++-3.2 transition succesfully survived, release 0.2.0 should be
	arriving pretty soon now :-)

2003-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.1.0 contains support for symbolic manipulation of
	non-linear system and measurements (dependency on ginac library
	for symbolic manipulation) 

2003-02-17   Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.4 contains a more efficient implementation
	of the samplefrom calls of the mcpdf classes and some bugfixes.

2002-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
	
	* Release 0.0.3 contains a significant improvement of the build
	system
	
2002-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre4
	* Reworked the build system to ease the future automake/autoconf
	transition 
	* Added libdir with libbayes.a
	
2002-11-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre3
	* Redesigned conditionalgaussian class (bad design, introduced
	coupling)
	* Eliminated some classes that had become superfluous due to the
	template classes (eg. analyticpdf, linearanalyticpdf, etc)
	* Fully rewrote systemmodel and measurementmodel to eliminate
	coupling (this coupling was due to bad design of
	conditionalgaussian class)
	
2002-10-22  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Converted all base-classes into template ones, allowing for more
	flexibility (discrete systems, hybrid systems)
	
2002-09-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First release (0.0.1_pre1) that does what it must do, without
	Segfaults 


Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
ros
catkin

System Dependencies

Name
cppunit
cmake

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged bfl at Robotics Stack Exchange

bfl package from bfl repo

bfl

Package Summary

Tags No category tags.
Version 0.8.0
License LGPL
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-gbp/bfl-release.git
VCS Type git
VCS Version upstream
Last Updated 2019-02-09
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package contains a recent version of the Bayesian Filtering Library (BFL), distributed by the Orocos Project. For stability reasons, this package is currently locked to revision 31655 (April 19, 2010), but this revision will be updated on a regular basis to the latest available BFL trunk. This ROS package does not modify BFL in any way, it simply provides a convenient way to download and compile the library, because BFL is not available from an OS package manager. This ROS package compiles BFL with the Boost library for matrix operations and random number generation.

Additional Links

Maintainers

  • ROS Orphaned Package Maintainers

Authors

  • Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
$Id$
// 
// BFL: BAYESIAN FILTERING LIBRARY
// 
// 
// Copyright (C) 2002/2003/2004 Klaas Gadeyne <first dot last at gmail dot com>
//  
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//  
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//  
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//  

This library encoporates ideas from several available software
libraries:

- Scene (Andrew Davison).  See
<http://www.robots.ox.ac.uk/~ajd/Scene/>

- Bayes++ (from ACFR). See
<http://www.acfr.usyd.edu.au/technology/bayesianfilter/Bayes++.htm> 

- The CES programming library (Sebastian Thrun).  See 
<http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/thrun/public_html/papers/thrun.ces-tr.html>

- Our own research with Bayesian methods for compliant motion problems
<http://www.mech.kuleuven.be/pma/research/manip/default_en.phtml>

It's most important features are:
- Released under the GNU LGPL licence
- Wrapper around matrix and RNG libraries, so you can use your own
  favourite matrix library.
  At 2004/03/02 wrappers exist for
  =================================================
  * The matrix/RNG wrapper library of LTIlib
  <http://ltilib.sourceforge.net/doc/homepage/index.shtml>: a library
  with algorithms and data structures frequently used in image
  processing and computer vision.

  * NEWMAT <http://www.robertnz.net/nm_intro.htm> Matrix Library
  =================================================
  * boost <http://www.boost.org/> RNG


- "Bayesian unifying Design".  This allows to incorporate any Bayesian
  filtering algorithm!

  Currently the following filter schemes are implemented.
  * Standard KF, EKF, IEKF and Non-minimal State KF (See
  <http://people.mech.kuleuven.ac.be/~tlefebvr/publicaties/BayesStat.ps.gz> 

  * Standard Particle filter (arbitrary proposal), BootstrapFilter
  (Proposal = System Model PDF), Auxiliary Particle filter, Extended
  Kalman Particle Filter. 

For further details about the design ideas, see the poster about the
library presented at Valencia 7, a conference about Bayesian
Statistics, available from
<http://people.mech.kuleuven.ac.be/~kgadeyne/doctoraat.html>
Also have a look at the filtering libraries home page
<http://www.orocos.org/bfl>

Tinne De Laet Contributed a tutorial which can be found on the
website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/getting_started_guide.html>
It discusses how to construct your first filter in bfl. 

Wim Meeussen and Tinne De Laet contributed a installation guide which can be
found on the website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/installation_guide/installation_guide.html>



      












CHANGELOG

2008-01-07  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to bug described in bug #475
	* src/pdf/discrepdf.*: changed type of class variable _Values_p to
	vector<Probability>
	* src/filter/histogramfilter.cpp: adapted to changes of discretepdf 
	* tests/pdf_test.cpp: adapted to changes of discretepdf
	* tests/complete_filter_test.cpp: adapted to changes of discretepdf 
	* examples/test_complete_filter.cpp: adapted to changes of discretepdf 
	* examples/discrete_filter/test_discrete_filter.cpp: adapted to changes of discretepdf 

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to enhancement described in bug #472
	* src/filter/histogramfilter.*/: added class for histogram filter 
	* tests/complete_filter_test.*: added tests to test new class
	* examples/discrete_filter/*: added example of histogram filter

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* According to bug # 471, I made the interpretation of dimension unique
	* src/pdf/...: added a class variable _num_states to the discrete pdfs to
	represent the number of discrete states 
	* tests/...: adapted according to changes in pdf
	* examples/...: adapted according to changes in pdf

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/pdf/uniform.*/: added class for uniform distribution
	* tests/pdf_test.*: added tests to test new class

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/rng/rng.*/: added method to sample from uniform distribution with
	lower and upper border given

2007-08-10  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* tests/matrixwrapper_test.cpp: some extra tests added according to bug#441
	and existing test made more thoroughly

2007-05-25  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Singular value decomposition and pseudoinverse added to the matrix wrapper
	(revision 28197)

2007-05-21  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Smoother example included (and thoroughly tested ofcourse)

2007-05-11  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Scythe support re-activated

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add extensive testing for matrix/vector wrapper

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add first support for boost matrix/vector library

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* move experimental branch to new trunk location in orocos repository

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* update documentation for new build system. see bfl/docs/installation_guide.tex

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Finished porting BFL to cmake build system

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Replace the tests in the src folder with the cppunit tests in
	the bfl/tests folder
	* Replace the tests in the src folder with the examples in the
	bfl/examples folder

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Add the examples of the getting started guide to the BFL trunk
	(Klaas should be happy now :-)

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Moved the matrixWrapper into the BFL build system. The namespace
	MatrixWrapper was kept however for backwards compatibility

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* replace all checks and cerr messages by assert
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=331>

2007-05-03  Klaas Gadeyne  <first dot last at fmtc dot be>

	* README and INSTALL: Remove references to scythe and update boost
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=297>

2007-05-02  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: added testLinearAnalytic MeasurementModelGaussianUncertainty 
	* src/model/linearanalyticmeasurementmodel_gaussianuncertainty.h: removed
	typo from comment

2007-05-01  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: removed typo from cpp and added
	testLinearSystemModelGaussianUncertainty to test suite

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discreteconditionalpdf.cpp: removed TODO from indexGet, function
	checked 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* : included linearSystemModelGaussianUncertainty test in
	model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* and tests/pdf_test.*: included mcpdf test in pdf_test
	and discreteSytemModel test im model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: removed operator [] out of
	test files and replaces by () to prevent problems with newmat

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: moved latest version of tests
	files to experimental branch and small changes to work in experimental
	branch 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discretepdf.*: applied path proposed by Klaas Gadeyne proposed on
	the mailinglist on the day of the commit regarding BUG #298. Replaced return
	type of ProbabilitySet by bool (originally void). 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/filter/innovationCheck*:  solved source of warning noticed by Klaas
	Gadeyne and reported on the mailingslist on 2007-04-27.

2007-04-19  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* test/sample_test.*: inserted I adapted the test program a
	little bit in two points:(i) all values are set in the setup phase and not later on (was the case for
	the Sample<int>, (ii) I added tests for Sample<double>

2007-04-18  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* iteratedextendedkalmanfilter*: add convergence test for iterated extended
	kalman filter correction iteration.

2007-02-25  Klaas Gadeyne  <first dot last at gmail dot com>

	* configure.ac, acinclude.m4, doxyfile.in: Add m4 macro that
	checks subversion revision number and uses that for doxygen
	generated docu

2007-02-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add CPPUNIT unit tests to allow regression testing


2006-03-15  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* New test files included (replaces the previous ones (except GINAC):
	The goal of this test file (test_compare_filters.cpp) is to some filters for
	the mobile robot localisation example. A nonlinear system model designed for
	this example is added (nonlinearsystemmodel_gaussianuncertainty_mobile)
	
2005-11-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

2005-06-02  Wim Meeussen  <first dot last at mech dot kuleuven dot ac dot be>

	Lots of changes to improve performance of particle filters and to
	allow the use of hybrid states:
	* Replace std::list<> by std::vector<> to increase performance of
	particle filters.
	* Pass various arguments as reference to eliminate unnecessary
	copies (especially of std::vector<> types containling long lists
	of samples).
	* C++-ify the Sample class.
	* Remove template code that was specifically written for
	ColumnVector type, and replace by template specialization where
	necessary.
	* Fix in Probability class to allow probability of zero.
	
2005-05-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Bring Ginac classes for symbolic derivation back in sync with
	current API.  Thx to Bart Demarsin for extensive testing and
	providing example code.
	* C++-ify some of the code.

2005-05-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Change license from GPL into LGPL everywhere, add a COPYING file
	with test version of the licence and change email address in
	source code copyright.

2005-05-03  Klaas Gadeyne  <first dot last at gmail dot com>

	* Remove if(ptr) before delete ptr in src tree.  See 
	<http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8>

2005-03-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/test/test_compare_filters.cpp (main): fix small typo
	DEFAULT_ROT_SPEED should ofcourse be DEFAULT_NUM_SAMPLES
	* Add documentation in the src/filter/test/ subdirectory about the
	system and measurement model

2005-01-28  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* cvs tag rel-0_4_2
	
2005-01-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add Square Root iterated extended Kalman Filter, provided by
	Peter Slaets <peter dot slaets at hogelimb be>

2005-01-05 Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* Update Use new config file generated by matrix wrapper. Now you
	only need to specify--with-matrix_wrapper=/path and not
	--with-newmat=/path or --with-lti=/path 

2004-12-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix yet another bug by Wim Meeussen in acinclude.m4 for use with
	matrix wrapper
	* Update installation instructions and Makefile for Scythe03
	
2004-11-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp: Add some checks.  Not completely
	general, but general enough for now I guess.

2004-11-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix bug in design.  No class representing Non-Analytical
	Gaussian PDF.

2004-11-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* INSTALL (Note): Add notice about how to run the whole testsuite
	at once
	* Various:  Fix and improve lots of stuff in the test
	subdirectories after rechecking everything.
	* src/sample/test/test_weightedsample.cpp: Add new wrapper stuff
	and fix build system file Makefile.am
	* Fixed bug in EKF code when no system model was present

2004-11-05  Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* src/wrapper/matrix replaced by external matrix library. For
	installation instructions see INSTALL.
	
2004-07-05  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/EKparticlefilter.cpp (Resample): added resampling for
	EK particle filter.
	* API change resize -> ReSize()
	* Fix stuff with mcpdf template stuff
	* cvs tag rel-0_4_1-rc1

2004-07-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First attempt to implement Extended Kalman Particle Filter.
	Resampling not implemented yet.

2004-06-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add extra level between ConditionalGaussian and
	linearconditionalGaussian.  ConditionalGaussian is now more
	general and does not require additive noise anymore.
	* src/pdf/mcpdf.cpp (ListOfSamplesSet): bugfix, forgot to update
	CumPdf
	* src/pdf/mcpdf.cpp (SampleFrom): Performance improvement in
	Ripley sampling

2004-06-21  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ResampleStep): Add dynamic
	resampling algorithm.

2004-06-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Sampling from
	discrete index has to happen _every_ time.  Therefor also split up
	Resample() and ResampleStep in particlefilter class.  + add some
	"static" to params.
	* src/filter/particlefilter.cpp (ProposalStepInternal): Important
	bugfix in proposalstep method.  Forgot to propagate weight! 
	* src/wrappers/matrix.cpp (Pseudoinverse): Fix to make this work
	for non-square matrices (fix by Wim Meeussen).
	* cvs tag rel-0_4_1-pre2

2004-06-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ProposalStepInternal): Use O(N)
	sampling here instead of O(N log(N))
	* Put prereq autoconf version > 2.50 in
	* Since libtool generates problems, only build static libs for now
	by default.
	
2004-06-08  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Hey hey, I can use
	this add-changelog-Entry function from the buffer I'm working in
	:).  Added code for the Auxiliary filter, seems to work fine.  No
	performancetests yet.
	* cvs tag rel-0_4_1-pre1

	* Reworked filter polymorphism implementation.  Should be far more
	clear now.
	* Added IEKF test to test_switch_kf_bootstrapfilter.cpp and
	consequently renamed to test_compare_filters.cpp
	* Preparation for ASIR filter algorithm

2004-06-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Removed old build system Makefiles
	* changed some references to pointers to avoid const problems and
	dirty implementation

2004-??-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
        * Changes:  BFL now compiles with g++-3.4 (tested with version
	from Debian experimental)
	
2004-03-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Heavily tested with all libraries and compilers
	* cvs tag rel-0_4_0

2004-03-26  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Incorporate Support for automake and autoconf
	* Several Minor bugfixes, most due to template specialization
	* Small changes for compiling with gcc-3.4.  This version is ever
	more strict when it comes to C++ standard.  You _need_ a modified
	version of newmat and scythe for this.
	* Rename ORO stuff (oroerr.h etc) into BFL
	* Give constant.h bfl_ prefix
	* cvs tag rel-0_4_0-rc2
	
2004-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor fixes to LTI matrix/vector bindings.  Seems to work now,
	at least all of the tests run fine with both LTI CVS code and
	Newmat 11.
	* Minor modifications to some of the PDF test programs 
	* Remove complete ginac dependency (I guess)
	* cvs tag rel-0_4_0-rc1

2004-03-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add matrix/vector bindings for ltilib
	<http://ltilib.sourceforge.net/doc/homepage/index.shtml>
	Thanks to Jean Bernard Hayet for providing these wrappers
	* Some further elimination of Ginac dependency
	* Adapted INSTALL, README etc with information on ltilib
	

2004-02-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre2

	
2004-02-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Solved mean bugs in new code for particle filters.  They seem to
	be working now.
	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre1
	* move Non-Linear* models to non-linear*_ginac to avoid explicit
	ginac dependency

2004-01-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implemented faster sampling algorithm for MCPdf (O(N)) -> makes
	a big performance difference for particle filters.

2003-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implement a lot of filtering improvements to make stuff even
	more general
	* All code is fully templated now, still some bugs in the discrete
	version though.
	* cvs tag rel-0_4_0-pre1

2003-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Make some modifications to filter implementations (particularly
	to particle filter to make stuff more general.  Still should
	implement some stuff though :-)

2003-10-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in gaussian.cpp
	* Small changes in conditionalpdf to ease debugging
	* Adapt Makefile.Newmat to latest newmat code
	* cvs tag rel-0_2_7

2003-09-01  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* 1 Uniform namespace across all code : BFL
	* cvs tag rel-0_2_6

2003-08-19  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Bugfix in templates for MeasModel code
	* Changed a lot of template class names S and T into something
	more meaningful
	* cvs tag rel-0_2_5

2003-07-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Jan Callewaert added some preliminary files for making
	distributed visualization easier with opendx.  See the HOWTO.
	Some updates to the INSTALL file and small bugfixes too.
	* cvs tag rel-0_2_4

2003-07-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in src/filter/test, and some improvements in the
	Makefile
	* cvs tag rel-0_2_3

2003-05-20  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Serious bugfix: order of variables in systemmodel was fixed
	x = 0, u = 1.  Maybe we should completely rewrite the model
	classes as a particular implementation of pdf.
	* cvs tag rel-0_2_2

2003-05-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Redesign of model classes (Wim Meeussen)
	* cvs tag rel-0_2_1-improved-model-class

2003-04-30  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Full support for Non-minimal state KF of TL (Wim Meeussen)
	* release 0.2.1

2003-04-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Improved Kalman Classes (Wim Meeussen)
	* Improved Documentation
	* release 0.2.0 contains a fully working version of a particle
	filter and both an extended kalman filter and IEKF.

2003-04-03  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Corrected severe bug in SVD in the matrix wrapper
	* Improved API to allow multiple measurementmodels, updated
	asynchronously.  Testprograms should keep running without any
	changes
	* Kalman Filter code is now pretty stable (Wim Meeussen and Johan
	Rutgeerts)

2003-03-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Extended Kalman Filter should now be working, together with the
	non-linear analytical System and Measurement models with additive
	Gaussian uncertainty.  Ginac remains a problem in Debian unstable
	* g++-3.2 transition succesfully survived, release 0.2.0 should be
	arriving pretty soon now :-)

2003-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.1.0 contains support for symbolic manipulation of
	non-linear system and measurements (dependency on ginac library
	for symbolic manipulation) 

2003-02-17   Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.4 contains a more efficient implementation
	of the samplefrom calls of the mcpdf classes and some bugfixes.

2002-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
	
	* Release 0.0.3 contains a significant improvement of the build
	system
	
2002-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre4
	* Reworked the build system to ease the future automake/autoconf
	transition 
	* Added libdir with libbayes.a
	
2002-11-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre3
	* Redesigned conditionalgaussian class (bad design, introduced
	coupling)
	* Eliminated some classes that had become superfluous due to the
	template classes (eg. analyticpdf, linearanalyticpdf, etc)
	* Fully rewrote systemmodel and measurementmodel to eliminate
	coupling (this coupling was due to bad design of
	conditionalgaussian class)
	
2002-10-22  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Converted all base-classes into template ones, allowing for more
	flexibility (discrete systems, hybrid systems)
	
2002-09-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First release (0.0.1_pre1) that does what it must do, without
	Segfaults 


Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged bfl at Robotics Stack Exchange

bfl package from bfl repo

bfl

Package Summary

Tags No category tags.
Version 0.8.0
License LGPL
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-gbp/bfl-release.git
VCS Type git
VCS Version upstream
Last Updated 2019-02-09
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package contains a recent version of the Bayesian Filtering Library (BFL), distributed by the Orocos Project. For stability reasons, this package is currently locked to revision 31655 (April 19, 2010), but this revision will be updated on a regular basis to the latest available BFL trunk. This ROS package does not modify BFL in any way, it simply provides a convenient way to download and compile the library, because BFL is not available from an OS package manager. This ROS package compiles BFL with the Boost library for matrix operations and random number generation.

Additional Links

Maintainers

  • ROS Orphaned Package Maintainers

Authors

  • Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
$Id$
// 
// BFL: BAYESIAN FILTERING LIBRARY
// 
// 
// Copyright (C) 2002/2003/2004 Klaas Gadeyne <first dot last at gmail dot com>
//  
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//  
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//  
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//  

This library encoporates ideas from several available software
libraries:

- Scene (Andrew Davison).  See
<http://www.robots.ox.ac.uk/~ajd/Scene/>

- Bayes++ (from ACFR). See
<http://www.acfr.usyd.edu.au/technology/bayesianfilter/Bayes++.htm> 

- The CES programming library (Sebastian Thrun).  See 
<http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/thrun/public_html/papers/thrun.ces-tr.html>

- Our own research with Bayesian methods for compliant motion problems
<http://www.mech.kuleuven.be/pma/research/manip/default_en.phtml>

It's most important features are:
- Released under the GNU LGPL licence
- Wrapper around matrix and RNG libraries, so you can use your own
  favourite matrix library.
  At 2004/03/02 wrappers exist for
  =================================================
  * The matrix/RNG wrapper library of LTIlib
  <http://ltilib.sourceforge.net/doc/homepage/index.shtml>: a library
  with algorithms and data structures frequently used in image
  processing and computer vision.

  * NEWMAT <http://www.robertnz.net/nm_intro.htm> Matrix Library
  =================================================
  * boost <http://www.boost.org/> RNG


- "Bayesian unifying Design".  This allows to incorporate any Bayesian
  filtering algorithm!

  Currently the following filter schemes are implemented.
  * Standard KF, EKF, IEKF and Non-minimal State KF (See
  <http://people.mech.kuleuven.ac.be/~tlefebvr/publicaties/BayesStat.ps.gz> 

  * Standard Particle filter (arbitrary proposal), BootstrapFilter
  (Proposal = System Model PDF), Auxiliary Particle filter, Extended
  Kalman Particle Filter. 

For further details about the design ideas, see the poster about the
library presented at Valencia 7, a conference about Bayesian
Statistics, available from
<http://people.mech.kuleuven.ac.be/~kgadeyne/doctoraat.html>
Also have a look at the filtering libraries home page
<http://www.orocos.org/bfl>

Tinne De Laet Contributed a tutorial which can be found on the
website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/getting_started_guide.html>
It discusses how to construct your first filter in bfl. 

Wim Meeussen and Tinne De Laet contributed a installation guide which can be
found on the website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/installation_guide/installation_guide.html>



      












CHANGELOG

2008-01-07  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to bug described in bug #475
	* src/pdf/discrepdf.*: changed type of class variable _Values_p to
	vector<Probability>
	* src/filter/histogramfilter.cpp: adapted to changes of discretepdf 
	* tests/pdf_test.cpp: adapted to changes of discretepdf
	* tests/complete_filter_test.cpp: adapted to changes of discretepdf 
	* examples/test_complete_filter.cpp: adapted to changes of discretepdf 
	* examples/discrete_filter/test_discrete_filter.cpp: adapted to changes of discretepdf 

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to enhancement described in bug #472
	* src/filter/histogramfilter.*/: added class for histogram filter 
	* tests/complete_filter_test.*: added tests to test new class
	* examples/discrete_filter/*: added example of histogram filter

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* According to bug # 471, I made the interpretation of dimension unique
	* src/pdf/...: added a class variable _num_states to the discrete pdfs to
	represent the number of discrete states 
	* tests/...: adapted according to changes in pdf
	* examples/...: adapted according to changes in pdf

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/pdf/uniform.*/: added class for uniform distribution
	* tests/pdf_test.*: added tests to test new class

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/rng/rng.*/: added method to sample from uniform distribution with
	lower and upper border given

2007-08-10  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* tests/matrixwrapper_test.cpp: some extra tests added according to bug#441
	and existing test made more thoroughly

2007-05-25  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Singular value decomposition and pseudoinverse added to the matrix wrapper
	(revision 28197)

2007-05-21  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Smoother example included (and thoroughly tested ofcourse)

2007-05-11  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Scythe support re-activated

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add extensive testing for matrix/vector wrapper

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add first support for boost matrix/vector library

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* move experimental branch to new trunk location in orocos repository

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* update documentation for new build system. see bfl/docs/installation_guide.tex

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Finished porting BFL to cmake build system

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Replace the tests in the src folder with the cppunit tests in
	the bfl/tests folder
	* Replace the tests in the src folder with the examples in the
	bfl/examples folder

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Add the examples of the getting started guide to the BFL trunk
	(Klaas should be happy now :-)

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Moved the matrixWrapper into the BFL build system. The namespace
	MatrixWrapper was kept however for backwards compatibility

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* replace all checks and cerr messages by assert
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=331>

2007-05-03  Klaas Gadeyne  <first dot last at fmtc dot be>

	* README and INSTALL: Remove references to scythe and update boost
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=297>

2007-05-02  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: added testLinearAnalytic MeasurementModelGaussianUncertainty 
	* src/model/linearanalyticmeasurementmodel_gaussianuncertainty.h: removed
	typo from comment

2007-05-01  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: removed typo from cpp and added
	testLinearSystemModelGaussianUncertainty to test suite

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discreteconditionalpdf.cpp: removed TODO from indexGet, function
	checked 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* : included linearSystemModelGaussianUncertainty test in
	model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* and tests/pdf_test.*: included mcpdf test in pdf_test
	and discreteSytemModel test im model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: removed operator [] out of
	test files and replaces by () to prevent problems with newmat

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: moved latest version of tests
	files to experimental branch and small changes to work in experimental
	branch 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discretepdf.*: applied path proposed by Klaas Gadeyne proposed on
	the mailinglist on the day of the commit regarding BUG #298. Replaced return
	type of ProbabilitySet by bool (originally void). 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/filter/innovationCheck*:  solved source of warning noticed by Klaas
	Gadeyne and reported on the mailingslist on 2007-04-27.

2007-04-19  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* test/sample_test.*: inserted I adapted the test program a
	little bit in two points:(i) all values are set in the setup phase and not later on (was the case for
	the Sample<int>, (ii) I added tests for Sample<double>

2007-04-18  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* iteratedextendedkalmanfilter*: add convergence test for iterated extended
	kalman filter correction iteration.

2007-02-25  Klaas Gadeyne  <first dot last at gmail dot com>

	* configure.ac, acinclude.m4, doxyfile.in: Add m4 macro that
	checks subversion revision number and uses that for doxygen
	generated docu

2007-02-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add CPPUNIT unit tests to allow regression testing


2006-03-15  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* New test files included (replaces the previous ones (except GINAC):
	The goal of this test file (test_compare_filters.cpp) is to some filters for
	the mobile robot localisation example. A nonlinear system model designed for
	this example is added (nonlinearsystemmodel_gaussianuncertainty_mobile)
	
2005-11-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

2005-06-02  Wim Meeussen  <first dot last at mech dot kuleuven dot ac dot be>

	Lots of changes to improve performance of particle filters and to
	allow the use of hybrid states:
	* Replace std::list<> by std::vector<> to increase performance of
	particle filters.
	* Pass various arguments as reference to eliminate unnecessary
	copies (especially of std::vector<> types containling long lists
	of samples).
	* C++-ify the Sample class.
	* Remove template code that was specifically written for
	ColumnVector type, and replace by template specialization where
	necessary.
	* Fix in Probability class to allow probability of zero.
	
2005-05-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Bring Ginac classes for symbolic derivation back in sync with
	current API.  Thx to Bart Demarsin for extensive testing and
	providing example code.
	* C++-ify some of the code.

2005-05-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Change license from GPL into LGPL everywhere, add a COPYING file
	with test version of the licence and change email address in
	source code copyright.

2005-05-03  Klaas Gadeyne  <first dot last at gmail dot com>

	* Remove if(ptr) before delete ptr in src tree.  See 
	<http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8>

2005-03-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/test/test_compare_filters.cpp (main): fix small typo
	DEFAULT_ROT_SPEED should ofcourse be DEFAULT_NUM_SAMPLES
	* Add documentation in the src/filter/test/ subdirectory about the
	system and measurement model

2005-01-28  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* cvs tag rel-0_4_2
	
2005-01-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add Square Root iterated extended Kalman Filter, provided by
	Peter Slaets <peter dot slaets at hogelimb be>

2005-01-05 Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* Update Use new config file generated by matrix wrapper. Now you
	only need to specify--with-matrix_wrapper=/path and not
	--with-newmat=/path or --with-lti=/path 

2004-12-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix yet another bug by Wim Meeussen in acinclude.m4 for use with
	matrix wrapper
	* Update installation instructions and Makefile for Scythe03
	
2004-11-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp: Add some checks.  Not completely
	general, but general enough for now I guess.

2004-11-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix bug in design.  No class representing Non-Analytical
	Gaussian PDF.

2004-11-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* INSTALL (Note): Add notice about how to run the whole testsuite
	at once
	* Various:  Fix and improve lots of stuff in the test
	subdirectories after rechecking everything.
	* src/sample/test/test_weightedsample.cpp: Add new wrapper stuff
	and fix build system file Makefile.am
	* Fixed bug in EKF code when no system model was present

2004-11-05  Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* src/wrapper/matrix replaced by external matrix library. For
	installation instructions see INSTALL.
	
2004-07-05  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/EKparticlefilter.cpp (Resample): added resampling for
	EK particle filter.
	* API change resize -> ReSize()
	* Fix stuff with mcpdf template stuff
	* cvs tag rel-0_4_1-rc1

2004-07-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First attempt to implement Extended Kalman Particle Filter.
	Resampling not implemented yet.

2004-06-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add extra level between ConditionalGaussian and
	linearconditionalGaussian.  ConditionalGaussian is now more
	general and does not require additive noise anymore.
	* src/pdf/mcpdf.cpp (ListOfSamplesSet): bugfix, forgot to update
	CumPdf
	* src/pdf/mcpdf.cpp (SampleFrom): Performance improvement in
	Ripley sampling

2004-06-21  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ResampleStep): Add dynamic
	resampling algorithm.

2004-06-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Sampling from
	discrete index has to happen _every_ time.  Therefor also split up
	Resample() and ResampleStep in particlefilter class.  + add some
	"static" to params.
	* src/filter/particlefilter.cpp (ProposalStepInternal): Important
	bugfix in proposalstep method.  Forgot to propagate weight! 
	* src/wrappers/matrix.cpp (Pseudoinverse): Fix to make this work
	for non-square matrices (fix by Wim Meeussen).
	* cvs tag rel-0_4_1-pre2

2004-06-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ProposalStepInternal): Use O(N)
	sampling here instead of O(N log(N))
	* Put prereq autoconf version > 2.50 in
	* Since libtool generates problems, only build static libs for now
	by default.
	
2004-06-08  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Hey hey, I can use
	this add-changelog-Entry function from the buffer I'm working in
	:).  Added code for the Auxiliary filter, seems to work fine.  No
	performancetests yet.
	* cvs tag rel-0_4_1-pre1

	* Reworked filter polymorphism implementation.  Should be far more
	clear now.
	* Added IEKF test to test_switch_kf_bootstrapfilter.cpp and
	consequently renamed to test_compare_filters.cpp
	* Preparation for ASIR filter algorithm

2004-06-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Removed old build system Makefiles
	* changed some references to pointers to avoid const problems and
	dirty implementation

2004-??-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
        * Changes:  BFL now compiles with g++-3.4 (tested with version
	from Debian experimental)
	
2004-03-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Heavily tested with all libraries and compilers
	* cvs tag rel-0_4_0

2004-03-26  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Incorporate Support for automake and autoconf
	* Several Minor bugfixes, most due to template specialization
	* Small changes for compiling with gcc-3.4.  This version is ever
	more strict when it comes to C++ standard.  You _need_ a modified
	version of newmat and scythe for this.
	* Rename ORO stuff (oroerr.h etc) into BFL
	* Give constant.h bfl_ prefix
	* cvs tag rel-0_4_0-rc2
	
2004-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor fixes to LTI matrix/vector bindings.  Seems to work now,
	at least all of the tests run fine with both LTI CVS code and
	Newmat 11.
	* Minor modifications to some of the PDF test programs 
	* Remove complete ginac dependency (I guess)
	* cvs tag rel-0_4_0-rc1

2004-03-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add matrix/vector bindings for ltilib
	<http://ltilib.sourceforge.net/doc/homepage/index.shtml>
	Thanks to Jean Bernard Hayet for providing these wrappers
	* Some further elimination of Ginac dependency
	* Adapted INSTALL, README etc with information on ltilib
	

2004-02-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre2

	
2004-02-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Solved mean bugs in new code for particle filters.  They seem to
	be working now.
	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre1
	* move Non-Linear* models to non-linear*_ginac to avoid explicit
	ginac dependency

2004-01-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implemented faster sampling algorithm for MCPdf (O(N)) -> makes
	a big performance difference for particle filters.

2003-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implement a lot of filtering improvements to make stuff even
	more general
	* All code is fully templated now, still some bugs in the discrete
	version though.
	* cvs tag rel-0_4_0-pre1

2003-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Make some modifications to filter implementations (particularly
	to particle filter to make stuff more general.  Still should
	implement some stuff though :-)

2003-10-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in gaussian.cpp
	* Small changes in conditionalpdf to ease debugging
	* Adapt Makefile.Newmat to latest newmat code
	* cvs tag rel-0_2_7

2003-09-01  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* 1 Uniform namespace across all code : BFL
	* cvs tag rel-0_2_6

2003-08-19  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Bugfix in templates for MeasModel code
	* Changed a lot of template class names S and T into something
	more meaningful
	* cvs tag rel-0_2_5

2003-07-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Jan Callewaert added some preliminary files for making
	distributed visualization easier with opendx.  See the HOWTO.
	Some updates to the INSTALL file and small bugfixes too.
	* cvs tag rel-0_2_4

2003-07-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in src/filter/test, and some improvements in the
	Makefile
	* cvs tag rel-0_2_3

2003-05-20  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Serious bugfix: order of variables in systemmodel was fixed
	x = 0, u = 1.  Maybe we should completely rewrite the model
	classes as a particular implementation of pdf.
	* cvs tag rel-0_2_2

2003-05-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Redesign of model classes (Wim Meeussen)
	* cvs tag rel-0_2_1-improved-model-class

2003-04-30  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Full support for Non-minimal state KF of TL (Wim Meeussen)
	* release 0.2.1

2003-04-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Improved Kalman Classes (Wim Meeussen)
	* Improved Documentation
	* release 0.2.0 contains a fully working version of a particle
	filter and both an extended kalman filter and IEKF.

2003-04-03  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Corrected severe bug in SVD in the matrix wrapper
	* Improved API to allow multiple measurementmodels, updated
	asynchronously.  Testprograms should keep running without any
	changes
	* Kalman Filter code is now pretty stable (Wim Meeussen and Johan
	Rutgeerts)

2003-03-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Extended Kalman Filter should now be working, together with the
	non-linear analytical System and Measurement models with additive
	Gaussian uncertainty.  Ginac remains a problem in Debian unstable
	* g++-3.2 transition succesfully survived, release 0.2.0 should be
	arriving pretty soon now :-)

2003-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.1.0 contains support for symbolic manipulation of
	non-linear system and measurements (dependency on ginac library
	for symbolic manipulation) 

2003-02-17   Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.4 contains a more efficient implementation
	of the samplefrom calls of the mcpdf classes and some bugfixes.

2002-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
	
	* Release 0.0.3 contains a significant improvement of the build
	system
	
2002-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre4
	* Reworked the build system to ease the future automake/autoconf
	transition 
	* Added libdir with libbayes.a
	
2002-11-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre3
	* Redesigned conditionalgaussian class (bad design, introduced
	coupling)
	* Eliminated some classes that had become superfluous due to the
	template classes (eg. analyticpdf, linearanalyticpdf, etc)
	* Fully rewrote systemmodel and measurementmodel to eliminate
	coupling (this coupling was due to bad design of
	conditionalgaussian class)
	
2002-10-22  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Converted all base-classes into template ones, allowing for more
	flexibility (discrete systems, hybrid systems)
	
2002-09-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First release (0.0.1_pre1) that does what it must do, without
	Segfaults 


Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged bfl at Robotics Stack Exchange

bfl package from bfl repo

bfl

Package Summary

Tags No category tags.
Version 0.8.0
License LGPL
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-gbp/bfl-release.git
VCS Type git
VCS Version upstream
Last Updated 2019-02-09
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package contains a recent version of the Bayesian Filtering Library (BFL), distributed by the Orocos Project. For stability reasons, this package is currently locked to revision 31655 (April 19, 2010), but this revision will be updated on a regular basis to the latest available BFL trunk. This ROS package does not modify BFL in any way, it simply provides a convenient way to download and compile the library, because BFL is not available from an OS package manager. This ROS package compiles BFL with the Boost library for matrix operations and random number generation.

Additional Links

Maintainers

  • ROS Orphaned Package Maintainers

Authors

  • Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
$Id$
// 
// BFL: BAYESIAN FILTERING LIBRARY
// 
// 
// Copyright (C) 2002/2003/2004 Klaas Gadeyne <first dot last at gmail dot com>
//  
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//  
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//  
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//  

This library encoporates ideas from several available software
libraries:

- Scene (Andrew Davison).  See
<http://www.robots.ox.ac.uk/~ajd/Scene/>

- Bayes++ (from ACFR). See
<http://www.acfr.usyd.edu.au/technology/bayesianfilter/Bayes++.htm> 

- The CES programming library (Sebastian Thrun).  See 
<http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/thrun/public_html/papers/thrun.ces-tr.html>

- Our own research with Bayesian methods for compliant motion problems
<http://www.mech.kuleuven.be/pma/research/manip/default_en.phtml>

It's most important features are:
- Released under the GNU LGPL licence
- Wrapper around matrix and RNG libraries, so you can use your own
  favourite matrix library.
  At 2004/03/02 wrappers exist for
  =================================================
  * The matrix/RNG wrapper library of LTIlib
  <http://ltilib.sourceforge.net/doc/homepage/index.shtml>: a library
  with algorithms and data structures frequently used in image
  processing and computer vision.

  * NEWMAT <http://www.robertnz.net/nm_intro.htm> Matrix Library
  =================================================
  * boost <http://www.boost.org/> RNG


- "Bayesian unifying Design".  This allows to incorporate any Bayesian
  filtering algorithm!

  Currently the following filter schemes are implemented.
  * Standard KF, EKF, IEKF and Non-minimal State KF (See
  <http://people.mech.kuleuven.ac.be/~tlefebvr/publicaties/BayesStat.ps.gz> 

  * Standard Particle filter (arbitrary proposal), BootstrapFilter
  (Proposal = System Model PDF), Auxiliary Particle filter, Extended
  Kalman Particle Filter. 

For further details about the design ideas, see the poster about the
library presented at Valencia 7, a conference about Bayesian
Statistics, available from
<http://people.mech.kuleuven.ac.be/~kgadeyne/doctoraat.html>
Also have a look at the filtering libraries home page
<http://www.orocos.org/bfl>

Tinne De Laet Contributed a tutorial which can be found on the
website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/getting_started_guide.html>
It discusses how to construct your first filter in bfl. 

Wim Meeussen and Tinne De Laet contributed a installation guide which can be
found on the website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/installation_guide/installation_guide.html>



      












CHANGELOG

2008-01-07  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to bug described in bug #475
	* src/pdf/discrepdf.*: changed type of class variable _Values_p to
	vector<Probability>
	* src/filter/histogramfilter.cpp: adapted to changes of discretepdf 
	* tests/pdf_test.cpp: adapted to changes of discretepdf
	* tests/complete_filter_test.cpp: adapted to changes of discretepdf 
	* examples/test_complete_filter.cpp: adapted to changes of discretepdf 
	* examples/discrete_filter/test_discrete_filter.cpp: adapted to changes of discretepdf 

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to enhancement described in bug #472
	* src/filter/histogramfilter.*/: added class for histogram filter 
	* tests/complete_filter_test.*: added tests to test new class
	* examples/discrete_filter/*: added example of histogram filter

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* According to bug # 471, I made the interpretation of dimension unique
	* src/pdf/...: added a class variable _num_states to the discrete pdfs to
	represent the number of discrete states 
	* tests/...: adapted according to changes in pdf
	* examples/...: adapted according to changes in pdf

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/pdf/uniform.*/: added class for uniform distribution
	* tests/pdf_test.*: added tests to test new class

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/rng/rng.*/: added method to sample from uniform distribution with
	lower and upper border given

2007-08-10  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* tests/matrixwrapper_test.cpp: some extra tests added according to bug#441
	and existing test made more thoroughly

2007-05-25  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Singular value decomposition and pseudoinverse added to the matrix wrapper
	(revision 28197)

2007-05-21  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Smoother example included (and thoroughly tested ofcourse)

2007-05-11  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Scythe support re-activated

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add extensive testing for matrix/vector wrapper

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add first support for boost matrix/vector library

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* move experimental branch to new trunk location in orocos repository

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* update documentation for new build system. see bfl/docs/installation_guide.tex

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Finished porting BFL to cmake build system

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Replace the tests in the src folder with the cppunit tests in
	the bfl/tests folder
	* Replace the tests in the src folder with the examples in the
	bfl/examples folder

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Add the examples of the getting started guide to the BFL trunk
	(Klaas should be happy now :-)

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Moved the matrixWrapper into the BFL build system. The namespace
	MatrixWrapper was kept however for backwards compatibility

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* replace all checks and cerr messages by assert
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=331>

2007-05-03  Klaas Gadeyne  <first dot last at fmtc dot be>

	* README and INSTALL: Remove references to scythe and update boost
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=297>

2007-05-02  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: added testLinearAnalytic MeasurementModelGaussianUncertainty 
	* src/model/linearanalyticmeasurementmodel_gaussianuncertainty.h: removed
	typo from comment

2007-05-01  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: removed typo from cpp and added
	testLinearSystemModelGaussianUncertainty to test suite

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discreteconditionalpdf.cpp: removed TODO from indexGet, function
	checked 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* : included linearSystemModelGaussianUncertainty test in
	model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* and tests/pdf_test.*: included mcpdf test in pdf_test
	and discreteSytemModel test im model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: removed operator [] out of
	test files and replaces by () to prevent problems with newmat

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: moved latest version of tests
	files to experimental branch and small changes to work in experimental
	branch 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discretepdf.*: applied path proposed by Klaas Gadeyne proposed on
	the mailinglist on the day of the commit regarding BUG #298. Replaced return
	type of ProbabilitySet by bool (originally void). 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/filter/innovationCheck*:  solved source of warning noticed by Klaas
	Gadeyne and reported on the mailingslist on 2007-04-27.

2007-04-19  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* test/sample_test.*: inserted I adapted the test program a
	little bit in two points:(i) all values are set in the setup phase and not later on (was the case for
	the Sample<int>, (ii) I added tests for Sample<double>

2007-04-18  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* iteratedextendedkalmanfilter*: add convergence test for iterated extended
	kalman filter correction iteration.

2007-02-25  Klaas Gadeyne  <first dot last at gmail dot com>

	* configure.ac, acinclude.m4, doxyfile.in: Add m4 macro that
	checks subversion revision number and uses that for doxygen
	generated docu

2007-02-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add CPPUNIT unit tests to allow regression testing


2006-03-15  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* New test files included (replaces the previous ones (except GINAC):
	The goal of this test file (test_compare_filters.cpp) is to some filters for
	the mobile robot localisation example. A nonlinear system model designed for
	this example is added (nonlinearsystemmodel_gaussianuncertainty_mobile)
	
2005-11-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

2005-06-02  Wim Meeussen  <first dot last at mech dot kuleuven dot ac dot be>

	Lots of changes to improve performance of particle filters and to
	allow the use of hybrid states:
	* Replace std::list<> by std::vector<> to increase performance of
	particle filters.
	* Pass various arguments as reference to eliminate unnecessary
	copies (especially of std::vector<> types containling long lists
	of samples).
	* C++-ify the Sample class.
	* Remove template code that was specifically written for
	ColumnVector type, and replace by template specialization where
	necessary.
	* Fix in Probability class to allow probability of zero.
	
2005-05-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Bring Ginac classes for symbolic derivation back in sync with
	current API.  Thx to Bart Demarsin for extensive testing and
	providing example code.
	* C++-ify some of the code.

2005-05-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Change license from GPL into LGPL everywhere, add a COPYING file
	with test version of the licence and change email address in
	source code copyright.

2005-05-03  Klaas Gadeyne  <first dot last at gmail dot com>

	* Remove if(ptr) before delete ptr in src tree.  See 
	<http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8>

2005-03-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/test/test_compare_filters.cpp (main): fix small typo
	DEFAULT_ROT_SPEED should ofcourse be DEFAULT_NUM_SAMPLES
	* Add documentation in the src/filter/test/ subdirectory about the
	system and measurement model

2005-01-28  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* cvs tag rel-0_4_2
	
2005-01-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add Square Root iterated extended Kalman Filter, provided by
	Peter Slaets <peter dot slaets at hogelimb be>

2005-01-05 Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* Update Use new config file generated by matrix wrapper. Now you
	only need to specify--with-matrix_wrapper=/path and not
	--with-newmat=/path or --with-lti=/path 

2004-12-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix yet another bug by Wim Meeussen in acinclude.m4 for use with
	matrix wrapper
	* Update installation instructions and Makefile for Scythe03
	
2004-11-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp: Add some checks.  Not completely
	general, but general enough for now I guess.

2004-11-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix bug in design.  No class representing Non-Analytical
	Gaussian PDF.

2004-11-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* INSTALL (Note): Add notice about how to run the whole testsuite
	at once
	* Various:  Fix and improve lots of stuff in the test
	subdirectories after rechecking everything.
	* src/sample/test/test_weightedsample.cpp: Add new wrapper stuff
	and fix build system file Makefile.am
	* Fixed bug in EKF code when no system model was present

2004-11-05  Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* src/wrapper/matrix replaced by external matrix library. For
	installation instructions see INSTALL.
	
2004-07-05  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/EKparticlefilter.cpp (Resample): added resampling for
	EK particle filter.
	* API change resize -> ReSize()
	* Fix stuff with mcpdf template stuff
	* cvs tag rel-0_4_1-rc1

2004-07-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First attempt to implement Extended Kalman Particle Filter.
	Resampling not implemented yet.

2004-06-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add extra level between ConditionalGaussian and
	linearconditionalGaussian.  ConditionalGaussian is now more
	general and does not require additive noise anymore.
	* src/pdf/mcpdf.cpp (ListOfSamplesSet): bugfix, forgot to update
	CumPdf
	* src/pdf/mcpdf.cpp (SampleFrom): Performance improvement in
	Ripley sampling

2004-06-21  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ResampleStep): Add dynamic
	resampling algorithm.

2004-06-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Sampling from
	discrete index has to happen _every_ time.  Therefor also split up
	Resample() and ResampleStep in particlefilter class.  + add some
	"static" to params.
	* src/filter/particlefilter.cpp (ProposalStepInternal): Important
	bugfix in proposalstep method.  Forgot to propagate weight! 
	* src/wrappers/matrix.cpp (Pseudoinverse): Fix to make this work
	for non-square matrices (fix by Wim Meeussen).
	* cvs tag rel-0_4_1-pre2

2004-06-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ProposalStepInternal): Use O(N)
	sampling here instead of O(N log(N))
	* Put prereq autoconf version > 2.50 in
	* Since libtool generates problems, only build static libs for now
	by default.
	
2004-06-08  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Hey hey, I can use
	this add-changelog-Entry function from the buffer I'm working in
	:).  Added code for the Auxiliary filter, seems to work fine.  No
	performancetests yet.
	* cvs tag rel-0_4_1-pre1

	* Reworked filter polymorphism implementation.  Should be far more
	clear now.
	* Added IEKF test to test_switch_kf_bootstrapfilter.cpp and
	consequently renamed to test_compare_filters.cpp
	* Preparation for ASIR filter algorithm

2004-06-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Removed old build system Makefiles
	* changed some references to pointers to avoid const problems and
	dirty implementation

2004-??-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
        * Changes:  BFL now compiles with g++-3.4 (tested with version
	from Debian experimental)
	
2004-03-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Heavily tested with all libraries and compilers
	* cvs tag rel-0_4_0

2004-03-26  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Incorporate Support for automake and autoconf
	* Several Minor bugfixes, most due to template specialization
	* Small changes for compiling with gcc-3.4.  This version is ever
	more strict when it comes to C++ standard.  You _need_ a modified
	version of newmat and scythe for this.
	* Rename ORO stuff (oroerr.h etc) into BFL
	* Give constant.h bfl_ prefix
	* cvs tag rel-0_4_0-rc2
	
2004-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor fixes to LTI matrix/vector bindings.  Seems to work now,
	at least all of the tests run fine with both LTI CVS code and
	Newmat 11.
	* Minor modifications to some of the PDF test programs 
	* Remove complete ginac dependency (I guess)
	* cvs tag rel-0_4_0-rc1

2004-03-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add matrix/vector bindings for ltilib
	<http://ltilib.sourceforge.net/doc/homepage/index.shtml>
	Thanks to Jean Bernard Hayet for providing these wrappers
	* Some further elimination of Ginac dependency
	* Adapted INSTALL, README etc with information on ltilib
	

2004-02-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre2

	
2004-02-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Solved mean bugs in new code for particle filters.  They seem to
	be working now.
	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre1
	* move Non-Linear* models to non-linear*_ginac to avoid explicit
	ginac dependency

2004-01-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implemented faster sampling algorithm for MCPdf (O(N)) -> makes
	a big performance difference for particle filters.

2003-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implement a lot of filtering improvements to make stuff even
	more general
	* All code is fully templated now, still some bugs in the discrete
	version though.
	* cvs tag rel-0_4_0-pre1

2003-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Make some modifications to filter implementations (particularly
	to particle filter to make stuff more general.  Still should
	implement some stuff though :-)

2003-10-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in gaussian.cpp
	* Small changes in conditionalpdf to ease debugging
	* Adapt Makefile.Newmat to latest newmat code
	* cvs tag rel-0_2_7

2003-09-01  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* 1 Uniform namespace across all code : BFL
	* cvs tag rel-0_2_6

2003-08-19  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Bugfix in templates for MeasModel code
	* Changed a lot of template class names S and T into something
	more meaningful
	* cvs tag rel-0_2_5

2003-07-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Jan Callewaert added some preliminary files for making
	distributed visualization easier with opendx.  See the HOWTO.
	Some updates to the INSTALL file and small bugfixes too.
	* cvs tag rel-0_2_4

2003-07-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in src/filter/test, and some improvements in the
	Makefile
	* cvs tag rel-0_2_3

2003-05-20  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Serious bugfix: order of variables in systemmodel was fixed
	x = 0, u = 1.  Maybe we should completely rewrite the model
	classes as a particular implementation of pdf.
	* cvs tag rel-0_2_2

2003-05-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Redesign of model classes (Wim Meeussen)
	* cvs tag rel-0_2_1-improved-model-class

2003-04-30  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Full support for Non-minimal state KF of TL (Wim Meeussen)
	* release 0.2.1

2003-04-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Improved Kalman Classes (Wim Meeussen)
	* Improved Documentation
	* release 0.2.0 contains a fully working version of a particle
	filter and both an extended kalman filter and IEKF.

2003-04-03  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Corrected severe bug in SVD in the matrix wrapper
	* Improved API to allow multiple measurementmodels, updated
	asynchronously.  Testprograms should keep running without any
	changes
	* Kalman Filter code is now pretty stable (Wim Meeussen and Johan
	Rutgeerts)

2003-03-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Extended Kalman Filter should now be working, together with the
	non-linear analytical System and Measurement models with additive
	Gaussian uncertainty.  Ginac remains a problem in Debian unstable
	* g++-3.2 transition succesfully survived, release 0.2.0 should be
	arriving pretty soon now :-)

2003-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.1.0 contains support for symbolic manipulation of
	non-linear system and measurements (dependency on ginac library
	for symbolic manipulation) 

2003-02-17   Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.4 contains a more efficient implementation
	of the samplefrom calls of the mcpdf classes and some bugfixes.

2002-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
	
	* Release 0.0.3 contains a significant improvement of the build
	system
	
2002-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre4
	* Reworked the build system to ease the future automake/autoconf
	transition 
	* Added libdir with libbayes.a
	
2002-11-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre3
	* Redesigned conditionalgaussian class (bad design, introduced
	coupling)
	* Eliminated some classes that had become superfluous due to the
	template classes (eg. analyticpdf, linearanalyticpdf, etc)
	* Fully rewrote systemmodel and measurementmodel to eliminate
	coupling (this coupling was due to bad design of
	conditionalgaussian class)
	
2002-10-22  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Converted all base-classes into template ones, allowing for more
	flexibility (discrete systems, hybrid systems)
	
2002-09-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First release (0.0.1_pre1) that does what it must do, without
	Segfaults 


Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
ros
catkin

System Dependencies

Name
cppunit
cmake

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged bfl at Robotics Stack Exchange

bfl package from bfl repo

bfl

Package Summary

Tags No category tags.
Version 0.8.0
License LGPL
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-gbp/bfl-release.git
VCS Type git
VCS Version upstream
Last Updated 2019-02-09
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

This package contains a recent version of the Bayesian Filtering Library (BFL), distributed by the Orocos Project. For stability reasons, this package is currently locked to revision 31655 (April 19, 2010), but this revision will be updated on a regular basis to the latest available BFL trunk. This ROS package does not modify BFL in any way, it simply provides a convenient way to download and compile the library, because BFL is not available from an OS package manager. This ROS package compiles BFL with the Boost library for matrix operations and random number generation.

Additional Links

Maintainers

  • ROS Orphaned Package Maintainers

Authors

  • Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
$Id$
// 
// BFL: BAYESIAN FILTERING LIBRARY
// 
// 
// Copyright (C) 2002/2003/2004 Klaas Gadeyne <first dot last at gmail dot com>
//  
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//  
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//  
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//  

This library encoporates ideas from several available software
libraries:

- Scene (Andrew Davison).  See
<http://www.robots.ox.ac.uk/~ajd/Scene/>

- Bayes++ (from ACFR). See
<http://www.acfr.usyd.edu.au/technology/bayesianfilter/Bayes++.htm> 

- The CES programming library (Sebastian Thrun).  See 
<http://www-2.cs.cmu.edu/afs/cs.cmu.edu/user/thrun/public_html/papers/thrun.ces-tr.html>

- Our own research with Bayesian methods for compliant motion problems
<http://www.mech.kuleuven.be/pma/research/manip/default_en.phtml>

It's most important features are:
- Released under the GNU LGPL licence
- Wrapper around matrix and RNG libraries, so you can use your own
  favourite matrix library.
  At 2004/03/02 wrappers exist for
  =================================================
  * The matrix/RNG wrapper library of LTIlib
  <http://ltilib.sourceforge.net/doc/homepage/index.shtml>: a library
  with algorithms and data structures frequently used in image
  processing and computer vision.

  * NEWMAT <http://www.robertnz.net/nm_intro.htm> Matrix Library
  =================================================
  * boost <http://www.boost.org/> RNG


- "Bayesian unifying Design".  This allows to incorporate any Bayesian
  filtering algorithm!

  Currently the following filter schemes are implemented.
  * Standard KF, EKF, IEKF and Non-minimal State KF (See
  <http://people.mech.kuleuven.ac.be/~tlefebvr/publicaties/BayesStat.ps.gz> 

  * Standard Particle filter (arbitrary proposal), BootstrapFilter
  (Proposal = System Model PDF), Auxiliary Particle filter, Extended
  Kalman Particle Filter. 

For further details about the design ideas, see the poster about the
library presented at Valencia 7, a conference about Bayesian
Statistics, available from
<http://people.mech.kuleuven.ac.be/~kgadeyne/doctoraat.html>
Also have a look at the filtering libraries home page
<http://www.orocos.org/bfl>

Tinne De Laet Contributed a tutorial which can be found on the
website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/getting_started_guide/getting_started_guide.html>
It discusses how to construct your first filter in bfl. 

Wim Meeussen and Tinne De Laet contributed a installation guide which can be
found on the website.
<http://people.mech.kuleuven.be/~tdelaet/bfl_doc/installation_guide/installation_guide.html>



      












CHANGELOG

2008-01-07  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to bug described in bug #475
	* src/pdf/discrepdf.*: changed type of class variable _Values_p to
	vector<Probability>
	* src/filter/histogramfilter.cpp: adapted to changes of discretepdf 
	* tests/pdf_test.cpp: adapted to changes of discretepdf
	* tests/complete_filter_test.cpp: adapted to changes of discretepdf 
	* examples/test_complete_filter.cpp: adapted to changes of discretepdf 
	* examples/discrete_filter/test_discrete_filter.cpp: adapted to changes of discretepdf 

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Related to enhancement described in bug #472
	* src/filter/histogramfilter.*/: added class for histogram filter 
	* tests/complete_filter_test.*: added tests to test new class
	* examples/discrete_filter/*: added example of histogram filter

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* According to bug # 471, I made the interpretation of dimension unique
	* src/pdf/...: added a class variable _num_states to the discrete pdfs to
	represent the number of discrete states 
	* tests/...: adapted according to changes in pdf
	* examples/...: adapted according to changes in pdf

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/pdf/uniform.*/: added class for uniform distribution
	* tests/pdf_test.*: added tests to test new class

2007-12-20  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* src/rng/rng.*/: added method to sample from uniform distribution with
	lower and upper border given

2007-08-10  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* tests/matrixwrapper_test.cpp: some extra tests added according to bug#441
	and existing test made more thoroughly

2007-05-25  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Singular value decomposition and pseudoinverse added to the matrix wrapper
	(revision 28197)

2007-05-21  Tinne De Laet <first dot last at mech dot kuleuven dot be>
	* Smoother example included (and thoroughly tested ofcourse)

2007-05-11  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Scythe support re-activated

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add extensive testing for matrix/vector wrapper

2007-05-10  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* add first support for boost matrix/vector library

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* move experimental branch to new trunk location in orocos repository

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* update documentation for new build system. see bfl/docs/installation_guide.tex

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Finished porting BFL to cmake build system

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Replace the tests in the src folder with the cppunit tests in
	the bfl/tests folder
	* Replace the tests in the src folder with the examples in the
	bfl/examples folder

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Add the examples of the getting started guide to the BFL trunk
	(Klaas should be happy now :-)

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* Moved the matrixWrapper into the BFL build system. The namespace
	MatrixWrapper was kept however for backwards compatibility

2007-05-03  Wim Meeussen <first dot last at mech dot kuleuven dot be>
	* replace all checks and cerr messages by assert
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=331>

2007-05-03  Klaas Gadeyne  <first dot last at fmtc dot be>

	* README and INSTALL: Remove references to scythe and update boost
	info, see <https://www.fmtc.be/orocos-bugzilla/show_bug.cgi?id=297>

2007-05-02  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: added testLinearAnalytic MeasurementModelGaussianUncertainty 
	* src/model/linearanalyticmeasurementmodel_gaussianuncertainty.h: removed
	typo from comment

2007-05-01  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.*: removed typo from cpp and added
	testLinearSystemModelGaussianUncertainty to test suite

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discreteconditionalpdf.cpp: removed TODO from indexGet, function
	checked 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* : included linearSystemModelGaussianUncertainty test in
	model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/model_test.* and tests/pdf_test.*: included mcpdf test in pdf_test
	and discreteSytemModel test im model_test

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: removed operator [] out of
	test files and replaces by () to prevent problems with newmat

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* tests/pdf_test.* and tests/sample_test.cpp: moved latest version of tests
	files to experimental branch and small changes to work in experimental
	branch 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/pdf/discretepdf.*: applied path proposed by Klaas Gadeyne proposed on
	the mailinglist on the day of the commit regarding BUG #298. Replaced return
	type of ProbabilitySet by bool (originally void). 

2007-04-30  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* src/filter/innovationCheck*:  solved source of warning noticed by Klaas
	Gadeyne and reported on the mailingslist on 2007-04-27.

2007-04-19  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* test/sample_test.*: inserted I adapted the test program a
	little bit in two points:(i) all values are set in the setup phase and not later on (was the case for
	the Sample<int>, (ii) I added tests for Sample<double>

2007-04-18  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* iteratedextendedkalmanfilter*: add convergence test for iterated extended
	kalman filter correction iteration.

2007-02-25  Klaas Gadeyne  <first dot last at gmail dot com>

	* configure.ac, acinclude.m4, doxyfile.in: Add m4 macro that
	checks subversion revision number and uses that for doxygen
	generated docu

2007-02-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add CPPUNIT unit tests to allow regression testing


2006-03-15  Tinne De Laet  <first dot last at mech dot kuleuven dot be>

	* New test files included (replaces the previous ones (except GINAC):
	The goal of this test file (test_compare_filters.cpp) is to some filters for
	the mobile robot localisation example. A nonlinear system model designed for
	this example is added (nonlinearsystemmodel_gaussianuncertainty_mobile)
	
2005-11-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

	* Add m4 macro's to allow enabling/disabling of the ginac code
	* Wrap lti RNG generator classes: this reduces the dependency of
	BFL to 1 lib and should avoid too much installation problems for
	non-programmers.

2005-06-02  Wim Meeussen  <first dot last at mech dot kuleuven dot ac dot be>

	Lots of changes to improve performance of particle filters and to
	allow the use of hybrid states:
	* Replace std::list<> by std::vector<> to increase performance of
	particle filters.
	* Pass various arguments as reference to eliminate unnecessary
	copies (especially of std::vector<> types containling long lists
	of samples).
	* C++-ify the Sample class.
	* Remove template code that was specifically written for
	ColumnVector type, and replace by template specialization where
	necessary.
	* Fix in Probability class to allow probability of zero.
	
2005-05-19  Klaas Gadeyne  <first dot last at gmail dot com>

	* Bring Ginac classes for symbolic derivation back in sync with
	current API.  Thx to Bart Demarsin for extensive testing and
	providing example code.
	* C++-ify some of the code.

2005-05-06  Klaas Gadeyne  <first dot last at gmail dot com>

	* Change license from GPL into LGPL everywhere, add a COPYING file
	with test version of the licence and change email address in
	source code copyright.

2005-05-03  Klaas Gadeyne  <first dot last at gmail dot com>

	* Remove if(ptr) before delete ptr in src tree.  See 
	<http://www.parashift.com/c++-faq-lite/freestore-mgmt.html#faq-16.8>

2005-03-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/test/test_compare_filters.cpp (main): fix small typo
	DEFAULT_ROT_SPEED should ofcourse be DEFAULT_NUM_SAMPLES
	* Add documentation in the src/filter/test/ subdirectory about the
	system and measurement model

2005-01-28  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* cvs tag rel-0_4_2
	
2005-01-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add Square Root iterated extended Kalman Filter, provided by
	Peter Slaets <peter dot slaets at hogelimb be>

2005-01-05 Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* Update Use new config file generated by matrix wrapper. Now you
	only need to specify--with-matrix_wrapper=/path and not
	--with-newmat=/path or --with-lti=/path 

2004-12-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix yet another bug by Wim Meeussen in acinclude.m4 for use with
	matrix wrapper
	* Update installation instructions and Makefile for Scythe03
	
2004-11-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp: Add some checks.  Not completely
	general, but general enough for now I guess.

2004-11-12  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Fix bug in design.  No class representing Non-Analytical
	Gaussian PDF.

2004-11-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* INSTALL (Note): Add notice about how to run the whole testsuite
	at once
	* Various:  Fix and improve lots of stuff in the test
	subdirectories after rechecking everything.
	* src/sample/test/test_weightedsample.cpp: Add new wrapper stuff
	and fix build system file Makefile.am
	* Fixed bug in EKF code when no system model was present

2004-11-05  Wim Meeussen  <wim dot meeussen at mech dot kuleuven dot ac dot be>

	* src/wrapper/matrix replaced by external matrix library. For
	installation instructions see INSTALL.
	
2004-07-05  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/EKparticlefilter.cpp (Resample): added resampling for
	EK particle filter.
	* API change resize -> ReSize()
	* Fix stuff with mcpdf template stuff
	* cvs tag rel-0_4_1-rc1

2004-07-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First attempt to implement Extended Kalman Particle Filter.
	Resampling not implemented yet.

2004-06-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add extra level between ConditionalGaussian and
	linearconditionalGaussian.  ConditionalGaussian is now more
	general and does not require additive noise anymore.
	* src/pdf/mcpdf.cpp (ListOfSamplesSet): bugfix, forgot to update
	CumPdf
	* src/pdf/mcpdf.cpp (SampleFrom): Performance improvement in
	Ripley sampling

2004-06-21  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ResampleStep): Add dynamic
	resampling algorithm.

2004-06-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Sampling from
	discrete index has to happen _every_ time.  Therefor also split up
	Resample() and ResampleStep in particlefilter class.  + add some
	"static" to params.
	* src/filter/particlefilter.cpp (ProposalStepInternal): Important
	bugfix in proposalstep method.  Forgot to propagate weight! 
	* src/wrappers/matrix.cpp (Pseudoinverse): Fix to make this work
	for non-square matrices (fix by Wim Meeussen).
	* cvs tag rel-0_4_1-pre2

2004-06-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/particlefilter.cpp (ProposalStepInternal): Use O(N)
	sampling here instead of O(N log(N))
	* Put prereq autoconf version > 2.50 in
	* Since libtool generates problems, only build static libs for now
	by default.
	
2004-06-08  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* src/filter/asirfilter.cpp (UpdateInternal): Hey hey, I can use
	this add-changelog-Entry function from the buffer I'm working in
	:).  Added code for the Auxiliary filter, seems to work fine.  No
	performancetests yet.
	* cvs tag rel-0_4_1-pre1

	* Reworked filter polymorphism implementation.  Should be far more
	clear now.
	* Added IEKF test to test_switch_kf_bootstrapfilter.cpp and
	consequently renamed to test_compare_filters.cpp
	* Preparation for ASIR filter algorithm

2004-06-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Removed old build system Makefiles
	* changed some references to pointers to avoid const problems and
	dirty implementation

2004-??-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
        * Changes:  BFL now compiles with g++-3.4 (tested with version
	from Debian experimental)
	
2004-03-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Heavily tested with all libraries and compilers
	* cvs tag rel-0_4_0

2004-03-26  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Incorporate Support for automake and autoconf
	* Several Minor bugfixes, most due to template specialization
	* Small changes for compiling with gcc-3.4.  This version is ever
	more strict when it comes to C++ standard.  You _need_ a modified
	version of newmat and scythe for this.
	* Rename ORO stuff (oroerr.h etc) into BFL
	* Give constant.h bfl_ prefix
	* cvs tag rel-0_4_0-rc2
	
2004-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor fixes to LTI matrix/vector bindings.  Seems to work now,
	at least all of the tests run fine with both LTI CVS code and
	Newmat 11.
	* Minor modifications to some of the PDF test programs 
	* Remove complete ginac dependency (I guess)
	* cvs tag rel-0_4_0-rc1

2004-03-02  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Add matrix/vector bindings for ltilib
	<http://ltilib.sourceforge.net/doc/homepage/index.shtml>
	Thanks to Jean Bernard Hayet for providing these wrappers
	* Some further elimination of Ginac dependency
	* Adapted INSTALL, README etc with information on ltilib
	

2004-02-??  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre2

	
2004-02-10  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Solved mean bugs in new code for particle filters.  They seem to
	be working now.
	* Minor Bug fixes and clearer comments
	* cvs tag rel-0_4_0-pre1
	* move Non-Linear* models to non-linear*_ginac to avoid explicit
	ginac dependency

2004-01-09  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implemented faster sampling algorithm for MCPdf (O(N)) -> makes
	a big performance difference for particle filters.

2003-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Implement a lot of filtering improvements to make stuff even
	more general
	* All code is fully templated now, still some bugs in the discrete
	version though.
	* cvs tag rel-0_4_0-pre1

2003-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Make some modifications to filter implementations (particularly
	to particle filter to make stuff more general.  Still should
	implement some stuff though :-)

2003-10-07  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in gaussian.cpp
	* Small changes in conditionalpdf to ease debugging
	* Adapt Makefile.Newmat to latest newmat code
	* cvs tag rel-0_2_7

2003-09-01  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* 1 Uniform namespace across all code : BFL
	* cvs tag rel-0_2_6

2003-08-19  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Bugfix in templates for MeasModel code
	* Changed a lot of template class names S and T into something
	more meaningful
	* cvs tag rel-0_2_5

2003-07-29  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Jan Callewaert added some preliminary files for making
	distributed visualization easier with opendx.  See the HOWTO.
	Some updates to the INSTALL file and small bugfixes too.
	* cvs tag rel-0_2_4

2003-07-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Some bugfixes in src/filter/test, and some improvements in the
	Makefile
	* cvs tag rel-0_2_3

2003-05-20  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Serious bugfix: order of variables in systemmodel was fixed
	x = 0, u = 1.  Maybe we should completely rewrite the model
	classes as a particular implementation of pdf.
	* cvs tag rel-0_2_2

2003-05-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Redesign of model classes (Wim Meeussen)
	* cvs tag rel-0_2_1-improved-model-class

2003-04-30  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Full support for Non-minimal state KF of TL (Wim Meeussen)
	* release 0.2.1

2003-04-16  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Improved Kalman Classes (Wim Meeussen)
	* Improved Documentation
	* release 0.2.0 contains a fully working version of a particle
	filter and both an extended kalman filter and IEKF.

2003-04-03  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Corrected severe bug in SVD in the matrix wrapper
	* Improved API to allow multiple measurementmodels, updated
	asynchronously.  Testprograms should keep running without any
	changes
	* Kalman Filter code is now pretty stable (Wim Meeussen and Johan
	Rutgeerts)

2003-03-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Extended Kalman Filter should now be working, together with the
	non-linear analytical System and Measurement models with additive
	Gaussian uncertainty.  Ginac remains a problem in Debian unstable
	* g++-3.2 transition succesfully survived, release 0.2.0 should be
	arriving pretty soon now :-)

2003-03-04  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.1.0 contains support for symbolic manipulation of
	non-linear system and measurements (dependency on ginac library
	for symbolic manipulation) 

2003-02-17   Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.4 contains a more efficient implementation
	of the samplefrom calls of the mcpdf classes and some bugfixes.

2002-12-13  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>
	
	* Release 0.0.3 contains a significant improvement of the build
	system
	
2002-11-27  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre4
	* Reworked the build system to ease the future automake/autoconf
	transition 
	* Added libdir with libbayes.a
	
2002-11-18  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* release 0.0.1-pre3
	* Redesigned conditionalgaussian class (bad design, introduced
	coupling)
	* Eliminated some classes that had become superfluous due to the
	template classes (eg. analyticpdf, linearanalyticpdf, etc)
	* Fully rewrote systemmodel and measurementmodel to eliminate
	coupling (this coupling was due to bad design of
	conditionalgaussian class)
	
2002-10-22  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* Converted all base-classes into template ones, allowing for more
	flexibility (discrete systems, hybrid systems)
	
2002-09-15  Klaas Gadeyne  <klaas dot gadeyne at mech dot kuleuven dot ac dot be>

	* First release (0.0.1_pre1) that does what it must do, without
	Segfaults 


Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
ros
catkin

System Dependencies

Name
cppunit
cmake

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged bfl at Robotics Stack Exchange