jacobnzw / SSMToybox

Nonlinear Sigma-Point Kalman Filters based on Bayesian Quadrature
MIT License
12 stars 0 forks source link

Low-level API #6

Open jacobnzw opened 6 years ago

jacobnzw commented 6 years ago

Sometimes the use-cases are complicated and require access to lower-level routines. Even though the toybox has been written primarily to run relatively simple experiments, having lower-level API would definitely help out, because higher-level API can be built using the lower-level one. The higher-level APIs are syntactically parsimonious and user-friendly, whereas the lower-level ones allow for finer control.

The lower-level API is already in place (at least partially), because the moment transforms being the building blocks of filters are contained in mtran package.

Constraints of the SSMToybox are mainly tied with the StateSpaceInference class, where the whole update/smoothing machinery is contained. The measurement and smoothing updates should be disentangled.

Low-level API might enable:

jacobnzw commented 5 years ago

I'm starting to think this should be the last thing to worry about, because the primary goal of the SSMToybox is to support my research - nothing else. Although case could be made that the moment transforms in mtran are well-suited building blocks for applications like SLAM, IMM and multi-sensor filtering, that is not the aim of the SSMToybox. The issue requires detailed knowledge of each potential application. It may turn out, I suspect, that it's counter-productive and perhaps even impossible to design an all-purpose building blocks that will suit most applications.