{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from scipy.stats import norm" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Kalman Filter Implementation for Constant Acceleration Model (CA) in Python\n", "\n", "Multisensor Data Fusion with acceleration ($\\ddot x$ and $\\ddot y$) and position ($x$ and $y$).\n", "\n", "`CC-BY-SA2.0 Lizenz Paul Balzer, Motorblog http://www.cbcity.de`" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "![Kalman Filter](Kalman-Filter-Step.png)\n", "\n", "First, we have to initialize the matrices and vectors. Setting up the math." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## State Vector\n", "\n", "Constant Acceleration Model for Ego Motion in Plane\n", "\n", "$$x_k= \\left[ \\begin{matrix} x \\\\ y \\\\ \\dot x \\\\ \\dot y \\\\ \\ddot x \\\\ \\ddot y \\end{matrix} \\right]$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Motion\n", "\n", "Formal Definition:\n", "\n", "$$x_{k+1} = A \\cdot x_{k} + B \\cdot u$$\n", "\n", "Hence, we have no control input $u$:\n", "\n", "$$x_{k+1} = \\begin{bmatrix}1 & 0 & \\Delta t & 0 & \\frac{1}{2}\\Delta t^2 & 0 \\\\ 0 & 1 & 0 & \\Delta t & 0 & \\frac{1}{2}\\Delta t^2 \\\\ 0 & 0 & 1 & 0 & \\Delta t & 0 \\\\ 0 & 0 & 0 & 1 & 0 & \\Delta t \\\\ 0 & 0 & 0 & 0 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 0 & 1\\end{bmatrix} \\cdot \\begin{bmatrix} x \\\\ y \\\\ \\dot x \\\\ \\dot y \\\\ \\ddot x \\\\ \\ddot y\\end{bmatrix}_{k}$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Measurement\n", "\n", "$$y = H \\cdot x$$\n", "\n", "Acceleration ($\\ddot x$ & $\\ddot y$) as well as position ($x$ & $y$) is measured.\n", "\n", "$$y = \\begin{bmatrix}1 & 0 & 0 & 0 & 0 & 0 \\\\0 & 1 & 0 & 0 & 0 & 0 \\\\ 0 & 0 & 0 & 0 & 1 & 0 \\\\ 0 & 0 & 0 & 0 & 0 & 1\\end{bmatrix} \\cdot x$$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Setting up the math" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Initial State" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(matrix([[ 0.],\n", " [ 0.],\n", " [ 0.],\n", " [ 0.],\n", " [ 0.],\n", " [ 0.]]), (6, 1))\n" ] } ], "source": [ "x = np.matrix([[0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]).T\n", "print(x, x.shape)\n", "n=x.size # States\n", "#plt.scatter(float(x[0]),float(x[1]), s=100)\n", "#plt.title('Initial Location')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Initial Uncertainty" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 100., 0., 0., 0., 0., 0.],\n", " [ 0., 100., 0., 0., 0., 0.],\n", " [ 0., 0., 10., 0., 0., 0.],\n", " [ 0., 0., 0., 10., 0., 0.],\n", " [ 0., 0., 0., 0., 1., 0.],\n", " [ 0., 0., 0., 0., 0., 1.]]), (6, 6))\n" ] } ], "source": [ "P = np.diag([100.0, 100.0, 10.0, 10.0, 1.0, 1.0])\n", "print(P, P.shape)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(6, 6))\n", "im = plt.imshow(P, interpolation=\"none\", cmap=plt.get_cmap('binary'))\n", "plt.title('Initial Covariance Matrix $P$')\n", "ylocs, ylabels = plt.yticks()\n", "# set the locations of the yticks\n", "plt.yticks(np.arange(7))\n", "# set the locations and labels of the yticks\n", "plt.yticks(np.arange(6),('$x$', '$y$', '$\\dot x$', '$\\dot y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", "xlocs, xlabels = plt.xticks()\n", "# set the locations of the yticks\n", "plt.xticks(np.arange(7))\n", "# set the locations and labels of the yticks\n", "plt.xticks(np.arange(6),('$x$', '$y$', '$\\dot x$', '$\\dot y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", "plt.xlim([-0.5,5.5])\n", "plt.ylim([5.5, -0.5])\n", "\n", "from mpl_toolkits.axes_grid1 import make_axes_locatable\n", "divider = make_axes_locatable(plt.gca())\n", "cax = divider.append_axes(\"right\", \"5%\", pad=\"3%\")\n", "plt.colorbar(im, cax=cax)\n", "\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Dynamic Matrix\n", "\n", "It is calculated from the dynamics of the Egomotion.\n", "\n", "$$x_{k+1} = x_{k} + \\dot x_{k} \\cdot \\Delta t + \\ddot x_k \\cdot \\frac{1}{2}\\Delta t^2$$\n", "$$y_{k+1} = y_{k} + \\dot y_{k} \\cdot \\Delta t + \\ddot y_k \\cdot \\frac{1}{2}\\Delta t^2$$\n", "\n", "$$\\dot x_{k+1} = \\dot x_{k} + \\ddot x \\cdot \\Delta t$$\n", "$$\\dot y_{k+1} = \\dot y_{k} + \\ddot y \\cdot \\Delta t$$\n", "\n", "$$\\ddot x_{k+1} = \\ddot x_{k}$$\n", "$$\\ddot y_{k+1} = \\ddot y_{k}$$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(matrix([[ 1. , 0. , 0.1 , 0. , 0.005, 0. ],\n", " [ 0. , 1. , 0. , 0.1 , 0. , 0.005],\n", " [ 0. , 0. , 1. , 0. , 0.1 , 0. ],\n", " [ 0. , 0. , 0. , 1. , 0. , 0.1 ],\n", " [ 0. , 0. , 0. , 0. , 1. , 0. ],\n", " [ 0. , 0. , 0. , 0. , 0. , 1. ]]), (6, 6))\n" ] } ], "source": [ "dt = 0.1 # Time Step between Filter Steps\n", "\n", "A = np.matrix([[1.0, 0.0, dt, 0.0, 1/2.0*dt**2, 0.0],\n", " [0.0, 1.0, 0.0, dt, 0.0, 1/2.0*dt**2],\n", " [0.0, 0.0, 1.0, 0.0, dt, 0.0],\n", " [0.0, 0.0, 0.0, 1.0, 0.0, dt],\n", " [0.0, 0.0, 0.0, 0.0, 1.0, 0.0],\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 1.0]])\n", "print(A, A.shape)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Measurement Matrix $H$\n", "\n", "Here you can determine, which of the states is covered by a measurement. In this example, the position ($x$ and $y$) as well as the acceleration is measured ($\\ddot x$ and $\\ddot y$)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(matrix([[ 1., 0., 0., 0., 0., 0.],\n", " [ 0., 1., 0., 0., 0., 0.],\n", " [ 0., 0., 0., 0., 1., 0.],\n", " [ 0., 0., 0., 0., 0., 1.]]), (4, 6))\n" ] } ], "source": [ "H = np.matrix([[1.0, 0.0, 0.0, 0.0, 0.0, 0.0],\n", " [0.0, 1.0, 0.0, 0.0, 0.0, 0.0],\n", " [0.0, 0.0, 0.0, 0.0, 1.0, 0.0],\n", " [0.0, 0.0, 0.0, 0.0, 0.0, 1.0]])\n", "print(H, H.shape)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Measurement Noise Covariance $R$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(matrix([[ 10000., 0., 0., 0.],\n", " [ 0., 10000., 0., 0.],\n", " [ 0., 0., 100., 0.],\n", " [ 0., 0., 0., 100.]]), (4, 4))\n" ] } ], "source": [ "ra = 10.0**2 # Noise of Acceleration Measurement\n", "rp = 100.0**2 # Noise of Position Measurement\n", "R = np.matrix([[rp, 0.0, 0.0, 0.0],\n", " [0.0, rp, 0.0, 0.0],\n", " [0.0, 0.0, ra, 0.0],\n", " [0.0, 0.0, 0.0, ra]])\n", "print(R, R.shape)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\n1HKkewmfAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(6, 6))\n", "im = plt.imshow(R, interpolation=\"none\", cmap=plt.get_cmap('binary'))\n", "plt.title('Measurement Noise Covariance Matrix $R$')\n", "ylocs, ylabels = plt.yticks()\n", "# set the locations of the yticks\n", "plt.yticks(np.arange(5))\n", "# set the locations and labels of the yticks\n", "plt.yticks(np.arange(4),('$x$', '$y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", "xlocs, xlabels = plt.xticks()\n", "# set the locations of the yticks\n", "plt.xticks(np.arange(5))\n", "# set the locations and labels of the yticks\n", "plt.xticks(np.arange(4),('$x$', '$y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", "plt.xlim([-0.5,3.5])\n", "plt.ylim([3.5, -0.5])\n", "\n", "from mpl_toolkits.axes_grid1 import make_axes_locatable\n", "divider = make_axes_locatable(plt.gca())\n", "cax = divider.append_axes(\"right\", \"5%\", pad=\"3%\")\n", "plt.colorbar(im, cax=cax)\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Process Noise Covariance Matrix $Q$\n", "\n", "The Position of an object can be influenced by a force (e.g. wind), which leads to an acceleration disturbance (noise). This process noise has to be modeled with the process noise covariance matrix Q.\n", "\n", "$$Q = \\begin{bmatrix}\\sigma_{x}^2 & \\sigma_{xy} & \\sigma_{x \\dot x} & \\sigma_{x \\dot y} & \\sigma_{x \\ddot x} & \\sigma_{x \\ddot y} \\\\ \\sigma_{yx} & \\sigma_{y}^2 & \\sigma_{y \\dot x} & \\sigma_{y \\dot y} & \\sigma_{y \\ddot x} & \\sigma_{y \\ddot y} \\\\ \\sigma_{\\dot x x} & \\sigma_{\\dot x y} & \\sigma_{\\dot x}^2 & \\sigma_{\\dot x \\dot y} & \\sigma_{\\dot x \\ddot x} & \\sigma_{\\dot x \\ddot y} \\\\ \\sigma_{\\dot y x} & \\sigma_{\\dot y y} & \\sigma_{\\dot y \\dot x} & \\sigma_{\\dot y}^2 & \\sigma_{\\dot y \\ddot x} & \\sigma_{\\dot y \\ddot y} \\\\ \\sigma_{\\ddot x x} & \\sigma_{\\ddot x y} & \\sigma_{\\ddot x \\dot x} & \\sigma_{\\ddot x \\dot y} & \\sigma_{\\ddot x}^2 & \\sigma_{\\ddot x \\ddot y} \\\\ \\sigma_{\\ddot y x} & \\sigma_{\\ddot y y} & \\sigma_{\\ddot y \\dot x} & \\sigma_{\\ddot y \\dot y} & \\sigma_{\\ddot y \\ddot x} & \\sigma_{\\ddot y}^2\\end{bmatrix}$$\n", "\n", "To easily calcualte Q, one can ask the question: How the noise effects my state vector? For example, how the acceleration change the position over one timestep dt.\n", "\n", "One can calculate Q as\n", "\n", "$$Q = G\\cdot G^T \\cdot \\sigma_a^2$$\n", "\n", "with $G = \\begin{bmatrix}0.5dt^2 & 0.5dt^2 & dt & dt & 1.0 & 1.0\\end{bmatrix}^T$ and $\\sigma_a$ as the acceleration process noise." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left[\\begin{matrix}0.25 \\Delta t^{4} & 0.25 \\Delta t^{4} & 0.5 \\Delta t^{3} & 0.5 \\Delta t^{3} & 0.5 \\Delta t^{2} & 0.5 \\Delta t^{2}\\\\0.25 \\Delta t^{4} & 0.25 \\Delta t^{4} & 0.5 \\Delta t^{3} & 0.5 \\Delta t^{3} & 0.5 \\Delta t^{2} & 0.5 \\Delta t^{2}\\\\0.5 \\Delta t^{3} & 0.5 \\Delta t^{3} & \\Delta t^{2} & \\Delta t^{2} & 1.0 \\Delta t & 1.0 \\Delta t\\\\0.5 \\Delta t^{3} & 0.5 \\Delta t^{3} & \\Delta t^{2} & \\Delta t^{2} & 1.0 \\Delta t & 1.0 \\Delta t\\\\0.5 \\Delta t^{2} & 0.5 \\Delta t^{2} & 1.0 \\Delta t & 1.0 \\Delta t & 1.0 & 1.0\\\\0.5 \\Delta t^{2} & 0.5 \\Delta t^{2} & 1.0 \\Delta t & 1.0 \\Delta t & 1.0 & 1.0\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ 4 4 3 3 2 \n", "⎢0.25⋅\\Delta t 0.25⋅\\Delta t 0.5⋅\\Delta t 0.5⋅\\Delta t 0.5⋅\\Delta t \n", "⎢ \n", "⎢ 4 4 3 3 2 \n", "⎢0.25⋅\\Delta t 0.25⋅\\Delta t 0.5⋅\\Delta t 0.5⋅\\Delta t 0.5⋅\\Delta t \n", "⎢ \n", "⎢ 3 3 2 2 \n", "⎢0.5⋅\\Delta t 0.5⋅\\Delta t \\Delta t \\Delta t 1.0⋅\\Delta t \n", "⎢ \n", "⎢ 3 3 2 2 \n", "⎢0.5⋅\\Delta t 0.5⋅\\Delta t \\Delta t \\Delta t 1.0⋅\\Delta t \n", "⎢ \n", "⎢ 2 2 \n", "⎢0.5⋅\\Delta t 0.5⋅\\Delta t 1.0⋅\\Delta t 1.0⋅\\Delta t 1.0 \n", "⎢ \n", "⎢ 2 2 \n", "⎣0.5⋅\\Delta t 0.5⋅\\Delta t 1.0⋅\\Delta t 1.0⋅\\Delta t 1.0 \n", "\n", " 2⎤\n", "0.5⋅\\Delta t ⎥\n", " ⎥\n", " 2⎥\n", "0.5⋅\\Delta t ⎥\n", " ⎥\n", " ⎥\n", "1.0⋅\\Delta t ⎥\n", " ⎥\n", " ⎥\n", "1.0⋅\\Delta t ⎥\n", " ⎥\n", " ⎥\n", " 1.0 ⎥\n", " ⎥\n", " ⎥\n", " 1.0 ⎦" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import Symbol, Matrix\n", "from sympy.interactive import printing\n", "printing.init_printing()\n", "dts = Symbol('\\Delta t')\n", "Qs = Matrix([[0.5*dts**2],[0.5*dts**2],[dts],[dts],[1.0],[1.0]])\n", "Qs*Qs.T" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(matrix([[ 2.50000000e-11, 2.50000000e-11, 5.00000000e-10,\n", " 5.00000000e-10, 5.00000000e-09, 5.00000000e-09],\n", " [ 2.50000000e-11, 2.50000000e-11, 5.00000000e-10,\n", " 5.00000000e-10, 5.00000000e-09, 5.00000000e-09],\n", " [ 5.00000000e-10, 5.00000000e-10, 1.00000000e-08,\n", " 1.00000000e-08, 1.00000000e-07, 1.00000000e-07],\n", " [ 5.00000000e-10, 5.00000000e-10, 1.00000000e-08,\n", " 1.00000000e-08, 1.00000000e-07, 1.00000000e-07],\n", " [ 5.00000000e-09, 5.00000000e-09, 1.00000000e-07,\n", " 1.00000000e-07, 1.00000000e-06, 1.00000000e-06],\n", " [ 5.00000000e-09, 5.00000000e-09, 1.00000000e-07,\n", " 1.00000000e-07, 1.00000000e-06, 1.00000000e-06]]), (6, 6))\n" ] } ], "source": [ "sa = 0.001\n", "G = np.matrix([[1/2.0*dt**2],\n", " [1/2.0*dt**2],\n", " [dt],\n", " [dt],\n", " [1.0],\n", " [1.0]])\n", "Q = G*G.T*sa**2\n", "\n", "print(Q, Q.shape)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(6, 6))\n", "im = plt.imshow(Q, interpolation=\"none\", cmap=plt.get_cmap('binary'))\n", "plt.title('Process Noise Covariance Matrix $Q$')\n", "ylocs, ylabels = plt.yticks()\n", "# set the locations of the yticks\n", "plt.yticks(np.arange(7))\n", "# set the locations and labels of the yticks\n", "plt.yticks(np.arange(6),('$x$', '$y$', '$\\dot x$', '$\\dot y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", "xlocs, xlabels = plt.xticks()\n", "# set the locations of the yticks\n", "plt.xticks(np.arange(7))\n", "# set the locations and labels of the yticks\n", "plt.xticks(np.arange(6),('$x$', '$y$', '$\\dot x$', '$\\dot y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", "plt.xlim([-0.5,5.5])\n", "plt.ylim([5.5, -0.5])\n", "\n", "from mpl_toolkits.axes_grid1 import make_axes_locatable\n", "divider = make_axes_locatable(plt.gca())\n", "cax = divider.append_axes(\"right\", \"5%\", pad=\"3%\")\n", "plt.colorbar(im, cax=cax)\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Identity Matrix $I$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 1., 0., 0., 0., 0., 0.],\n", " [ 0., 1., 0., 0., 0., 0.],\n", " [ 0., 0., 1., 0., 0., 0.],\n", " [ 0., 0., 0., 1., 0., 0.],\n", " [ 0., 0., 0., 0., 1., 0.],\n", " [ 0., 0., 0., 0., 0., 1.]]), (6, 6))\n" ] } ], "source": [ "I = np.eye(n)\n", "print(I, I.shape)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Measurements\n", "\n", "Typical update rates:\n", "\n", "* Acceleration from IMU with `10Hz`\n", "* Position from GPS with `1Hz`\n", "\n", "Which means, that every 10th of an acceleration measurement, there is a new position measurement from GPS. The Kalman Filter can perfectly handle this unsynchronous measurement incoming." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Positions" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "m = 500 # Measurements\n", "\n", "sp= 1.0 # Sigma for position\n", "px= 0.0 # x Position\n", "py= 0.0 # y Position\n", "\n", "mpx = np.array(px+sp*np.random.randn(m))\n", "mpy = np.array(py+sp*np.random.randn(m))\n", "\n", "# Generate GPS Trigger\n", "GPS=np.ndarray(m,dtype='bool')\n", "GPS[0]=True\n", "# Less new position updates\n", "for i in range(1,m):\n", " if i%10==0:\n", " GPS[i]=True\n", " else:\n", " mpx[i]=mpx[i-1]\n", " mpy[i]=mpy[i-1]\n", " GPS[i]=False" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Accelerations" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# Acceleration\n", "sa= 0.1 # Sigma for acceleration\n", "ax= 0.0 # in X\n", "ay= 0.0 # in Y\n", "\n", "mx = np.array(ax+sa*np.random.randn(m))\n", "my = np.array(ay+sa*np.random.randn(m))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(4, 500)\n" ] } ], "source": [ "measurements = np.vstack((mpx,mpy,mx,my))\n", "print(measurements.shape)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_m():\n", " fig = plt.figure(figsize=(16,9))\n", " plt.subplot(211)\n", " plt.step(range(m),mpx, label='$x$')\n", " plt.step(range(m),mpy, label='$y$')\n", " plt.ylabel(r'Position $m$')\n", " plt.title('Measurements')\n", " plt.ylim([-10, 10])\n", " plt.legend(loc='best',prop={'size':18})\n", "\n", " plt.subplot(212)\n", " plt.step(range(m),mx, label='$a_x$')\n", " plt.step(range(m),my, label='$a_y$')\n", " plt.ylabel(r'Acceleration $m/s^2$')\n", " plt.ylim([-1, 1])\n", " plt.legend(loc='best',prop={'size':18})\n", "\n", " plt.savefig('Kalman-Filter-CA-Measurements.png', dpi=72, transparent=True, bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nY6XUf1NKfQzAjQB2AbgfwDtF5Nsi8vtZHiARERERERFR1uJWq76glNqqlPpXAN4F4CCAP8/kyIiI\niIiIiIgqJFZwbFJKvamUelQptTrNAyIiIiIiIiKqtMTBMREREREREVG9YHBMREREREREDY/BMRER\nERERETU8BsdERERERETU8BgcExERERERUcNjcExEREREREQNLzfBsYjMFJHnROSI/f91Afc7LiJ9\nInJIRPbHfTwRERERERGRV26CYwAPAdiplFoIYKf9fZBVSqnFSqmehI8nIiIiIiIicuQpOF4L4An7\n6ycAfKTCjyciIiIiIqIGlafguE0pNWh/fRpAW8D9FIDnReSAiGxI8HiIyAYR2S8i+994442yD5yI\niIiIiIhq2zWV/GUi8jyAOT4/+gvzG6WUEhEV8DQrlVKnROSdAJ4TkVeUUj+J8XgopR4F8CgA9PT0\nBN6PiIiIiIiIGkNFg2Ol1G1BPxORIRFpV0oNikg7gNcDnuOU/f/rIrINwC0AfgIg0uOJiIiIiIiI\nvPKUVv1DAPfaX98LYLv3DiIyVUSm6a8B/D6AX0R9PBEREREREZGfPAXHXwVwu4gcAXCb/T1E5LdE\nZId9nzYAu0XkJQA/A/AjpdQ/hj2eiIiIiIiIqJSKplWHUUqdBbDa5/Z/AbDG/voogEVxHk9ERERE\nRERUSp5mjomIiIiIiIiqgsExERERERERNTwGx0RERERERNTwGBwTERERERFRw2NwTERERERERA2P\nwTERERERERE1PAbHRERERERE1PAYHBMREREREVHDY3BMREREREREDY/BMRERERERETU8BsdERERE\nRETU8BgcExERERERUcNjcExEREREREQNj8ExERERERERNTwGx0RERERERNTwGBwTERERERFRw2Nw\nTERERERERA2PwTERERERERE1PAbHRERERERE1PByExyLyEwReU5Ejtj/X+dzn98WkUPGv7dE5H77\nZ18SkVPGz9ZU/q8gIiIiIiKiWpSb4BjAQwB2KqUWAthpf++ilPqlUmqxUmoxgN8FMApgm3GXb+qf\nK6V2VOSoiYiIiIiIqOblKTheC+AJ++snAHykxP1XA/iVUupEpkdFREREREREdS9PwXGbUmrQ/vo0\ngLYS9/8YgO96bvuUiLwsIo/7pWVrIrJBRPaLyP433nijjEMmIiIiIiKielDR4FhEnheRX/j8W2ve\nTymlAKiQ52kG8K8BPG3c/G0ACwAsBjAI4OtBj1dKPaqU6lFK9bzjHe8o508iIiIiIiKiOnBNJX+Z\nUuq2oJ+JyJCItCulBkWkHcDrIU/1QQAvKqWGjOd2vhaR7wB4No1jJiIiIiIiovqXp7TqHwK41/76\nXgDbQ+77cXhSqu2AWvsogF+kenRERERERERUt/IUHH8VwO0icgTAbfb3EJHfEhGn8rSITAVwO4Af\neB7/n0SkT0ReBrAKwAOVOWwiIiIiIiKqdRVNqw6jlDoLqwK19/Z/AbDG+P4CgFk+9/vDTA+QiIiI\niIiI6laeZo6JiIiIiIiIqoLBMRERERERETU8BsdERERERETU8BgcExERERERUcNjcExEREREREQN\nj8ExERERERERNTwGx0RERERERNTwGBwTERERERFRw2NwTERERERERA2PwTERERERERE1PAbHRERE\nRERE1PAYHBMREREREVHDY3BMREREREREDY/BMRERERERETU8BsdERERERETU8BgcExERERERUcNj\ncExEREREREQNj8ExERERERERNbzcBMcicqeI9IvIVRHpCbnfB0TklyLyqog8ZNw+U0SeE5Ej9v/X\nVebIiYiIiIiIqNblJjgG8AsAdwD4SdAdRKQJwLcAfBBAJ4CPi0in/eOHAOxUSi0EsNP+noiIiIiI\niKik3ATHSqnDSqlflrjbLQBeVUodVUoVAHwPwFr7Z2sBPGF//QSAj2RzpERERERERFRvchMcRzQX\nwGvG97+2bwOANqXUoP31aQBtlTwwIiIiIiIiql3XVPKXicjzAOb4/OgvlFLb0/o9SiklIirkODYA\n2GB/e15ESs1YV9NsAGeqfRBE4LlI+cFzkfKA5yHlBc9Fyos8n4s3RLlTRYNjpdRtZT7FKQDXG9+/\ny74NAIZEpF0pNSgi7QBeDzmORwE8WuaxVISI7FdKBRYoI6oUnouUFzwXKQ94HlJe8FykvKiHc7HW\n0qp/DmChiMwXkWYAHwPwQ/tnPwRwr/31vQBSm4kmIiIiIiKi+pab4FhEPioivwawDMCPROSf7Nt/\nS0R2AIBS6gqAPwXwTwAOA/i+UqrffoqvArhdRI4AuM3+noiIiIiIiKikiqZVh1FKbQOwzef2fwGw\nxvh+B4AdPvc7C2B1lsdYJTWR/k0Ngeci5QXPRcoDnoeUFzwXKS9q/lwUpQLrVhERERERERE1hNyk\nVRMRERERERFVC4PjHBORD4jIL0XkVRF5qNrHQ/VNRB4XkddF5BfGbTNF5DkROWL/f53xs39nn5u/\nFJH3V+eoqd6IyPUisktEBkSkX0Q+Y9/Oc5EqRkQmi8jPROQl+zz8D/btPA+pKkSkSUQOisiz9vc8\nF6niROS4iPSJyCER2W/fVlfnIoPjnBKRJgDfAvBBAJ0APi4indU9Kqpz/y+AD3huewjATqXUQgA7\n7e9hn4sfA9BlP+Zv7XOWqFxXAHxWKdUJYCmAP7HPN56LVEmXANyqlFoEYDGAD4jIUvA8pOr5DKxi\ntBrPRaqWVUqpxcaWTXV1LjI4zq9bALyqlDqqlCoA+B6AtVU+JqpjSqmfADjnuXktgCfsr58A8BHj\n9u8ppS4ppY4BeBXWOUtUFqXUoFLqRfvrEVidwbnguUgVpCzn7W8n2v8UeB5SFYjIuwB8CMB/NW7m\nuUh5UVfnIoPj/JoL4DXj+1/btxFVUptSatD++jSANvtrnp+UORHpAHAzgF7wXKQKs9NYDwF4HcBz\nSimeh1Qtfw3g/wZw1biN5yJVgwLwvIgcEJEN9m11dS7mZisnIso3pZQSEZa3p4oQkVYA/wDgfqXU\nWyLi/IznIlWCUmoMwGIRuRbANhH5Hc/PeR5S5kTkwwBeV0odEJHf87sPz0WqoJVKqVMi8k4Az4nI\nK+YP6+Fc5Mxxfp0CcL3x/bvs24gqaUhE2gHA/v91+3aen5QZEZkIKzD+e6XUD+ybeS5SVSilfgNg\nF6w1czwPqdJWAPjXInIc1hK7W0XkSfBcpCpQSp2y/38dwDZYadJ1dS4yOM6vnwNYKCLzRaQZ1oL2\nH1b5mKjx/BDAvfbX9wLYbtz+MRGZJCLzASwE8LMqHB/VGbGmiB8DcFgp9Q3jRzwXqWJE5B32jDFE\nZAqA2wG8Ap6HVGFKqX+nlHqXUqoDVl/wfyql7gHPRaowEZkqItP01wB+H8AvUGfnItOqc0opdUVE\n/hTAPwFoAvC4Uqq/yodFdUxEvgvg9wDMFpFfA/j3AL4K4Psi8gkAJwD8AQAopfpF5PsABmBVF/4T\nOwWRqFwrAPwhgD57vScAfB48F6my2gE8YVdWnQDg+0qpZ0VkH3geUj6wTaRKa4O1xASwYsitSql/\nFJGfo47ORVGqptPCiYiIiIiIiMrGtGoiIiIiIiJqeAyOiYiIiIiIqOExOCYiIiIiIqKGx+CYiIiI\niIiIGh6DYyIiIiIiImp4DI6JiIiIiIio4TE4JiIiIiIioobH4JiIiIiIiIga3v8PCZjzg8XbAAAA\nAklEQVR4xukaKcEAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_m()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "# Preallocation for Plotting\n", "xt = []\n", "yt = []\n", "dxt= []\n", "dyt= []\n", "ddxt=[]\n", "ddyt=[]\n", "Zx = []\n", "Zy = []\n", "Px = []\n", "Py = []\n", "Pdx= []\n", "Pdy= []\n", "Pddx=[]\n", "Pddy=[]\n", "Kx = []\n", "Ky = []\n", "Kdx= []\n", "Kdy= []\n", "Kddx=[]\n", "Kddy=[]\n", "\n", "\n", "def savestates(x, Z, P, K):\n", " xt.append(float(x[0]))\n", " yt.append(float(x[1]))\n", " dxt.append(float(x[2]))\n", " dyt.append(float(x[3]))\n", " ddxt.append(float(x[4]))\n", " ddyt.append(float(x[5]))\n", " Zx.append(float(Z[0]))\n", " Zy.append(float(Z[1]))\n", " Px.append(float(P[0,0]))\n", " Py.append(float(P[1,1]))\n", " Pdx.append(float(P[2,2]))\n", " Pdy.append(float(P[3,3]))\n", " Pddx.append(float(P[4,4]))\n", " Pddy.append(float(P[5,5]))\n", " Kx.append(float(K[0,0]))\n", " Ky.append(float(K[1,0]))\n", " Kdx.append(float(K[2,0]))\n", " Kdy.append(float(K[3,0]))\n", " Kddx.append(float(K[4,0]))\n", " Kddy.append(float(K[5,0]))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Kalman Filter\n", "\n", "![Kalman Filter](https://raw.github.com/balzer82/Kalman/master/Kalman-Filter-Step.png)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "for filterstep in range(m):\n", " \n", " # Time Update (Prediction)\n", " # ========================\n", " # Project the state ahead\n", " x = A*x\n", " \n", " # Project the error covariance ahead\n", " P = A*P*A.T + Q \n", " \n", " \n", " # Measurement Update (Correction)\n", " # ===============================\n", " # if there is a GPS Measurement\n", " if GPS[filterstep]:\n", " # Compute the Kalman Gain\n", " S = H*P*H.T + R\n", " K = (P*H.T) * np.linalg.pinv(S)\n", " \n", " \n", " # Update the estimate via z\n", " Z = measurements[:,filterstep].reshape(H.shape[0],1)\n", " y = Z - (H*x) # Innovation or Residual\n", " x = x + (K*y)\n", " \n", " # Update the error covariance\n", " P = (I - (K*H))*P\n", "\n", " \n", " \n", " # Save states for Plotting\n", " savestates(x, Z, P, K)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Thats it.\n", "\n", "![Job done](http://www.troll.me/images/the-chuck-norris/job-done.jpg)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Let's take a look at the filter performance" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Uncertainty $P$" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_P():\n", " fig = plt.figure(figsize=(16,9))\n", " plt.subplot(211)\n", " plt.plot(range(len(measurements[0])),Px, label='$x$')\n", " plt.plot(range(len(measurements[0])),Py, label='$y$')\n", " plt.title('Uncertainty (Elements from Matrix $P$)')\n", " plt.legend(loc='best',prop={'size':22})\n", " plt.subplot(212)\n", " plt.plot(range(len(measurements[0])),Pddx, label='$\\ddot x$')\n", " plt.plot(range(len(measurements[0])),Pddy, label='$\\ddot y$')\n", "\n", " plt.xlabel('Filter Step')\n", " plt.ylabel('')\n", " plt.legend(loc='best',prop={'size':22})" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\n6LLOuagsJOCeiHgiIi7IryuruViZdQBJPZdSShHhe6/UZyJiGPBz4G9TSs0R8dp3zkf1hZRSOzAj\nIkYAt0bEO/b63nmoXhcRfwysSyk9EREn7Wsb56L60JyU0sqIGAXcHRHPd/2yHOaiZ14LtxIY32V5\nXH6d1FfWRsSBAPlf1+XXOzfVqyJiEJ3F9ScppV/kVzsflYmU0hbgfjrv2XIeqq8dD3w4IpbSeQvZ\neyPixzgXlYGU0sr8r+uAW+m8DLis5qLltXDzgKkRMTkiqui84fm2jDNpYLkNODf/+Vzgl13WnxUR\ngyNiMjAVeDyDfCpD0XmK9YfAcymlK7t85XxUn4mIxvwZVyJiCPAB4Hmch+pjKaXLUkrjUkqT6Py3\n4H0ppY/hXFQfi4ihEVH76mfgFOBZymwuetlwgVJKbRFxMTAXyAHXpZQWZBxLZSoifgqcBDRExArg\ny8DXgJsj4hPAMuDPAVJKCyLiZmAhnU+GvSh/eZ1UDMcDfwk8k7/fEOCLOB/Vtw4Ebsg/GbMCuDml\ndEdEPILzUKXBvxPV10bTeQsFdHa8G1NKv4qIeZTRXIyU+vVlz5IkSZKkAcDLhiVJkiRJJc/yKkmS\nJEkqeZZXSZIkSVLJs7xKkiRJkkqe5VWSJEmSVPIsr5IkSZKkkmd5lSRJkiSVPMurJEmSJKnkWV4l\nSZIkSSXP8ipJkiRJKnmWV0mSJElSybO8SpIkSZJKnuVVkiRJklTyLK+SJEmSpJJneZUkSZIklTzL\nqyRJkiSp5FleJUmSJEklz/IqSZIkSSp5lldJkiRJUsmzvEqSJEmSSp7lVZIkSZJU8iyvkiRJkqSS\nZ3mVJEmSJJU8y6skSZIkqeRZXiVJkiRJJc/yKkmSJEkqeZZXSZIkSVLJq8w6wFtpaGhIkyZNyjqG\nJEmSJKnIGhoamDt37tyU0qlvtW3Jl9dJkyYxf/78rGNIkiRJknpBRDS8ne28bFiSJEmSVPIsr5Ik\nSZKkkmd5lSRJkiSVvKKV14i4LiLWRcSz+/k+IuI7EbE4In4fEUcX69iSJEmSpPJWzDOv1wNv9oSo\n04Cp+Z8LgKuLeGxJkiRJUhkrWnlNKT0IbHqTTc4AfpQ6PQqMiIgDi3V8SZIkSVL56st7XpuA5V2W\nV+TXvUFEXBAR8yNi/vr16/sknCRJkiSpdJXke15TStcC1wLMnDkzZRxnv9atXMKmVS8VPH7itFkM\n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\nSZJK3v8FCoRLl6ySGV4AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_P()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Covariance Matrix" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_P2():\n", " fig = plt.figure(figsize=(6, 6))\n", " im = plt.imshow(P, interpolation=\"none\", cmap=plt.get_cmap('binary'))\n", " plt.title('Covariance Matrix $P$ (after %i Filter Steps)' % (m))\n", " ylocs, ylabels = plt.yticks()\n", " # set the locations of the yticks\n", " plt.yticks(np.arange(7))\n", " # set the locations and labels of the yticks\n", " plt.yticks(np.arange(6),('$x$', '$y$', '$\\dot x$', '$\\dot y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", " xlocs, xlabels = plt.xticks()\n", " # set the locations of the yticks\n", " plt.xticks(np.arange(7))\n", " # set the locations and labels of the yticks\n", " plt.xticks(np.arange(6),('$x$', '$y$', '$\\dot x$', '$\\dot y$', '$\\ddot x$', '$\\ddot y$'), fontsize=22)\n", "\n", " plt.xlim([-0.5,5.5])\n", " plt.ylim([5.5, -0.5])\n", "\n", " from mpl_toolkits.axes_grid1 import make_axes_locatable\n", " divider = make_axes_locatable(plt.gca())\n", " cax = divider.append_axes(\"right\", \"5%\", pad=\"3%\")\n", " plt.colorbar(im, cax=cax)\n", "\n", "\n", " plt.tight_layout()\n", " plt.savefig('Kalman-Filter-CA-CovarianceMatrix.png', dpi=72, transparent=True, bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAGKCAYAAABZ1tX9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xu4XHV97/H3pwETEDHEpOEWJHiAlmBbJKWI1IMQTkJP\nMfDYSqSWWKloSaUFLRdbSsrTcPFQUETwRGgBi1y0FkKLUi7yBDgncDZKi0kIBBJMQiBJ0xBu4RK+\n54/122YYZmbPzJ7LWmt/Xs8zz8z6rTVrfdesvec7v9/6zhpFBGZmZnnzS/0OwMzMrBYnKDMzyyUn\nKDMzyyUnKDMzyyUnKDMzyyUnKDMzyyUnKDMzyyUnKDMzyyUnqByStFjSEf2Oox96te+SLpT0500u\nu7+kRyW9KOm0bsfWT5Wvv6SVkqb1OaSuk/SwpCn9jsPeyQmqgqQTJQ1IeknSWkk/lHR4r+OIiCkR\ncV+vt1tPeqN6XdL4qvafSgpJeze5jiHf7Nrdd0m7pFhekvSKpGfrJSBJE4CTgP/d5OrPBH4cEe+J\niMvTOjr65i3pPklbUvwvSVpWNX+cpH+W9LKkZySd2Mr8qmVXSnq1YlsvSdodGr/+3UhYkg6X9H8k\nvSBpo6QHJf1mt7ZXxyXA+T3YjrXICSqRdAbwNeACYCKwF/BN4OM9jGG7Xm2rDSuATw1OSPogsGOn\nVt6Bff8NYH1E7BQROwJ/Alwmac8ay34GuCMiXm1y3e8HFg8zvl9osK9/muLfKSL2r5r3TeB1sr/N\nPwCuqvrUP9T8asdWbGuniHi2vb1pTq19lrQz8C/AN4BxwB7A3wCvdTOWGhYAH5O0a4+3a0OJiBF/\nA94LvAT8foNlfhW4D9hE9mb18dR+FvD9qmW/DlyeHp8NPAW8CCwBjq9admVax3+Q/WNul9qmDfX8\ntNyX03NfAG4GxlTMnwT8AFgP/CdwRcW83YF/SvNWAKc12PeVwF8B/6+i7RLgL4EA9m4UK/Ad4C3g\n1fQ6nznUvgMfADYCH6qIdz1wRJ0YTwf+tWJ61xTbPjWWvRf4dFVbvdjvBbYCW1Ls+9Xan6Fez1r7\nWjX/PuCP6+zbu8mSz34VbdcDFzUzv87xnDbUvKrH3djnqcCmOnHU+5upu820vXPS8fsv4B94+//D\nWcCadIyXAUdVzLsLmN3v9yLfqv4O+h1AHm7ADODN6n+givnbA8uBrwDvAo5Mf+T7k326fgV4T1p2\n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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_P2()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Kalman Gains" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_K():\n", " fig = plt.figure(figsize=(16,9))\n", " plt.plot(range(len(measurements[0])),Kx, label='Kalman Gain for $x$')\n", " plt.plot(range(len(measurements[0])),Ky, label='Kalman Gain for $y$')\n", " plt.plot(range(len(measurements[0])),Kdx, label='Kalman Gain for $\\dot x$')\n", " plt.plot(range(len(measurements[0])),Kdy, label='Kalman Gain for $\\dot y$')\n", " plt.plot(range(len(measurements[0])),Kddx, label='Kalman Gain for $\\ddot x$')\n", " plt.plot(range(len(measurements[0])),Kddy, label='Kalman Gain for $\\ddot y$')\n", "\n", " plt.xlabel('Filter Step')\n", " plt.ylabel('')\n", " plt.title('Kalman Gain (the lower, the more the measurement fullfill the prediction)')\n", " plt.legend(loc='best',prop={'size':18})" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6wAAAImCAYAAABXZwdOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VOXZ//HvlX2BhJ2whLBvRQREEHdRUeuGFFvXigVF\nxac+tGpdqi0u1UfFrSJaAVGrPxdaq1URFwpYFFBBUWQTwiog+5ptkvv3x5lgEhKSGSaZmczn/Xr5\nMjPn3Pe5zj0L55p7OeacEwAAAAAAkSYu3AEAAAAAAFAZElYAAAAAQEQiYQUAAAAARCQSVgAAAABA\nRCJhBQAAAABEJBJWAAAAAEBEImEFEDJmNtXM7gt3HKFgZtPN7KojKP+Amf3vYbb/2cz+Hmz9FeqK\nunY3sxFm9t9wx1EXQvlao/aZ2fVmtsXM9plZ02r2Lfc+NjNnZp39f6ea2b/NbLeZvWFml5vZB1Xs\nG9BnOJo+82Xf/2bWzt+u8UHUc4eZTQpBPL3N7NMjrQdA3SFhBVCOma0xszPKPL7EzHaa2SnhjCtQ\nZtbFzF41s61mtsfMVprZX82sbU3KO+fOcc69EOSxm0v6taRn/Y9PNbMNwdRVH5hZe//FeUK4Y6lt\nsf5aR7qK32+VbE+U9KikIc65Bs657UdwuOGSWkpq6py72Dn3snNuSKCV1Kcfd5xz6/ztWny4/Sr7\nHDnn/uKcGxWCGBZL2mVm5x9pXQDqBgkrgCr5exgnSDrXOTc73PHUlL/XYr6kHyT1dc5lSDpB0ipJ\nJ9ZBCCMkveecy6uDY4WVeertvyWxkGTXpihsv5aSUiQtCUFdOZJWOOd8IagrIkTh61mVlyWNDncQ\nAGqm3l5kADgyZjZa0nhJZznnPi3z/Btmttk/zG2Omf2sivKnmtkGM7vVzH40s01mNtTMfm5mK8xs\nh5ndUWb/AWb2mZnt8u/7lJklldnuzOw6f0/pLjObYGZWRfh/ljTXOfc759wGSXLO/eice9w596q/\nvsZm9o6/B3an/++Dva9mNsvMRvn/HmFm/zWzR/z75prZOYdpvnMkzfaXTZc0XVJr/1C4fWbW2r9f\nkpm9aGZ7zWyJmfUvc/zWZvYPf3y5ZvbbwxyvYttfY2bf+9v47dLjmdk4M/ur/+9EM9tvZg/7H6ea\nWb6ZNfE/Ps7MPvW39ddmdmqFtrnfzOZKOiCpYzUhzfH/f5f//AeVqavSNjWzTDOb7H8vbDSz+6yK\nYYTmDTl8w8z+7m/Lb8ysq5nd7n/vrTezIWX2b+1vlx3+drqmQl3T/HXtkTTCzOLM7DYzW2Vm283s\n9dJ2qhBHrb/W5g0Ffdq8Iev7zGyumWWZ2eP+dlxmZn1rUvfhPnPmeczffnv8bdrLv+3gZ8P/uLJh\nsWPMbKWklf7nupvZh/42X25mv6ylc/qz//U5pK3N7CVJ7ST923+cWyu0bVdJy/0Pd5nZTKtkdEDF\n86/idRon6W5Jv/Ifa2TFdqoJM+sh6RlJg/z17CqzubGZves/z/lm1qlMuSrbu5JjzDJvCsMC/2v9\nlv30PVB6/iPNbJ2kmf7nD/f90MHMZvvj+lBSszLbyrWnmTUxs+fN7Af/a/0vq+JzZBWG1pvZBf7X\nd5f/HHqU2bbGzG42s8Xm/Vv1mpmllDntWZJON7PkQF4PAOFBwgqgMtdLukfS6c65Lypsmy6pi6QW\nkhbK+6W6KlnyeivayLt4e07SFZKOkXSSpLvMrIN/32JJY+Vd3AySdLqkGyrUd56kYyX1lvRLSWdV\ncdwzJP3jsGfoff89L68XpJ2kPElPHWb/gfIuZptJekjSZLMqE+aj/PvKObdfXgL7g38oXAPn3A/+\n/S6Q9KqkRpLeLj2+eT2W/5b0tby2O13S/5pZVed7kJkNlvSAvPZpJWmt/xiSl0Sf6v/7WEmbJZ3s\nfzxI0nLn3A4zayPpXUn3SWoi6WZJ/zBvqHOpKyVdK6mh/xiHU3qMRv7z/8z/+HBtOlWST1JnSX0l\nDZF0uCThfEkvSWosaZGkGfJe4zby3svPltn3VUkbJLWWN2zzL/52K3WhpGnyXpeXJf2PpKGSTvGX\n2Slv5EE5dfha/1LSH+W1W4Gkz+R9Fpv54360hnUf7jM3RN7r1lVSpv+YgQyPHSrv9e3pT0A+lPSK\nvO+NSyQ9bWY9a+GcpCra2jl3paR1ks73vzYPlQ3YObdCUukPcI2cc2XfEwFxzv1J0l8kveY/1uQg\n61kq6TpJn/nraVRm8yWSxsl7z38v6X7p4A8n1bV3Rb+W9Bt53xk+SU9W2H6KpB6SzqrB98Mrkr6U\n99rdK+lwawG8JClNXru3kPRYNZ8j+c+xq6T/J+l/JTWX9J68HyKSyuz2S0lnS+og79+MEaUbnHMb\nJRVJ6naY2ABECBJWAJU5U9I8Sd9U3OCcm+Kc2+ucK5DXk3m0mWVWUU+RpPudc0XyLiCbSXrCX36J\npO8kHe2v90vn3DznnM85t0ZeglFx3uyDzrldzrl1kv4jqU8Vx20mLxmTJJnZjf5f4feZ2XP+4213\nzv3DOXfAObdX3sXe4ebprnXOPeefe/WCvAu7llXs20jS3sPUVeq/zrn3/HW+JH9byEsmmzvn7nHO\nFTrnVstL9i+pQZ2XS5rinFvof41ul9c7015eEtDFvIVkTpY0WVIbM2sg79xLh31fIW9I83vOuRLn\n3IeSvpD08zLHmeqcW+J/vYpqEFdlKm1TM2vpP9b/Ouf2O+d+lPRYNef/iXNuhn/45RvyLmIfLPPe\na29mjcwsW97w8D845/Kdc19JmiTvgr3UZ865f/nPPU9ewnCnc25Dmff9cAtseGQoX+s3/Z+XfElv\nSsp3zr3or/s1eQl+tXVX85krkvdjRHdJ5pxb6pzbFMD5PuCc2+Fvv/MkrXHOPe8/1iJ5PyhdHOpz\n8quqreubN51zC/zv+Zf10/dhTdq7opecc9/6k8W7JP3Syo9o+LP/s5inw3w/mFk7ea/RXc65Aufc\nHHk/MBzCzFrJS0yvc87tdM4VuZpPPfmVpHedcx/6P+OPSEqVdHyZfZ50zv3gnNvhj6Hivxd75X1X\nA4hw9WUuAoDQul5eb8ckMxvpnHOS5L+AuV/ehU9zSSX+/ZtJ2l1JPdvdT4trlM7n3FJme56kBv66\nu8rrRekv7xf3BHm/0pe1uczfB0rLVnZcecmPJMk595Skp8xbVbOt/3hp8pKgs+X1UEhSQzOLd5Uv\nCHLw2M65A/6OwKqOv1PexX51Kp5Pij8JypE3HK7s8L94SZ/UoM7W8nqmSmPdZ2bbJbVxzq0xsy/k\nJSUny3st+8hL4E6R9Fd/sRxJF1v5RUkS5f1IUGp9DWKpTlVt2sR/vE1lOrHjqjlmxffVtkreew3k\ntc8O/48UpdbKe9+VqnicHElvmllJmeeK5f1gsfEwMZUVyte64rlW+pmqru7DfeacczPN7Cl5Pck5\nZvZPSTc75/bU4Fyl8m2YI2lghTgS5CWTIT0nv0rb2tWjuaR+VX0f1qS9Kyr7eq2V9/lrVsX2w30/\ntJa005/4lq0vu5JjZsv7LO48TFxVaa0yIzuccyVmtl5er3upiu3TWuU1lLRLACIeCSuAymyRN9Ru\ntqSn5SWwknSZvOGSZ0haI2+o4E5JVQ2NDcREeUM5L3XO7TXvljDDg6zrY0nD5A35rcrv5Q0HG+ic\n22xmffzHD8W5LJY3lPJz/2MXYPn1knKdc12COPYP8i4oJR0cHthUPyVWsyUNltdj9bn/8VmSBuin\nuabr5fW4HJzbWYlAzimY8y+Q1KwWkowfJDUxs4ZlktZ2Kp94Vox3vaTfOOfm1qD+unytj7Tuw37m\nnHNPSnrSzFpIel3SLfJ63/bLS3BLZVVSd9l2WC9ptnPuzKDPpHxdR9Jegb4+pYlXmqTSZL2y861N\nwbynAm3vsgllO3k97NvKPF/x9az0+8HMcuTNrU0vk7S2U+XnsF7eZ7GRc65i4ljdOf8gb+pF6XHN\nH2uNfkDyD2tO0k9zlgFEMIYEA6iU8+YMnS7pbDN7zP90Q3mJxHZ5F3B/CeEhG8q7INxnZt31U5Ic\njD9LOsnMHvVfmMjMmsmbg1X2eHnyFldpIulPR3C8it5T+eHFWyQ1PczQ6YoWSNprZn8wbzGkeDPr\nZWbH1qDs/5N0tZn18S8o8hdJ8/1DPiUvQf21pO+cc4XyFh8ZJS8J2Orf5++Szjezs/zHTjFvEa0q\nbwnkXxBlVhWbt8rrja9ucSZJkn/o6QeSxptZhnmLHnWyENxayTm3XtKnkh7wn1dvSSPlnXNVnpF0\nv/9iXGbW3MwurGLfunytj7TuKj9zZnasmQ007zYv+yXl66cRFV9JGmZmaeatyD2ymjjekdTVzK40\nb7GvRH/9PaopF8w5VWeLavg+lCT/Z2KjpCv8x/qNpE7VFAu1LZLaVpifeTjBtPcVZtbTP/LkHknT\nqhhpIh3m+8E5t1be8OBxZpZkZifKm19+CP/nfLq8+bWN/XGWznev7nP0uqRzzex0/3v09/L+barp\n/VVPkTTTP8QfQIQjYQVQJefNFR0sb77eA5JelDcMa6O8+afzQni4m+X14O6VNyfttWArct7iKQPl\nDf/92sz2Spor71f5u/y7PS5vztM2eefxftCRH+pFefO5Uv3xLJOXSK42by5txaFpFeMvljcPrY+k\nXH+Mk+T1aB+Wc+4jeef4D0mb5F1cl53f96m88y7tTf1OXjIyp0wd6+X1pN8hL9lcL6937XD/ZmTL\na+PKYjogb/jxXP/5H1fdechLqpP88e2Ut/BOq8OWqLlLJbWX9354U9Kf/O1WlSfkLd7zgf+9NE/e\n++sQdflaV6cGdR/uM5fhf26nvM/8dkkP+7c9JqlQXlLxgg6/8Jr8PdlD5L0Pf5A3VPP/JAW8QmsI\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_K()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## State Vector" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_x():\n", " \n", " fig = plt.figure(figsize=(16,16))\n", "\n", " plt.subplot(311)\n", " plt.step(range(len(measurements[0])),ddxt, label='$\\ddot x$')\n", " plt.step(range(len(measurements[0])),ddyt, label='$\\ddot y$')\n", "\n", " plt.title('Estimate (Elements from State Vector $x$)')\n", " plt.legend(loc='best',prop={'size':22})\n", " plt.ylabel(r'Acceleration $m/s^2$')\n", " plt.ylim([-.1,.1])\n", "\n", " plt.subplot(312)\n", " plt.step(range(len(measurements[0])),dxt, label='$\\dot x$')\n", " plt.step(range(len(measurements[0])),dyt, label='$\\dot y$')\n", "\n", " plt.ylabel('')\n", " plt.legend(loc='best',prop={'size':22})\n", " plt.ylabel(r'Velocity $m/s$')\n", " plt.ylim([-1,1])\n", "\n", " plt.subplot(313)\n", " plt.step(range(len(measurements[0])),xt, label='$x$')\n", " plt.step(range(len(measurements[0])),yt, label='$y$')\n", "\n", " plt.xlabel('Filter Step')\n", " plt.ylabel('')\n", " plt.legend(loc='best',prop={'size':22})\n", " plt.ylabel(r'Position $m$')\n", " plt.ylim([-1,1])\n", "\n", " plt.savefig('Kalman-Filter-CA-StateEstimated.png', dpi=72, transparent=True, bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_x()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Position x/y" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "def plot_xy():\n", "\n", " fig = plt.figure(figsize=(16,16))\n", " plt.plot(xt,yt, label='State',alpha=0.5)\n", " plt.scatter(xt[0],yt[0], s=100, label='Start', c='g')\n", " plt.scatter(xt[-1],yt[-1], s=100, label='Goal', c='r')\n", "\n", " plt.xlabel('X')\n", " plt.ylabel('Y')\n", " plt.title('Position')\n", " plt.legend(loc='best')\n", " plt.xlim([-5, 5])\n", " plt.ylim([-5, 5])\n", " plt.savefig('Kalman-Filter-CA-Position.png', dpi=72, transparent=True, bbox_inches='tight')" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7IAAAOjCAYAAACGCjjKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmQXuVh5/vf6V3qRVtr3xH7IoSQwRgTg7eA4ziZDB68\n4IlTM5drkzi5mdy6uVMzNa6pGtfEVfbY8dg3uYTM4GtsfB0S5zqOiZeA8QYYsQmEQEJC+9paelVL\nre5z/2jRRmgBbbSO9PlUqdT9vmd5Xv3z1lfPOc8pyrIMAAAAVEXNaA8AAAAAjoeQBQAAoFKELAAA\nAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCwBmkKIo5RVH0FEVRe4xteoqiOO/NHBcAnEmELACcpKIo\n1hZFsfdgYG4riuKeoihaTuRYZVmuL8uypSzLwYPH/nFRFP/2Ndu0lGW55lSMHQCqSMgCwKnxm2VZ\ntiRZnGRJkv84yuMBgLOWkAWAU6gsy01JHkhyeVEUM4qi+E5RFLuKonipKIr/5ZXtiqK4piiKpUVR\ndB2cxf1vB1+fVxRFWRRFXVEUn0lyQ5IvH5zt/fLBbcqiKM4/+PO4oij+n6IodhRFsa4oiv9YFEXN\nwfc+XhTFz4qi+FxRFLuLoni5KIpb3ux/EwA41epGewAAcDYpimJ2kvcl+bsk30zyXJIZSS5O8sOi\nKFaXZflgkj9P8udlWX7t4GXIl7/2WGVZ/oeiKK5Pcm9Zlncf5ZT/Pcm4JOclmZTkB0m2JPnrg+9f\nm+SrSdqT3JHkr4uimFmWZXlKPjAAjAIzsgBwavx9URR7kvwsycNJ7kpyfZI/LcuyvyzLp5PcneRf\nH9x+IMn5RVG0l2XZU5blo8d7woMLQn0oyb8vy7K7LMu1ST6f5GOv2mxdWZZ/dfCe268mmZ5k6ol9\nRAA4MwhZADg1frssy/FlWc4ty/LODM/C7irLsvtV26xLMvPgz/8myYVJXiiK4vGiKN5/AudsT1J/\n8LhHOkeSbH3lh7Is+w7+eEILUQHAmULIAsDpsTnJxKIoWl/12pwkm5KkLMtVZVl+OMmUJJ9Ncn9R\nFM1HOM6xLgHuyPDM7twjnQMAzlZCFgBOg7IsNyT5RZL/WhRFU1EUCzM8C3tvkhRFcXtRFJPLshxK\nsufgbkNHONS2DN//eqRzDCb5VpLPFEXRWhTF3CT/7pVzAMDZSsgCwOnz4STzMjw7++0kny7L8kcH\n37s5yfKiKHoyvPDTh8qy3HuEY/x5klsPrjr8pSO8/6kkvUnWZPj+3G8k+R+n9FMAwBmmsGghAAAA\nVWJGFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAAColLrRHsDxaG9vL+fNmzfawwAAAOA0eOKJ\nJzrKspz8ettVKmTnzZuXpUuXjvYwAAAAOA2Kolj3RrZzaTEAAACVImQBAACoFCELAABApVTqHlkA\nAICzzcDAQDZu3Jj+/v7RHsqbpqmpKbNmzUp9ff0J7S9kAQAARtHGjRvT2tqaefPmpSiK0R7OaVeW\nZXbu3JmNGzdm/vz5J3QMlxYDAACMov7+/kyaNOmciNgkKYoikyZNOqkZaCELAAAwys6ViH3FyX5e\nIQsAAHCO+8xnPpPLLrssCxcuzKJFi/LYY4/li1/8Yvr6+l533ze63akkZAEAAM5hjzzySL773e/m\nySefzLJly/KjH/0os2fPFrIAAACcmbZs2ZL29vY0NjYmSdrb23P//fdn8+bNuemmm3LTTTclST75\nyU9myZIlueyyy/LpT386SfKlL33psO1+8IMf5LrrrsvixYvzwQ9+MD09Pad8zEVZlqf8oKfLkiVL\nyqVLl472MAAAAE6ZFStW5JJLLhm18/f09OTtb397+vr68u53vzu33XZb3vGOd2TevHlZunRp2tvb\nkyS7du3KxIkTMzg4mHe961350pe+lIULFx6yXUdHR37nd34nDzzwQJqbm/PZz342+/bty3/6T//p\nsPMe6XMXRfFEWZZLXm/MHr8DAABwhvjxi9uzo3vfKT3m5NbG3HjRlKO+39LSkieeeCI//elP89BD\nD+W2227Ln/3Znx223be+9a3cddddOXDgQLZs2ZLnn38+CxcuPGSbRx99NM8//3yuv/76JMn+/ftz\n3XXXndLPkwhZAACAc15tbW1uvPHG3Hjjjbniiivy1a9+9ZD3X3755Xzuc5/L448/ngkTJuTjH//4\nER+fU5Zl3vOe9+S+++47reMVsgAAAGeIY82cni4vvvhiampqcsEFFyRJnn766cydOzdr165Nd3d3\n2tvb09XVlebm5owbNy7btm3LAw88kBtvvDFJ0traOrLdW9/61vz+7/9+XnrppZx//vnp7e3Npk2b\ncuGFF57SMQtZAACAc1hPT08+9alPZc+ePamrq8v555+fu+66K/fdd19uvvnmzJgxIw899FCuuuqq\n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\ncyZmy7LMzp07T+rZsy4tBgAAGEWzZs3Kxo0bs2PHjtEeypumqakps2bNOuH9hSwAAMAoqq+vz/z5\n80d7GJXi0mIAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAECl\nCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAq\nRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQ\nKUIWAACAShGyAAAAVMqoh2xRFLVFUTxVFMV3R3ssAAAAnPlGPWST/FGSFaM9CAAAAKphVEO2KIpZ\nSX4jyd2jOQ4AAACqY7RnZL+Y5P9IMjTK4wAAAKAiRi1ki6J4f5LtZVk+8Trb3VEUxdKiKJbu2LHj\nTRodAAAAZ6rRnJG9PskHiqJYm+SbSd5ZFMW9r92oLMu7yrJcUpblksmTJ7/ZYwQAAOAMM2ohW5bl\nvy/LclZZlvOSfCjJg2VZ3j5a4wEAAKAaRvseWQAAADgudaM9gCQpy/LHSX48ysMAAACgAszIAgAA\nUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAA\ngEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAA\nAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUA\nAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwA\nAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQB\nAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCEL\nAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZ\nAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXI\nAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClC\nFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoR\nsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSK\nkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBS\nhCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACV\nImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACo\nFCELAABApQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABA\npQhZAAAAKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAA\nKkXIAgAAUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAA\nUClCFgAAgEoRsgAAAFSKkAUAAKBShCwAAACVImQBAACoFCELAABApQhZAAAAKkXIAgAAUClCFgAA\ngEoRsgAAAFSKkAUAAKBShCwAAACVMmohWxTF7KIoHiqK4vmiKJYXRfFHozUWAAAAqqNuFM99IMmf\nlGX5ZFEUrUmeKIrih2VZPj+KYwIAAOAMN2ozsmVZbinL8smDP3cnWZFk5miNBwAAgGo4I+6RLYpi\nXpKrkjw2uiMBAADgTDfqIVsURUuSv03yv5Vl2XWE9+8oimJpURRLd+zY8eYPEAAAgDPKqIZsURT1\nGY7Yr5dl+XdH2qYsy7vKslxSluWSyZMnv7kDBAAA4IwzmqsWF0n+OsmKsiz/22iNAwAAgGoZzRnZ\n65N8LMk7i6J4+uCf943ieAAAAKiAUXv8TlmWP0tSjNb5AQAAqKZRX+wJAAAAjoeQBQAAoFKELAAA\nAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEA\nAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsA\nAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkA\nAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgC\nAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIW\nAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGy\nAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQ\nBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKE\nLAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUi\nZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgU\nIQsAAEClCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAECl\nCFkAAAAqRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAq\nRcgCAABQKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQ\nKUIWAACAShGyAAAAVIqQBQAAoFKELAAAAJUiZAEAAKgUIQsAAEClCFkAAAAqRcgCAABQKUIWACrm\nyfW7s727f7SHAQCjRsgCwBlmcKjM3z25Mcs27jnsvXU7e/Pwizvy/OauURgZAJwZhCwA55y1Hb15\n6MXtOTA4NNpDOaI1O3qybmdffvzijkNmXsuyzE9XdSRJDgyWozU8ABh1QhaAc0b/wGB+sHxrvv3U\npjy9fk/W7uwd7SEd0dMb9qS1qS5N9TX5/nNbR4L7ha3d2dG9L0kycIZGOAC8GYQsAOeEtR29uffR\ndXl+S1feMm9ixjbU5sWtPaM9rMPs7t2fjbv35srZ4/PeS6elo2d/frF6Z5KMRGyS7BeyAJzD6kZ7\nAABwsnb17s9L23ty9dwJqa0pDnmvf2AwP1m5I8s3d2VSS0M+tHBOpo1ryv7BwTy/uSv7Dwyloe7M\n+X/dTXv2JkkWTG7JxOaGXDl7XJ5cvzvz25tzzfyJeWl7Tzr3DqS7/8AojxQARs+Z880NACdo3c7e\n/Pyljnzpn1elf2Bw5PXXzsJ+5JrhiE2SC6e2ZmCwPOMuL97W1Z+GuppMGFufJHn7+ZMzfkx9vr98\na5LkfVdMTzI8O1uW7pMF4NwkZAGovIWzxo/8fN8v12d7V39++Py2fPupTWmoq8mH3jInb7+gPXW1\nv/ra69k3PKNZX3tmfRVu69qXaW1NKYrhmeWGuprcfPn09O4bzI9f3D4S4kmydN3u7OrdP1pDBYBR\nc2Z9ewPACaitKfKBRTOSJHv6BvL1x9bnuU2dh83CvqIsyyxduzuTWhoyb9LY0RjyER0YHMqO7n2Z\n2nboeKeNa8o18ydmxZburNzWPfL6z1Z15Ecrtr3ZwwSAUSdkATgrnNfenDkTD43Sic0N+eXaXfnO\nM5uztqN35FLcdTv7sqN7X66eO2Fk5vNMsKNnX4bKMtPGNR723jXzJ2bauKb88PlDw9XqxQCciyz2\nBMBZoSiKvPeyqVmzozcLprTkn57bmu8v35qGuprsPzCU1dt7Mn5sfRbOGpfnt3SntakuF09rG+1h\nH2Jr5/AzY187I5sMzzrffNm0fP2xdSOv1RRFhtwmC8A5SMgCcNZobarPlbOH75f9F1fNzIMvbM9z\nmzqTJFPaGlNfU5OfrOwY2b6j5/DLeEfTtq59aW6sTUvjkb+eJzQ35F+9ZXb29A1kw66+9O4fzJ4+\n98gCcO5xaTEAZ5WyLFOWZWprirz7kin5tQvbUxTD987+1lUzMv7gasBJ8o3H1uebv1yf5zd35cAZ\ncInutq7+TH3VQk9HMqW1KRdObc27Lpma+poig6ZkATgHmZEF4Kzy4Avbs2xjZ/7oXRekpqbI1XMn\nZvzYhjyxdnc6evanc+9Arp0/MYvnTsiKLV1ZtrEz31++NT9ZVZvLZ4zLFbPGZdyYX8XuMxv2ZO3O\n3lw+c1zmT2pOTc3puae2f2Awu3r35+JprW94n5oalxYDcG4SsgCcVXZ070uS/MOyzfmtRTOTJAsm\nt2TB5Jb8YPnW1BZFFs0Zn6b62lw1Z0IWzR6fDbv25pmNe7J03a4sXbcr89ubc+Ws8Zk7aWy2dO7N\nmh29WbOjN21jhu+xvWxGW8Y2nNqv0FfG/doVlo+lpigypGQBOAcJWQDOKr991cz8xY9XZ82O3qzf\n2Zc5Bx+v090/kBe2dueKmeMOidCiKDJn0tjMmTQ2Xf0DeW5jZ57b3JlvP7Up48fWp6m+Nkly8+XT\nsnxzV362qiOPrt6ZC6a2ZtHs8ccVnseytevoCz0dTU2RDJVCFoBzj5AF4KzSVF+bhbPGZdnGzvzt\nkxvzv77jvIxtqMtT6/ekLJPFcyYcdd+2pvq87fz2XHvepKza3p1lGzqzac/eJMOBecn0tnT07Muy\njXuyYkt3VmzpytS2plw5e1wunNqa+toTX3pia2f/IeH8RtTUFBkUsgCcg4QsAGedt8yfmGUbh1cr\n/u6yLfn1S6fl2U2duXBqS8a9arGno6mtKXLxtLZcPK0t27v7s7WzPxMO7tfe0ph3Xjw115/fnhVb\nurNs4578YPm2/GRlRy6f2ZaFM8e/oXO82uBQmS2dezN7wtjX3/hVaooiOhaAc5GQBeCs09ZUn4un\nteaFrd3ZtHtv/sfPX06SXD3v6LOxRzOltSlTWg+/3LexrjaLZo/PlbPGZePuvXl6w548uW5Pnli3\n+5B7bF9ZgXjZxj352UsdmdzSmOnjxmT6+KZMH9eUsQ11eXFrd3r3Deai41joKUlqC6sWA3BuErIA\nnJWunjshL2ztzvz25rzc0Zsk6ejef8QoPRlFUWT2xLGZPXFsuvsH8uzGzjy7qTNrdgzfY7tw1vhc\nNqMtK7Z0pb6mJgODZZ5YtztDa4cDdNyY+gwMDmVya2Pmtzcf17ndIwvAuUrIAnBW6uo/kCQjEZsk\n31++NVu79uYdF05J7Wl4jE7rwXtsr5k/MS/t6MkzG/bkJyt35JHVHTkwVOba+ZNy3YJJGRgcyvbu\nfdnauTeb9/Sno2dfrj+//ZjPjz2SmprhS4uHhsrT9lggADgTCVkAzkovbu0+5PeaosiCKc15ZkNn\ntnfty28snJ7WpuO7l/WNqqut+dU9tl39eWZjZ9bt7B25dLi+tiYzx4/JzPFjcvXcEz9PzcHwHSrL\n1ETIAnDuOPHlFQHgDPbey6Ye8ntdbZEDg2Xev3B6dvbuzzceW58Nu/pO+zimtDXlPZdOzb+94bxM\nbG44pcd+ZZFkt8kCcK4RsgCclepra3LjRZNHfq+rKfJyR2+mjx+TD71ldprqa/N3T27KE+t2pazo\nfabFq2bRWNI9AAAgAElEQVRkAeBcImQBOGtdOWt8XrntdEzD8PNZt+zZm0ktjfnQNbOzYEpzfrKy\nI997dmv2HxgaxZGemBohC8A5SsgCcNaqqSny/oXTkyRXzByXupoimzv7kww/Puc3rpieGy5oz6rt\n3fnm4+uzq3f/aA73uNUeDFmP4AHgXCNkATirLZjckunjmvLEut2Z2NKQrZ17R94riiJL5k3Mv1w8\nK337B3PfL9fnpe3dxzjamaXYtDH53j9maNbspKYmaWtL7rwzWb16tIcGAKeVkAXgrFYURa4/vz3d\n/QeyvWtftnXty4HBQy8jnj1xbD5y7ZxMbG7IPzyzJT9b1ZGhM32W84EHUvvBW5Mnn8xQb19Slkl3\nd3L33cnChckDD4z2CAHgtBGyAJz1Zk8cm/ntzUmGL8Pd3r3vsG3amurzwatnZeGscXl87a58+6lN\n6dt/4M0e6huzenVy662p2bs3GRzK0KufPzswkPT1JbfeamYWgLOWkAXgnPC28yeN/LzlVZcXv1pd\nbU3edcnUvOfSqdm8Z2++8dj6bD14T+0Z5fOfTwYGUlsOJkkGa47wdT4wkHzhC2/ywADgzSFkATgn\nTGltyiXTW5Mkq7b1HHPby2eOy796y+wURZFvLd2Q5zZ1vhlDfOPuvTcZGEhxcLXiTW1T8g8X35DB\n4lVf6wMDyde+NkoDBIDTS8gCcM647rz2JMmWzv7XfXbs1LamfOSaOZk1YUx++Py2/PD5bYfdW/t6\n1nb0Zu/+wRMe71H1DId47dDweH583pJsb5mQrsbmI24HAGcbIQvAOWPc2PqRZ6+ufJ1Z2WT42bO/\nvWhmrp0/Mc9t6sy3lm5M596BN3Sulzt68+2nNmXpul0nNeYjamlJkrTu602RMgu3rsrtT30vE/q7\nj7gdAJxthCwA55SPvnVOkuR7z27JwBuYYa2pKfK289vzgUUzsrtvf+775fqs29l7zH3KssyPnt+W\nJGltqj/5Qb/W7bcn9fWZtLcrf/jzb+Zdqx9P4+BrFqaqr08+9rFTf24AOAMIWQDOKe0tjZkxvilJ\n8lc/XfOGVyZeMLklH7lmTpobavPtpzblly/vOuzy5M69A3luU2e+/OBL6dk3fNzWprpT+wGS5E/+\nZDhUk9TkKJdI19cnf/zHp/7cAHAGKF7vHqEzyZIlS8qlS5eO9jAAqLj9B4bylYdeSpK0NNbllium\nZdaEsW943x+t2JYXt3Zn2rimXDq9Ldu6+rNh9950veay43dfMjWXzmhLbU1xlKOdhAceGH7EzsDA\n8J9X1NcP/7n//uSWW079eQHgNCqK4omyLJe83nZmZAE45zTU1eSmi6ckSXr2Hcj9T2zMY2t2Zmjo\n2P+5u3f/YNbt7E1T/fDX59bO/jz4wvYs39yVKa2NueniKVk0Z3yS5AOLZuSKWeNOT8Qmw5G6bFly\nxx1JW1tSUzP89x13DL8uYgE4i52G650A4Mx3xcxxeXLd7iTJtHFN+cXqndm4e29uvnxamhuHvx73\nHRjMpt17s2H33mzY1Zcd3fuSDIfw/Pbm1NQUWb29J/W1RS6c2pr57c255xcvZ+b4MTmvvfmo5z6W\n1btW5/OPfD73Lrs3Pft70tLQktsX3p4/ue5PsmDigkM3XrAg+fKXh/8AwDlkVC8tLori5iR/nqQ2\nyd1lWf7ZsbZ3aTEAp9ILW7vywLNbc/Pl0zI4VOaHBxdomjauKUWSbV37MlSWqaspMn38mMyeMCaz\nJ47N1LamkZnWnn0H8r1lW7Jpz96R4972ltmZMX7McY/ngVUP5Na/uTUDgwMZGPrV5cL1NfWpr63P\nX73vbzK18erccMHkNNS5qAqAs88bvbT4qDOyRVF8L8mdZVmuPZUDe9Xxa5N8Jcl7kmxM8nhRFN8p\ny/L503E+AHiti6a25vG1u/NPz23N9HFNI69v7exPklwzf2LmTByb6eOaUld75HBsaazLv7x6Vr6/\nfGte3Dr8+JtxY45/peLVu1bn1r+5NX0DfYe9NzA4mNqBS/NHf/etfHLJxFw9d0Ia6hqO+xwAcLY4\n1n/n/s8kPyiK4j8URXEanh2Qa5K8VJblmrIs9yf5ZpLfOg3nAYAjKooii2YN39O6pbM/V8+dkPcv\nnJ4Lp7YmSTbt2ZvxY+uPGrGvqK0pMqa+duT3bzy2PptfNUP7Rnz+kc9nYHAgKetSPzQ3RTkc1jXl\n+LQM/noahy7LUDmYRzY+mr0Dg8d1bAA42xz1m7ksy79JsjhJW5KlRVH870VR/LtX/pyCc89MsuFV\nv288+BoAvGkun9k28vPO3n3Z0b0vM8Y35bzJzdm0e2/u/unLWbGl67BH7bzanr79WbaxMwtnjcvt\nb52butoi9z+xMc9s2HPM/V7t3mX3ZmBoIPXl9IwdvD5tB34nLQduSeuBm1NTNqW39uHsqv1mntn+\neB5bs+ukPzcAVNnr3WCzP0lvksYkra/586YoiuKOoiiWFkWxdMeOHW/WaQE4RxRFkQ9fMydJsraj\nL79cuys/fnFH1uzoHdnmn57bmi/+aNXIs2Ff6xerd6a2Jrn2vEmZ3NqYD18zJ3Mnjc2DL2zP95dv\ny8Dg0OuOo2d/T5JkoNiQMvuTJLXlhAzUbEh33fdyoGZTUhxId/lMXu7ozZbO45vxBYCzybHukb05\nyX9L8p0ki8uyPPymnZOzKcnsV/0+6+BrhyjL8q4kdyXDiz2d4jEAQKaNa8qFU1uzdmdvfvdt81JT\nJH37B7N3/2A69w6MLAL1Vz9Zk39zw/y0Nf3qjpttXf15cWt3rp0/MS0HVztuqq/NB66ckcde3pVH\n1+xMR8++/ObCGRk39uh36rQ0tKR7X3cayotSHPx6LrM3fbU/P2S7hqbNGdNQm0dW78zvLJ51qv8p\nAKASjjUj+x+SfLAsy//zNERskjye5IKiKOYXRdGQ5EMZjmYAeNO9bcGkHBgs8/jLuzK2oS7tLY2Z\nPXFs5k4am6sOPhs2Sb7+6Pqs3jE8e1qWZX66qiNjGmpz9bwJhxyvKIq89bxJ+a1FM9PdfyBf/+W6\nvNzRm6O57ZKPp23ovRkzeHUGii0ZLDozVBw661pfU5+PXfmRLJk7Iet29h2yUjIAnEuOdY/sDWVZ\nLj9dJy7L8kCSP0jy/SQrknzrdJ4PAI5lQnNDLp/ZlmUbO7Onb3+6+gfy4Avb8j9/vjbPbOjMpTPa\n8i+umpm2MXX5ztOb8+MXt2dNR2827OrLtfMnprGu9ojHnd/enI9cMydtTfX5/57elEdW7zzkvtmy\nLPPsxs7Mrv9o6ov29NU+mr7ah3Og2JjackJS/uq49bX1+eO3/nHqDy4+tWm3kAXg3HTUS4vfDGVZ\nfi/J90ZzDADwimvPm5RlGzvzP3++duQ5sZdOb8tb5k0cuSx41oQx+elLHXlq/Z48tX5Pxo2pzxUz\nxx3zuOPG1ue2t8zOP6/YnkfX7Mz27v584MoZ6dl3ID9asS1rO/py6bSZ+b8/+NH86+/8fXKgPnWD\nMzJU9CQZHHmO7P0fvD8LJi7I0717kiTnTW4eOUdHz76s2dGbC6e2ZPzY4UfzDAwO5an1w9tObWvM\nlNamjGk4cnADQJWMasgCwJlid+/+/HLtr1YDntrWmFuumH7I/bBJUldbk5sumpLtXf3ZvKc/bzt/\n0us+nidJ6mtr8uuXTU1zY22Wrt2dx17elSfX787QUJmbLp6SK2eNS1HMyqIZy/Kff3R3vr98WzqL\nh9LW1JaPLfxY/vitf5wFExckGZ7lfSjJ2o7etLc0pm//gfz9U5vS3X8gP3+pIzMnjMmCyc15cWtP\ntnX1HzKOS2e05dcvm3by/2AAMIqELADntJ09+/LLl3flxW3dqS2KXDqjLc9v7kp9bc1hEftq77l0\nWlZt685FU9/4Qv7bu/dl/a7hZSceWb0zM8Y35b2XTsuE5oaRbeaNPy83zrgj751Tk49e+9cpiuKw\n44wbU5/JrY1Zs6M3i+dMyD8u25K9+wfz3sum5ucvdWTT7r3ZtHtvGupq8oFFMzJz/Jjs6N6XFVu6\nsnxzVy6e1pq5k5oPOy4AVIWQBeCctKN7OGBXbe9OXU2RxXMm5Oq5E9LcOLzQ009W7siGXX2ZPXHs\nEfef2NyQa8+b9LrnGRoq89KOnjy1fnc27/nV7OjbL2jP1XMmpKbm0FBdv6svnXsH8ptXzjhixL5i\nweSWPPbyzvzg+W3ZuHtvmupr8+CK7TkwNHz/bX1tkY9cM2ckkmdPHJvp45qycffe/GTljnz02rGH\nnRsAqkLIAnBO2d7Vn0df3pXV23vSUFeTt8ybmMVzJhxy7+iVs8blqfW789NVHfnwNbOPGZRH0z8w\nmGc3deaZDXvS3f+r58+OH1uf9y+ckcmtjUfcb+jgQlCtTcf+il4wuTmPrtmZFVu6Rs73iguntuY9\nl05NQ92hlzzX1dbk1y5szz88syXPburMlbPHBwCqSMgCcE7o6NmXn7/UkTU7etNYX5O3njcpV80Z\nn6b6wxc/qqutSXf/gXT3H8iKLd25dEbbcZ3n6fV78sLWrgwM/mp14qJIrpk/MdfOnzSykNSRvHI5\n8w+Wb827L52a6ePGHLZN3/4D+cXqnSO/T2lrzM6e/Rkqy9xwQXsWz5lw1PheMLklsyeOzSNrduai\naa1H/PwAcKYTsgCcEx5bsytrdvSmvrbI+6+YkTmTjnzJ8Gt9f/nW1w3Zsizzckdvnlq/J+t39aWu\npsiCKS3p6T+QTXv2ZlJLQ379smmZ2tb0uueb3NqY31o0Iw++sD3/7+Mbsmj2+LxtQXsa6mrSt/9A\nnli3O0vX7j5kn47u/Wmsr8lvXDH9qJdCv6Ioivzahe35xmPr8+ianbnxoimv/48AAGcYIQvAOeHd\nl07JlLbGPLV+d77zzKZ8+Jo5mdRy5Mt7k+HLc1du6847Lpp81G32HRjM85u78vSGPdnTN5DWprpc\nf357JjbX5ycrO9LVP5Cr507I2xa8sZWNX3He5JbMnDAmv3hpZ57esCfLN3dlUnNDtnT2H3H7obLM\nR66dc8zFqV5tSmtTLp8xLs9s6MzCWeMz8VWLTQFAFbzxb1UAqLDGutq8Zd7EfOTauWmoq8l3l23J\nvgODR93+lXtYL51++GxsZ99Afvzi9tz905fz4xd3ZEx9bd53xfR87Lq52TswmO8u25IkufXqWfm1\nCycfV8S+erxvPW9SZo4fk/0Hho4asUly8bTWNxyxrxh+bFCRn67acdxjA4DRZkYWgHNKS2Ndbrl8\nev72yY355xXbc8vl0454P+mUgyG7o3tfZk8cm7Iss3H33jy5fnde7uhNkSIXTm3JVXMmZNq4pmzt\n7M//9dDqkf079w5kbMOJfc32DwzmiXW78/SGPdl/YOiI29TWFLnxosnZtHtv1u/qy9BQeVyrEI9t\nqMu18yfmp6s6sm5nr8fxAFApQhaAc87siWNz/fnt+dmqjswYPyaLjrB67yszsls6+9O5dyBPbdiT\nju59GdNQm2vmTczC2ePT0liXwaEyv1jdkcfW7Dpk/+bG2owbc3yzpP0Dg3ly3e48dTBgmxtrs//A\nodu0tzbmqtnjM7m1MVPbmtJYV5sXtnZnS1d/Zo4/fGGoY1k0e3ye3dSZh1fuyO0exwNAhQhZAM5J\nS+ZOyOY9w89UndrWeNjqwK88BufnL3UkGQ7b91w6NRdPax25VHhH977803Nb0tGz/5B9//V1c495\n/+3R/POK7Vm5rTvnT2lJbU2Rldu6M2Fsfd63cHqe2dCZl7b35DcXTs/4sb+6p3Ve+9jU1hRZvb3n\nuEO2rrYmN1wwOf/wzOYs29R5xKAHgDORkAXgnFQURX79smn5xmPr84/LtuSj187NmIbabOncm6fW\n78mqbT0j29569azMmjBm5BLkoaEyT6zfnZ+t6hjZZsb4pvTsG0yRnFDEJsmWzr2ZM3FsBgaH8tL2\nvlw8rTXvvGRKGutq886LG3PDBe2HPS6nsa42syaMyZodPbnhgvbjfubtgsnNw4/jWb0zF3scDwAV\nIWQBOGc11dfm/Qun5xu/XJ+/fHh1prY1ZVtXfxrra7Jozvj07juQVdt6Mn1c00gg7u7dn3t+sXbk\nGGMaavPuS6ZkweSW/OOzW7Krd/9RznZs+w8MjTy7tq6myLsvmZrLZ7aNnLe2pkhtzZEjc8Hkljz4\nwvbs6t1/3BFdFEXeceHkfP2xdR7HA0BlCFkAzll9+w/k5Y7eHLyKONu6+nPTxVNy6fS2NNTVZOW2\n7ry4tTu7evdncmtjHnpxe57Z0Dmy/7sumZLLZ4wbubd0cKhM7QneZ9rdP5AkmdjckPddMX3kHt03\n4rzJzXnwhWRNR+8JzQZPbm3MFTM9jgeA6hCyAJxztnf35+n1e/Li1u4cGCozr31stnftS9/+wYwf\nU5+GuuF7YCcfjMJnNnbmuU2/CtgrZ4/L28+fPLLdKwaHytQe56W9r5gwtiHvXzg9cyc1H3bc19Pa\nVJ+pbU1Zvb0nb5k38YTOf92CSXlha3d+umpHfmvRzBM6BgC8WYQsAOeEoaEyazp689T63dm4e2/q\na4tcOqMti2aPz6SWxgwMDuWbj2/IPy3fmo9cOydtTfUZ0zB8Ke8rEdtQV5Pfu37eUR+rc+AkZmRr\naopcMLX1xD5chmdlH12zM737DqS58fi/3sc21OWt503MT1Z2ZG1Hb+a1exwPAGcuIQvAWa1/YDDL\nN3flmQ170rl3IK1Ndbnhgv+/vTv/sfO67zv+ObNydnK4k0Nq30hJlm3ZcerKdiTbURI7ztYCDWIg\nCBD/0hZJkTZo4n8gQIqmBdImMNoCBex0TZ04bhbLdlLZhiVblrXvEjdxHy7D4QyXWZ7+MCQtRRJF\nicO59wxfL8Cw5t47935lXIh+6zzPOWty++aR121s1N3ZkU/dsXC/7F88vi9jq/rz6K5jF57/pfeP\nZcto/0U/a26+yYrud7aaulhuWDuY7758JK8cnsodYyPv6j3u2rIqT7w6kQdfPJyto47jAaB9CVkA\nlqVjU2fz2J7jeWb/iZydnc/mVX2556Y1uWHt4FsG2sr+7lyzuj8vHjyZQyfOXHi8u7NkbNXbH22z\ncI9sa0J2zWBPhvu688r4yXcdsp0dxXE8AFRByAKw7Dyz70T+5ukDr3vs5+7afNF7T3cfmc6fPbY3\nc/PNhcc+dP3qDK3oygPPHMzx6ZmseptNkC7nHtnLVUrJDWsH8uSrEzk7O/+O77M974a1A9n6Do/j\n2TE+lYdfOZLbNg7ntnMbZQHAleRPGgCWlZm5+Rybfv0ROF0XuUR2z9Hp/MEDL+RPH331QsR+6PrV\n2TiyIo/uPpauzoXfPXzyzFu+x3mXc4/sYrhh7WBm55vsPjr1rt+jlJKP3Lw2Z2bn8tArRy7pd57a\nO5EDJ07nm88dyn/+9o58+8XxC7swA8CVYEUWgOo1TZMDJ07n6b0n8vzByZydnc9wX3e2bRzOto3D\nGenvftPf++JDu3J48keBes9Na7J900j6ejpz++bh/MnDu/Pdlxdi7vDkmdz8Npsxzc3PXzSar7TN\nK/uyorszLx2ayo3r3v3GUe/kOJ75+SZ7jk1n+6aRbNs0nB/uPpZHdh3ND3Ydyy0bBvO+rauybnjF\nu54FAN6MkAWgWifPzObZ/SfyzL4TOTp1Nt2dJTeuG8z2TSMZW9WX8jaX+a4d6s3hyTP5hfdtztbR\n/te9fmhFd376jo3500dfTZILZ81ezNx80tnZupDt6Ci5bk1/doxPZX6+uazNms4fx/PgC4fzc+99\n6+N4Dk6ezpmZ+Wwd7c9gb9fCpcWdHXl634k8u38yz+6fzM+/d7NdkAFYVEIWgKrMzs1nx/hUnt53\nIjuPTKVpkk0rV+QT29bnpvWD6e16+3s6z/vJ7Rvyk9s3vOXzW0b78ysfuiadpWTlW6zqvtbc/HzL\n7pE974a1g3l2/2T2Hj/1trssX8zFjuM5MzuXIyfPZvzkmXzj2UNJkr98cv/rfn+krztrhnqzdrA3\nG0asyAKwuIQsAG2vaZocnjyTp/edyHMHJnN6Zi5DK7rygWtHs23j8NtuwnQ51gz2XvKMs/NNSy8t\nTpKtq/vT2VHyyvjUZYVsktw5tjIPvjCeL/9wbz5w7WiOTp/N+OSZTJx64/2v79kykjWDvVkz2JvV\ngz3v6F8oAMA7JWQBaFvTZ2fz3IHJPL3vRMYnz6Sro+SGdYPZtnG47c45nW8WLj9u5WZPSdLb1Zmt\no/15+dDJfOSmNW97efV5p87OZfzkmXP/WVhtPfKaDa6+v/NoRgd6sn54RbZvGs6aod6M9HXnSw/t\nzvuuWZl7blp7pf6WAOANhCwAbWVuvsmO8ak8svNo9k+cvvD4vbeuyy2XeBxMK8zOzyfJhV2OW+n6\ntQPZMT6VI1Nn37CiPDff5Nj0QqiOT569EK+Tp2cvvKavpzNrBntz++aFVdYf7j6W8ZNns3qwJx/f\n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\n72V/3jWjA3nx4Ml868XD2TLan1s3ODMWAGohZAFoKyu6O3PLhqHsOjKdT9+5KTNzTV46dDLPH5zM\n93YezcM7jmb1YE9+7LrVueUy4nPr6MK9sPNNnBkLAJURsgC0ne2bhvP8gcm8fHgqt2wYyh1jI7lj\nbCRTZ2bz4AuH89yBybx8+ORlhexIf3euXzuQzSv7MurMWACoipAFoO1sHe3P0IquPL1v4nWxOnFq\nJi8fPpm1Q72599Z1l/05n7lr82W/BwCw9ByUB0DbKaVk+6aR7D46nYlTM0mSw5Nn8meP7c1Ab1d+\n/r2bbcwEAFcxIQtAW9q2aThJ8uz+Ezk+fTZf/uGr6ensyC+8bywDvS4oAoCrmf8nAEBbGunrzpZV\n/Xlq70Se2Xci803yi+/bnJG+7laPBgC0mBVZANrW9s3DmTw9m1Mzc/m5uzZn9SIcuwMA1M+KLABt\n68a1g7lj80hu3TiUDSMrWj0OANAmhCwAbaursyMf37a+1WMAAG3GpcUAAABURcgCAABQFSELAABA\nVYQsAAAAVRGyAAAAVEXIAgAAUBUhCwAAQFWELAAAAFURsgAAAFRFyAIAAFAVIQsAAEBVhCwAAABV\nEbIAAABURcgCAABQFSELAABAVYQsAAAAVRGyAAAAVEXIAgAAUBUhCwAAQFWELAAAAFURsgAAAFRF\nyAIAAFAVIQsAAEBVhCwAAABVEbIAAABURcgCAABQFSELAABAVYQsAAAAVRGyAAAAVEXIAgAAUBUh\nCwAAQFWELAAAAFURsgAAAFRFyAIAAFAVIQsAAEBVhCwAAABVEbIAAABURcgCAABQFSELAABAVYQs\nAAAAVRGyAAAAVEXIAgAAUBUhCwAAQFWELAAAAFURsgAAAFRFyAIAAFAVIQsAAEBVhCwAAABVEbIA\nAABURcgCAABQFSELAABAVYQsAAAAVRGyAAAAVEXIAgAAUBUhCwAAQFWELAAAAFURsgAAAFRFyAIA\nAFAVIQsAAEBVhCwAAABVEbIAAABURcgCAABQFSELAABAVYQsAAAAVRGyAAAAVEXIAgAAUBUhCwAA\nQFWELAAAAFURsgAAAFRFyAIAAFAVIQsAAEBVhCwAAABVEbIAAABURcgCAABQFSELAABAVYQsAAAA\nVRGyAAAAVEXIAgAAUBUhCwAAQFWELAAAAFURsgAAAFSlJSFbSvn9UspzpZQnSilfLqWsbMUcAAAA\n1KdVK7IPJLm9aZo7k7yQ5HdaNAcAAACVaUnINk3ztaZpZs/9+FCSsVbMAQAAQH3a4R7ZX0vyV60e\nAgAAgDp0Xak3LqV8PcmGN3nq803T/Pm513w+yWySL13kfT6X5HNJsnXr1iswKQAAADW5YiHbNM3H\nL/Z8KeVXk3wqyX1N0zQXeZ8vJPlCktx9991v+ToAAACuDlcsZC+mlHJ/kt9O8tGmaaZbMQMAAAB1\natU9sn+YZCjJA6WUx0opf9yiOQAAAKhMS1Zkm6a5sRWfCwAAQP3aYddiAAAAuGRCFgAAgKoIWQAA\nAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAA\nqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACg\nKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICq\nCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoi\nZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQ\nBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIW\nAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkA\nAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEA\nAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAA\noCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACA\nqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACq\nImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiK\nkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpC\nFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZ\nAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQB\nAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUA\nAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAA\ngKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKi0N2VLKb5VSmlLK\nmlbOAQAAQD1aFrKllC1JPplkd6tmAAAAoD6tXJH9gyS/naRp4QwAAABUpiUhW0r5TJK9TdM83orP\nBwAAoF5dV+qNSylfT7LhTZ76fJLfzcJlxZfyPp9L8rkk2bp166LNBwAAQJ1K0yztlb2llDuSfCPJ\n9LmHxpLsS/LBpmkOXOx377777uaRRx65whMCAADQCqWUHzRNc/fbve6Krci+laZpnkyy7vzPpZSd\nSe5ummZ8qWcBAACgPs6RBQAAoCpLviL79zVNc22rZwAAAKAeVmQBAACoipAFAACgKkIWAACAqghZ\nAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQB\nAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUA\nAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAA\ngKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAA\nqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACo\nipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAq\nQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoI\nWQAAAKoiZAEAAKiKkAUAAKAqQhYAAICqCFkAAACqImQBAACoipAFAACgKkIWAACAqghZAAAAqiJk\nAQAAqIqQBQAAoCpCFgAAgKoIWQAAAKoiZAEAAKiKkAUAAKAqpWmaVs9wyUoph5PsavUcy9yaJOOt\nHgIWge8yy4HvMcuF7zLLge/x0rimaZq1b/eiqkKWK6+U8kjTNHe3eg64XL7LLAe+xywXvsssB77H\n7cWlxQAAAFRFyAIAAFAVIcvf94VWDwCLxHeZ5cD3mOXCd5nlwPe4jbhHFgAAgKpYkQUAAKAqQpa3\nVEr5rVJKU0pZ0+pZ4N0opfx+KeW5UsoTpZQvl1JWtnomuFSllPtLKc+XUl4qpfzrVs8D71QpZUsp\n5W9LKc+UUp4upfxGq2eCy1FK6Syl/LCU8tVWz4KQ5S2UUrYk+WSS3a2eBS7DA0lub5rmziQvJPmd\nFs8Dl6SU0pnkPyT5qSTbkvyTUsq21k4F79hskt9qmmZbkg8l+ae+x1TuN5I82+ohWCBkeSt/kOS3\nk7iJmmo1TfO1pmlmz/34UJKxVs4D78AHk7zUNM0rTdOcTfLfk3ymxTPBO9I0zf6maR4999eTWQiA\nza2dCt6dUspYkp9J8p9aPQsLhCxvUEr5TJK9TdM83upZYBH9WpK/avUQcIk2J9nzmp9fjQCgYqWU\na5O8N8nDrZ0E3rV/l4VFnvlWD8KCrlYPQGuUUr6eZMObPPX5JL+bhcuKoe1d7LvcNM2fn3vN57Nw\niduXlnI2AJJSymCSP03ym03TnGj1PPBOlVI+leRQ0zQ/KKV8rNXzsEDIXqWapvn4mz1eSrkjyXVJ\nHi+lJAuXYj5aSvlg0zQHlnBEuCRv9V0+r5Tyq0k+leS+xnlj1GNvki2v+Xns3GNQlVJKdxYi9ktN\n0/yfVs8D79KHk/xsKeWnk6xIMlxK+WLTNL/S4rmuas6R5aJKKTuT3N00zXirZ4F3qpRyf5J/m+Sj\nTdMcbvU8cKlKKV1Z2KDsviwE7PeT/HLTNE+3dDB4B8rCvxH/r0mONk3zm62eBxbDuRXZf9k0zada\nPcvVzj2ywHL2h0mGkjxQSnmslPLHrR4ILsW5Tcr+WZK/ycIGOf9TxFKhDyf5bJJ7z/0z+LFzK1oA\nl82KLAAAAFWxIgsAAEBVhCwAAABVEbIAAABURcgCAABQFSELAABAVYQsALSRUsqWUsqOUsrouZ9X\nnfv52tZOBgDtQ8gCQBtpmmZPkj9K8nvnHvq9JF9ommZny4YCgDbjHFkAaDOllO4kP0jyX5L8epK7\nmqaZae1UANA+ulo9AADwek3TzJRS/lWSv07ySRELAK/n0mIAaE8/lWR/kttbPQgAtBshCwBtppRy\nV5JPJPlQkn9RStnY4pEAoK0IWQBoI6WUkoXNnn6zaZrdSX4/yb9p7VQA0F6ELAC0l19PsrtpmgfO\n/fwfk9xWSvloC2cCgLZi12IAAACqYkUWAACAqghZAAAAqiJkAQAAqIqQBQAAoCpCFgAAgKoIWQAA\nAKoiZAEAAKiKkAUAAKAq/x/7iNWXO93v6AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_xy()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Conclusion" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "![Nice](http://www.troll.me/images/stifler-thumbs-up/nice.jpg)\n", "\n", "It works pretty well." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "As you can see, good idea to measure the position as well as the acceleration to try to estimate the position." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Your drifted 12m from origin.\n" ] } ], "source": [ "dist=np.cumsum(np.sqrt(np.diff(xt)**2 + np.diff(yt)**2))\n", "print('Your drifted %dm from origin.' % dist[-1])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "To use this notebook as a presentation type:\n", "\n", "`jupyter-nbconvert --to slides Kalman-Filter-CA-2.ipynb --reveal-prefix=reveal.js --post serve` \n", "\n", "Questions? [@Balzer82](https://twitter.com/balzer82)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 0 }