All People I have interacted with have never used/seen Kalman Filters outside Academica. Do anyone here have industry experience where Kalman Filters is actually used in prod?
All People I have interacted with have never used/seen Kalman Filters outside Academica. Do anyone here have industry experience where Kalman Filters is actually used in prod?
Two of (arguably the best) open source RC aircraft flight controllers (ArduPilot and PX4) are using extended Kalman filters in their state estimators (essentially sensor fusion that provides attitude/position estimate):
https://github.com/ArduPilot/ardupilot/tree/master/libraries...
https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/e...
I'm not that familiar with cleanflight/betaflight/inav scene to know what the FPV racer flight controllers use.
They are a simple tool, and simple often works. You just need to know the limitions and know which variant (if any) is best applicable to the problem at hand.
It is just that I keep seeing KF be mentioned on Twitter and blogs etc. for using it in finance.
I know someone with a PhD in control systems, works for an eVTOL startup, and their title is something like "estimation expert" or "estimation specialist". That is, 100% of their job is designing relatively complex KF-like algorithms that are used to estimate the aircraft state (position, pose, velocity, wind conditions, etc) in real time based on a bunch of sensors.
Often some tweaks from the standard formula are necessary to account for real-world non-linearities, and some creative design work is required to define states in such a way that the Gaussian noise assumption can hold well enough.
Yes, ship/vessel navigation software heavily use Kalman Filters. Especially on the inputs received from the various position reference sensors.
We use a type of Kalman Filter to estimate direction and instantaneous dynamics of the drill string, this way the drilling operation no longer needs to stop to get a directional measurement.
We track targets (mostly ships, mostly maritime, but not always) and we use Kalman Filters (and variants) extensively.
https://en.wikipedia.org/wiki/Kalman_filter#Nonlinear_filter...
Contrary to your experience, there was a time when we were ridiculed for not using Kalman Filters, but in the limited niche we inhabited then, our internally developed algorithms out-performed Kalman.
But mostly, these days, yes, we use Kalman Filters of various types.
Could you tell me more about this? What other algorithms are used for position tracking and motion estimation. I have seen various ML models... RNN/DNN used. I'm guessing with VTMIS you are doing time-series predictions?
8-(
[citation needed]
Siemens (SIMATIC PCS 7)
https://support.industry.siemens.com/cs/document/109748837/s...
Bosch Sensor Fusion
https://www.bosch-sensortec.com/products/smart-sensors/bha26...
Kalman filters are not state-of-the-art, but they are fairly simple to implement and are still used.
https://www.patentlyapple.com/2020/11/apple-reveals-adding-t...
I'm 100% sure there's some form of EKF on some loop on AirTags too.
Lots of typical "industry applications" given for Kalman Filters involve moving objects, like air planes, rockets, and so on.
But all these objects generally rotate in some way, rotation is non-linear, and Kalman Filters cannot deal well with nonlinearities. Thus Kalman Filters struggle with rotation, and I haven't really found any good resources that handle this.
Do all these applications just skip over the fact that real-world objects can have a rotation/spin, or do they all use more sophisticated filters as suggested in e.g. [1]?
[1] https://math.stackexchange.com/questions/2621677/extended-ka...
The naive Kalman filter is only suited for linear problems; extended and unscented Kalman filters (EKF/UKF) are necessary for anything non-linear (including rotation). In any case, they build on the basic KF, so you have to understand that first.
If this is the current state of the art, are there generally-available/open-source libraries existing that implement this and practitioners use for this?
The only one I could find is https://github.com/kartikmohta/manifold_cdkf, which currently has 8 Github stars.
I also found an approach mentioned in [2] that is to just treat a single rotation angle as linear, and then wrap it around at 180 degrees in between state updates with additional conditional logic. Is this what people did in practice before? I cannot find substantial info on this.
How did people use KF on physical objects before 2010?
[2]: https://old.reddit.com/r/ControlTheory/comments/d2yrjq/kalma...
> All People I have interacted with have never seen Kalman Filters outside Academica. Do anyone here have industry experience where Kalman Filters is actually used in prod?
Looking at prior academic work in an academic paper won't help answer this question.
The authors of [1] do discuss and link to their own library in section 5.
However, in my experience, most people implement the math themselves rather than use any libraries (beyond e.g. Eigen).
> How did people use KF on physical objects before 2010?
The Multiplicative EKF (MEKF) was used since 1969 according to [3]. It's a hacky approximation of [1]. [1] is really just a generalization/unification of lots of application-specific hacks that were used before, including the MEKF.
[3]: https://ntrs.nasa.gov/api/citations/20040037784/downloads/20...
If you model your rotation as a quaternion, there is a way to linearize the update process of the quaternion and use a KF. This can work very well and is what most quadrotors I’ve worked with do. However, care is needed to ensure the result gives a valid updated rotation and that you implement the disgustingly messy equations correctly.