4 ms·
A probabilistic programming language can make it much easier to implement a non-linear filter. Essentially, you implement the generative model, and you get infe
by nextos 3y ago
A probabilistic programming language can make it much easier to implement a non-linear filter. Essentially, you implement the generative model, and you get inference compiled for you. Interesting options to look at include ForneyLab.jl, Infer.net, Gen.jl, and Pyro.
- tnecniv 3y agoThis can work if the time scale of inference is smaller than the time scale of your measurements. I’m skeptical that this would work on a quadrotor that requires a fast control loop. However, model predictive control (determining actions given a state and dynamic model; the Kalman filter is model predictive estimation) first found major use in chemical plants because they could crunch the numbers on a big computer that didn’t need to fit on a robot and the real time between each time step was large. For such a situation, you might be able to get MCMC to work.
- nextos 3y agoThe options I suggested above are not necessarily MCMC, they are mostly message passing algorithms. ForneyLab and Gen in particular are designed for online inference.
- tnecniv 3y agoGood point! Still, a big reason why the reason why the KF is a staple is that it’s really really fast. When I’ve used tools like the ones that you mentioned, it was normally not for inference not in a feedback loop. I’m less familiar with message passing methods than Monte Carlo methods but I’m going to look into them now
- nextos 3y agoMessage passing can lead to extremely fast maximum likelihood or variational inference. I have used it for realtime control problems. It is a very interesting domain!
- tnecniv 3y agoDo you have a good reference? Preferably one that mentions a control application because I’m curious to see what the model assumptions and speed look like in that context
- nextos 3y agoYou can start with a review [1], and then BRML [2]. I think applications that are very focused on control tend to come from the military and thus not so well documented. [1] An introduction to factor graphs. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1267047 https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1267047 [2] Bayesian Reasoning and Machine Learning. http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/200620.pdf http://web4.cs.ucl.ac.uk/staff/D.Barber/textbook/200620.pdf