What is BFL?

The Bayesian Filtering Library (BFL) has been designed with the following requirements in mind:
Bayesian
BFL provides a fully Bayesian software framework, i.e. all Bayesian methods fit in the library design. Therefore the library does not impose restrictions on the nature of the Random Variables nor on the representation of the probability density function (analytical, sample based, ...). The common Bayesian background of BFL allows to implement different Bayesian algorithms with a maximum of code reuse. Moreover, the performance of these algorithms can be compared with a minimum effort.
Open
The Open Source Initiative offers an enormous potential for the maximum reuse of code and is ideal to study differences between different algorithms or different implementations of a particular algorithm. Furthermore open source software is a key factor implementing the idea of reproducible research. The state of the art can only benefit from the availability of the source code, in order to reproduce the obtained results and to gain better understanding by altering certain chosen values of the experiments.
Independent
The first meaning of independent is the independence to the numerical and stochastical library. At present, there is no standard numerical nor stochastical library for C++ available, there's a wide range of libraries available providing the necessary functionality. An estimation library is only a part of the whole software infrastructure in order to perform a certain task. To avoid ending up with multiple libraries for one project, BFL is decoupled possible from one particular numerical/stochastical library.

The second meaning of independent is the independence of BFL of a particular application (such as Autonomous Compliant Motion, mobile robotics, econometrics, ...). This means both its interface and implementation are decoupled from particular sensors, assumptions, algorithms, ...that are specific to a certain application.

Furthermore, BFL is integrated in our robot control software written in C++ and therefore, C++ is chosen as programming language.

fiep 2010-10-28