Commit Graph

86 Commits

Author SHA1 Message Date
Roger Labbe
43b55214a8 Start of IMM section, lots left to do 2015-08-22 12:22:09 -07:00
Roger Labbe
07931e84de Fix of typos, added explanation for Q.
In response to reader's email.
2015-08-22 11:50:47 -07:00
Roger Labbe
2ad95fa0e1 Cleaned up example for 1D vs 2D filter
The code was very unclear, including unused variables.

I also expanded the example.
2015-08-08 17:22:28 -07:00
Roger Labbe
b0a4b5d159 Updated to require FilterPy 0.0.26 2015-08-08 17:22:04 -07:00
Roger Labbe
0bc0b9c348 Extensive code changes for readability.
Content is largely the same, but I reduced the number of functions
that the code uses to minimize the amount of scrolling back and
forth. I move the dog simulation back into the notebook so that
it is easily inspected - people have been confused about what it
is doing.
2015-08-08 14:48:20 -07:00
Roger Labbe
be713acc68 Fixed display of marginals on 3d plots of Gaussian
The contours were displaying multiple curves, which doesn't have
a lot of meaning. Replaced with the marginal distribution.
2015-08-08 10:06:29 -07:00
Roger Labbe
391e8f4d49 Added MIT license to all files. 2015-08-01 08:52:48 -07:00
Roger Labbe
6bf7552212 Added license text and import from future.
This code did not work for Python 2.x becaus I was not
importing from future. While I was altering all the files
I updated the header to include license information.
2015-08-01 08:46:14 -07:00
Roger Labbe
625c89bee4 Added MMAE filtering section. 2015-07-30 21:45:13 -07:00
Roger Labbe
edd5f80c90 Trying a different font for body text. 2015-07-27 21:51:31 -07:00
Roger Labbe
cf224dfa63 More explicit wording to identify curves.
I was saying 'blue curve' 'green curve', but those have no meaning,
especially if printed in black and white. Switched to explicit
$\sigma=0.2$.

Also added second std in the chart showing the 68-95-99.7 rule.
2015-07-27 21:50:03 -07:00
Roger Labbe
c1b3703ce6 Changed notation for prior to a car.
The ^- notation was pretty unreadable, and inconsistant with the
hat notation for estimates.
2015-07-26 19:20:58 -07:00
Roger Labbe
925498a19e Edit to fit on 6x9 book.
Somewhat arbitrary, but I want the code to be readable on
narrow paper than 8.5x11.
2015-07-25 23:46:59 -07:00
Roger Labbe
335db298ff Implemeenting PDF in 6x9 format.
I did the work on chapter 1 just to start somewhere. Trying to make
the book fit nicely on a 6x9 book format.
2015-07-25 15:23:11 -07:00
Roger Labbe
0d836c7e03 Altered look of residual charts.
User ulenka on gitter suggest changing the color for the
residual line. I found my changes garish, so I switched
to a thicker black line and changed the grids to dotted.
2015-07-24 20:34:36 -07:00
Roger Labbe
49a464bcfa Fixed assignment to F. dt=.1, but used dt=1. 2015-07-22 11:13:07 -07:00
Roger Labbe
14478ce60a Experiement to see if MathJax is rending correctly.
I was specifying the Neo-Euler font, which renders poorly
on nbviewer. This is a test to make sure it works before
checking in all notebooks. (I have to re-execute the notebook)
so that the script from the css file gets embedded into the
notebook).
2015-07-19 10:58:19 -07:00
Roger Labbe
ca88bd82b3 Fixed font issue for nbviewer.
The Neo-Euler was rendering with no subscripts or superscripts.
Not sure why, but I swithed to the "TeX" font and all is well.
2015-07-19 10:51:32 -07:00
Roger Labbe
43070a4439 Copy edit of UKF chapter.
Also found a mistake in the text about computing the residual
of angles that was duplicated in the EKF chapter, so I fixed the
error in that chapter as well.

I pulled out the 'track in a circle' example as it is the usual
sort of textbook nonsense problem that no one cares about. I created
an 'old-content' Notebook in case anyone still wants to see it; I
may put more content there as I continue to edit.
2015-07-18 17:21:27 -07:00
Roger Labbe
6092e06459 Better code formatting with ``python
There is more than that here. I had a bad commit of a bunch of temporary
files, I had to reset back in time, and now I am doing a massive commit.
Sorry.
2015-07-18 08:43:24 -07:00
Roger Labbe
335df7f42d Fixed bug in EKF residual function.
Comment was wrong, it normalizes to [-pi, pi].

Also, code didn't handle cases where a-b > 2Pi
2015-07-15 19:03:59 -07:00
Roger Labbe
aba6a9dcf7 Moved all code to \code subdirectory.
All these changes are to make the book easier to run from
cloud.sagemath.org. You can share individual notebooks there,
but not entire projects.By putting everything under code at the
user only needs to grab that one directory.

More on sagemath later, if I decide to pursue that as a delivery
mechanism...
2015-07-13 23:16:04 -07:00
Roger Labbe
8b233b4ff5 Copy edit of chapter 8.
Note fully done, still have to figure out what to do with the ball
tracking code, and add a control example to the chapter.
2015-07-13 14:42:34 -07:00
Roger Labbe
878e4a5578 checkpoint; in midst of big re-org.
This is not a 'useful'checkin. I'm heavily reorganizing teh
multivariate chapter (spliltting in two) and I am getting
worried about losing edits.
2015-07-12 18:57:43 -07:00
Roger Labbe
9b60578728 refactor to minimize code plot size.
Added code to set x,y labels and title, and to set xlim, ylim
in one line.

Also moved some plotting code to the *internal.py files.
2015-07-09 14:28:50 -07:00
Roger Labbe
dff91d9a6f Fixed notebooks for FilterPy code reorg.
I made a separate filterpy.stats module becuase it made
little sense to import filterpy.common for stats
functions. This required a lot of changes in the notebooks
and supporting code.
2015-07-08 18:42:12 -07:00
Roger Labbe
4306a09182 Made markers more reable in plots. 2015-07-08 16:13:03 -07:00
Roger Labbe
f8896bbb80 Lots of material on resampling.
Happy 4th of July!
2015-07-04 20:12:33 -07:00
Roger Labbe
24e70d7c77 Added MM filter bank. 2015-06-30 20:14:39 -07:00
Roger Labbe
1b92397175 Checkpoint. Added a lot to the particle filter chapter. 2015-06-28 13:38:12 -07:00
Roger Labbe
fbcef07499 Adding Particle filter chapter.
This is an early, incomplete draft, but it is time to get it into
source control so I can track changes. Not ready for public
consumption.
2015-06-27 08:37:14 -07:00
Roger Labbe
10a62649df Added chart of multiple Gaussians 2015-06-24 21:00:57 -07:00
Roger Labbe
5f593639d8 Altered plot styles.
Lines seemed to thick to see what is happening when they are close
to each other. Changed line width to 2.
2015-06-22 17:56:14 -07:00
Roger Labbe
51c9a8283e Wholesale changes to connect chapters together.
I made a lot of changes so that each chapter makes clear that
they are all implementing the same basic bayesian algorithm.

This required a lot of editting, and it doesn't make sense to
try to do that atomically, hence this huge check in.

I made a lot of edits, and haven't copy editted anything. i'm
sure I introduced a lot of problems and discontinuities.
2015-06-20 15:52:16 -07:00
Roger Labbe
5ffe5c67eb Added UKF/EKF comparison.
Had to adjust some examples and rerun notebooks in several places
to account for some code chantes that I made.
2015-06-17 09:12:31 -07:00
Roger Labbe
87e6f5c6e7 Removed testing code. 2015-06-17 08:04:06 -07:00
Roger Labbe
adba3e5915 Renamed a function. 2015-06-16 22:10:42 -07:00
Roger Labbe
1633d9cda9 Added fixed lag section. 2015-06-13 20:05:10 -07:00
Roger Labbe
f8057cd917 UKF chapter updated for Merwe parametization.
Chapter is not complete; checking in because I am beginning to alter
the formulation of unscented_transform in filterpy.
2015-06-07 17:03:35 -07:00
Roger Labbe
758bd2c7f4 Working for UKF rename.
Most of the text is wrong, but changed code to use the
renamed ScaledUnscentedKalmanFilter.

Checking in with bad text because I am in the process of changing
FilterPy to use a class for the sigma points to make it easier
to change the sigma point generation, leaving us with one
UKF class instead of several.
2015-06-06 19:49:56 -07:00
Roger Labbe
54bce9d7a0 Added EKF robot localization example.
Still needs a lot of explanation; mostly the implementation is there
for now.
2015-05-30 14:44:49 -07:00
Roger Labbe
a0b7a50b05 More math material for KF.
Added better explanation of P = FPF' + Q.

Moved conversion of multivariate equations to univariate eqs. to the
math chapter.

Moved the walkthrough of KalmanFilter to an appendix.
2015-05-10 18:28:45 -07:00
Roger Labbe
752320ad01 Formatting and experiments.
Let this check in get away from me. Bunch of small formatting sttuf
in the various chapters, some experimental animations and code, etc.
Not a clearly delineated check in.
2015-05-09 10:21:36 -07:00
Roger Labbe
8bae16b811 Changes to condense material.
Lots of small changes to try to get page count down. I'm not liking
this.
2015-04-20 17:14:51 -07:00
Roger Labbe
dda63fb329 This extension does not work with IPython 3+. 2015-04-19 09:36:46 -07:00
Roger Labbe
0086fcd201 Changes to bring page count down.
Made plots smaller, moved legends outside of plot (so smallersize
is still readable), moved plotting code into external modules.
2015-04-18 14:52:41 -07:00
Roger Labbe
5f7c7de378 More info on mean, std, and variance.
I had information on these rather buried, and did not have a single example
of how to compute them. Now the first part of the chapter covers this much
more thoroughly.

Also added a section on plotting exponentials. Not sure I want to retain
it; it is a bit 'light'.
2015-03-07 15:27:56 -08:00
Roger Labbe
ed2af0cb50 Minor fixes.
538.json had some settings that were apparently made obsolete.

Somehow a cell in the chapter was set to raw.
2015-03-05 21:50:43 -08:00
Roger Labbe
b32deadfa6 Fixed heading numbers.
Some sections jumped from level 2 to level 4, for example.

Also played around with generating book to HTML. I like it, but
it needs some work. The Calico table of content generator cannot
deal with different headers with the same name, for example.

I want to go to HTML so I can use Bokeh to have interactive plots.
But that means no more PDF, because Bokeh will not export to
PDF.
2015-03-03 12:52:44 -08:00
Roger Labbe
08328f0f0b Expanded ILS coverage.
Fixed notation for a priori and a posteriori variables.
Explained how to compute H matrix by linearizing.
2015-03-01 11:16:59 -08:00