8 ms·
Rudolf Kálmán Has Died
- lacker 10y agoKalman filters are really neat. I wrote one when learning C a while ago and it is just cool what some matrix math can do with practical data. https://github.com/lacker/ikalman https://github.com/lacker/ikalman Although I guess I should have been calling it a "Kálmán filter" this whole time.
- jmaygarden 10y agoInteresting. I don't see generic Kalman filter implementations too often. Thanks for sharing. I've always found that determining where to put outputs from disparate sensors as opposed to just filtering a single observation like the GPS output in your example is challenging. Have you tried extending this to include input from other sensors (e.g. accelerometer, gyroscope, magnetometer, etc.)?
- padelt 10y agoThat, and tuning the covariance matrices can be tough and time-consuming.
- lacker 10y agoI actually found it to be such a pain in the ass to tune, it didn't even seem that great on iPhones with plain old GPS compared to a hacky bundle of heuristics. I left the code on github because why not, and it turned out over the years people have used it for various things.
- Qworg 10y agoYou can tune the matrices in other ways - I wrote my thesis around fuzzy autotuning - but most do it by hand. Here's some ancient code from those days: https://github.com/Qworg/Robot-Sensor-Fusion https://github.com/Qworg/Robot-Sensor-Fusion
- RogerL 10y agoGPS already use a Kalman filter to create a filtered output. You cannot apply a second filter to the output of the first and expect better results. Specifically, the Kalman filter depends on the data having the Markov property, and that the noise is Gaussian. The output of the filter has neither property, so you are not going to get better data. You may "smooth" the data, but all you are really doing is 1) discarding useful information, and/or 2) introducing a lag into the signal.
- ruipgil 10y agoI've been using it lately for my thesis. Good job!
- tnecniv 10y agoI was waiting for this headline. Someone edited his wikipedia article last week, but provided no source and no articles were published yet. The Kalman filter is a fantastic tool. I use it and the particle filter regularly. Both are ubiquitous in robotics and cyber-physical systems and incredibly powerful tools. Interestingly, Kalman wasn't able to publish it in a prestigious journal at the time and had to settle for a lesser known one. EDIT: Forgot to finish my sentence...
- joezydeco 10y agoJust last week I needed to smooth out a display reading on an oven controller. The RTD was being read way too fast so I'd get a lot of flicker between values due to ADC resolution. In the back of my head I remembered one word: Kalman. This line of code fixed it right up: static float display_temp = 0; display_temp += 0.04 * (adc_temp - display_temp);
- Bromskloss 10y agoWell, I guess, but, I mean, really… that's a first-order low-pass filter.
- kazinator 10y agoIndeed; it's a discrete approximation to the infinite impulse response exhibited by all sorts of physical systems leading to the characteristic exponential decay.
- gaze 10y agoThat's not a kalman filter.
- kazinator 10y agoThat's just a linear interpolation between two values: take 96% of the current display value plus 4% of the new value from the ADC, which is the same as finding 4% of the way between the two values. It's a simple generalization of the arithmetic mean, which is the special case of 50%. I'm skeptical that anyone sane would credit this obvious idea should to one particular person, which is why it can't be the Kalman filter.
- deleted 10y ago[deleted]
- phkahler 10y agoYou can do better by having the 0.04 parameter follow an exponential decay as well. Start at 1.0 and have it decay to 0.04 or even 0.01 over time. That would make it more like a real Kalman filter for such a simple measurement. You'll get fast convergence to an initial value and then very smooth response after that. A classic example is a fuel gauge where you want to reject low frequency sloshing but have a rapid startup without knowing in advance what the level really is.
- deleted 10y ago[deleted]
- platz 10y agothere's an unobserved state that changes over time according to relatively simple rules, and you get indirect information about that state every so often. In Kalman filters, you assume the unobserved state is Gaussian-ish and it moves continuously according to linear-ish dynamics (depending on which flavor of Kalman filter is being used)
- hcrisp 10y agoThe Kalman Filter was used the in the Apollo 11 Guidance Computer [0] (discussed in the past on HN [1]). As someone linked previously, here is a historical perspective [2], and a link to the actual state vector update computations [3]. The AGC maintained the state vectors for the KF. Ground control would run batch mode least squares solutions, and pass it on to the LM, where the updates to the state vector would be applied by hand. The variables of the state vector were a 6x6 matrix of position and velocity in X, Y, and Z or a 9x9 matrix when including radar/landmark bias. I have great admiration for Mr. Kalman. Controls engineering has greatly benefited from his work. [0] http://en.wikipedia.org/wiki/Apollo_Guidance_Computer http://en.wikipedia.org/wiki/Apollo_Guidance_Computer [1] https://news.ycombinator.com/item?id=8063192 https://news.ycombinator.com/item?id=8063192 [2] http://www.ieeecss.org/CSM/library/2010/june10/11-HistoricalPerspectives.pdf http://www.ieeecss.org/CSM/library/2010/june10/11-Historical... [3] http://www.ibiblio.org/apollo/listings/Comanche055/MEASUREMENT_INCORPORATION.agc.html http://www.ibiblio.org/apollo/listings/Comanche055/MEASUREME...
- iaw 10y agoThank you. I saw his name, immediately knew what his contribution was, but wasn't familiar with his work in a historical context.
- undershirt 10y agoFYI: I was reading the README to understand what Kalman Filters are. This section seems to end abruptly mid-sentence at "You might imagine" without explaining what Kalman filters are: https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python#what-are-kalman-and-bayesian-filters https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt...
- ago 10y agoI think you might have replied to the wrong post
- diydsp 10y agoFor those interested in Kalman filters, this previous thread has a LOT of great pointers: https://news.ycombinator.com/item?id=11561770 https://news.ycombinator.com/item?id=11561770 I also like this interactive tutorial: http://home.wlu.edu/~levys/kalman_tutorial/ http://home.wlu.edu/~levys/kalman_tutorial/
- bendykstra 10y agoEdit: This is wrong. This is a particle filter, another type of Bayesian filter. I can't delete now, so please downvote to hide. I made a Kalman Filter visualization[1] last year to learn more about them. It's amazing to see how good a result you can get from very poor sensor data. In the visualization, a lawnmower (green dot) is tracked (blue circle) using triangulation. The distance sensors have very low accuracy (grey regions). When the mower reaches the edge of the yard, its position and velocity are randomized, but the filter is not told, so it has to reacquire. 1. https://jsfiddle.net/bendykst/tfcub3tj/ https://jsfiddle.net/bendykst/tfcub3tj/
- brianwawok 10y agoThat is a cool demo!
- xchip 10y agoThat is not a Kalman filter :) A Kalman filter uses matrices, a physical model of the system its trying to filter data and lots of stuff I haven't found in that code
- tgb 10y agoIt looks like a particle filter to me. https://en.wikipedia.org/wiki/Particle_filter https://en.wikipedia.org/wiki/Particle_filter
- bendykstra 10y agoOh, you are right. That is actually a particle filter. I'm sorry, I studied both on the same day and misremembered which one I had implemented.
- Bromskloss 10y agoNever mind it not being a Kálmán filter; it's cool anyway. What is the cloud of small dots? Edit: Oh, they are samples from the hypothesis space, I suppose.
- nitrogen 10y ago
- univalent 10y agoRIP. For many many engineering students his work was the first introduction to something amazing that they could implement and understand.
- mnw21cam 10y agoI'm always surprised when people talk about Kalman filters without mentioning the killer app, which is weather prediction. Quite a few weather prediction organisations are at least experimenting with Kalman filters, and some are running whole ensemble forecasts using the method. It may sound strange, but the Kalman filter can be a less CPU-intensive (or at least more parallelisable) way of calculating atmospheric state than the current variational data assimilation methods.
- tnecniv 10y agoThat's an interesting application that I didn't consider, but I'd say the real killer app was the fact that it helped put a man on the moon...
- zbuf 10y agoThe reason the Kalman filter is so significant is that there isn't a standout "killer app"; there's a whole bunch of them. It's much more fundamental than any of its applications, which are all around us.
- RogerL 10y agoIf you are interested in learning about them in depth, I'll toot my own horn and point you to my interactive book on them: https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Pyt... It uses Jupyter Notebooks to run code in the browser. Check out the book, or run online using Binder.
- xchip 10y agoThis is fantastic indeed. Thanks for taking the time to put that together!
- reachtarunhere 10y agoI highly recommend this.
- rsp1984 10y agoLooks great! But since I'm lazy, can you just point to a PDF version?
- coherentpony 10y agohttps://drive.google.com/file/d/0By_SW19c1BfhTHRXWFJ1RUtvaDQ/view?pref=2&pli=1 https://drive.google.com/file/d/0By_SW19c1BfhTHRXWFJ1RUtvaDQ...
- rsp1984 10y agoThank you!
- coherentpony 10y agoYou're welcome, it was in the Readme though :)
- pj_mukh 10y agoFlashback to tuning covariance matrices for hours and when you get it juuuust right and it looks like the filter is working magic on your data. What a giant of his field! Here he is receiving the National medal of Science from Barack Obama[1] http://www.ethlife.ethz.ch/archive_articles/091008_kalman_per/index_EN http://www.ethlife.ethz.ch/archive_articles/091008_kalman_pe...
- Qworg 10y agoI wrote my thesis on mathematical filters for robot localization. A true great has passed. =/ If folks are interested, here's some ancient (and likely awful) code I wrote for it. It has a MH set, a Fuzzy set, a PF and a SPKF as well: https://github.com/Qworg/Robot-Sensor-Fusion https://github.com/Qworg/Robot-Sensor-Fusion
- ignorantguy 10y agomy undergrad project was on kalman filter. He is awesome.
- texan 10y agoIt's interesting that there is close to none of any personal background or information available on the interwebs.
- ramisama 10y agoI remember using the Kalman Filter in my Advanced Macroeconomics class to calculate economic cycles out of the GDP data of my country!
- TickleSteve 10y agoThe accuracy of your GPS device has a lot to do with this man. His work has had an extremely wide impact.
- mswetcunt 10y agoGUY SHOWS HOW TO GAIN SUBSCRIBERS ON YOUTUBE 2016…: http://youtu.be/i3ahMeuTPOk http://youtu.be/i3ahMeuTPOk
- dxbydt 10y agoWith the massive resurgence in Neural Networks, it may interest you to know that DEKFs ( decoupled extended Kalman Filter ) are a very fast sequential weight update procedure while training large neural nets. For instance: http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=614185 http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=614185
- bmmayer1 10y ago> "emigrated to the United States in 1943" It's always sad hearing about great minds who fled Europe shortly before or during World War II. It's a reminder of all the great minds whom we lost in the last war, and of how destructive war is to technological and human progress.
- aj7 10y agoI read a few articles on that website specified by the post and I was very happy not to be a contemporary Hungarian, both from a current problem, and political philosophy point of view.
- szemet 10y agoThere were only a few times in history when it was good/safe to be hungarian - and this meme has a long tradition in hungarian thinking. Just read the national anthem. (It is written in 1823 but it could be easily extended with events from the last 190 years...) http://lyricstranslate.com/hu/himnusz-national-anthem-hungary-hymn-rough-centuries-hungarian-people-national-anthem-hungary.html http://lyricstranslate.com/hu/himnusz-national-anthem-hungar...
- dexterdog 10y agoAnd unfortunately how constructive it is to technological process at the same time which is one of the justifications.
- bmmayer1 10y agoTechnology is gained but so much intellectual capital is destroyed. And there's no good A/B test with war to see how much technological progress would have been gained from the intellectual capital if it hadn't been destroyed.
- jordyjordy 10y agoWe are bank of hackers based in the UK, US, Canada we offer services such as school grades change, DDOS, database hack, credit, criminal records, bank transfer, social network hack, emails, password retrieval and all forms of hack, contact GURULEADS hackers today via email demonteco@outlook.com
- jordyjordy 10y agoWe are bank of hackers based in the UK, US, Canada we offer services such as school grades change, DDOS, database hack, credit, criminal records, bank transfer, social network hack, emails, password retrieval and all forms of hack, contact GURULEADS hackers today via email demonteco@outlook.com
- aj7 10y agoRecommend http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures...