6 ms·
I'm having a hard time believing that's a working kalman filter implementation in assembly in 70 odd lines!
by makmanalp 12y ago
I'm having a hard time believing that's a working kalman filter implementation in assembly in 70 odd lines!
- Arjuna 12y agoCheck this out... here are the two source code pages (digitized from original printouts) for the Kalman filter, dated July 14, 1969! KALMAN FILTER USER'S PAGE NO. 1 http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/1470.jpg http://www.ibiblio.org/apollo/ScansForConversion/Luminary099... KALMAN FILTER USER'S PAGE NO. 2 http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/1471.jpg http://www.ibiblio.org/apollo/ScansForConversion/Luminary099...
- d0mdo0ss 12y agoAccording to wikipedia "The onboard guidance software used a Kalman filter to merge new data with past position measurements to produce an optimal position estimate for the spacecraft." https://en.wikipedia.org/wiki/Apollo_PGNCS https://en.wikipedia.org/wiki/Apollo_PGNCS In turn the main source of navigation information came from mission control using least squares. A source on that would be nice too!
- serf 12y agoafter having worked on a kalman implementation in processing, I had the same gut reaction.
- mturmon 12y agoThe scalar case is not so bad; typically the filter is taught using the vector-input/vector-state case, which is more complex. I can't make heads or tails of the assembler listing either. The specific thing I would look for in the assembler code is the division operation which is required to find the Kalman gain. I don't see it. But, the anecdote about the Kalman filters use in this setting is well-known. (E.g., search for "Apollo" in http://ieeecss.org/CSM/library/2010/june10/11-HistoricalPerspectives.pdf http://ieeecss.org/CSM/library/2010/june10/11-HistoricalPers...) The amazing thing from my point of view is not the implementation. It is rather that the theory, which was quite novel at the time, was only understood and published in 1960/61. To have it used in a flight system, and indeed a manned flight system, only 8 years later is really incredible.
- segmondy 12y agoA lot of people will find it hard believing how smaller code can be in assembly than in our supposedly higher level languages, e.g, look at this example of quicksort, http://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Quicksort#ARM_Assembly http://en.wikibooks.org/wiki/Algorithm_Implementation/Sortin... go down to the C example below and note that it's longer.