Commit Graph

1257 Commits

Author SHA1 Message Date
Roger Labbe
428790378a Added algebra to prove equivalence 1D filters.
Added text that represented the multivariate KF equations with scalars
for the univariate case to illustrate how simple the equations actually
are. Then to complete the section I proved the equivelence of the last
chapter's equations with this one using algebra.
2014-08-30 10:30:56 -07:00
Roger Labbe
6ab8c5da92 Comparison of 1D and 2D filter.
Added exercises comparing 1D filter using Gaussians vs 1D filter
using KalmanFilter class, and comparing a 1D filter vs a filter
incorporating the unobserved derivative of x.
2014-08-30 00:08:27 -07:00
Roger Labbe
87d4d973ac Change to predict/update terminology.
I originally used sense/update as my function names. But all the
literature uses update/predict, so I am normalizing on that.

I also wrote a test to ensure the update/predict functions in the
1d kalman filter chapter gives the same output as the full blown
kalman filter. Of course, they do. This is in the 1d_kf_compare
notebook. I will add this as an exercise in the multidimensional KF
chapter.
2014-08-29 22:38:59 -07:00
Roger Labbe
a12322e2ef Switched to update/predict naming convention. 2014-08-27 18:29:05 -07:00
Roger Labbe
72655bcc54 Added docstrings to a couple of functions. 2014-08-27 18:06:45 -07:00
Roger Labbe
7cd975e680 Covariance matrix text updates.
Corrected a bunch of small issues, and improved discussion
in a few areas.
2014-08-27 08:00:15 -07:00
Roger Labbe
951938802c Text and tests for multivariate Gaussian.
Added text in book about multivariate Gaussian. Wrote tests to confirm
that my multivariate function yields the same results as numpy's
version, and made everything compliant with py.test.
2014-08-27 07:33:45 -07:00
Roger Labbe
aeedd289f8 Working on covariance matrix text. 2014-08-27 05:32:08 -07:00
Roger Labbe
f4dfe4113f Normalizing notation on Wikipedia's choices.
Wikipedia is both the most readable of any source, and open and available
to all. I like it.
2014-08-22 11:15:23 -07:00
Roger Labbe
d8df25fe7b Symbology changes.
Working on finalizing the symbology used in this book. Added appendix
to document what other books in the field use for the Kalman filter
equations.
2014-08-22 10:11:06 -07:00
Roger Labbe
3a89d60d6c Changed equations to use Gu instead of Bu.
I switched my code over to this nomenclature a while ago, but have not
updated the book for the switch.

As an aside, the code for the Kalman filter class in theb book is now
quite dated. I need to incorporate filterpy library more fully.
2014-08-22 07:44:10 -07:00
Roger Labbe
5590a57bb9 Switch to np.array.
I switched all the equations to use np.array instead of np.matrx.

Also, I am starting to write the Kalman Math chapter in earnest.
2014-08-22 07:37:47 -07:00
Roger Labbe
e5f968a2e3 Major work on the UKF chapter.
Text is still not organized well, but I got the unscented transform fully documented. Probably needs more citations to the original article, and some revisions - I think there is some duplication of info.
2014-07-20 00:39:27 -07:00
Roger Labbe
23e283e7fe Regenerated the PDF of the book 2014-07-19 10:17:31 -07:00
Roger Labbe
b9f462678d Work on EKF chapter.
Started developing EKF chapter. Stalled - not sure what is the best
initial example to develop. Air drag seems unnecessarily 'mathy',
but then you need diff eq to compute Jacobians.
2014-07-19 00:14:32 -07:00
Roger Labbe
7b9c6c4409 Added walkthrough of Kalman filter code. 2014-07-18 22:05:14 -07:00
Roger Labbe
ac7d909f87 Update README.md
Added more description to the motivation section, and did a bit of copy editing.
2014-07-18 18:15:47 -07:00
Roger Labbe
04ed4dfb18 Update README.md
Added link and description for the filterpy library.
2014-07-18 17:56:28 -07:00
Roger Labbe
4f7f3369fa Update README.md
Copy editing, added link to github pages.
2014-07-18 17:50:08 -07:00
Roger Labbe
601de14d35 Update README.md
Added more description about the book and how to read it.
2014-07-18 17:45:16 -07:00
Roger Labbe
7c2bf92f9b Update README.md
Added author's note explaining the current status of the book.
2014-07-18 17:41:13 -07:00
Roger Labbe
496859e1a7 Update README.md
fixed minor formatting issues.
2014-07-18 17:30:34 -07:00
Roger Labbe
097ba05646 Update README.md
The links to chapters were quite outdated.
2014-07-18 17:29:21 -07:00
Roger Labbe
1b6bee0adb Description of initial value for P.
Added code and text to explain how to choose an initial value for P.
2014-07-17 08:48:21 -07:00
Roger Labbe
79301c9224 Started altering to use filterpy project.
Not fully tested, but the multidimensional chapter is working.
2014-07-14 21:46:59 -07:00
Roger Labbe
212a1e1a85 Fixed latex problem (using \verb inside of \frac). Generated pdf. 2014-07-07 20:12:16 -07:00
Roger Labbe
6b8a9c9a07 Got g-h chapter very close to it's final form. 2014-07-07 20:03:51 -07:00
Roger Labbe
e0794b03ea A bit of changes to get the book to build in linux (was only working in
windows)
.
2014-07-07 16:21:57 -07:00
Roger Labbe
af8e3a5284 Changed fonts for source code. Switched to using ` to denote source code. 2014-07-07 02:36:03 -07:00
Roger Labbe
ebcc3b9d73 Testing whether cells have to be run before check in for nbviewer to render.
It was showing old text
2014-07-06 22:37:34 -07:00
Roger Labbe
37fab5f35e Got rid of section numbering, as it was messing up online nbviewer. 2014-07-06 22:34:34 -07:00
Roger Labbe
292c551b9e Rebuilt book. Cleaned up .bat files to build book in Windows. 2014-07-06 22:17:56 -07:00
Roger Labbe
6500902202 Deleted unused test files. 2014-07-06 21:22:38 -07:00
Roger Labbe
60f1b5a05e Added Designing nonlinear filter chapter.
Worked on trying to incorporate air drag, but didn't get far. Need to
study more.
2014-07-06 21:15:16 -07:00
Roger Labbe
0697383a4e Fixed typo calling H F, and added some description of designing KF for air drag. 2014-07-06 11:13:02 -07:00
Roger Labbe
d9e9d175a5 Added a bunch of comments to make the code more readable. 2014-07-06 11:12:30 -07:00
Roger Labbe
38fa86d52c Got air drag working well, and a KF showing the errors due to the process model. 2014-07-06 10:57:17 -07:00
Roger Labbe
40debbd003 Test code to perform KF on ball in vacuum. 2014-07-06 01:31:40 -07:00
Roger Labbe
7d7d500106 Added dimensions for x and z in Kalman filter __init__ 2014-07-06 01:30:02 -07:00
Roger Labbe
302a12e927 Got wind for baseball working. But, don't think I want to include it.
Going to remove wind in the next check in.
2014-07-06 01:28:17 -07:00
Roger Labbe
d82dc53ea4 Added omega (launch angle). same results as scipy ode package. 2014-07-05 14:47:28 -07:00
Roger Labbe
9d463c01ac Slight format changes. Beginning of section on ball tracking. 2014-07-05 14:18:29 -07:00
Roger Labbe
3d69728b25 Runge-Kutta code working for ball - w=0, no initial vertical velocity. 2014-07-05 14:17:30 -07:00
Roger Labbe
a29f30e293 Cleaned up stats.py, and added documentation for scipy.stats module. 2014-06-22 18:02:43 -07:00
Roger Labbe
e5ee4602f8 changed stats module to use more efficient computation methods 2014-06-22 14:18:04 -07:00
Roger Labbe
27d065c2e5 Last check in forgot to account for change in KalmanFilter class 2014-06-05 09:23:17 -07:00
Roger Labbe
ee826dbce5 A lot of work getting baseball tracking working. Added long form for P in KF. 2014-06-05 09:21:15 -07:00
Roger Labbe
e1ce21b25c Added section numbering to each chapter. 2014-06-03 11:19:46 -07:00
Roger Labbe
70f34843c7 Added air drag to kalman filter ball tracking. 2014-06-02 23:08:47 -07:00
Roger Labbe
12c67ec3e5 made files executable. 2014-06-02 14:45:11 -07:00