A lot of changes. I think a lot of changes to the notebooks are just
due to running them. In the process of adding a bunch of new .py scripts to support the book. Most important is the DiscreteBayes1D.py class, which implements a Discrete Bayesian filter in a generalized way.
This commit is contained in:
1 parent
20bd353b8a
commit
8305200ff0
10 files changed
+533
-190
No files matched your search
@@ -0,0 +1,149 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Fri May 2 11:48:55 2014
|
||||
|
||||
@author: rlabbe
|
||||
"""
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
|
||||
import copy
|
||||
import numpy as np
|
||||
import bar_plot
|
||||
import numpy.random as random
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
''' should this be a class? seems like both sense and update are very
|
||||
problem specific
|
||||
'''
|
||||
|
||||
class DiscreteBayes1D(object):
|
||||
|
||||
def __init__(self, world_map, belief=None):
|
||||
self.world_map = copy.deepcopy(world_map)
|
||||
self.N = len(world_map)
|
||||
|
||||
if belief is None:
|
||||
# create belief, make all equally likely
|
||||
self.belief = np.empty(self.N)
|
||||
self.belief.fill (1./self.N)
|
||||
|
||||
else:
|
||||
self.belief = copy.deepcopy(belief)
|
||||
|
||||
# This will be used to temporarily store calculations of the new
|
||||
# belief. 'k' just means 'this iteration'.
|
||||
self.belief_k = np.empty(self.N)
|
||||
|
||||
assert self.belief.shape == self.world_map.shape
|
||||
|
||||
|
||||
def _normalize (self):
|
||||
s = sum(self.belief)
|
||||
self.belief = self.belief/s
|
||||
|
||||
def sense(self, Z, pHit, pMiss):
|
||||
for i in range (self.N):
|
||||
hit = (self.world_map[i] ==Z)
|
||||
self.belief_k[i] = self.belief[i] * (pHit*hit + pMiss*(1-hit))
|
||||
|
||||
# copy results to the belief vector using swap-copy idiom
|
||||
self.belief, self.belief_k = self.belief_k, self.belief
|
||||
self._normalize()
|
||||
|
||||
def update(self, U, kernel):
|
||||
N = self.N
|
||||
kN = len(kernel)
|
||||
width = int((kN - 1) / 2)
|
||||
|
||||
self.belief_k.fill(0)
|
||||
|
||||
for i in range(N):
|
||||
for k in range (kN):
|
||||
index = (i + (width-k)-U) % N
|
||||
#print(i,k,index)
|
||||
self.belief_k[i] += self.belief[index] * kernel[k]
|
||||
|
||||
# copy results to the belief vector using swap-copy idiom
|
||||
self.belief, self.belief_k = self.belief_k, self.belief
|
||||
|
||||
def add_noise (Z, count):
|
||||
n= len(Z)
|
||||
for i in range(count):
|
||||
j = random.randint(0,n)
|
||||
Z[j] = random.randint(0,2)
|
||||
|
||||
|
||||
def animate_three_doors (loops=5):
|
||||
world = np.array([1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0])
|
||||
#world = np.array([1,1,1,1,1])
|
||||
#world = np.array([1,0,1,0,1,0])
|
||||
|
||||
|
||||
f = DiscreteBayes1D(world)
|
||||
|
||||
measurements = np.tile(world,loops)
|
||||
add_noise(measurements, 4)
|
||||
|
||||
for m in measurements:
|
||||
f.sense (m, .8, .2)
|
||||
f.update(1, (.05, .9, .05))
|
||||
|
||||
bar_plot.plot(f.belief)
|
||||
plt.pause(0.01)
|
||||
|
||||
|
||||
def _test_filter():
|
||||
def is_near_equal(a,b):
|
||||
try:
|
||||
assert sum(abs(a-b)) < 0.001
|
||||
except:
|
||||
print(a, b)
|
||||
assert False
|
||||
|
||||
def test_update_1():
|
||||
f = DiscreteBayes1D(np.array([0,0,1,0,0]), np.array([0,0,.8,0,0]))
|
||||
f.update (1, [1])
|
||||
is_near_equal (f.belief, np.array([0,0,0,.8,0]))
|
||||
|
||||
f.update (1, [1])
|
||||
is_near_equal (f.belief, np.array([0,0,0,0,.8]))
|
||||
|
||||
f.update (1, [1])
|
||||
is_near_equal (f.belief, np.array([.8,0,0,0,0]))
|
||||
|
||||
f.update (-1, [1])
|
||||
is_near_equal (f.belief, np.array([0,0,0,0,.8]))
|
||||
|
||||
f.update (2, [1])
|
||||
is_near_equal (f.belief, np.array([0,.8,0,0,0]))
|
||||
|
||||
f.update (5, [1])
|
||||
is_near_equal (f.belief, np.array([0,.8,0,0,0]))
|
||||
|
||||
|
||||
def test_undershoot():
|
||||
f = DiscreteBayes1D(np.array([0,0,1,0,0]), np.array([0,0,.8,0,0]))
|
||||
f.update (2, [.2, .8,0.])
|
||||
is_near_equal (f.belief, np.array([0,0,0,.16,.64]))
|
||||
|
||||
def test_overshoot():
|
||||
f = DiscreteBayes1D(np.array([0,0,1,0,0]), np.array([0,0,.8,0,0]))
|
||||
f.update (2, [0, .8, .2])
|
||||
is_near_equal (f.belief, np.array([.16,0,0,0,.64]))
|
||||
|
||||
|
||||
test_update_1()
|
||||
test_undershoot()
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
_test_filter()
|
||||
|
||||
|
||||
|
||||
#animate_three_doors(loops=1)
|
||||
|
||||
|
||||
|
||||
|
||||
+24
-4
@@ -15,14 +15,34 @@
|
||||
"\n",
|
||||
"The Kalman filter was introduced to the world via papers published in 1958 and 1960 by Rudolph E Kalman. This work built on work by Nobert Wiener. Kalman's early papers were extremely abstract, but researchers quickly realized that the papers described a very practical technique to filter noisy data. From then until now it has been an ongoing topic of research, and there are many books and papers devoted not only to the basics, but many specializations and extensions to the technique. If you are reading this, you have likely come across some of them.\n",
|
||||
"\n",
|
||||
"If you are like me, you probably find them nearly impenetrable. I find that almost all start with very abstract math, assume familiarity with notation and naming conventions that I haven't seen before, and focus heavily on proof rather than exposition and teaching. This is perhaps understandable, but it is a regrettable situation. \n",
|
||||
"If you are like me, you probably find them nearly impenetrable. I find that almost all start with very abstract math, assume familiarity with notation and naming conventions that I haven't seen before, and focus heavily on proof rather than exposition and teaching. This is perhaps understandable, but it is a regrettable situation and not necessary. \n",
|
||||
"\n",
|
||||
"After struggling through this material for some time, things finally began making sense. A majority of my 'aha' moments were due to implementing and experimenting with various simple filters. What to make of an equation like $K_k=P_{k}^{-}H^{T}_{k}[H_k P^{-}_{k} H^{T}_{k} + R_k]^{-1}$ is initially puzzing. This is especially true when it pops out as the result of two to three pages of linear algrebra, and each variable is given only a very abstract, mathematically rigorous definition. One book I have doesn't bother to define $R_k$ despite using it throuout its 4 pages of derivation of K. If instead I tell you that K is just a scaling factor for choosing how much of a measurement and how much of a prediction to use in the filter, what K is becomes obvious (although perhaps the computation is still a bit mysterious). After implementing a few Kalman filters for toy problems and varying the values of various matrices and constants I developed both an intuitive and fairly deep understanding of how Kalman filters work. This knowledge is indispensible; it is trivial to code the handful of linear equations for a Kalman filter, and they never change. I do mean a handful - you can implement the simplest Kalman filter in 10 lines of code. \n",
|
||||
" "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"** this needs a lot of editting. bored with it for now.**"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"While you do need to know some basic probability and some very basic linear algebra to understand and implement Kalman filters, by and large you really do not need to understand the complicated, multi-page derivations. The end result of all the math is a small handful of equations which you can use to perform very sophisticated filtering, smoothing, and tracking. Implementing the basic equations is never difficult. Kalman filter design is much more an art than a science - implementers spend a few minutes writing the basic equations, and then a lot of time tuning the filter for their specific problem. \n",
|
||||
"\n",
|
||||
"I compare this to a student learning the equation for the volume of a sphere: $V(r) = \\frac{4}{3}\\pi r^3$ A student can use this equation without even understanding the functional notation $V(r)$, and certainly they do not need to be able to derive the equation via calculus. Eventually, in some domains, knowledge of the calculus will become useful, but an enormous amount of work can be done by only knowing the equation and how to apply it. Also, it is often useful to understand facts about a sphere, such as it the shape that encloses the greatest volume with the smallest surface area. You do not have to know how to prove that to make use of that information to explain the reason for why bubbles are round, or to economically fence an area for livestock. \n",
|
||||
"\n",
|
||||
"I argue the same is largely true with Kalman filters. In this book I will not prove the Kalman filter equations are correct, nor will I derive them. I will instead strive to build in you an physical, intuitive understanding of what the equations mean, and how they interact. Of course, if you are trying to navigate a spaceship to Mars you will require a more sophisticated understanding than I provide, and you will not view this as a useful resource. But the rest of people, who perhaps wants to track heads in video, or control a little hobby robot, or smooth some data, I think this approach should provide a lot of insight into how to create Kalman filters, and provide enough background that the standard texts are now approachable.\n",
|
||||
"\n",
|
||||
"I argue the same is largely true with Kalman filters. In this book I will not prove the Kalman filter equations are correct, nor will I derive them. I will instead strive to build in you an physical, intuitive understanding of what the equations mean, and how they interact. Of course, if you are trying to navigate a spaceship to Mars you will require a more sophisticated understanding than I provide, and you will not view this as a useful resource. But the rest of people, who perhaps wants to track heads in video, or control a little hobby robot, or smooth some data, I think this approach should provide a lot of insight into how to create Kalman filters, and provide enough background that the standard texts are now approachable."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"#### Prerequisites\n",
|
||||
"\n",
|
||||
"While Kalman filters are used in many domains, they were initially created to solve problems with missle tracking and navigation. Most of my examples will draw from physical examples such as these. However, I do this not just from a sense of history, but because I believe that helps the student form strong pysical intuitions about what the filter is doing. For example, we will learn how the Kalman filter creates and uses something called \"hidden variables\". This is normally presented in a highly abstract manner. However, it is actually quite simple. Suppose I know your position at several points in time. From that I can calculate your velocity even though I don't have any sensor that directly measures your velocity. In a Kalman filter, if I have a position sensor, the filter will generate the hidden, or unobserved variable velocity. A lot of seemingly arcane terminology suddenly becomes concrete and clear. So you should have taken a basic physics course and understand equations like $d = \\frac{a}{2} t^2 + v_0 t + d_0$\n",
|
||||
@@ -37,7 +57,7 @@
|
||||
"\n",
|
||||
"Since this is a book on doing Kalman filtering with Python I will expect that you know Python; I do not attempt to teach it. With that said, it is a very easy language to learn, and it reads much like pseudocode. If you are more familiar with another language I do not think you will have any major difficulties reading the source code. I purposefully restrict the code to the more basic features of Python to accomodate people with varying skill levels. If you use this code in your own work, feel free to use more advanced Python facilities if it strikes your fancy.\n",
|
||||
"\n",
|
||||
"So that is a fair amount of prerequisites, but I think you will already have most of them if you are seriously trying to solve a problem where Kalman filters are useful. \n"
|
||||
"So that is a fair amount of prerequisites, but I think you will already have most of them if you are seriously trying to solve a problem where Kalman filters are useful. "
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
+139
-87
@@ -50,7 +50,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 12
|
||||
"prompt_number": 3
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -74,11 +74,11 @@
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"0.9827 0.4385 1.6524 0.6318 -0.2302 -1.0772 -0.0953 0.1147 1.1092 1.6671 0.1331 0.5139 -0.5076 -0.9376 -0.7724 0.4346 -0.3805 -1.9624 -0.3980 -0.9907\n"
|
||||
"-0.9868 -0.7268 -1.2716 1.8108 -0.0831 0.5857 0.3981 -0.2151 0.5696 0.7693 -2.0554 0.0504 -0.4504 0.2174 -0.0658 -0.7274 -1.7664 -0.1899 1.8342 1.9822\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 13
|
||||
"prompt_number": 4
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -117,7 +117,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAEACAYAAACTXJylAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFppJREFUeJzt3WtsU+cdx/GfCdkYUMKoQqAkjCodC05C7JESDYliIGTt\nRrqyplOTTUgENk19MxCTCt0LXE0qsG5SQ0v7Aras7RhUmtp1tIBGRE0DFcpQoGWagJGLgHLpKOKW\nCybJ2QuUYEoS7ONjn3Ps70ey5Ab7+K/SPvrqie3HYxiGIQCAa4ywewAAQGxYuAHAZVi4AcBlWLgB\nwGVYuAHAZVi4AcBlhl24a2trlZOTo+Li4oGfXb58WYsWLdL06dNVUVGhK1euJHxIAMAdwy7cy5Yt\n0549e+762YYNG7Ro0SKdPHlSCxcu1IYNGxI6IADgbp77fQCnvb1dlZWVOnbsmCSpoKBA+/fvV05O\nji5cuKBAIKDjx48nZVgAgIk97osXLyonJ0eSlJOTo4sXL1o+FABgaHH9ctLj8cjj8Vg1CwAgCiNj\nfUL/FsmkSZN0/vx5TZw4cdDHPfLII2ppaYl7QABIJ/n5+Tp16tSwj4m5uJ988km9+eabkqQ333xT\nTz311KCPa2lpkWEYjrqtW7fO9hncMJNT52ImZkq1uVpaDAUChr73PUPHj/f/7P7BO+zCXV1drTlz\n5ujEiRPKy8tTfX291qxZo71792r69Onat2+f1qxZE+vaDwBpra9P2rxZKiuTFi+WGhul73wn+ucP\nu1Wyffv2QX/e0NAQ05AAgNtaW6Xly6WbN6UDB2JbsPul1ScnA4GA3SPcw4kzSc6ci5miw0zRS+Zc\n8VZ2pPu+j9ssj8ejBF0aAFwlsrLr64dfsKNZO9OquAEgmays7Egxvx0QAHB/VuxlD4XiBgALJaqy\nI1HcAGCRRFZ2JIobAOKUjMqORHEDQBySVdmRKG4AMCHZlR2J4gaAGNlR2ZEobgCIkp2VHYniBoAo\n2F3ZkShuABiGUyo7EsUNAENwUmVHorgB4CucWNmRKG4AiODUyo5kurjr6upUXFysoqIi1dXVWTkT\nACSd0ys7kqni/ve//62tW7fqX//6lzIzM/X4449r8eLFys/Pt3o+AEg4N1R2JFPFffz4cZWVlWnU\nqFHKyMjQvHnz9O6771o9GwAklJsqO5Kp4i4qKtJvfvMbXb58WaNGjdKHH36o2bNnWz0bACSM2yo7\nkqmFu6CgQM8//7wqKio0ZswY+f1+jRhxb7wHg8GB+4FAwLHnzgFIH3190htvSOvWSWvXSitXShkZ\n9s0TCoUUCoVieo4lZ06+8MILmjp1qn75y1/euTBnTgJwmFjOfrRLQs+c/OKLLyRJp0+f1nvvvaea\nmhqzlwKAhHLrXvZQTL+Pu6qqSl9++aUyMzP1+uuva9y4cVbOBQCWcPNe9lAs2SoZ9MJslQCwUf9e\ndjAorVlj/152tKJZO/nkJICUk4qVHYnvKgGQMlJtL3soFDeAlJDqlR2J4gbgaulS2ZEobgCulU6V\nHYniBuA66VjZkShuAK6SrpUdieIG4ArpXtmRKG4Ajkdl343iBuBYVPbgKG4AjkRlD43iBuAoVPb9\nUdwAHIPKjg7FDcB2VHZsKG4AtqKyY0dxA7AFlW2e6eJev369/vKXv2jEiBEqLi5WfX29vv71r1s5\nG4AURWXHx1Rxt7e3a8uWLWpubtaxY8fU29urHTt2WD0bgBRDZVvDVHGPGzdOmZmZ6uzsVEZGhjo7\nOzVlyhSrZwOQQqhs65gq7gkTJmj16tWaOnWqHnroIY0fP17l5eVWzwYgBVDZ1jNV3C0tLXrllVfU\n3t6urKwsPfPMM9q2bZt++tOf3vW4YDA4cD8QCCgQCMQzKwCX6a/s7m4qeyihUEihUCim55g65f2d\nd97R3r17tXXrVknS22+/rUOHDmnz5s13Lswp70DacusJ604QzdppaqukoKBAhw4dUldXlwzDUEND\ng7xer6khAaSW1lZp4UJp27bblb16NYu21Uwt3CUlJVq6dKlKS0s1c+ZMSdIvfvELSwcD4C7sZSeP\nqa2SqC7MVgmQNiLfMVJfz4Idj4RtlQCAdLuyX3tNmj2byk4mvqsEgCmtrVJtrRQOSwcPsmAnE8UN\nICaRlV1ZSWXbgeIGEDUq2xkobgD3RWU7C8UNYFhUtvNQ3AAGRWU7F8UN4B5UtrNR3AAGUNnuQHED\nkERluwnFDaQ5Ktt9KG4gjVHZ7kRxA2mIynY3ihtIMy0tt7/Jj8p2L4obSBN9fdKrr97+vmwq290o\nbiANUNmpxVRxnzhxQn6/f+CWlZWlTZs2WT0bgDhR2akp7hNw+vr6NGXKFDU1NSkvL+/OhTkBB7BV\nZGVzKo17JOUEnIaGBuXn59+1aAOwD5Wd+uLe496xY4dqamqsmAVAnNjLTg9xLdzhcFg7d+7Uxo0b\nB/3zYDA4cD8QCCgQCMTzcgCG0H/C+osvSmvWSKtWSRkZdk+FaIRCIYVCoZieE9ce9/vvv6833nhD\ne/bsuffC7HEDScFedmpJ+B739u3bVV1dHc8lAJjEXnb6Ml3cHR0d+ta3vqW2tjY98MAD916Y4gYS\nhspOXQkt7jFjxujSpUuDLtoAEoPKhsQnJwHX4B0j6Md3lQAOR2XjqyhuwMGobAyG4gYciMrGcChu\nwGGobNwPxQ04BJWNaFHcgANQ2YgFxQ3YiMqGGRQ3YBMqG2ZR3ECSUdmIF8UNJBGVDStQ3EASUNmw\nEsUNJBiVDatR3ECCUNlIFIobSAAqG4lkurivXLmiqqoqzZgxQ16vV4cOHbJyLsCVqGwkg+ni/tWv\nfqUf/OAH+tvf/qaenh51dHRYORfgOlQ2ksXU0WVXr16V3+9Xa2vr0Bfm6DKkicgT1teulVau5IR1\nmBfN2mmquNva2pSdna1ly5bp008/1axZs1RXV6fRo0ebGhRwKyobdjC1x93T06Pm5mY999xzam5u\n1pgxY7RhwwarZwMcq69Peu019rJhD1PFnZubq9zcXD366KOSpKqqqkEX7mAwOHA/EAgoEAiYGhJw\nktZWqbaWyoY1QqGQQqFQTM8xtcctSY899pi2bt2q6dOnKxgMqqurSxs3brxzYfa4kWL6+qTXX5eC\nQfaykTjRrJ2mF+5PP/1UK1asUDgcVn5+vurr65WVlRXTiwNuEVnZ9fVUNhInoQu3FS8OOB2VjWRL\n2LtKgHTAXjaciu8qAb6i/x0js2fzjhE4E8UNRKCy4QYUNyAqG+5CcSPtUdlwG4obaYvKhltR3EhL\nVDbcjOJGWqGykQoobqQNKhupguJGyqOykWoobqQ0KhupiOJGSqKykcoobqQcKhupjuJGyqCykS4o\nbqQEKhvphOKGq1HZSEemi3vatGkaN26cMjIylJmZqaamJivnAu6Lyka6Ml3cHo9HoVBIR44cYdFG\nUlHZSHdx7XFzNBmSjcoG4izu8vJylZaWasuWLVbOBNyDygbuMF3cBw8e1OTJk/W///1PixYtUkFB\ngebOnWvlbIAkKhv4KtML9+TJkyVJ2dnZWrJkiZqamu5ZuIPB4MD9QCCgQCBg9uWQhjhhHekgFAop\nFArF9ByPYWKjurOzU729vXrggQfU0dGhiooKrVu3ThUVFXcuHMUR88BQIiu7vp7KRvqIZu00tcd9\n8eJFzZ07Vz6fT2VlZVq8ePFdizZgFnvZwP2ZKu6oLkxxI0ZUNpDA4gasRGUDseG7SmAr3jECxI7i\nhi2obMA8ihtJR2UD8aG4kTRUNmANihtJQWUD1qG4kVBUNmA9ihsJQ2UDiUFxw3JUNpBYFDcsRWUD\niUdxwxJUNpA8FDfiRmUDyUVxwzQqG7AHxQ1TqGzAPhQ3YkJlA/ajuBE1KhtwhriKu7e3V36/X5WV\nlVbNAweisgFniau46+rq5PV6df36davmgcNQ2YDzmC7us2fPateuXVqxYgVHlKUgKhtwLtPFvWrV\nKr388su6du2alfPAAahswNlMLdwffPCBJk6cKL/fr1AoNOTjgsHgwP1AIKBAIGDm5ZAkfX3SG29I\n69ZJa9dKK1dKGRl2TwWktlAoNOw6OhhTp7y/8MILevvttzVy5Eh1d3fr2rVrevrpp/XWW2/duTCn\nvLtKa6u0fLl08yYnrAN2imbtNLVwR9q/f79+//vfa+fOnTG/OOzXX9nBoLRmDZUN2C2atdOS93F7\nPB4rLoMki6zsAweobMAt4i7uIS9McTsWlQ04V9KKG+5BZQPux3eVpIm+PmnzZqmsTFq8mPdlA25G\ncacBKhtILRR3CqOygdREcacoKhtIXRR3iqGygdRHcacQKhtIDxR3CqCygfRCcbsclQ2kH4rbpahs\nIH1R3C5EZQPpjeJ2ESobgERxuwaVDaAfxe1wVDaAr6K4HYzKBjAYituBqGwAwzFV3N3d3Zo3b55u\n3rypcDisH/3oR1q/fr3Vs6UlKhvA/Zgq7lGjRumjjz7S0aNH9dlnn+mjjz7SgQMHrJ4trVDZAKJl\neo979OjRkqRwOKze3l5NmDDBsqHSDZUNIBam97j7+vrk8/mUk5Oj+fPny+v1WjlXWqCyAZhhurhH\njBiho0eP6urVq/r+97+vUCikQCBw12OCweDA/UAgcM+fp7P+yu7uprKBdBYKhRQKhWJ6jiWnvP/2\nt7/VN77xDf3617++c2FOeR8UJ6wDGE7CTnm/dOmSRo4cqfHjx6urq0t79+7VunXrTA2ZTtjLBmAF\nU3vc58+f14IFC+Tz+VRWVqbKykotXLjQ6tlSBnvZAKxkyVbJoBdmq0TS3ZVdX8+CDWB40aydfHIy\nQfr6pNdek2bPprIBWIvvKkmA1laptlYKh6WDB1mwAViL4rZQZGVXVlLZABKD4rYIlQ0gWSLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x28aa590>"
|
||||
"<matplotlib.figure.Figure at 0x3998a50>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -128,7 +128,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 14
|
||||
"prompt_number": 5
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -167,13 +167,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\ndIJH/3pQZ86c0ZydnbWdO3dqmZmZhuPNmzfXdu3aZXh88eJFrWLFilpOTo4hUVy4cMFwvn379tq6\ndes0TdO0zp07a9OmTdMuXbpk9LM++ugjbeDAgYbHubm5Wr169bTdu3drmqZp7u7u2tKlS+9xnyzq\nn4QQFiMtTdMcHDTt779N/7Mf9ffaarqeSipVPKgmTZrw+eefM336dFxcXBg8eDAXL14kLi6OPn36\n4OjoiKOjI97e3tja2hq2hwVwdXU1fF+1alWuX78OwOLFizl9+jTNmzenffv2bN26FYCEhAQa3FZi\nWKfTUb9+faNtZevXr//gb0II8Wj0ehK7vcKzHa5Su7a5g3lwVpMozGnw4MH8+uuv6PV6dDodEyZM\noEGDBmzfvp2UlBTDV0ZGBnXq1Lnn6zVp0oTVq1dz6dIlJkyYQL9+/cjIyKBu3brobytar2ka586d\nM9otUEp0CGFCmgZhYWj+/nx3xoeR46qZO6KHIomilJ0+fZrw8HBu3bpFpUqVqFy5Mra2tvzzn/9k\n8uTJxMfHA3Dp0iU2b958X6+5cuVKLl26BICDgwM6nY4KFSrQv39/tm7dSnh4OFlZWcydO5fKlSvT\nsWPHUnt/Qghj58/nfZNX6ZXFi/lhfASbvCbSuatlzjSURFHKbt26xaRJk6hduzZ16tTh8uXLzJw5\nk7fffptevXrRrVs37O3t6dChAwcPHjQ8r7i//H/88Ud8fX2xs7Pj3XffZe3atVSqVIlmzZqxcuVK\nxowZQ+3atdm6dSvff/+9TIMVwkQOHlQL3n7dkKgWPAQGkrtnLxOW+zBlSslvKGQquryBDoug0+kK\nrRJb1HHx4OReCvHwRo6Ec+dUrabIrYnUbePKd9/BRx+pldLmShSP+nstiUIYkXspxMO5cQPq1YMj\nR2DlSti8GXbvVqU6Jk6EF180X2yP+nstXU9CCJHnzBm1evqBXLsGwMaNqjR4/fowYYKqtxQUBOnp\n0Lt3ycdqSpIohBAiT5cu8Pnn93lx3owmPD3h0iWWLlU1lkDVcVq2DJKSYNq0grpOlkq6noQRuZfC\nWv39NzRqBFWqwNGjULduMRfr9TB8uKoRvnQp8XY++PnBhQtq86B8OTmqRpO5SdeTEEKUgOhoaN9e\nbSQ0YUIRF+W3Ivz9ITDQUKNp2TIYONA4SUDZSBIlQeZNCiEEKlH4+cGUKdC8OezZowaijVLine truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2e8cb50>"
|
||||
"<matplotlib.figure.Figure at 0x39e8dd0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 15
|
||||
"prompt_number": 6
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -200,13 +200,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x28b11d0>"
|
||||
"<matplotlib.figure.Figure at 0x39aa8d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 16
|
||||
"prompt_number": 7
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -220,13 +220,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2917e10>"
|
||||
"<matplotlib.figure.Figure at 0x39b62d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 17
|
||||
"prompt_number": 8
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -259,11 +259,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2d9ff90>"
|
||||
"<matplotlib.figure.Figure at 0x39b14d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 18
|
||||
"prompt_number": 9
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -295,13 +295,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2e5a390>"
|
||||
"<matplotlib.figure.Figure at 0x3998a90>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 19
|
||||
"prompt_number": 10
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -379,11 +379,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2e8f250>"
|
||||
"<matplotlib.figure.Figure at 0x3a5e410>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 20
|
||||
"prompt_number": 11
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -424,11 +424,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2e6d650>"
|
||||
"<matplotlib.figure.Figure at 0x38ebfd0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 21
|
||||
"prompt_number": 12
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -464,7 +464,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 22
|
||||
"prompt_number": 13
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -483,7 +483,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 23
|
||||
"prompt_number": 14
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -513,30 +513,30 @@
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"time: 0 position = 1.497 variance = 2.500\n",
|
||||
"time: 1 position = 0.809 variance = 1.667\n",
|
||||
"time: 2 position = 0.817 variance = 1.250\n",
|
||||
"time: 3 position = 0.485 variance = 1.000\n",
|
||||
"time: 4 position = 0.576 variance = 0.833\n",
|
||||
"time: 5 position = 0.681 variance = 0.714\n",
|
||||
"time: 6 position = 0.650 variance = 0.625\n",
|
||||
"time: 7 position = 0.618 variance = 0.556\n",
|
||||
"time: 8 position = 0.763 variance = 0.500\n",
|
||||
"time: 9 position = 0.728 variance = 0.455\n",
|
||||
"time: 10 position = 0.611 variance = 0.417\n",
|
||||
"time: 11 position = 0.546 variance = 0.385\n",
|
||||
"time: 12 position = 0.529 variance = 0.357\n",
|
||||
"time: 13 position = 0.541 variance = 0.333\n",
|
||||
"time: 14 position = 0.527 variance = 0.312\n",
|
||||
"time: 15 position = 0.432 variance = 0.294\n",
|
||||
"time: 16 position = 0.351 variance = 0.278\n",
|
||||
"time: 17 position = 0.326 variance = 0.263\n",
|
||||
"time: 18 position = 0.337 variance = 0.250\n",
|
||||
"time: 19 position = 0.350 variance = 0.238\n"
|
||||
"time: 0 position = 1.439 variance = 2.500\n",
|
||||
"time: 1 position = 1.151 variance = 1.667\n",
|
||||
"time: 2 position = 1.143 variance = 1.250\n",
|
||||
"time: 3 position = 1.171 variance = 1.000\n",
|
||||
"time: 4 position = 0.915 variance = 0.833\n",
|
||||
"time: 5 position = 1.102 variance = 0.714\n",
|
||||
"time: 6 position = 1.095 variance = 0.625\n",
|
||||
"time: 7 position = 0.984 variance = 0.556\n",
|
||||
"time: 8 position = 0.943 variance = 0.500\n",
|
||||
"time: 9 position = 0.957 variance = 0.455\n",
|
||||
"time: 10 position = 0.804 variance = 0.417\n",
|
||||
"time: 11 position = 0.907 variance = 0.385\n",
|
||||
"time: 12 position = 0.605 variance = 0.357\n",
|
||||
"time: 13 position = 0.626 variance = 0.333\n",
|
||||
"time: 14 position = 0.612 variance = 0.312\n",
|
||||
"time: 15 position = 0.610 variance = 0.294\n",
|
||||
"time: 16 position = 0.718 variance = 0.278\n",
|
||||
"time: 17 position = 0.648 variance = 0.263\n",
|
||||
"time: 18 position = 0.589 variance = 0.250\n",
|
||||
"time: 19 position = 0.564 variance = 0.238\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 24
|
||||
"prompt_number": 15
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -595,7 +595,7 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 25
|
||||
"prompt_number": 16
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -645,47 +645,47 @@
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"UPDATE: 1.0000 , 502.0000\n",
|
||||
"SENSE: 2.5641 , 9.8047\n",
|
||||
"SENSE: 1.8930 , 9.8047\n",
|
||||
"\n",
|
||||
"UPDATE: 3.5641 , 11.8047\n",
|
||||
"SENSE: 0.8489 , 5.4138\n",
|
||||
"UPDATE: 2.8930 , 11.8047\n",
|
||||
"SENSE: 2.6048 , 5.4138\n",
|
||||
"\n",
|
||||
"UPDATE: 1.8489 , 7.4138\n",
|
||||
"SENSE: 2.1796 , 4.2574\n",
|
||||
"UPDATE: 3.6048 , 7.4138\n",
|
||||
"SENSE: 3.7046 , 4.2574\n",
|
||||
"\n",
|
||||
"UPDATE: 3.1796 , 6.2574\n",
|
||||
"SENSE: 3.1866 , 3.8490\n",
|
||||
"UPDATE: 4.7046 , 6.2574\n",
|
||||
"SENSE: 6.3120 , 3.8490\n",
|
||||
"\n",
|
||||
"UPDATE: 4.1866 , 5.8490\n",
|
||||
"SENSE: 3.7578 , 3.6904\n",
|
||||
"UPDATE: 7.3120 , 5.8490\n",
|
||||
"SENSE: 6.4078 , 3.6904\n",
|
||||
"\n",
|
||||
"UPDATE: 4.7578 , 5.6904\n",
|
||||
"SENSE: 4.2545 , 3.6267\n",
|
||||
"UPDATE: 7.4078 , 5.6904\n",
|
||||
"SENSE: 7.5106 , 3.6267\n",
|
||||
"\n",
|
||||
"UPDATE: 5.2545 , 5.6267\n",
|
||||
"SENSE: 5.4039 , 3.6007\n",
|
||||
"UPDATE: 8.5106 , 5.6267\n",
|
||||
"SENSE: 7.1136 , 3.6007\n",
|
||||
"\n",
|
||||
"UPDATE: 6.4039 , 5.6007\n",
|
||||
"SENSE: 7.8103 , 3.5900\n",
|
||||
"UPDATE: 8.1136 , 5.6007\n",
|
||||
"SENSE: 6.3304 , 3.5900\n",
|
||||
"\n",
|
||||
"UPDATE: 8.8103 , 5.5900\n",
|
||||
"SENSE: 8.9480 , 3.5856\n",
|
||||
"UPDATE: 7.3304 , 5.5900\n",
|
||||
"SENSE: 7.6277 , 3.5856\n",
|
||||
"\n",
|
||||
"UPDATE: 9.9480 , 5.5856\n",
|
||||
"SENSE: 11.1128 , 3.5838\n",
|
||||
"UPDATE: 8.6277 , 5.5856\n",
|
||||
"SENSE: 8.4180 , 3.5838\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2917fd0>"
|
||||
"<matplotlib.figure.Figure at 0x39f0810>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 26
|
||||
"prompt_number": 17
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -797,13 +797,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x28b19d0>"
|
||||
"<matplotlib.figure.Figure at 0x3a57a50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 27
|
||||
"prompt_number": 18
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -848,13 +848,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEACAYAAABfxaZOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVNX7wPHPILjmgqigomEIIi5ombmkogSaXzW3XDOX\nbDNtX8xffdNKwdRcKr9ZqZGWS5uaC7nillu5JriDCwIuiLus5/fHkUFkZwZmYJ7368WLmTv33nPm\nos+cOfec5xiUUgohhBA2wc7SFRBCCFF0JOgLIYQNkaAvhBA2RIK+EELYEAn6QghhQyToCyGEDclT\n0B8xYgTOzs40adLEuO2dd96hYcOG+Pj40Lt3b65evWp8LTAwEA8PD7y8vFi7dq35ay2EEKJA8hT0\nhw8fTkhISIZtAQEBHD58mAMHDuDp6UlgYCAAYWFhLFmyhLCwMEJCQhg1ahSpqanmr7kQQoh8y1PQ\nb9euHY6Ojhm2+fv7Y2enD3/sscc4d+4cAMuXL2fgwIE4ODjg5uZG/fr12b17t5mrLYQQoiDM0qc/\nb948unbtCsD58+dxdXU1vubq6kpUVJQ5ihFCCGEik4P+xIkTKV26NIMGDcp2H4PBYGoxQgghzMDe\nlIO///57Vq9ezYYNG4zbateuzdmzZ43Pz507R+3atTMdW79+fU6ePGlK8UIIYXPc3d05ceJEwU+g\n8igiIkI1btzY+HzNmjXK29tbXbx4McN+hw8fVj4+PiohIUGdOnVKPfTQQyo1NTXT+fJRdIn30Ucf\nWboKVkOuRTq5FunkWqQzNXbmqaU/cOBANm/ezKVLl6hTpw4TJkwgMDCQxMRE/P39AWjdujWzZ8/G\n29ubfv364e3tjb29PbNnz5buHSGEsBJ5CvqLFi3KtG3EiBHZ7j9u3DjGjRtX8FoJIYQoFDIj1wr4\n+vpaugpWQ65FOrkW6eRamI/hbh9R0RdsMGChooUQotgyNXaaNHqnMFStWpUrV65YuhrCAhwdHYmL\ni7N0NYQo0ayupS/fAGyX/O2FyJ2p/0+kT18IIWyIBH0hhLAhEvSFEMKGSNAXQggbIkFfFLrvv/+e\ndu3aWboaQggk6JdYycnJlq6CEMIKSdDPBzc3N6ZOnUrTpk2pWLEizz33HLGxsTz55JNUrlwZf39/\n4uPjAdi5cydt2rTB0dGRZs2asXnzZuN55s+fj7e3N5UqVcLd3Z1vvvnG+NqlS5fo1q0bjo6OODk5\n0b59e+NrdnZ2nDp1yvh82LBhfPjhhwCEhobi6urKZ599Rs2aNXnuuedQShEUFET9+vWpVq0a/fv3\nN86BiIyMxM7Oju+//566devi5OTE119/zZ49e2jatCmOjo6MGTMmw/ufN28e3t7eVK1alS5dunDm\nzJkMdZszZw6enp44OjoyevRoAMLDw3n55ZfZsWMHFStWpGrVqub6cwghCsKkdG0myK5oC1YpV25u\nbqp169bqwoULKioqStWoUUM1b95c7d+/X925c0d16tRJTZgwQZ07d045OTmpNWvWKKWUWrdunXJy\nclKXLl1SSim1atUqderUKaWUUps3b1bly5dX+/btU0opNXbsWPXSSy+p5ORklZycrLZt22Ys32Aw\nqJMnTxqfDxs2TH344YdKKaU2bdqk7O3t1dixY1ViYqK6ffu2mjFjhmrdurWKiopSiYmJ6sUXX1QD\nBw5USumsqQaDQb388ssqISFBrV27VpUuXVr17NlTXbx40fj+Nm/erJRSatmyZap+/frqyJEjKiUl\nRX366aeqTZs2GerWvXt3dfXqVXXmzBlVvXp1FRISopRS6vvvv1ePP/54rtfXmv/2QlgLU/+fFM+W\n/vjxYDBk/hk/Pu/7Z7dvLsaMGUP16tWpVasW7dq1o3Xr1vj4+FCmTBl69erFvn37+PHHH+natStd\nunQB4IknnqBFixasWrUKgK5du1KvXj0A2rdvT0BAAFu2bAGgdOnSREdHExkZSalSpWjbtm2O9VH3\nTNKws7NjwoQJODg4ULZsWebMmcOnn35KrVq1cHBw4KOPPuKXX37JsGbxhx9+SOnSpfH396dixYoM\nGjSIatWqGd/f/v37Afj66695//33adCgAXZ2drz//vvs378/w9oJY8eOpVKlStSpU4eOHTsaj1Uy\n4UqI3CUkFEkxxTfoK5X5J6egn9d9c+Hs7Gx8XK5cuQzPy5Yty40bNzh9+jQ///wzjo6Oxp/t27cT\nExMDwJo1a2jVqhVOTk44OjqyevVqLl++DMA777xD/fr1CQgIwN3dncmTJ+e5btWrV6d06dLG55GR\nkfTq1ctYh7R017GxsXl6P+XKlePGjRsAnD59mtdee814LicnJ4AMS2G6uLgYH5cvX56bN2/mue5C\n2LS1a8HbG65fL/SiimfQtyL3tmLT1g2oU6cOQ4YM4cqVK8af69ev8+6775KQkECfPn149913uXDh\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2e60150>"
|
||||
"<matplotlib.figure.Figure at 0x3a57b50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 28
|
||||
"prompt_number": 19
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -899,13 +899,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2d9aa10>"
|
||||
"<matplotlib.figure.Figure at 0x3a83590>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 29
|
||||
"prompt_number": 20
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -951,13 +951,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x2930650>"
|
||||
"<matplotlib.figure.Figure at 0x3d75410>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 30
|
||||
"prompt_number": 21
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1011,13 +1011,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x28aaad0>"
|
||||
"<matplotlib.figure.Figure at 0x39f0050>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 31
|
||||
"prompt_number": 22
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -1041,12 +1041,64 @@
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"author notes:\n",
|
||||
" clean up the code - same stuff duplicated over and over - write a 'clean implemntation' at the end."
|
||||
" clean up the code - same stuff duplicated over and over - write a 'clean implemntation' at the end.\n",
|
||||
" \n",
|
||||
" "
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 31
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "SyntaxError",
|
||||
"evalue": "invalid syntax (<ipython-input-23-1e7762f04e9a>, line 1)",
|
||||
"output_type": "pyerr",
|
||||
"traceback": [
|
||||
"\u001b[1;36m File \u001b[1;32m\"<ipython-input-23-1e7762f04e9a>\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m author notes:\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 23
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"sensor_error = 30\n",
|
||||
"movement_error = 2\n",
|
||||
"pos = (1000,500)\n",
|
||||
"\n",
|
||||
"zs = []\n",
|
||||
"ps = []\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"for i in range(100):\n",
|
||||
" pos = update(pos[0], pos[1], movement, movement_error)\n",
|
||||
"\n",
|
||||
" Z = math.sin(i/3.)*5.\n",
|
||||
" zs.append(Z)\n",
|
||||
" \n",
|
||||
" pos = sense(pos[0], pos[1], Z, sensor_error)\n",
|
||||
" ps.append(pos[0])\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"p1, = plot(zs,c='r', linestyle='dashed')\n",
|
||||
"p2, = plot(ps, c='b')\n",
|
||||
"legend([p1,p2], ['measurement', 'filter'], 2)\n",
|
||||
"show()"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3a7ab50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 27
|
||||
}
|
||||
],
|
||||
"metadata": {}
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Thu May 1 19:48:54 2014
|
||||
|
||||
@author: rlabbe
|
||||
"""
|
||||
from __future__ import division
|
||||
import gauss as g;
|
||||
import math
|
||||
import matplotlib.pyplot as plt
|
||||
import noise
|
||||
import numpy.random as random
|
||||
|
||||
|
||||
class KalmanFilter1D(object):
|
||||
|
||||
def __init__ (self, est_0=g.gaussian(0,1000)):
|
||||
self.estimate = est_0
|
||||
|
||||
def update_estimate(self, Z):
|
||||
self.estimate = self.estimate * Z
|
||||
|
||||
def project_ahead(self, U):
|
||||
self.estimate = self.estimate + U
|
||||
|
||||
|
||||
|
||||
def fixed_error_kf(measurement_error, motion_error, noise_factor = 1.0):
|
||||
mu = 0
|
||||
sig = 1000
|
||||
measurements = [x+5 for x in range(100)]
|
||||
f = KalmanFilter1D (g.gaussian(mu,sig))
|
||||
|
||||
ys = []
|
||||
errs = []
|
||||
xs = []
|
||||
|
||||
for i in range(len(measurements)):
|
||||
r = noise.white_noise (noise_factor)
|
||||
m = measurements[i] + r
|
||||
f.update_estimate (g.gaussian(m, measurement_error))
|
||||
|
||||
xs.append(m)
|
||||
ys.append(f.estimate.mu)
|
||||
errs.append (f.estimate.sigma)
|
||||
|
||||
f.project_ahead (g.gaussian(20, motion_error))
|
||||
|
||||
plt.clf()
|
||||
|
||||
p1, = plt.plot (measurements, 'r')
|
||||
p2, = plt.plot (xs,'g')
|
||||
p3, = plt.plot (ys, 'b')
|
||||
plt.legend ([p1,p2,p3],['actual', 'measurement', 'filter'], 2)
|
||||
#plt.errorbar (x=range(len(ys)), color='b', y=ys, yerr=errs)
|
||||
plt.show()
|
||||
|
||||
def varying_error_kf(noise_factor=1.0):
|
||||
motion_sig = 2.
|
||||
mu = 0
|
||||
sig = 1000
|
||||
|
||||
|
||||
f = KF1D (mu,sig)
|
||||
ys = []
|
||||
us = []
|
||||
errs = []
|
||||
xs = []
|
||||
|
||||
for i in range(len(measurements)):
|
||||
r = random.randn() * noise_factor
|
||||
m = measurements[i] + r
|
||||
print (r)
|
||||
f.update (m, abs(r*10))
|
||||
xs.append(m)
|
||||
#print ("measure:" + str(f.estimate))
|
||||
ys.append(f.estimate.mu)
|
||||
errs.append (f.estimate.sigma)
|
||||
|
||||
f.predict (1.0, motion_sig)
|
||||
#print ("predict:" + str(f.estimate))
|
||||
|
||||
plt.clf()
|
||||
plt.plot (measurements, 'r')
|
||||
plt.plot (xs,'g')
|
||||
plt.errorbar (x=range(len(ys)), color='b', y=ys, yerr=errs)
|
||||
plt.show()
|
||||
|
||||
|
||||
def _test_foo ():
|
||||
sensor_error = 1
|
||||
movement = .1
|
||||
movement_error = .1
|
||||
pos = g.gaussian(1,500)
|
||||
|
||||
zs = []
|
||||
ps = []
|
||||
filter_ = KalmanFilter1D(pos)
|
||||
m_1 = filter_.estimate.mu
|
||||
|
||||
for i in range(300):
|
||||
filter_.update_estimate(g.gaussian(movement, movement_error))
|
||||
|
||||
Z = math.sin(i/12.) + math.sqrt(abs(noise.white_noise(.02)))
|
||||
movement = filter_.estimate.mu - m_1
|
||||
m_1 = filter_.estimate.mu
|
||||
|
||||
print movement, filter_.estimate.sigma
|
||||
zs.append(Z)
|
||||
|
||||
filter_.project_ahead (g.gaussian(Z, sensor_error))
|
||||
ps.append(filter_.estimate[0])
|
||||
|
||||
|
||||
p1, = plt.plot(zs,c='r', linestyle='dashed')
|
||||
p2, = plt.plot(ps, c='b')
|
||||
plt.legend([p1,p2], ['measurement', 'filter'], 2)
|
||||
plt.show()
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
if 1:
|
||||
# use same seed to get repeatable results
|
||||
random.seed(10)
|
||||
|
||||
fixed_error_kf(measurement_error=100.,
|
||||
motion_error=.1,
|
||||
noise_factor=50)
|
||||
#_test_foo()
|
||||
@@ -206,7 +206,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x4087550>"
|
||||
"<matplotlib.figure.Figure at 0x3106550>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -250,7 +250,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x467ae50>"
|
||||
"<matplotlib.figure.Figure at 0x3272bd0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -258,7 +258,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x4a11b90>"
|
||||
"<matplotlib.figure.Figure at 0x371a1d0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -266,11 +266,11 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x4a61ed0>"
|
||||
"<matplotlib.figure.Figure at 0x3795710>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 50
|
||||
"prompt_number": 8
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -319,7 +319,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x4080a10>"
|
||||
"<matplotlib.figure.Figure at 0x3106410>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -349,7 +349,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAWgAAAEACAYAAACeQuziAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEjJJREFUeJzt3W1sVQWex/HfKeVhmQ4gCgUFp1BEWgr2rg3NdizcAoK7\nWIWFiaIo8phs1o0ymUnU2YTGnYKmgoHRFwQ2KpqgM298INjFtVzKg7NNV7o6RVQIzbQ8DRCFUh7a\ne3v2BVAO0vae24d7nr6f5CYgt6f/nJC/35yeczFM0zQFAHCdFKcHAAC0jwUNAC7FggYAl2JBA4BL\nsaABwKVY0ADgUql23pSRkaFBgwapT58+6tu3r6qqqnp7LgAIPFsL2jAMRSIRDR06tLfnAQBcY/sS\nB8+zAEBy2VrQhmFo5syZysvL0+bNm3t7JgCAbF7i2Ldvn0aOHKnTp0/rwQcf1IQJE1RYWNjbswFA\noNla0CNHjpQkDRs2TPPmzVNVVVXbgh43bpyOHDnSexMCgA9lZmbq8OHDnb4n7iWOixcvqrGxUZLU\n1NSknTt3atKkSW1/fuTIEZmmycs0tXr1asdncMuLc8G54FxYXi0tMteskXnHHTI3bZLZ2morbOMW\n9KlTpzRv3jxJUjQa1ZNPPqlZs2bFPTAAQFJtrbRkiTR4sFRdLf3iF7a/NO6CHjNmjGpqaro1HwAE\nTjQqlZVJ69dLpaXSihWSYSR0CFvXoGFPOBx2egTX4FzcwLm4ITDnohvVbGWYptmtG5wNw1A3DwEA\n/pBANdvZnRQ0APSEHqpmKz4sCQC6IxqV1q6VwmFp+XJp584eWc4SBQ0AXdcL1WxFQQNAonqxmq0o\naABIRC9XsxUFDQB2JKmarShoAIgnidVsRUEDQEccqGYrChoA2uNQNVtR0ABg5XA1W1HQAHCdC6rZ\nioIGABdVsxUFDSDYXFbNVhQ0gGByaTVbUdAAgsfF1WxFQQMIDg9UsxUFDSAYPFLNVhQ0AH/zWDVb\nUdAA/MuD1WxFQQPwHw9XsxUFDcBfPF7NVhQ0AH/wSTVbUdAAvM9H1WxFQQPwLh9WsxUFDcCbfFrN\nVhQ0AG/xeTVbUdAAvCMA1WxFQQNwvwBVsxUFDcDdAlbNVhQ0AHcKaDVbUdAA3CfA1WxFQQPoUYOG\nDJJhGAm/Bg0ZRDX/BAUNoEc1nmuUShL/utEljVJBQeCr2YqCBuCoPjHphT1SRKKaf8LWgo7FYgqF\nQiouLu7teQAESPbfpP3/KU0/KuVJ0sqVkmE4PZZr2FrQGzZsUHZ2tgxOHIAe0FbNb0tb/l6a9ZT0\nV6eHcqG4C7qhoUE7duzQ8uXLZZpmMmYC4GM3VfNKaXOeJNqvXXEX9KpVq1RWVqaUFC5XA+i6dqt5\niNNTuVund3Fs375dw4cPVygUUiQS6fB9JSUlbb8Oh8MKh8M9NB4AP8j+m/TWh9K5AVerOYiLORKJ\ndLpH22OYnVy3eOmll/Tuu+8qNTVVly9f1vnz5zV//nxt3br1xgEMg0sfANoYhtF2m12fmPTb/dKv\nv5B+N13afL86vpxRokDtEju7s9MFbbV792699tpr+uSTTxL+JgCC4/qCtlbz8kdsVHMJC/qnEnpQ\nhbs4AMTTR9Jv99isZnTKdkF3eAAKGsB1tbWqysnRubE2q9mqhIL+KW7NANB9ls/Q2CLu0OgpLGgA\n3VNbe/UzNCoqpOpqbZa4pNFDuMQBoGuiUamsTFq/XiotlVaskK59Kl3jucaED/fzwT/X+R/P98Kg\n7tTjPyQEAEmdfl5zkJZsb+MSBwD7+LzmpKKgAdjDv3KSdBQ0gM5RzY6hoAF0jGp2FAUN4FZUsytQ\n0ABuRjW7BgUN4Cqq2XUoaABUs0tR0ECQUc2uRkEDQUU1ux4FDQQN1ewZFDQQJFSzp1DQQBBQzZ5E\nQQN+RzV7FgUN+BXV7HkUNOBHVLMvUNCAn1DNvkJBA35BNfsOBQ14HdXsWxQ04GVUs69R0IAXUc2B\nQEEDXkM1BwYFDXgF1Rw4FDTgBVRzIFHQgJtRzYFGQQNuRTUHHgUNuA3VjGsoaMBNqGZYUNCAG1DN\naAcFDTiNakYHKGjAKVQz4ohb0JcvX9a0adN05coVNTc369FHH9XatWuTMRvgX1QzbIhb0AMGDNCu\nXbtUU1Ojr776Srt27dLevXuTMRvgP1QzEmDrEsfAgQMlSc3NzYrFYho6dGivDgX4waFDh/TAA/+o\nu+/O0cKFy9T45z9LBQVSRcXVal65UjIMp8eEi9la0K2trcrNzVV6erqKioqUnZ3d23MBnnb27FkV\nFMzQ/v3/pOP17yjzT/+naOFUqhkJsbWgU1JSVFNTo4aGBlVWVioSifTyWIC3VVZWKha7T1nmdO3X\nv2habIimGP30w69+RTXDtoRusxs8eLDmzJmj6upqhcPhtv9eUlLS9utwOHzTnwFBNLBfP626/JX+\nVWH9TqXarPlKNUepf//+To8Gh0QikYTj1jBN0+zsDWfOnFFqaqqGDBmiS5cuafbs2Vq9erVmzJhx\n9QCGoTiHAIKltlatzzyj/zn0vZ5p+aW+u/KQBg58R0uWTNMbb6xzejq4hJ3dGbegT5w4ocWLF6u1\ntVWtra166qmn2pYzAItoVCork9avV0ppqSY/8YSe3vAHHTnyjaZO/TctXvy00xPCY+IWdNwDUNDA\nzfc1b9nCDwERl53dyZOEQHdwXzN6EZ/FAXQVTwOil1HQQKKoZiQJBQ0kgmpGElHQgB1UMxxAQQPx\nUM1wCAUNdIRqhsMoaKA9VDNcgIIGrKhmuAgFDVxHNcNlKGiAaoZLUdAINqoZLkZBI5ioZngABY3g\noZrhERQ0goNqhsdQ0AgGqhkeREHD36hmeBgFDf+imuFxFDT8h2qGT1DQ8BeqGT5CQcMfqGb4EAUN\n76Oa4VMUNLyLaobPUdDwJqoZAUBBw1uoZgQIBQ3voJoRMBQ03I9qRkBR0HA3qhkBRkHDnahmgIKG\nC1HNgCQKGm5CNQM3oaDhDlQzcAsKGs6imoEOUdBwDtUMdIqCRvJRzYAtFDSSi2oGbItb0PX19Soq\nKtLEiROVk5OjjRs3JmMu+A3VDCTMME3T7OwNJ0+e1MmTJ5Wbm6sLFy7o/vvv14cffqisrKyrBzAM\nxTkEAub06dM6duyYxo4dq0GDBt1czVu2sJgB2dudcQt6xIgRys3NlSSlpaUpKytLx48f75kJ4Tub\nNm3R3XeP17RpT+nuO8fq8LJlVDPQRXEL2qqurk7Tpk1TbW2t0tLSrh6AgsY1hw8f1uTJBbp0ab+y\ndUVvaYEu9DmiXx78i/qPH+/0eICr9EhBX3fhwgUtWLBAGzZsaFvOgNW3336rv+ubqxf0J0UU1hat\nUnG/4TrRr5/TowGeZOsujpaWFs2fP1+LFi3S3Llzb/nzkpKStl+Hw2GFw+Gemg8eMlHSfzXu0g+6\npDxV6686rp+lXNKIESOcHg1wXCQSUSQSSehr4l7iME1Tixcv1u23367XX3/91gNwiQPRqFRWJq1f\nr/8umqHij3eq/4B71NJyRH/84zuaM2eO0xMCrmNnd8Zd0Hv37tXUqVM1efJkGYYhSVq7dq0eeugh\n298EPtbOHRr19fWqr6/X+PHjdccddzg9IeBKPbKge+KbwIcs1azSUmnFCuna/8ABxGdnd/IkIRLH\n04BAUvBZHLCPpwGBpKKgYQ/VDCQdBY3OUc2AYyhodIxqBhxFQeNWVDPgChQ0bkY1A65BQeMqqhlw\nHQoaVDPgUhR0kFHNgKtR0EFFNQOuR0EHDdUMeAYFHSRUM+ApFHQQUM2AJ1HQfkc1A55FQfsV1Qx4\nHgXtR1Qz4AsUtJ9QzYCvUNB+QTUDvkNBex3VDPgWBe1lVDPgaxS0F1HNQCBQ0F5DNQOBQUF7BdUM\nBA4F7QVUMxBIFLSbUc1AoFHQbkU1A4FHQbsN1QzgGgraTahmABYUtBtQzQDaQUE7jWoG0AEK2ilU\nM4A4KGgnUM0AbKCgk4lqBpAACjpZqGYACaKgexvVDKCL4i7opUuXKj09XZMmTUrGPP5SWysVFEgV\nFVereeVKyTCcngqAR8Rd0EuWLFF5eXkyZvGsaDSqTZs26bnnfqOtW7eqtbmZagbQbXGvQRcWFqqu\nri4Jo3iTaZoqLn5MlZU/6OLF2bp/QJke+PVvNDZ0H9eaAXQL16C7qaamRnv2HNCVi9v1glr16eUT\nWneuScfffpvlDKBbeuQujpKSkrZfh8NhhcPhnjisJzQ1NWmifqY/KKxzGqw8Vets/yI919Tk9GgA\nXCQSiSgSiST0NYZpmma8N9XV1am4uFhff/31rQcwDNk4hD9Fo7ry+9+r8eX/0L/rn7XJLFWfPluV\nkfGJDh36X6WmchcjgPbZ2Z1c4uiqa3do9N+3Txd2VejrfzivYcMeUjj8F1VWfspyBtBtcQt64cKF\n2r17t86ePavhw4fr5Zdf1pIlS24cIGgFHY1KZWXS+vVSaam0YgW3zgFImJ3daesSR3e/iW9Ynwbc\nsoUfAgLoMi5x9BSeBgTgAC6UxsNnaABwCAXdEaoZgMMo6PZQzQBcgIK2opoBuAgFfR3VDMBlKGiq\nGYBLBbugqWYALhbMgqaaAXhA8AqaagbgEcEpaKoZgMcEo6CpZgAe5O+CppoBeJh/C5pqBuBx/ito\nqhmAT/iroKlmAD7ij4KmmgH4kPcLmmoG4FPeLWiqGYDPebOgqWYAAeCtgqaaAQSIdwqaagYQMO4v\naKoZQEC5u6CpZgAB5s6CppoBwIUFTTUDgCQ3FTTVDAA3cUdBU80AcAtnC5pqBoAOOVfQVDMAdCr5\nBU01A4AtyS1oqhkAbEtOQVPNAJCw3i9oqhkAuqT3CppqBoBuibugy8vLNWHCBN1zzz169dLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x4731890>"
|
||||
"<matplotlib.figure.Figure at 0x325fad0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -371,7 +371,9 @@
|
||||
"e1 = g.sigma_ellipses(cov, x=1, y=1, sigma=sigma)\n",
|
||||
"e2 = g.sigma_ellipses(cov, x=2, y=2, sigma=sigma)\n",
|
||||
"e3 = g.sigma_ellipses(cov, x=3, y=3, sigma=sigma)\n",
|
||||
"g.plot_sigma_ellipses([e1, e2, e3], axis_equal=True,x_lim=[0,4],y_lim=[0,15])"
|
||||
"g.plot_sigma_ellipses([e1, e2, e3], axis_equal=True,x_lim=[0,4],y_lim=[0,15])\n",
|
||||
"plt.ylim([0,11])\n",
|
||||
"show()"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
@@ -379,13 +381,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x468b210>"
|
||||
"<matplotlib.figure.Figure at 0x371e050>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 11
|
||||
"prompt_number": 17
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -410,7 +412,7 @@
|
||||
"isct = Ellipse(xy=(2,2), width=.2, height=1.2, edgecolor='r', fc='None', lw=4)\n",
|
||||
"plt.figure().gca().add_artist(isct)\n",
|
||||
"g.plot_sigma_ellipses([e1, e2, e3, ev], axis_equal=True,x_lim=[0,4],y_lim=[0,15])\n",
|
||||
"\n",
|
||||
"plt.ylim([0,11])\n",
|
||||
"plt.show()"
|
||||
],
|
||||
"language": "python",
|
||||
@@ -419,13 +421,13 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAXMAAAD7CAYAAACYLnSTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXd8VFX6/z8DibQAIZQgvUPooRtAglRRFlZRxAL2Xtev\n67q6Kyii/ta149pWdy1gwYaIrCKG3ruA9JACCSSE9Dpzf398PN4zd+4kk5DMTJLn/XrdVyYzd2ZO\nTmY+57nPeYrDMAwDgiAIQrWmTqAHIAiCIJw/IuaCIAg1ABFzQRCEGoCIuSAIQg1AxFwQBKEGIGIu\nCIJQAwipqhceOHAgdu/eXVUvLwiCUCMZMGAAdu3aVe7nVZllvnv3bhiGEfTHk08+GfAxyDhljDJO\nGac6KmoEi5tFEAShBiBiLgiCUAOo9WIeGxsb6CH4hIyz8qgOYwRknJVNdRlnRXEYhlEltVkcDgeq\n6KUFQRBqLBXVzlpvmQuCINQERMwFQRBqACLmgiAINQARc0EQhBqAiLkgCEINQMRcEAShBiBiLgiC\nUAMQMRcEQagBiJgLgiDUAEoV85tvvhmRkZHo16/f7/edPXsWEyZMQI8ePTBx4kScO3euygcpCIIg\nlE6pYn7TTTdhxYoVbvc999xzmDBhAg4dOoRx48bhueeeq9IBCoIgCGVTZm2W+Ph4TJ06FXv37gUA\n9OrVC6tXr0ZkZCRSUlIQGxuLX3/91fOFpTaLIAhCufFbbZbU1FRERkYCACIjI5GamlruNxUEQRAq\nl/PaAHU4HHA4HJU1FkEQBKGClLsHqHKvtG7dGqdOnUKrVq28njt37tzfb8fGxtb4esKCUNsoLgYK\nC4GwsECPpPoSFxeHuLi4836dcvvM//znP6N58+Z49NFH8dxzz+HcuXO2m6DiMxeEmk1mJjByJBAf\nD3z9NTB+fKBHVDOoqHaWKuazZs3C6tWrkZaWhsjISDz11FOYNm0arr76aiQkJKBTp0747LPPEB4e\nXmkDEgShevDYY0BKCjBrFnDXXcChQ0DduoEeVfWnSsT8fBAxF4SaS3Ex0K4dsH490LUrMGIE8OST\nwJQpgR5Z9Uc6DQmC4Dfi4oDOnYFu3QCHA7jmGuCrrwI9qtqNiLkgCOXmxx+ByZPN36dOBZYvB+Ri\nPHCImAuCUG5+/hkYN878vWtXCnl8fMCGVOsRMRcEoVwUFAD79wNDhpj3ORzAqFHAunWBG1dtR8Rc\nEIRysXs30KMH0KCB+/1DhgA7dgRmTIKIuSAI5WTnTmDQIM/7Bw4Edu3y/3gEImIuCEK5+OUXQKuK\n/TtKzGUTNDCImAuCUC5++QXo29fz/latmDQktfcCg4i5IAjl4sABICrK/rFevQCbitiCHxAxFwTB\nZ7KygNxcoE0b+8dFzAOHiLkgCD5z5Ahjyr1Vvu7enecI/kfEXBAEnzlyhILtjS5dgGPH/DcewUTE\nXBAEnzl2jDVZvNG5M3D8uP/GI5iImAuC4DMnTgCdOnl/XFnmEp7of0TMBUHwmRMngI4dvT/erBng\ncrFxheBfRMwFQfCZssTc4QDatwcSE/03JoGImAuC4DMJCUCHDqWfI2IeGETMhVrF558DMTHAd98F\neiTVj6ws+sKbNCn9PBHzwCBiLtQaEhKAO+8Ebr0VmDMHSEsL9IiqF8nJQNu23mPMFSLmgUHEXKg1\nvPkmRfzmm4Hp04G33gr0iKoXSszLok0b4NSpqh+P4I6IuVArMAzg44+BG2/k7zfeCHz2WSBHVP1I\nTvaexq9z4YUi5oFAxFyoFah6Iap060UXUXBOnAjcmKobKSkU6rIQMQ8MIuZCreCnn4Dx401/b926\nwJgxwJo1gR1XdSIlBWjduuzzRMwDg4i5UCvYuJE9KnVGjQLWrg3MeKojqalAZGTZ57VqBaSnA05n\n1Y9JMBExF2oFW7YAw4a53zd8OLBtW2DGUx1JTfXNMg8JAcLDKeiC/xAxF2o8mZm87O/Vy/3+/v3p\nSy8qCsy4qhspKb5Z5gCt89Onq3Y8gjsi5kKNZ98+oHdv+sl1GjZkaro0U/CN06cp0r4gYu5/RMyF\nGo+3npUA79+/37/jqY44nUBGBtC8uW/ni5j7HxFzocazbx/Qp4/9Y9LmzDcyMoCmTekP9wURc/8j\nYi7UeA4fBnr0sH9MxNw3zpwBWrTw/fwWLaRcgr8RMRdqPIcPA9262T/Wsydw8KB/x1MdSUsDWrb0\n/fzmzSWaxd+ImAs1muJiFn3q0sX+cemM4xvltcxFzP1PhcX82WefRZ8+fdCvXz9ce+21KCwsrMxx\nCUKlkJjIcLp69ewfb9aMWaEZGf4dV3Xj7FnPzU/DAK65hvXNrU2cxc3ifyok5vHx8XjnnXewY8cO\n7N27F06nE5988kllj00QzpuyelY6HGxCLB3lS8dOzJcto4tq9mzgiSfcHxPL3P/4uDftTpMmTRAa\nGoq8vDzUrVsXeXl5aOtLbUxB8DNltTkDKObx8cCQIX4ZUrXk7FkgIsL9vv/8B7jvPuCKK2idZ2cD\njRvzsebNxTL3NxWyzCMiIvDwww+jQ4cOaNOmDcLDwzF+/PjKHpsgnDfx8WWLuTRTKBurmBcXs3jZ\n1KlM3R8xgr8rIiLEdeVvKmSZHz16FC+//DLi4+PRtGlTXHXVVfj4449x3XXXuZ03d+7c32/HxsYi\nNjb2fMYqCOUmIYHlbktDxLxsrGK+cycXSRXhEhvLCpTTp/P3sDCgsJCiHxrq9+FWK+Li4hAXF3fe\nr1MhMd+2bRtiYmLQ/Dcn2hVXXIENGzaUKuZCxSgoABYuBAYP5hdGKB/JyUC7dqWf0749sHmzf8ZT\nXTl7lpvFii1bWKhMERMD/PWv5u8OBy32jAzfSwDUVqyG7rx58yr0OhVys/Tq1QubNm1Cfn4+DMPA\nypUr0bt37woNQCid++4DVqwArr4a2L070KOpfvjS6kws87I5d85dzLdvp4GhGDgQ2LPHvexts2bi\navEnFRLzAQMGYPbs2RgyZAj69+8PALj99tsrdWAC/b1ffQUsWQI89hiwYEGgR1T98EXM27QBTp70\nz3iqK+fO0dJW7Ntndm0C+FiLFu5RQeHhfJ7gHxyGUTXpEg6HA1X00rWG+fNZunXhQpZxbd8eSEoC\nmjQJ9MiqB3l59PPm55feUb6ggHVHCgrK7jxfW4mIAI4c4U+Xi5/B5GTOm+LSS4F77gEuv5y/T5oE\nPPQQMHlyYMZcXamodkoGaBDz7bfAlVfydtOm7IyzYkVgx1SdOHWKLczKEuj69blhJ3HR9rhcQFaW\naUScPMn50oUcYJ2bAwfM38Uy9y8i5kFKRga/GCNHmvdNnAisWhW4MVU3fO1ZCVD0xdViT04Oa7+r\niolHjgDdu3ue1707H1M0bcorSsE/iJgHKZs2MYlFT0OXnpXlw9eelYA0IS4Nq7/86FGga1fP81Sd\nG4WIuX8RMQ9SrKFfACMGTpyQL4ivlMcyj4yU+tveyMx036eJj7cvkSBiHlhEzIOUbduAoUPd7wsJ\nYWecPXsCM6bqRnksc2mm4J2sLHf/uLes2g4duEHvcvF3EXP/ImIepOzdCwwY4Hn/wIHArl3+H091\nRMS8ctA3PwFm1dqJef36FHA1jyLm/kXEPAjJymL96M6dPR/r359CL5RNeRoqtGzJORc8sYp5UpL3\nrFo9AUvE3L+ImAch+/czzKuOzX+nVy/pjOMrZ874LuZimXtHF3PDYNSPt0QslQsBsIJiVpZ/xiiI\nmAclBw9StO2QnpW+U57uOC1biph7Qxfzs2cZYdWokf25elRQ48Ysiyv4BxHzIMRbHC/AL0t+vtS8\n8IXyuFmkmYJ3dDE/dYrlD7whYh44RMyDkNIaEDscjPGVzjil43JxwbN2x/FGixYi5t7IymLGJ1B2\nuGfr1mbylYi5fxExD0KOHPEu5oBnPK/gyblzdAWEWIo879zJNmd62jnAzbrcXNbfFtzJyTE7CJUV\nIdS6Nc8BRMz9jYh5EHLihH0ki0J6VpaNXc9KpxOYORMoKgJmzeJmnqJOHWY5nj3r33FWB6xiXppl\nridfhYXRJajizoWqRcQ8yMjN5ZentIL+XboAx4/7b0zVEbuelStX0gJfvJhdcDZtcn9cXC325OSY\nbpbTp0vfh2jVygzxrFOHNV1ycqp+jIKIedBx4gQz6Uqr9Ne+PRM3BO/Yifk337DJh8MBzJgBfP21\n++MREWKZ25GdbYp5WeGe1hDPsDARc38hYh5keMuu05HOOGVjJ+arVgETJvD2+PGAte2idMaxR3ez\nlCXmjRrRrZKba/6ubgtVi4h5kFFadp1CxLxs0tPdxTwjg80UVHecYcOYSZufb54jYm6P7mZJSys7\ndl93V4WFiZj7CxHzIMOXNmcREdzEk0gB72RkePasjI4G6tbl7w0aAD16AL/8Yp4jYm6PVczLCvfU\nY/YbNRI3i78QMQ8yfBFzh4PWuzRT8E5mpnsNbrvCZdaiZSLm9uTmmhmfdlFCVlq0oOgDYpn7ExHz\nIMMXMQekmUJZ2DUg7tPH/Zw+fdzjzUXM7cnNZVSKy8V5te5FWNEtc9kA9R8i5kHGyZOlp0srpM1Z\n6VjF/NdfPevd9OzpXudGelZ6UlxMEb/gAmaC2iViWdEXRXGz+A8R8yAjJYVCXRZimZeOVczt6t30\n7OlegVJKtnqSl0dBdjjoYtH3IbxhFfO8vKodo0BEzIMIp9P34lCtW4uYl4Yu5tnZPKxXPB07MnrI\n6eTvIuaeKBcLwDn1RczDw00xb9hQxNxfiJgHEenp/CKEhpZ97oUXmjUwBE8yM81WZ6rNmTURq359\nJrmo+ttNm0r9bSv65qf1ascbumUuYu4/RMyDiJQUaXNWWeh9K731rATYmFiVRhDL3BOrZeLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x490c8d0>"
|
||||
"<matplotlib.figure.Figure at 0x3719990>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 49
|
||||
"prompt_number": 15
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -441,41 +443,36 @@
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Kalman Filter Algorithm\n",
|
||||
"So in general terms we can show how a multidimensional Kalman filter works. In the example above, we compute velocity from the previous position measurements using something called the **measurement function**. Then we predict the next position by using the current estimate and something called the **state transition function**. In our example above, *new_position = old_position + velocity*time*. Next, we take the measurement from the sensor, and compare it to the prediction we just made. In a world with perfect sensors and perfect airplanes the prediction will always match the measured value. In the real world they will always be at least slightly different. We call the difference between the two the **residual**. Finally, we use something called the **Kalman gain** to update our estimate to be somewhere between the measured position and the predicted position. I will not describe how the gain is set, but suppose we had perfect confidence in our measurement - no error is possible. Then, clearly, we would set the gain so that 100% of the position came from the measurement, and 0% from the prediction. At the other extreme, if he have no confidence at all in the sensor (maybe it reported a hardware fault), we would set the gain so that 100% of the position came from the prediction, and 0% from the measurement. In normal cases, we will take a ratio of the two: maybe 53% of the measurement, and 47% of the prediction. The gain is updated on every cycle based on the variance of the variables (in a way yet to be explained). It should be clear that if the variance of the measurement is low, and the variance of the prediction is high we will favor the measurement, and vice versa."
|
||||
"So in general terms we can show how a multidimensional Kalman filter works. In the example above, we compute velocity from the previous position measurements using something called the **measurement function**. Then we predict the next position by using the current estimate and something called the **state transition function**. In our example above, *new_position = old_position + velocity*time*. Next, we take the measurement from the sensor, and compare it to the prediction we just made. In a world with perfect sensors and perfect airplanes the prediction will always match the measured value. In the real world they will always be at least slightly different. We call the difference between the two the **residual**. Finally, we use something called the **Kalman gain** to update our estimate to be somewhere between the measured position and the predicted position. I will not describe how the gain is set, but suppose we had perfect confidence in our measurement - no error is possible. Then, clearly, we would set the gain so that 100% of the position came from the measurement, and 0% from the prediction. At the other extreme, if he have no confidence at all in the sensor (maybe it reported a hardware fault), we would set the gain so that 100% of the position came from the prediction, and 0% from the measurement. In normal cases, we will take a ratio of the two: maybe 53% of the measurement, and 47% of the prediction. The gain is updated on every cycle based on the variance of the variables (in a way yet to be explained). It should be clear that if the variance of the measurement is low, and the variance of the prediction is high we will favor the measurement, and vice versa. \n",
|
||||
"\n",
|
||||
"The chart shows a prior estimate of $x=1$ and $\\dot{x}=1$ ($\\dot{x}$ is the shorthand for the derivative of x, which is velocity). Therefore we predict $\\hat{x}=2$. However, the new measurement $x^{'}=1.3$, giving a residual $r=0.7$. Finally, Kalman filter gain $k$ gives us a new estimate of $\\hat{x^{'}}=1.8$.\n",
|
||||
"\n",
|
||||
"** CHECK SYMBOLOGY!!!!**"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"xlim([0.9,2.5]);ylim([0,3])\n",
|
||||
"\n",
|
||||
"scatter ([1,2,2],[1,2,1.3])\n",
|
||||
"ax = plt.axes()\n",
|
||||
"ax.arrow(1, 1, .83, .83, head_width=0.1, head_length=0.2, fc='r', ec='r',label='estimate')\n",
|
||||
"ax.annotate('prediction', xy=(2, 2.15))\n",
|
||||
"ax.annotate('measurement', xy=(2, 1.1))\n",
|
||||
"ax.annotate('residual', xy=(2.1,1.6), color='b')\n",
|
||||
"ax.annotate('', xy=(2,2), xytext=(2,1.3), \n",
|
||||
" arrowprops=dict(arrowstyle=\"<->\",\n",
|
||||
" connectionstyle=\"bar\",\n",
|
||||
" ec=\"b\",\n",
|
||||
" shrinkA=3, shrinkB=3))\n",
|
||||
"show()"
|
||||
"from mkf_internal import *\n",
|
||||
"show_residual_chart()"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x4a34890>"
|
||||
"ename": "NameError",
|
||||
"evalue": "global name 'xlim' is not defined",
|
||||
"output_type": "pyerr",
|
||||
"traceback": [
|
||||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
|
||||
"\u001b[1;32m<ipython-input-19-cd0500ac6f58>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mmkf_internal\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[1;33m*\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mshow_residual_chart\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||
"\u001b[1;32m/var/host/media/removable/chrome/CS373/book/mkf_internal.py\u001b[0m in \u001b[0;36mshow_residual_chart\u001b[1;34m()\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 8\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mshow_residual_chart\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 9\u001b[1;33m \u001b[0mxlim\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0.9\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m2.5\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m;\u001b[0m\u001b[0mylim\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0.5\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m2.5\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 10\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[0mscatter\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m2\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m1.3\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
|
||||
"\u001b[1;31mNameError\u001b[0m: global name 'xlim' is not defined"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 133
|
||||
"prompt_number": 19
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -483,7 +480,8 @@
|
||||
"input": [],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": []
|
||||
"outputs": [],
|
||||
"prompt_number": 13
|
||||
}
|
||||
],
|
||||
"metadata": {}
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Fri May 2 12:21:40 2014
|
||||
|
||||
@author: rlabbe
|
||||
"""
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
def plot(pos):
|
||||
plt.cla()
|
||||
ax = plt.gca()
|
||||
x = np.arange(len(pos))
|
||||
ax.bar(x, pos)
|
||||
plt.ylim([0,1])
|
||||
plt.xticks(x+0.5, x)
|
||||
@@ -50,68 +50,9 @@ class KF1D(object):
|
||||
self.estimate = self.estimate + gaussian (U,var)
|
||||
|
||||
|
||||
measurements = [x+5 for x in range(100)]
|
||||
|
||||
|
||||
|
||||
def fixed_error_kf(measurement_error, noise_factor = 1.0):
|
||||
motion_sig = 2.
|
||||
mu = 0
|
||||
sig = 1000
|
||||
|
||||
f = KF1D (mu,sig)
|
||||
|
||||
ys = []
|
||||
errs = []
|
||||
xs = []
|
||||
|
||||
for i in range(len(measurements)):
|
||||
r = random.randn() * noise_factor
|
||||
m = measurements[i] + r
|
||||
f.update (m, measurement_error)
|
||||
|
||||
xs.append(m)
|
||||
ys.append(f.estimate.mu)
|
||||
errs.append (f.estimate.sigma)
|
||||
|
||||
f.predict (1.0, motion_sig)
|
||||
|
||||
plt.clf()
|
||||
|
||||
plt.plot (measurements, 'r')
|
||||
plt.plot (xs,'g')
|
||||
plt.errorbar (x=range(len(ys)), color='b', y=ys, yerr=errs)
|
||||
plt.show()
|
||||
|
||||
def varying_error_kf(noise_factor=1.0):
|
||||
motion_sig = 2.
|
||||
mu = 0
|
||||
sig = 1000
|
||||
|
||||
|
||||
f = KF1D (mu,sig)
|
||||
ys = []
|
||||
us = []
|
||||
errs = []
|
||||
xs = []
|
||||
|
||||
for i in range(len(measurements)):
|
||||
r = random.randn() * noise_factor
|
||||
m = measurements[i] + r
|
||||
print (r)
|
||||
f.update (m, abs(r*10))
|
||||
xs.append(m)
|
||||
#print ("measure:" + str(f.estimate))
|
||||
ys.append(f.estimate.mu)
|
||||
errs.append (f.estimate.sigma)
|
||||
|
||||
f.predict (1.0, motion_sig)
|
||||
#print ("predict:" + str(f.estimate))
|
||||
|
||||
plt.clf()
|
||||
plt.plot (measurements, 'r')
|
||||
plt.plot (xs,'g')
|
||||
plt.errorbar (x=range(len(ys)), color='b', y=ys, yerr=errs)
|
||||
plt.show()
|
||||
|
||||
varying_error_kf( noise_factor=100)
|
||||
#varying_error_kf( noise_factor=100)
|
||||
@@ -96,8 +96,6 @@ def plot_sigma_ellipse(ellipse,title=None):
|
||||
|
||||
def plot_sigma_ellipses(ellipses,title=None,axis_equal=True,x_lim=None,y_lim=None):
|
||||
""" plots the ellipse produced from sigma_ellipse."""
|
||||
isct = plt.Circle((2,2),1,color='b',fill=False)
|
||||
plt.figure().gca().add_patch(isct)
|
||||
|
||||
if x_lim is not None:
|
||||
axis_equal = False
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Created on Thu May 1 16:56:49 2014
|
||||
|
||||
@author: rlabbe
|
||||
"""
|
||||
|
||||
def show_residual_chart():
|
||||
xlim([0.9,2.5]);ylim([0.5,2.5])
|
||||
|
||||
scatter ([1,2,2],[1,2,1.3])
|
||||
scatter ([2],[1.8],marker='o')
|
||||
ax = plt.axes()
|
||||
ax.annotate('', xy=(2,2), xytext=(1,1),
|
||||
arrowprops=dict(arrowstyle='->', ec='b',shrinkA=3, shrinkB=4))
|
||||
ax.annotate('prediction', xy=(1.7,2), color='b')
|
||||
ax.annotate('measurement', xy=(2.05, 1.28))
|
||||
ax.annotate('prior measurement', xy=(1, 0.9))
|
||||
ax.annotate('residual', xy=(2.04,1.6), color='r')
|
||||
ax.annotate('new estimate', xy=(2,1.8),xytext=(2.15,1.9),
|
||||
arrowprops=dict(arrowstyle='->', shrinkA=3, shrinkB=4))
|
||||
ax.annotate('', xy=(2,2), xytext=(2,1.3),
|
||||
arrowprops=dict(arrowstyle="<->",
|
||||
ec="r",
|
||||
shrinkA=5, shrinkB=5))
|
||||
title("Kalman Filter Prediction Update Step")
|
||||
show()
|
||||
Reference in new issue
Block a user