Commit Graph
100 Commits
Author SHA1 Message Date
Roger Labbe 860bc16346 More MM text. 2015-01-12 19:06:01 -08:00
Roger Labbe b7e78ff6cf Added section using Zarchan's adaptive filter. 2015-01-12 18:21:32 -08:00
Roger Labbe efd40c3e5e Minor layout changes, typos. 2015-01-12 09:46:52 -08:00
Roger Labbe 066958366c Expanded coverage.
Probably mostly just the Fading memory, but also played with
length of data, noise settings, etc.
2015-01-11 13:22:36 -08:00
Roger Labbe b40184dd45 Added Adaptive filtering chapter to PDF. 2015-01-11 00:30:17 -08:00
Roger Labbe 026413dbd4 Added Adaptive Filtering chapter.
Still a lot of work to be done on it. This is just an
initial commit.
2015-01-11 00:13:12 -08:00
Roger Labbe 573c9429c8 Set numpy printing to suppress scientific output. 2015-01-11 00:12:21 -08:00
Roger Labbe 23aee4b3ff Altered language of readme file.
Tried to make it clearer that you can click on the link to
immediately start reading online.
2015-01-08 21:39:12 -08:00
Roger Labbe 995bbc4ad2 Added readme to each subdirectory.
Contains link to nbviewer version of the book - allows browsing github
use to immediately start reading the book.
2015-01-08 21:27:16 -08:00
Roger Labbe 62ff1cf441 Trial - adding readme to chapter subdirectory.
Provides link to online book so github user can start reading
immediately.
2015-01-08 21:23:45 -08:00
Roger Labbe fe6900dc3c Changed pdf style to 'book'. 2015-01-08 21:16:36 -08:00
Roger Labbe 94f2f1af9b Minor text edits.
Replaced 'transverse' with 'transpose'.

Fixed creative commons license - it was pointing to the old
name of the book.
2015-01-08 21:14:44 -08:00
Roger Labbe f635810a70 Adjusted template to generate TOC. 2015-01-08 19:10:26 -08:00
Roger Labbe cfdf66a5eb Fixed headers for nbconvert.
nbconvert does not work with the ### style headers, so I
converted to using the header cells where I was using the hash
headers.
2015-01-08 09:03:14 -08:00
Roger Labbe c241f715c9 Added to g-h Chapter
Added more examples, and added more charts to illustrate what
I was talking about. Notably, added error bars to the weight
readings to make the possible range of values clear.
2015-01-07 19:17:08 -08:00
Roger Labbe d096acce09 Fixed a few typos.
Text and code used slightly different number from earlier edits.
2015-01-04 09:46:55 -08:00
Roger Labbe ea6a9601a2 Fixed Broken Header
For some reason the Heading 1 cell cannot accept \infty latex.
I am sure this used to work; I have done some updates so perhaps
something changed?
2015-01-03 16:49:50 -08:00
Roger Labbe 952d81e3ef Added installation instructions.
Expanded installation instructions in the preface, readme,
and appendix.
2014-12-31 19:02:40 -08:00
Roger Labbe c71cac557f Added SymPy and FilterPy to list of requirements. 2014-12-31 17:10:27 -08:00
Roger Labbe 53f1101047 Python 2.7 compatibility.
list does not have copy in 2.7, so I created a new tuple where
I was using list.copy().
2014-12-31 13:55:24 -08:00
Roger Labbe bb0f9eb5ef Python 2.7 compatibility bug.
I was overwriting x,y variables with the list comprehension, causing
the lists in x,y to be replaced with a single value.
2014-12-31 13:22:16 -08:00
Roger Labbe 401a0004e1 Unicode problems with Python 2.7.
I read the matplotlib rcParams from a json file. The json module
always uses Unicode, but this does not work in Python 2.7. This
was causing the plots not to appear if using Python 2.7.

Wrote code to detect Python version and to convert to ASCII if
Python version 2.
2014-12-31 10:56:09 -08:00
Roger Labbe e68c9b9b14 Minor typo fixes. 2014-12-30 14:40:02 -08:00
Roger Labbe 7b6acde781 Removed gray background from 538 style.
white background renders better on cheap LCDs, and it will print better as well.
2014-12-22 14:20:42 -08:00
Roger Labbe 9e6c6ffb5f Removed need for matplotlibs 538 style.
I got the original code from the author, Cameron Davidson-Pilon,
modified it for the minor changes I make for the book, and put it
in 538.json. The main gain is that somebody doesn't need bleeding
edge matplotlib installed to get the 538 look.
2014-12-22 13:34:50 -08:00
Roger Labbe 8eaa6ee693 Reran for 538 plot formatting.
Ran all notebooks so that all images are properly plotted using
the 538 matplotlib style.
2014-12-22 13:07:31 -08:00
Roger Labbe 5a60d94d6a Switched to 538 plot style.
I like this one the best.
2014-12-22 12:29:24 -08:00
Roger Labbe 874a2ed59c Switched to ggplot style plotting. 2014-12-22 12:15:19 -08:00
Roger Labbe fc7c174999 update() and predict() alter in place.
I made the update() and predict() functions alter the belief array
in place rather than returning the value in a new array. I find this
far more readable and less error prone.
2014-12-20 20:56:23 -08:00
Roger Labbe 17b30bc395 Renamed variables to improve understanding.
I used p and pos for the belief in position, which can be a bit
confusing.
2014-12-20 20:33:44 -08:00
Roger Labbe 62f13ace77 Renamed chapter.
Renamed to One Dimensional Kalman Filters
2014-12-20 20:33:18 -08:00
Roger Labbe 74a18b72c5 Additions to MKF chapter.
Several changes and clarifications. Added chart showing 2d distribution
of points for multivariate gaussian. Improved some discussions. Fixed
some typos.
2014-12-20 20:00:17 -08:00
Roger Labbe e168f6eed6 Added message that chapter is not useful. 2014-12-20 14:36:47 -08:00
Roger Labbe af5f7af5b8 Fixed section heading
Removed use of hashes to denote section so PDF is generated
correctly.
2014-12-20 14:36:06 -08:00
Roger Labbe c865b57a74 Fixed section headings, added math
Added section in math chapter for Bayesian statistics, and improved
on the discussion of system dynamics.

The PDF generator cannot deal with the markdown for section headings
(using hash marks), so I needed to fix chapters that use them.

Appendix B still uses them, but for now that is just a list of
notes for myself, so I left that alone.

This contains the new PDF generated from these changes.
2014-12-20 14:24:08 -08:00
Roger Labbe 4d632bdc2d Fixed math error.
Variance was given without sigma being squared.
2014-12-20 13:56:29 -08:00
Roger Labbe b7f798ef74 Fixed typo. 2014-12-20 13:55:33 -08:00
Roger Labbe 176c2af00a Various typeo fixes. 2014-12-19 11:04:08 -08:00
Roger Labbe fe3c8ae0f5 Fixed inconsistency in covariances.
I had changed my example from (8,10) to (8,4), but did not change
it everywhere.
2014-12-17 11:05:36 -08:00
Roger Labbe 8824085607 Added link to SIAM News article on EnKF. 2014-12-14 17:31:02 -08:00
Roger Labbe 7a588b0683 Added radar tracking problem.
Added the radar tracking problem from the EKF chapter to the UKF
chapter.

fixed bug in ekf_internal that was drawing the radar image on import.
2014-12-13 21:07:11 -08:00
Roger Labbe 5e35a314bd Changed to use 1D x state array. 2014-12-13 20:40:08 -08:00
Roger Labbe 0a129a3e46 Briefly covered batch processing and RTS.
Added sections on batch processing and using RTS smoothing.
2014-12-13 20:26:43 -08:00
Roger Labbe 0c6999e25f Batch processing and RTS.
This belonged with the last check in. Added desciptions on
batch processing and using the RTS smoothing algorithm.
2014-12-13 20:05:06 -08:00
Roger Labbe a794fdced2 Batch filtering and RTS additions.
Added descriptions on using batch filtering to produce results,
and how to call the RTS smoother algorithms.
2014-12-13 20:04:07 -08:00
Roger Labbe 6721ae4dc3 Regenerated PDF.
Needed to fix a latex bug in the ensemble chapter for that to work,
and to add the changes to the chapter numbers in the merge script.
2014-12-08 22:48:00 -08:00
Roger Labbe 3f798c6717 Pretty graphs are pretty.
Added a fill for the covariance to many of the charts.

I also fixed a code typo in the ensemble chapter.
2014-12-08 22:36:41 -08:00
Roger Labbe 203616ff1c Bug fixes and added example.
Several of the equations were slightly wrong. I made variables
bold when required, and added an example. I also expanded some of the
explanations.
2014-12-07 20:58:58 -08:00
Roger Labbe 8566445bfb Added link back to Table of Contents. 2014-12-07 19:56:23 -08:00
Roger Labbe 5d759da7dc Fixed links to Ensemble chapter. 2014-12-07 19:51:29 -08:00
Roger Labbe 116e58e824 Rename to be consistant with rest of book 2014-12-07 19:48:05 -08:00
Roger Labbe a27ebac336 Added Ensemble Kalman Filter chapter.
Had to rename and move directories around to allow the new chapter
to fit in.
2014-12-07 19:44:42 -08:00
Roger Labbe 3c6abb8899 Minor formatting change.
Print number with less precision.
2014-12-07 16:36:18 -08:00
Roger Labbe 6ea738ef50 Proofreading changes.
A kind reader suggested these corrections.
2014-12-07 16:30:17 -08:00
Roger Labbe b705767a5b Generated PDF. 2014-12-01 10:45:38 -08:00
Roger Labbe d07e06ec8e PEP-8 compliance 2014-12-01 09:43:39 -08:00
Roger Labbe 8cbbdc6380 PEP-8 compliance 2014-12-01 09:31:17 -08:00
Roger Labbe dc4d234d04 PEP-8 compliance 2014-12-01 09:29:06 -08:00
Roger Labbe 546eca9a6c PEP-8 compliance 2014-12-01 09:24:51 -08:00
Roger Labbe 43e6d101e9 PEP-8 compliance. 2014-12-01 09:22:11 -08:00
Roger Labbe 4755c46714 PEP-8 compliance. 2014-12-01 09:18:41 -08:00
Roger Labbe 5f1cc41067 PEP-8 compliance, better variable names. 2014-12-01 09:13:43 -08:00
Roger Labbe 6e73cd9786 PEP-8 compliance. 2014-12-01 08:50:29 -08:00
Roger Labbe b1ce657cca Discussion about Python codding 2014-12-01 08:50:15 -08:00
Roger Labbe f6537d34a8 Added link to Wikipedia for Cholesky decomposition. 2014-12-01 07:17:56 -08:00
Roger Labbe e76698dd33 Link to nbconverter and PDF at top of README.
This is mostly so that I the github.io page, which uses the README, has a ready
link to the PDF.
2014-11-30 22:59:39 -08:00
Roger Labbe 1fb0859e2c Rearrange, clean up, added implementation.
Rearranged the text and added implementation of the UKF. Not sure it
reads completely smoothly, but shoudl be better than before.
2014-11-30 22:24:07 -08:00
Roger Labbe 32024ccde8 Script to generate HTML version.
Still early going. just an experiement at this point.
2014-11-30 16:45:17 -08:00
Roger Labbe 5367367baf Added description for H-infinity filters. 2014-11-30 16:45:01 -08:00
Roger Labbe dd8a0b72f6 Fixed link to HInifnity chapter. 2014-11-30 16:41:52 -08:00
Roger Labbe 7cbdc63e06 Fixed file location. 2014-11-30 16:26:22 -08:00
Roger Labbe f73719970d Expansion of UKF chapter.
Wrote several examples. Still more to do.
2014-11-30 15:34:06 -08:00
Roger Labbe dd3177cd02 Interim check in
Got a UKF working, just want to check point it.
2014-11-30 09:48:02 -08:00
Roger Labbe bf14f2fbc4 PEP-8 compliance. 2014-11-28 11:14:47 -08:00
Roger Labbe f9af363792 Bug in dog animation cell.
We were adding the movement error in the wrong place, causing the
filter output to never vary dispite changes in sensor noise.

Also some PEP-8 cleanup.
2014-11-28 10:33:10 -08:00
Roger Labbe 22375983c2 Fixed erroroneous statement about PDFs.
For some reason I stated the PDF displayed the probability,
not the probability density.
2014-11-28 09:34:57 -08:00
Roger Labbe 545a4650a1 PEP-8 compliance, typo fixes. 2014-11-28 09:16:55 -08:00
Roger Labbe a9537504c6 Fixed ^T to use non serif font. 2014-11-24 18:01:59 -08:00
Roger Labbe 7a343857f0 removed explicit call to test code. 2014-11-24 17:58:11 -08:00
Roger Labbe c05c04a94e Better introduction.
Added Dan Simon's example of a range/bearing with noise to illustrate
nonlinear behavior.
2014-11-24 17:57:24 -08:00
Roger Labbe 3e5248f7fa More P,Q,R cleanup.
Added units to all values, corrected some descriptions, chose values to better
illustrate my points by causing either better or worse filter convergence.
2014-11-20 08:22:20 -08:00
Roger Labbe 66f20b745e More work on R and Q.
Added more examples and cleaned up explanations on modifying R
and Q. In particular, the filter setting for R was not the same
as the simulated noise for no obvious reason. Also, names were
bad R instead of R_var, for example.
2014-11-19 23:50:11 -08:00
Roger Labbe 60e31b890d Add references to smoothing chapter. 2014-11-16 16:12:14 -08:00
Roger Labbe 75c4e9ce97 Start of the Smoothin chapter. RTS implemented. 2014-11-16 15:54:28 -08:00
Roger Labbe 3367806b07 Layout changes to make PDF read better.
Mostly just shortening lines of code. There was a SymPy font render issue as well.
2014-11-16 11:24:59 -08:00
Roger Labbe c1281bc47c Cleanup of Q material, and rename of FilterPy.
I renamed the functions that compute Q in FilterPy and had
not propogated that through the book.

I have renamed FilterPy from filterpy, and propogated that
change through the book.

Moved the material on SymPy from the short lived Appendix C
to Appendix A
2014-11-16 09:41:41 -08:00
Roger Labbe 9c0729d837 Text on Approximating Q
Discussed approximating Q by only assigning a value to the
lower rightmost term.
2014-11-16 01:01:42 -08:00
Roger Labbe d974f78d37 EKF and Q content additions.
A lot of new text on designing Extended Kalman filters and
also on designing the Q matrix.
2014-11-16 00:42:47 -08:00
Roger Labbe e131cbb1c0 Reverted silly rename of .x to .X
x is a vector, not a matrix, hence it should be lower case like
it always was. I don't know what I was thinking when I renamed it.
2014-11-15 10:17:49 -08:00
Roger Labbe fd4b2211a7 Made sensor fusion code a function.
The function takes the wheel and gps variance in as parameters
so I can easily vary the values and display them to the reader.
2014-11-13 07:20:43 -08:00
Roger Labbe 9aa73ac8fe Added section on sensor fusion. 2014-11-12 20:54:44 -08:00
Roger Labbe 9262b2796f Adjusted to use upper case x for filter state. 2014-11-08 20:59:53 -08:00
Roger Labbe c28582aa71 Spelling and capitization fixes. 2014-11-07 18:40:48 -08:00
Roger Labbe 8e964dd757 Fixed link to gif due to chapter directory name changes. 2014-11-07 18:33:14 -08:00
Roger Labbe 6e64160a2c Link fix, and filterpy information.
Fixed link to chapter 6, and added a section describing the filterpy library.
2014-11-06 19:08:22 -08:00
Roger Labbe ed2dbfcae2 Fixed link to the multivariate KF chapter. 2014-11-06 19:00:57 -08:00
Roger Labbe ccc94da04c Fixed chapter directory names. 2014-11-06 18:52:32 -08:00
Roger Labbe eeb16dca74 Changing body text font. 2014-11-06 18:39:52 -08:00
Roger Labbe 64691d36a2 Renamed Chapters
Renamed chapters to make them easier to work with from the command line
using tab completion.
2014-09-28 10:40:06 -07:00
Roger Labbe c0a6731401 Added links and description of progress.
A few chapters were missing links, and many lacked accurate
text describing their current status.
2014-09-18 15:22:00 -07:00