{
 "metadata": {
  "name": "",
  "signature": "sha256:9d11bcd4ef99a8c59d3debbacc1dd13ef2280c966fe5c9e19cd4963b8e29bdea"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Designing Kalman Filters"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#format the book\n",
      "%matplotlib inline\n",
      "from __future__ import division, print_function\n",
      "import matplotlib.pyplot as plt\n",
      "import book_format\n",
      "book_format.load_style()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<style>\n",
        "@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
        "\n",
        "    div.cell{\n",
        "        width: 850px;\n",
        "        margin-left: 0% !important;\n",
        "        margin-right: auto;\n",
        "    }\n",
        "    div.text_cell code {\n",
        "        background: #FFFFFF;\n",
        "        color: #000000;\n",
        "        font-weight: 600;\n",
        "        font-size: 13pt;\n",
        "        font-style: bold;\n",
        "        font-family:  'Source Code Pro', Consolas, monocco, monospace;\n",
        "   }\n",
        "    h1 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "\t}\n",
        "\t\n",
        "    div.input_area {\n",
        "        background: #F6F6F9;\n",
        "        border: 1px solid #586e75;\n",
        "    }\n",
        "\n",
        "    .text_cell_render h1 {\n",
        "        font-weight: 200;\n",
        "        font-size: 30pt;\n",
        "        line-height: 100%;\n",
        "        color:#c76c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 1em;\n",
        "        display: block;\n",
        "        white-space: wrap;\n",
        "    } \n",
        "    h2 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h2 {\n",
        "        font-weight: 200;\n",
        "        font-size: 20pt;\n",
        "        font-style: italic;\n",
        "        line-height: 100%;\n",
        "        color:#c76c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 1.5em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    } \n",
        "    h3 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h3 {\n",
        "        font-weight: 300;\n",
        "        font-size: 18pt;\n",
        "        line-height: 100%;\n",
        "        color:#d77c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 2em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    }\n",
        "    h4 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h4 {\n",
        "        font-weight: 300;\n",
        "        font-size: 16pt;\n",
        "        color:#d77c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 0.5em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    }\n",
        "    h5 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h5 {\n",
        "        font-weight: 300;\n",
        "        font-style: normal;\n",
        "        color: #1d3b84;\n",
        "        font-size: 16pt;\n",
        "        margin-bottom: 0em;\n",
        "        margin-top: 1.5em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    }\n",
        "    div.text_cell_render{\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "        line-height: 135%;\n",
        "        font-size: 110%;\n",
        "        width:750px;\n",
        "        margin-left:auto;\n",
        "        margin-right:auto;\n",
        "        text-align:justify;\n",
        "        text-justify:inter-word;\n",
        "    }\n",
        "    div.output_subarea.output_text.output_pyout {\n",
        "        overflow-x: auto;\n",
        "        overflow-y: scroll;\n",
        "        max-height: 300px;\n",
        "    }\n",
        "    div.output_subarea.output_stream.output_stdout.output_text {\n",
        "        overflow-x: auto;\n",
        "        overflow-y: scroll;\n",
        "        max-height: 300px;\n",
        "    }\n",
        "    code{\n",
        "      font-size: 70%;\n",
        "    }\n",
        "    .rendered_html code{\n",
        "    background-color: transparent;\n",
        "    }\n",
        "    ul{\n",
        "        margin: 2em;\n",
        "    }\n",
        "    ul li{\n",
        "        padding-left: 0.5em; \n",
        "        margin-bottom: 0.5em; \n",
        "        margin-top: 0.5em; \n",
        "    }\n",
        "    ul li li{\n",
        "        padding-left: 0.2em; \n",
        "        margin-bottom: 0.2em; \n",
        "        margin-top: 0.2em; \n",
        "    }\n",
        "    ol{\n",
        "        margin: 2em;\n",
        "    }\n",
        "    ol li{\n",
        "        padding-left: 0.5em; \n",
        "        margin-bottom: 0.5em; \n",
        "        margin-top: 0.5em; \n",
        "    }\n",
        "    ul li{\n",
        "        padding-left: 0.5em; \n",
        "        margin-bottom: 0.5em; \n",
        "        margin-top: 0.2em; \n",
        "    }\n",
        "    a:link{\n",
        "       font-weight: bold;\n",
        "       color:#447adb;\n",
        "    }\n",
        "    a:visited{\n",
        "       font-weight: bold;\n",
        "       color: #1d3b84;\n",
        "    }\n",
        "    a:hover{\n",
        "       font-weight: bold;\n",
        "       color: #1d3b84;\n",
        "    }\n",
        "    a:focus{\n",
        "       font-weight: bold;\n",
        "       color:#447adb;\n",
        "    }\n",
        "    a:active{\n",
        "       font-weight: bold;\n",
        "       color:#447adb;\n",
        "    }\n",
        "    .rendered_html :link {\n",
        "       text-decoration: underline; \n",
        "    }\n",
        "    .rendered_html :hover {\n",
        "       text-decoration: none; \n",
        "    }\n",
        "    .rendered_html :visited {\n",
        "      text-decoration: none;\n",
        "    }\n",
        "    .rendered_html :focus {\n",
        "      text-decoration: none;\n",
        "    }\n",
        "    .rendered_html :active {\n",
        "      text-decoration: none;\n",
        "    }\n",
        "    .warning{\n",
        "        color: rgb( 240, 20, 20 )\n",
        "    } \n",
        "    hr {\n",
        "      color: #f3f3f3;\n",
        "      background-color: #f3f3f3;\n",
        "      height: 1px;\n",
        "    }\n",
        "    blockquote{\n",
        "      display:block;\n",
        "      background: #fcfcfc;\n",
        "      border-left: 5px solid #c76c0c;\n",
        "      font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "      width:680px;\n",
        "      padding: 10px 10px 10px 10px;\n",
        "      text-align:justify;\n",
        "      text-justify:inter-word;\n",
        "      }\n",
        "      blockquote p {\n",
        "        margin-bottom: 0;\n",
        "        line-height: 125%;\n",
        "        font-size: 100%;\n",
        "      }\n",
        "</style>\n",
        "<script>\n",
        "    MathJax.Hub.Config({\n",
        "                        TeX: {\n",
        "                           extensions: [\"AMSmath.js\"]\n",
        "                           },\n",
        "                tex2jax: {\n",
        "                    inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
        "                    displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
        "                },\n",
        "                displayAlign: 'center', // Change this to 'center' to center equations.\n",
        "                \"HTML-CSS\": {\n",
        "                    styles: {'.MathJax_Display': {\"margin\": 4}}\n",
        "                }\n",
        "        });\n",
        "</script>\n"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 16,
       "text": [
        "<IPython.core.display.HTML at 0x2c27ad0>"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Introduction"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "In this chapter we will work through the design of several Kalman filters to gain experience and confidence with the various equations and techniques.\n",
      "\n",
      "\n",
      "For our first multidimensional problem we will track a robot in a 2D space, such as a field. We will start with a simple noisy sensor that outputs noisy $(x,y)$ coordinates which we will need to filter to generate a 2D track. Once we have mastered this concept, we will extend the problem significantly with more sensors and then adding control inputs. \n",
      "blah blah"
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Tracking a Robot"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "This first attempt at tracking a robot will closely resemble the 1-D dog tracking problem of previous chapters. This will allow us to 'get our feet wet' with Kalman filtering. So, instead of a sensor that outputs position in a hallway, we now have a sensor that supplies a noisy measurement of position in a 2-D space, such as an open field. That is, at each time $T$ it will provide an $(x,y)$ coordinate pair specifying the measurement of the sensor's position in the field.\n",
      "\n",
      "Implemention of code to interact with real sensors is beyond the scope of this book, so as before we will program simple simuations in Python to represent the sensors. We will develop several of these sensors as we go, each with more complications, so as I program them I will just append a number to the function name. `pos_sensor1()` is the first sensor we write, and so on.\n",
      "\n",
      "So let's start with a very simple sensor, one that travels in a straight line. It takes as input the last position, velocity, and how much noise we want, and returns the new position. "
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy.random as random\n",
      "import copy\n",
      "class PosSensor1(object):\n",
      "    def __init__(self, pos = [0,0], vel = (0,0), noise_scale = 1.):\n",
      "        self.vel = vel\n",
      "        self.noise_scale = noise_scale\n",
      "        self.pos = copy.deepcopy(pos)\n",
      "        \n",
      "    def read(self):\n",
      "        self.pos[0] += self.vel[0]\n",
      "        self.pos[1] += self.vel[1]\n",
      "        \n",
      "        return [self.pos[0] + random.randn() * self.noise_scale,\n",
      "                self.pos[1] + random.randn() * self.noise_scale]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "A quick test to verify that it works as we expect."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "pos = [4,3]\n",
      "s = PosSensor1 (pos, (2,1), 1)\n",
      "\n",
      "for i in range (50):\n",
      "    pos = s.read() \n",
      "    plt.scatter(pos[0], pos[1])\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x2e04950>"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "That looks correct. The slope is 1/2, as we would expect with a velocity of (2,1), and the data seems to start at near (6,4).\n",
      "\n",
      "##### Step 1: Choose the State Variables\n",
      "\n",
      "As always, the first step is to choose our state variables. We are tracking in two dimensions and have a sensor that gives us a reading in each of those two dimensions, so we  know that we have the two *observed variables* $x$ and $y$. If we created our Kalman filter using only those two variables the performance would not be very good because we would be ignoring the information velocity can provide to us. We will want to incorporate velocity into our equations as well. I will represent this as\n",
      "\n",
      "$$\\mathbf{x} = \n",
      "\\begin{bmatrix}x\\\\v_x\\\\y\\\\v_y\\end{bmatrix}$$\n",
      "\n",
      "There is nothing special about this organization. I could have listed the (xy) coordinates first followed by the velocities, and/or I could done this as a row matrix instead of a column matrix. For example, I could have chosen:\n",
      "\n",
      "$$\\mathbf{x} = \n",
      "\\begin{bmatrix}x&y&v_x&v_y\\end{bmatrix}$$\n",
      "\n",
      "All that matters is that the rest of my derivation uses this same scheme. However, it is typical to use column matrices for state variables, and I prefer it, so that is what we will use. \n",
      "\n",
      "It might be a good time to pause and address how you identify the unobserved variables. This particular example is somewhat obvious because we already worked through the 1D case in the previous chapters. Would it be so obvious if we were filtering market data, population data from a biology experiement, and so on? Probably not. There is no easy answer to this question. The first thing to ask yourself is what is the interpretation of the first and second derivatives of the data from the sensors. We do that because obtaining the first and second derivatives is mathematically trivial if you are reading from the sensors using a fixed time step. The first derivative is just the difference between two successive readings. In our tracking case the first derivative has an obvious physical interpretation: the difference between two successive positions is velocity. \n",
      "\n",
      "Beyond this you can start looking at how you might combine the data from two or more different sensors to produce more information. This opens up the field of *sensor fusion*, and we will be covering examples of this in later sections. For now, recognize that choosing the appropriate state variables is paramount to getting the best possible performance from your filter. "
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##### **Step 2:** Design State Transition Function\n",
      "\n",
      "Our next step is to design the state transistion function. Recall that the state transistion function is implemented as a matrix $\\mathbf{F}$ that we multipy with the previous state of our system to get the next state, like so. \n",
      "\n",
      "$$\\mathbf{x}' = \\mathbf{Fx}$$\n",
      "\n",
      "I will not belabor this as it is very similar to the 1-D case we did in the previous chapter. Our state equations for position and velocity would be:\n",
      "\n",
      "$$\n",
      "\\begin{aligned}\n",
      "x' &= (1*x) + (\\Delta t * v_x) + (0*y) + (0 * v_y) \\\\\n",
      "v_x &= (0*x) +  (1*v_x) + (0*y) + (0 * v_y) \\\\\n",
      "y' &= (0*x) + (0* v_x)         + (1*y) + (\\Delta t * v_y) \\\\\n",
      "v_y &= (0*x) +  (0*v_x) + (0*y) + (1 * v_y)\n",
      "\\end{aligned}\n",
      "$$\n"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Laying it out that way shows us both the values and row-column organization required for $\\small\\mathbf{F}$. In linear algebra, we would write this as:\n",
      "\n",
      "$$\n",
      "\\begin{bmatrix}x\\\\v_x\\\\y\\\\v_y\\end{bmatrix}' = \\begin{bmatrix}1& \\Delta t& 0& 0\\\\0& 1& 0& 0\\\\0& 0& 1& \\Delta t\\\\ 0& 0& 0& 1\\end{bmatrix}\\begin{bmatrix}x\\\\v_x\\\\y\\\\v_y\\end{bmatrix}$$\n",
      "\n",
      "So, let's do this in Python. It is very simple; the only thing new here is setting `dim_z` to 2. We will see why it is set to 2 in step 4."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from KalmanFilter import KalmanFilter\n",
      "import numpy as np\n",
      "\n",
      "f1 = KalmanFilter(dim_x=4, dim_z=2)\n",
      "dt = 1.   # time step\n",
      "\n",
      "f1.F = np.mat ([[1, dt, 0,  0],\n",
      "                [0,  1, 0,  0],\n",
      "                [0,  0, 1, dt],\n",
      "                [0,  0, 0,  1]])"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 5
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##### **Step 3**: Design the Motion Function\n",
      "We have no control inputs to our robot (yet!), so this step is trivial - set the motion transition function $\\small\\mathbf{B}$ to zero. This is done for us by the class when it is created so we can skip this step, but for completeness we will be explicit."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f1.B = 0."
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 6
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "\n",
      "##### **Step 4**: Design the Measurement Function\n",
      "The measurement function defines how we go from the state variables to the measurements using the equation $\\mathbf{z} = \\mathbf{Hx}$. At first this is a bit counterintuitive, after all, we use the Kalman filter to go from measurements to state. But the update step needs to compute the residual between the current measurement and the measurement represented by the prediction step. Therefore $\\textbf{H}$ is multiplied by the state $\\textbf{x}$ to produce a measurement $\\textbf{z}$. \n",
      "\n",
      "In this case we have measurements for (x,y), so $\\textbf{z}$ must be of dimension $2\\times 1$. Our state variable is size $4\\times 1$. We can deduce the required size for $\\textbf{H}$ by recalling that multiplying a matrix of size $m\\times n$ by $n\\times p$ yields a matrix of size $m\\times p$. Thus,\n",
      "\n",
      "$$ \n",
      "\\begin{aligned}\n",
      "(2\\times 1) &= (a\\times b)(4 \\times 1) \\\\\n",
      "&= (a\\times 4)(4\\times 1) \\\\\n",
      "&= (2\\times 4)(4\\times 1)\n",
      "\\end{aligned}$$\n",
      "\n",
      "So, $\\textbf{H}$ is of size $2\\times 4$.\n",
      "\n",
      "Filling in the values for $\\textbf{H}$ is easy in this case because the measurement is the position of the robot, which is the $x$ and $y$ variables of the state $\\textbf{x}$. Let's make this just slightly more interesting by deciding we want to change units. So we will assume that the measurements are returned in feet, and that we desire to work in meters. Converting from feet to meters is a simple as multiplying by 0.3048. However, we are converting from state (meters) to measurements (feet) so we need to divide by 0.3048. So\n",
      "\n",
      "$$\\mathbf{H} =\n",
      "\\begin{bmatrix} \n",
      "\\frac{1}{0.3048} & 0 & 0 & 0 \\\\\n",
      "0 & 0 & \\frac{1}{0.3048} & 0\n",
      "\\end{bmatrix}\n",
      "$$"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "which corresponds to these linear equations\n",
      "$$\n",
      "\\begin{aligned}\n",
      "z_x' &= (\\frac{x}{0.3048}) + (0* v_x) + (0*y) + (0 * v_y) \\\\\n",
      "z_y' &= (0*x) + (0* v_x) + (\\frac{y}{0.3048}) + (0 * v_y) \\\\\n",
      "\\end{aligned}\n",
      "$$\n",
      "\n",
      "To be clear about my intentions here, this is a pretty simple problem, and we could have easily found the equations directly without going through the dimensional analysis that I did above. In fact, an earlier draft did just that. But it is useful to remember that the equations of the Kalman filter imply a specific dimensionality for all of the matrices, and when I start to get lost as to how to design something it is often extremely useful to look at the matrix dimensions. Not sure how to design $\\textbf{H}$? \n",
      "Here is the Python that implements this:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f1.H = np.mat ([[1/0.3048, 0, 0, 0],\n",
      "               [0, 0, 1/0.3048, 0]])\n",
      "print(f1.H)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[[ 3.2808399  0.         0.         0.       ]\n",
        " [ 0.         0.         3.2808399  0.       ]]\n"
       ]
      }
     ],
     "prompt_number": 7
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##### **Step 5**: Design the Measurement Noise Matrix\n",
      "\n",
      "In this step we need to mathematically model the noise in our sensor. For now we will make the simple assumption that the $x$ and $y$ variables are independent Gaussian processes. That is, the noise in x is not in any way dependent on the noise in y, and the noise is normally distributed about the mean. For now let's set the variance for $x$ and $y$ to be 5 for each. They are independent, so there is no covariance, and our off diagonals will be 0. This gives us:\n",
      "\n",
      "$$\\mathbf{R} = \\begin{bmatrix}5&0\\\\0&5\\end{bmatrix}$$\n",
      "\n",
      "It is a $2{\\times}2$ matrix because we have 2 sensor inputs, and covariance matrices are always of size $n{\\times}n$ for $n$ variables. In Python we write:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f1.R = np.mat([[5,0],\n",
      "              [0, 5]])\n",
      "print (f1.R)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[[5 0]\n",
        " [0 5]]\n"
       ]
      }
     ],
     "prompt_number": 8
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##### Step 6: Design the Process Noise Matrix\n",
      "Finally, we design the process noise. We don't yet have a good way to model process noise, so for now we will assume there is a small amount of process noise, say 0.1 for each state variable. Later we will tackle this admittedly difficult topic in more detail. We have 4 state variables, so we need a $4{\\times}4$ covariance matrix:\n",
      "\n",
      "$$\\mathbf{Q} = \\begin{bmatrix}0.1&0&0&0\\\\0&0.1&0&0\\\\0&0&0.1&0\\\\0&0&0&0.1\\end{bmatrix}$$\n",
      "\n",
      "In Python I will use the numpy eye helper function to create an identity matrix for us, and multipy it by 0.1 to get the desired result."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f1.Q = np.eye(4) * 0.1\n",
      "print(f1.Q)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[[ 0.1  0.   0.   0. ]\n",
        " [ 0.   0.1  0.   0. ]\n",
        " [ 0.   0.   0.1  0. ]\n",
        " [ 0.   0.   0.   0.1]]\n"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##### **Step 7**: Design Initial Conditions\n",
      "\n",
      "For our simple problem we will set the initial position at (0,0) with a velocity of (0,0). Since that is a pure guess, we will set the covariance matrix $\\small\\mathbf{P}$ to a large value.\n",
      "$$ \\mathbf{x} = \\begin{bmatrix}0\\\\0\\\\0\\\\0\\end{bmatrix}\\\\\n",
      "\\mathbf{P} = \\begin{bmatrix}500&0&0&0\\\\0&500&0&0\\\\0&0&500&0\\\\0&0&0&500\\end{bmatrix}$$\n",
      "\n",
      "In Python we implement that with"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f1.x = np.mat([0,0,0,0]).T\n",
      "f1.P = np.eye(4) * 500.\n",
      "print(f1.x)\n",
      "print()\n",
      "print (f1.P)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[[0]\n",
        " [0]\n",
        " [0]\n",
        " [0]]\n",
        "\n",
        "[[ 500.    0.    0.    0.]\n",
        " [   0.  500.    0.    0.]\n",
        " [   0.    0.  500.    0.]\n",
        " [   0.    0.    0.  500.]]\n"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Implement the Filter Code"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Design is complete, now we just have to write the Python code to run our filter, and output the data in the format of our choice. To keep the code clear, let's just print a plot of the track. We will run the code for 30 iterations."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "f1 = KalmanFilter(dim_x=4, dim_z=2)\n",
      "dt = 1.0   # time step\n",
      "\n",
      "f1.F = np.mat ([[1, dt, 0,  0],\n",
      "                [0,  1, 0,  0],\n",
      "                [0,  0, 1, dt],\n",
      "                [0,  0, 0,  1]])\n",
      "f1.B = 0.\n",
      "f1.H = np.mat ([[1/0.3048, 0, 0, 0],\n",
      "               [0, 0, 1/0.3048, 0]])\n",
      "\n",
      "f1.R = np.eye(2) * 5\n",
      "f1.Q = np.eye(4) * .1\n",
      "\n",
      "f1.x = np.mat([0,0,0,0]).T\n",
      "f1.P = np.eye(4) * 500.\n",
      "\n",
      "# initialize storage and other variables for the run\n",
      "count = 30\n",
      "xs, ys = [],[]\n",
      "pxs, pys = [],[]\n",
      "\n",
      "s = PosSensor1 ([0,0], (2,1), 1.)\n",
      "\n",
      "for i in range(count):\n",
      "    pos = s.read()\n",
      "    z = np.mat([[pos[0]],[pos[1]]])\n",
      "\n",
      "    f1.predict ()\n",
      "    f1.update (z)\n",
      "\n",
      "    xs.append (f1.x[0,0])\n",
      "    ys.append (f1.x[2,0])\n",
      "    pxs.append (pos[0]*.3048)\n",
      "    pys.append(pos[1]*.3048)\n",
      "\n",
      "p1, = plt.plot (xs, ys, 'r--')\n",
      "p2, = plt.plot (pxs, pys)\n",
      "plt.legend([p1,p2], ['filter', 'measurement'], 2)\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x2e0e790>"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "I encourage you to play with this, setting $\\mathbf{Q}$ and $\\mathbf{R}$ to various values.  However, we did a fair amount of that sort of thing in the last chapters, and we have a lot of material to cover, so I will move on to more complicated cases where we will also have a chance to experience changing these values.\n",
      "\n",
      "Now I will run the same Kalman filter with the same settings, but also plot the covariance ellipse for $x$ and $y$. First, the code without explanation, so we can see the output. I print the last covariance to see what it looks like. But before you scroll down to look at the results, what do you think it will look like? You have enough information to figure this out but this is still new to you, so don't be discouraged if you get it wrong."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import stats\n",
      "\n",
      "f1 = KalmanFilter(dim_x=4, dim_z=2)\n",
      "dt = 1.0   # time step\n",
      "\n",
      "f1.F = np.mat ([[1, dt, 0,  0],\n",
      "                [0,  1, 0,  0],\n",
      "                [0,  0, 1, dt],\n",
      "                [0,  0, 0,  1]])\n",
      "f1.B = 0.\n",
      "f1.H = np.mat ([[1/0.3048, 0, 0, 0],\n",
      "               [0, 0, 1/0.3048, 0]])\n",
      "\n",
      "f1.R = np.eye(2) * 5\n",
      "f1.Q = np.eye(4) * .1\n",
      "\n",
      "f1.x = np.mat([0,0,0,0]).T\n",
      "f1.P = np.eye(4) * 500.\n",
      "\n",
      "# initialize storage and other variables for the run\n",
      "count = 30\n",
      "xs, ys = [],[]\n",
      "pxs, pys = [],[]\n",
      "\n",
      "s = PosSensor1 ([0,0], (2,1), 1.)\n",
      "\n",
      "for i in range(count):\n",
      "    pos = s.read()\n",
      "    z = np.mat([[pos[0]],[pos[1]]])\n",
      "\n",
      "    f1.predict ()\n",
      "    f1.update (z)\n",
      "\n",
      "    xs.append (f1.x[0,0])\n",
      "    ys.append (f1.x[2,0])\n",
      "    pxs.append (pos[0]*.3048)\n",
      "    pys.append(pos[1]*.3048)\n",
      "\n",
      "    # plot covariance of x and y\n",
      "    cov = np.mat([[f1.P[0,0], f1.P[2,0]], \n",
      "                  [f1.P[0,2], f1.P[2,2]]])\n",
      " \n",
      "    #e = stats.sigma_ellipse (cov=cov, x=f1.x[0,0], y=f1.x[2,0])\n",
      "    #stats.plot_sigma_ellipse(ellipse=e)\n",
      "    stats.plot_covariance_ellipse((f1.x[0,0], f1.x[2,0]), cov=cov)\n",
      "\n",
      "        \n",
      "p1, = plt.plot (xs, ys, 'r--')\n",
      "p2, = plt.plot (pxs, pys)\n",
      "plt.legend([p1,p2], ['filter', 'measurement'], 2)\n",
      "plt.show()\n",
      "print(\"final P is:\")\n",
      "print(f1.P)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nucY+KIL0ZwAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3836690>"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "final P is:\n",
        "[[ 0.30660483  0.12566239  0.          0.        ]\n",
        " [ 0.12566239  0.24399092  0.          0.        ]\n",
        " [ 0.          0.          0.30660483  0.12566239]\n",
        " [ 0.          0.          0.12566239  0.24399092]]\n"
       ]
      }
     ],
     "prompt_number": 12
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Did you correctly predict what the covariance matrix and plots would look like? Perhaps you were expecting a tilted ellipse, as in the last chapters. If so, recall that in those chapters we were not plotting $x$ against $y$, but $x$ against $\\dot{x}$. $x$ *is correlated* to $\\dot{x}$, but $x$ is not correlated or dependent on $y$. Therefore our ellipses are not tilted. Furthermore, the noise for both $x$ and $y$ are modelled to have the same value, 5, in $\\mathbf{R}$. If we were to set R to, for example,\n",
      "\n",
      "$$\\mathbf{R} = \\begin{bmatrix}10&0\\\\0&5\\end{bmatrix}$$\n",
      "\n",
      "we would be telling the Kalman filter that there is more noise in $x$ than $y$, and our ellipses would be longer than they are tall.\n"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The final P tells us everything we need to know about the correlation beween the state variables. If we look at the diagonal alone we see the variance for each variable. In other words $\\mathbf{P}_{0,0}$ is the variance for x, $\\mathbf{P}_{1,1}$ is the variance for $\\dot{x}$, $\\mathbf{P}_{2,2}$ is the variance for y, and $\\mathbf{P}_{3,3}$ is the variance for $\\dot{y}$. We can extract the diagonal of a matrix using *numpy.diag()*."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print(np.diag(f1.P))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[ 0.30660483  0.24399092  0.30660483  0.24399092]\n"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The covariance matrix contains four $2{\\times}2$ matrices that you should be able to easily pick out. This is due to the correlation of $x$ to $\\dot{x}$, and of $y$ to $\\dot{y}$. The upper left hand side shows the covariance of $x$ to $\\dot{x}$. Let's extract and print, and plot it."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "c = f1.P[0:2,0:2]\n",
      "print(c)\n",
      "stats.plot_covariance_ellipse((0,0), cov=c)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[[ 0.30660483  0.12566239]\n",
        " [ 0.12566239  0.24399092]]\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nbBs2bIiKA0S3bt2qzp07m10GgAZQUODWY4/VNMVt29IUA7HM75eaN89QcfFes0sBGszKlSt14okn\nHvJ2dowBNKg333Tr8cdpioF4UVZmU2pqVOyhAY2OGeMIseqsDoyL5axMnVrTFL/1Fk1xpMRyXhBZ\n4WZl716bMjJojK3GqmvLUTXG8+bNU05OjnJycrR48eJaH7d9+3b169dPl19+ua666ip99NFHR/Np\nAUSh119364knEjVnTqlOPZWmGIgX+/bZuG07LCPsGWOfz6devXppxowZ8nq96t+/v4qKig772F27\ndqm4uFht27bVtm3blJeXp6VLlx70GGaMgdj1+utujR5d0xS3aUNTDMSTDz5waty4BL39dpnZpQAN\npsFnjFevXq02bdqoadOmkqRmzZpp/fr1ateu3SGPPeaYY3TMMcdIklq0aCG/3y+/3y+XyxXupwcQ\nJaZMcWvs2ES9/XapTjmFphiIN3v3smMM6wh7lKK4uFiZmZkqKCjQ/PnzlZmZqR07dhzx45YtW6b2\n7dtbrim26qwOjIulrEyeTFNstljKC8wVblYYpbAmq64tR30qRV5eniSpqKhINlvd5xzu3LlTY8eO\n1YQJE4720wIw2aRJbuXnJ+rf/y7VSSfRFAPxisYYVhJ2Y5yZmamdO3ceuN65c6cyMzNrfbzX69Xd\nd9+t+++//7AzHZI0ePBgZWVlSZLS09PVsWPHA/fq3v+bS6xe739btNTDdfReZ2dnR1U9h7t+5JFv\n9cYb7fTeezVNsdn1WPk6FvLCdWxfr1v3vVyuoKTjo6IerrkO53r/v2/ZskWSNGjQIB1Og734bsCA\nASosLJQk5efny2azaejQoZKkUCikYcOGqUuXLrr++usP+/fx4jsgNixY4NQddyTr3//m9AnACu67\nL1GnnhrULbd4zS4FaDC1vfgu7Bljt9utYcOGqV+/fho4cKBGjBhx4H3FxcUH7SavWLFChYWFmj59\nuq688kpdeeWVB73fCn75GwtQl2jOymefOXT77cmaNKmMpjhKRHNeEF3CzQqjFNZk1bXFeTQfnJub\nq9zc3EPePnr06IOuu3TporVr1x7NpwJgsm+/tev//i9Fzz5boXPOqTa7HAARsm+fXRkZ/CIMa+DO\ndxGyf9YFOJJozMquXTZdc02Khg6t0mWX+c0uB78QjXlBdAo3K7t325SWxo6x1Vh1baExBlCnigop\n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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x2fbfa50>"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The covariance contains the data for $x$ and $\\dot{x}$ in the upper left because of how it is organized. Recall that entries $\\mathbf{P}_{i,j}$ and $\\mathbf{P}_{j,i}$ contain $p\\sigma_1\\sigma_2$.\n",
      "\n",
      "Finally, let's look at the lower left side of $\\mathbf{P}$, which is all 0s. Why 0s? Consider $\\mathbf{P}_{3,0}$. That stores the term $p\\sigma_3\\sigma_0$, which is the covariance between $\\dot{y}$ and $x$. These are independent, so the term will be 0. The rest of the terms are for similarly independent variables."
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Tracking a Ball"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now let's turn our attention to a situation where the physics of the object that we are tracking is constrained. A ball thrown in a vacuum must obey Newtonian laws. In a constant gravitational field it will travel in a parabola. I will assume you are familiar with the derivation of the formula:\n",
      "\n",
      "$$\n",
      "\\begin{aligned}\n",
      "y &= \\frac{g}{2}t^2 + v_{y0} t + y_0 \\\\\n",
      "x &= v_{x0} t + x_0\n",
      "\\end{aligned}\n",
      "$$\n",
      "\n",
      "where $g$ is the gravational constant, $t$ is time, $v_{x0}$ and $v_{y0}$ are the initial velocities in the x and y plane. If the ball is thrown with an initial velocity of $v$ at angle $\\theta$ above the horizon, we can compute $v_{x0}$ and $v_{y0}$ as\n",
      "\n",
      "$$\n",
      "\\begin{aligned}\n",
      "v_{x0} = v \\cos{\\theta} \\\\\n",
      "v_{y0} = v \\sin{\\theta}\n",
      "\\end{aligned}\n",
      "$$"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Because we don't have real data we will start by writing a simulator for a ball. As always, we add a noise term independent of time so we can simulate noise sensors."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from math import radians, sin, cos\n",
      "class BallTrajectory2D(object):\n",
      "    def __init__(self, x0, y0, velocity, theta_deg=0., g=9.8, noise=[0.0,0.0]):\n",
      "        theta = radians(theta_deg)\n",
      "        self.vx0 = velocity * cos(theta)\n",
      "        self.vy0 = velocity * sin(theta)\n",
      "        \n",
      "        self.x0 = x0\n",
      "        self.y0 = y0\n",
      "        \n",
      "        self.g = g\n",
      "        self.noise = noise\n",
      "        \n",
      "    def position(self, t):\n",
      "        \"\"\" returns (x,y) tuple of ball position at time t\"\"\"\n",
      "        \n",
      "        x = self.vx0*t + self.x0\n",
      "        y = -0.5*self.g*t**2 + self.vy0*t + self.y0\n",
      "        \n",
      "        return (x +random.randn()*self.noise[0], y +random.randn()*self.noise[1])"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 15
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "So to create a trajectory starting at (0,15) with a velocity of $60 \\frac{m}{s}$ and an angle of $65^\\circ$ we would write:\n",
      "\n",
      "    traj = BallTrajectory2D (x0=0, y0=15, velocity=100, theta_deg=60)\n",
      "    \n",
      "and then call `traj.position(t)` for each time step. Let's test this "
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def test_ball_vacuum(noise):\n",
      "    y = 15\n",
      "    x = 0\n",
      "    ball = BallTrajectory2D(x0=x, y0=y, theta_deg=60., velocity=100., noise=noise)\n",
      "    t = 0\n",
      "    dt = 0.25\n",
      "    while y >= 0:\n",
      "        x,y = ball.position(t)\n",
      "        t += dt\n",
      "        if y >= 0:\n",
      "            plt.scatter(x,y)\n",
      "         \n",
      "    plt.axis('equal')\n",
      "    plt.show()\n",
      "    \n",
      "test_ball_vacuum([0,0]) # plot ideal ball position\n",
      "test_ball_vacuum([1,1]) # plot with noise "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nB4NGBtFXLKEyAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x2fc9e50>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3a24a90>"
       ]
      }
     ],
     "prompt_number": 16
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "This looks reasonable, so let's continue (excercise for the reader: validate this simulation more robustly)."
     ]
    },
    {
     "cell_type": "heading",
     "level": 5,
     "metadata": {},
     "source": [
      "Step 1: Choose the State Variables"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We might think to use the same state variables as used for tracking the dog. However, this will not work. Recall that the Kalman filter state transition must be written as $\\mathbf{x}' = \\mathbf{F x}$, which means we must calculate the current state from the previous state. Our assumption is that the ball is travelling in a vacuum, so the velocity in x is a constant, and the acceleration in y is solely due to the gravitational constant $g$. We can discretize the Newtonian equations using the well known Euler method in terms of $\\Delta t$ are:\n",
      "\n",
      "$$\\begin{aligned}\n",
      "x_t &=  v_{x(t-1)} {\\Delta t} \\\\\n",
      "v_{xt} &= vx_{t-1}\n",
      "\\\\\n",
      "y_t &= -\\frac{g}{2} {\\Delta t}^2 + vy_{t-1} {\\Delta t} + y_{t-1} \\\\\n",
      "v_{yt} &= -g {\\Delta t} + v_{y(t-1)} \\\\\n",
      "\\end{aligned}\n",
      "$$\n",
      "> **sidebar**: *Euler's method integrates a differential equation stepwise by assuming the slope (derivative) is constant at time $t$. In this case the derivative of the position is velocity. At each time step $\\Delta t$ we assume a constant velocity, compute the new position, and then update the velocity for the next time step. There are more accurate methods, such as Runge-Kutta available to us, but because we are updating the state with a measurement in each step Euler's method is very accurate.*\n",
      "\n",
      "This implies that we need to incorporate acceleration for $y$ into the Kalman filter, but not for $x$. This suggests the following state variables.\n",
      "\n",
      "$$\n",
      "\\mathbf{x} = \n",
      "\\begin{bmatrix}\n",
      "x \\\\\n",
      "\\dot{x} \\\\\n",
      "y \\\\\n",
      "\\dot{y} \\\\\n",
      "\\ddot{y}\n",
      "\\end{bmatrix}\n",
      "$$"
     ]
    },
    {
     "cell_type": "heading",
     "level": 5,
     "metadata": {},
     "source": [
      "**Step 2:**  Design State Transition Function"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Our next step is to design the state transistion function. Recall that the state transistion function is implemented as a matrix $\\mathbf{F}$ that we multipy with the previous state of our system to get the next state$\\mathbf{x}' = \\mathbf{Fx}$.\n",
      "\n",
      "I will not belabor this as it is very similar to the 1-D case we did in the previous chapter. Our state equations for position and velocity would be:\n",
      "\n",
      "$$\n",
      "\\begin{aligned}\n",
      "x' &= (1*x) + (\\Delta t * v_x) + (0*y) + (0 * v_y) + (0 * a_y) \\\\\n",
      "v_x &= (0*x) +  (1*v_x) + (0*y) + (0 * v_y) + (0 * a_y) \\\\\n",
      "y' &= (0*x) + (0* v_x)         + (1*y) + (\\Delta t * v_y) + (\\frac{1}{2}{\\Delta t}^2*a_y)  \\\\\n",
      "v_y &= (0*x) +  (0*v_x) + (0*y) + (1*v_y) + (\\Delta t * a_y) \\\\\n",
      "a_y &= (0*x) +  (0*v_x) + (0*y) + (0*v_y) + (1 * a_y) \n",
      "\\end{aligned}\n",
      "$$\n",
      "\n",
      "Note that none of the terms include $g$, the gravitational constant. This is because the state variable $\\ddot{y}$ will be initialized with $g$, or -9.81. Thus the function $\\mathbf{F}$ will propagate $g$ through the equations correctly. \n",
      "\n",
      "In matrix form we write this as:\n",
      "\n",
      "$$\n",
      "\\mathbf{F} = \\begin{bmatrix}\n",
      "1 & \\Delta t & 0 & 0 & 0 \\\\\n",
      "0 & 1 & 0 & 0 & 0 \\\\\n",
      "0 & 0 & 1 & \\Delta t & \\frac{1}{2}{\\Delta t}^2 \\\\\n",
      "0 & 0 & 0 & 1 & \\Delta t \\\\\n",
      "0 & 0 & 0 & 0 & 1\n",
      "\\end{bmatrix}\n",
      "$$"
     ]
    },
    {
     "cell_type": "heading",
     "level": 5,
     "metadata": {},
     "source": [
      "Interlude: Test State Transition"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The Kalman filter class provides us with useful defaults for all of the class variables, so let's take advantage of that and test the state transistion function before continuing. Here we construct a filter as specified in Step 2 above. We compute the initial velocity in x and y using trigonometry, and then set the initial condition for $x$. "
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from KalmanFilter import KalmanFilter\n",
      "from math import sin,cos,radians\n",
      "\n",
      "def ball_kf(x, y, omega, v0, dt):\n",
      "\n",
      "    g = 9.8 # gravitational constant\n",
      "\n",
      "    f1 = KalmanFilter(dim_x=5, dim_z=2)\n",
      "\n",
      "\n",
      "    ay = .5*dt**2\n",
      "\n",
      "    f1.F = np.mat ([[1, dt,  0,  0,  0],   # x   = x0+dx*dt\n",
      "                    [0,  1,  0,  0,  0],   # dx  = dx\n",
      "                    [0,  0,  1, dt, ay],   # y   = y0 +dy*dt+1/2*g*dt^2\n",
      "                    [0,  0,  0,  1, dt],   # dy  = dy0 + ddy*dt \n",
      "                    [0,  0,  0,  0, 1]])   # ddy = -g.\n",
      "    \n",
      "    # compute velocity in x and y\n",
      "    omega = radians(omega)\n",
      "    vx = cos(omega) * v0\n",
      "    vy = sin(omega) * v0\n",
      "\n",
      "    f1.x = np.mat([x, vx, y, vy, -g]).T\n",
      "    \n",
      "    return f1"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 17
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now we can test the filter by calling predict until $y=0$, which corresponds to the ball hitting the ground. We will graph the output against the idealized computation of the ball's position. If the model is correct, the Kalman filter prediction should match the ideal model very closely. We will draw the ideal position with a green circle, and the Kalman filter's output with '+' marks."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "y = 15.\n",
      "x = 0.\n",
      "theta = 20. # launch angle\n",
      "v0 = 100.\n",
      "dt = 0.1   # time step\n",
      "\n",
      "ball = BallTrajectory2D(x0=x, y0=y, theta_deg=theta, velocity=v0, noise=[0,0])\n",
      "f1 = ball_kf(x,y,theta,v0,dt)\n",
      "\n",
      "t = 0\n",
      "while f1.x[2,0] > 0:\n",
      "    t += dt\n",
      "    f1.predict() \n",
      "    x,y = ball.position(t)\n",
      "    p1 = plt.scatter(f1.x[0,0], f1.x[2,0], color='black', marker='+', s=75)\n",
      "    p2 = plt.scatter(x, y,                 color='green', marker='o', s=75, alpha=0.5)\n",
      "\n",
      "plt.legend([p1,p2], ['Kalman filter', 'idealized'])\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x4204350>"
       ]
      }
     ],
     "prompt_number": 18
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "As we can see, the Kalman filter agrees with the physics model very closely. If you are interested in pursuing this further, try altering the initial velocity, the size of dt, and $\\theta$, and plot the error at each step. However, the important point is to test your design as soon as possible; if the design of the state transistion is wrong all subsequent effort may be wasted. More importantly, it can be extremely difficult to tease out an error in the state transition function when the filter incorporates measurment updates."
     ]
    },
    {
     "cell_type": "heading",
     "level": 5,
     "metadata": {},
     "source": [
      "**Step 3**: Design the Motion Function"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We have no control inputs to the ball flight, so this step is trivial - set the motion transition function $\\small\\mathbf{B}=0$. This is done for us by the class when it is created so we can skip this step."
     ]
    },
    {
     "cell_type": "heading",
     "level": 5,
     "metadata": {},
     "source": [
      "**Step 4**: Design the Measurement Function"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The measurement function defines how we go from the state variables to the measurements using the equation $\\mathbf{z} = \\mathbf{Hx}$. We will assume that we have a sensor that provides us with the position of the ball in (x,y), but cannot measure velocities or accelerations. Therefore our function must be:\n",
      "\n",
      "$$\n",
      "\\begin{bmatrix}z_x \\\\ z_y \\end{bmatrix}= \n",
      "\\begin{bmatrix}\n",
      "1 & 0 & 0 & 0 & 0 \\\\\n",
      "0 & 0 & 1 & 0 & 0\n",
      "\\end{bmatrix} * \n",
      "\\begin{bmatrix}\n",
      "x \\\\\n",
      "\\dot{x} \\\\\n",
      "y \\\\\n",
      "\\dot{y} \\\\\n",
      "\\ddot{y}\\end{bmatrix}$$\n",
      "\n",
      "where\n",
      "\n",
      "$$\\mathbf{H} = \\begin{bmatrix}\n",
      "1 & 0 & 0 & 0 & 0 \\\\\n",
      "0 & 0 & 1 & 0 & 0\n",
      "\\end{bmatrix}$$"
     ]
    },
    {
     "cell_type": "heading",
     "level": 5,
     "metadata": {},
     "source": [
      "**Step 5**: Design the Measurement Noise Matrix"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "As with the robot, we will assume that the error is independent in $x$ and $y$. In this case we will start by assuming that the measurement error in x and y are 0.5 meters. Hence,\n",
      "\n",
      "$$\\mathbf{R} = \\begin{bmatrix}0.5&0\\\\0&0.5\\end{bmatrix}$$"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##### Step 6: Design the Process Noise Matrix\n",
      "Finally, we design the process noise. As with the robot tracking example, we don't yet have a good way to model process noise. However, we are assuming a ball moving in a vacuum, so there should be little to no process noise. For now we will assume the process noise is 0.02 for each state variable. This is a bit silly - if we were in a perfect vacuum then our predictions would be perfect, and we would have no need for a Kalman filter. We will soon alter this example to be more realistic by incorporating air drag and ball spin. \n",
      "\n",
      "We have 5 state variables, so we need a $5{\\times}5$ covariance matrix:\n",
      "\n",
      "$$\\mathbf{Q} = \\begin{bmatrix}0.02&0&0&0&0\\\\0&0.02&0&0&0\\\\0&0&0.02&0&0\\\\0&0&0&0.02&0\\\\0&0&0&0&0.02\\end{bmatrix}$$"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "##### Step 7: Design the Initial Conditions\n",
      "\n",
      "We already performed this step when we tested the state transistion function. Recall that we computed the initial velocity for $x$ and $y$ using trigonometry, and set the value of $\\mathbf{x}$ with:\n",
      "\n",
      "    omega = radians(omega)\n",
      "    vx = cos(omega) * v0\n",
      "    vy = sin(omega) * v0\n",
      "\n",
      "    f1.x = np.mat([x, vx, y, vy, -g]).T\n",
      "    \n",
      "    \n",
      "With all the steps done we are ready to implement our filter and test it. First, the implementation:"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from KalmanFilter import KalmanFilter\n",
      "from math import sin,cos,radians\n",
      "\n",
      "def ball_kf(x, y, omega, v0, dt, r=0.5, q=0.02):\n",
      "\n",
      "    g = 9.8 # gravitational constant\n",
      "    f1 = KalmanFilter(dim_x=5, dim_z=2)\n",
      "\n",
      "    ay = .5*dt**2\n",
      "    f1.F = np.mat ([[1, dt,  0,  0,  0],   # x   = x0+dx*dt\n",
      "                    [0,  1,  0,  0,  0],   # dx  = dx\n",
      "                    [0,  0,  1, dt, ay],   # y   = y0 +dy*dt+1/2*g*dt^2\n",
      "                    [0,  0,  0,  1, dt],   # dy  = dy0 + ddy*dt \n",
      "                    [0,  0,  0,  0, 1]])   # ddy = -g.\n",
      "\n",
      "    f1.H = np.mat([\n",
      "                [1, 0, 0, 0, 0],\n",
      "                [0, 0, 1, 0, 0]])\n",
      "    \n",
      "    f1.R *= r\n",
      "    f1.Q *= q\n",
      "\n",
      "    omega = radians(omega)\n",
      "    vx = cos(omega) * v0\n",
      "    vy = sin(omega) * v0\n",
      "\n",
      "    f1.x = np.mat([x,vx,y,vy,-9.8]).T\n",
      "    \n",
      "    return f1"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 19
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now we will test the filter by generating measurements for the ball using the ball simulation class."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "y = 1.\n",
      "x = 0.\n",
      "theta = 35. # launch angle\n",
      "v0 = 50.\n",
      "dt = 1/10.   # time step\n",
      "\n",
      "ball = BallTrajectory2D(x0=x, y0=y, theta_deg=theta, velocity=v0, noise=[1,1])\n",
      "f1 = ball_kf(x,y,theta,v0,dt)\n",
      "\n",
      "t = 0\n",
      "xs = []\n",
      "ys = []\n",
      "while f1.x[2,0] > 0:\n",
      "    t += dt\n",
      "    x,y = ball.position(t)\n",
      "    z = np.mat([[x,y]]).T\n",
      "\n",
      "    f1.update(z)\n",
      "    xs.append(f1.x[0,0])\n",
      "    ys.append(f1.x[2,0])\n",
      "    \n",
      "    f1.predict() \n",
      "    \n",
      "    p1 = plt.scatter(x, y, color='green', marker='o', s=75, alpha=0.5)\n",
      "\n",
      "p2, = plt.plot (xs, ys,lw=2)\n",
      "plt.legend([p2,p1], ['Kalman filter', 'Measurements'])\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nCIaCtPvbWVi0kPzk/AhXeHxqkqVPNJtlXcrO2pSfdSk7a1N+/RfriOWW6bdw5fgryUzIJDUmlfHp\n4/nmGd/k3FHnRrq8Ewrr6hYiIiIiIofZbXamZ09nevb0SJfSZ2FdJ/lkaJ1kERERERkMp7JOssYt\nRERERESOoiZZ+kSzWdal7KxN+VmXsrM25Td8qUkWERERETmKZpJFREREZEjSTLKIiIiISBipSZY+\n0WyWdSk7a1N+1qXsrE35DV9qkkVEREREjqKZZBEREREZkjSTLCIiIiISRmqSpU80m2Vdys7alJ91\nKTtrU37Dl5pkEREREZGjaCZZRERERIYkzSSLiIiIiISRmmTpE81mWZeyszblZ13KztqU3/ClJllE\nRERE5CiaSRYRERGRIUkzySIiIiIiYaQmWfpEs1nWpeysTflZl7KzNuU3fKlJFhERERE5imaSRURE\nRGRI0kyyiIiIiEgYqUmWPtFslnUpO2tTftal7KxN+Q1fapJFRERERI6imWQRERERGZI0kywiIiIi\nEkZqkqVPNJtlXcrO2pSfdSk7a1N+w5eaZBERERGRo2gmWURERESGJM0ki4iIiIiEkZpk6RPNZlmX\nsrM25Wddys7alN/wpSZZREREROQomkkWERERkSFJM8kiIiIiImHUryb5nnvu4ZxzzuHyyy8/4ucv\nvPACCxcuZOHChaxZsyYsBUp00WyWdSk7a1N+1qXsrE35DV/9apIXLFjAgw8+eMTPfD4f9913H08+\n+SSPPfYYv/zlL8NSoESXgwcPRroE6SdlZ23Kz7qUnbUpv+GrX03y9OnTSU1NPeJnW7Zsobi4mPT0\ndHJzc8nJyWHnzp1hKVKiR0xMTKRLkH5Sdtam/KxL2Vmb8hu+HOF6ovr6ejIzM3nqqadISUkhMzOT\n2tpaSkpKwrULEREREZFBcdwm+bHHHuOZZ5454mcXXXQR3/zmN3t9zDXXXAPAqlWrMAwjDCVKNCkv\nL490CdJPys7alJ91KTtrU37DV7+XgKusrOSmm25ixYoVAGzcuJGHHnqIBx54AIDrrruOO++885gj\nyTt27CApKekUyxYREREROT63282kSZP69diwjVtMmTKFPXv20NjYiNfr5dChQz2OWvS3UBERERGR\nwdKvJvknP/kJq1atorm5mXnz5vHjH/+Y+fPns2zZMq699loA7rjjjrAWKiIiIiIyWAb9insiIiIi\nItFOV9wTERERETmKmmQRERERkaOE7cS9E7nrrrvIyckBoKioiEsvvRSArVu3snr1agzHMzVjAAAD\nWUlEQVTD4JJLLtG6ylFKOVlPT+855Ri9XnzxRTZv3kxCQgLf+MY3gN7fd8oxuvSUnT7zrKO1tZWn\nnnqKzs5OHA4HCxYsYNy4cXr/WUBv2YXr/TdoTbLT6eSWW2454meBQICVK1dy44034vf7eeSRR/TL\nFoWUkzUd/Z5TjtFt8uTJTJ06lWeffRboPS/lGH2Ozg70mWclNpuNJUuWkJOTQ3NzM3/6059YtmyZ\n3n8W0FN2t912W9jef4PWJPeksrKSrKwsEhISAEhJSaGmpobc3NxIliVHUU5Dg3KMbgUFBTQ1NXVv\n95aX1+tVjlHm6Ox6o/dgdEpMTCQxMRGA1NRUgsEg5eXlev9ZQE/ZBQKBHu/bn/ffoDXJgUCAP/7x\nj92Hw4uKimhrayMpKYl3332X+Ph4EhMTcbvd+mWLMsrJmo5+zylHa+ktL5/PpxwtQJ951rRnzx7y\n8vJob2/X+89iDmfncDjC9v4Le5P89ttvs3HjxiN+NnHiRG677TYSExOpqqrir3/9K9/+9re7b581\naxYA27dv16Wso5hyspaj33MLFiwAlKPVfDyv3n6uHKOPPvOsx+1289JLL/G5z32O6upqQO8/q/h4\ndhC+91/Ym+Szzz6bs88+u9fb8/PzSU5Oprm5maSkJNxud/dth7t8iS7KyZoOfwV1+D2XmpqqHC2k\np/ddcnIyXq9XOVrA0e8/feZFN7/fz1NPPcUll1xCeno6brdb7z+LODo7CN/7b1DGLTo6OnA4HDid\nTpqammhtbSU1NZW0tDRqa2tpb2/H7/fT2trafTaiRI/8/HzlZDE9vedycnKUo4X09r4LBALKMcp5\nPB6cTqc+8yzCNE2effZZpk6dSnFxMaD3n1X0lF04e85BueJeeXk5zz77LA6HA8MwWLBgQfeLObwc\nB8DixYuZMGHCQJcj/aCcrKW395xyjF4rVqxgx44deDweEhISWLJkCX6/v8e8lGN0OTq7M888k82b\nN+szzyLKysp49NFHycrK6v7Z0qVLKSsr0/svyvWU3eWXXx62nlOXpRYREREROYquuCciIiIichQ1\nySIiIiIiR1GTLCIiIiJyFDXJIiIiIiJHUZMsIiIiInIUNckiIiIiIkdRkywiIiIichQ1ySIiIiIi\nR/n/JhtbbBmEt/8AAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3a43e50>"
       ]
      }
     ],
     "prompt_number": 22
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We see that the Kalman filter reasonably tracks the ball. However, as already explained, this is a silly example; we can predict trajectories in a vacuum with arbitrary precision; using a Kalman filter in this example is a needless complication."
     ]
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Tracking a Ball in Air"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We are now ready to design a practical Kalman filter application. For this problem we assume that we are tracking a ball travelling through the Earth's atmosphere. The path of the ball is influenced by wind, drag, and the rotation of the ball. We will assume that our sensor is a camera; code that we will not implement will perform some type of image processing to detect the position of the ball. This is typically called *blob detection* in computer vision. However, image processing code is not perfect; in any given frame it is possible to either detect no blob or to detect spurious blobs that do not correspond to the ball. Finally, we will not assume that we know the starting position, angle, or rotation of the ball; the tracking code will have to initiate tracking based on the measurements that are provided. The main simplification that we are making here is a 2D world; we assume that the ball is always travelling orthogonal to the plane of the camera's sensor. We have to make that simplification at this point because we have not yet discussed how we might extract 3D information from a camera, which necessarily provides only 2D data. "
     ]
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Implementing Air Drag"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Our first step is to implement the math for a ball moving through air. There are several treatments available. A robust solution takes into account issues such as ball roughness (which affects drag non-linearly depending on velocity), the Magnus effect (spin causes one side of the ball to have higher velocity relative to the air vs the opposite side, so the coefficient of drag differs on opposite sides), the effect of lift, humidity, air density, and so on. I assume the reader is not interested in the details of ball physics, and so will restrict this treatment to the effect of air drag on a nonspinning baseball. I will use the math developed by Nicholas Giordano and Hisao Nakanishi in *Computational Physics*  [1997]. \n",
      "\n",
      "**Important**: Before I continue, let me point out that you will not have to understand this next piece of physics to proceed with the Kalman filter. My goal is to create a reasonably accurate behavior of a baseball in the real world, so that we can test how our Kalman filter performs with real-world behavior. In real world applications it is usually impossible to completely model the physics of a real world system, and we make do with a process model that incorporates the large scale behaviors. We then tune $\\mathbf{Q}$ and $\\mathbf{R}$ until the filter works well with our data. There is a real risk to this; it is easy to finely tune a Kalman filter so it works perfectly with your test data, but performs badly when presented with slightly different data. This is perhaps the hardest part of designing a Kalman filter, and why it gets referred to with terms such as 'black art'. \n",
      "\n",
      "I dislike books that implement things without explanation, so I will now develop the physics for a ball moving through air. Move on past the implementation of the simulation if you are not interested. \n",
      "\n",
      "A ball moving through air encounters wind resistance. This imparts a force on the wall, called *drag*, which alters the flight of the ball. In Giordano this is denoted as\n",
      "\n",
      "$$F_{drag} = -B_2v^2$$\n",
      "\n",
      "where $B_2$ is a coefficient derived experimentally, and $v$ is the velocity of the object. $F_{drag}$ can be factored into $x$ and $y$ components with\n",
      "\n",
      "$$F_{drag,x} = -B_2v v_x\\\\\n",
      "F_{drag,y} = -B_2v v_y\n",
      "$$\n",
      "\n",
      "If $m$ is the mass of the ball, we can use $F=ma$ to compute the acceleration as\n",
      "\n",
      "$$ a_x = -\\frac{B_2}{m}v v_x\\\\\n",
      "a_y = -\\frac{B_2}{m}v v_y$$\n",
      "\n",
      "Giordano provides the following function for $\\frac{B_2}{m}$, which takes air density, the cross section of a baseball, and its roughness into account. Understand that this is an approximation based on wind tunnel tests and several simplifying assumptions. It is in SI units: velocity is in meters/sec and time is in seconds.\n",
      "\n",
      "$$\\frac{B_2}{m} = 0.0039 + \\frac{0.0058}{1+\\exp{[(v-35)/5]}}$$\n",
      "\n",
      "Starting with this Euler discretation of the ball path in a vacuum:\n",
      "$$\\begin{aligned}\n",
      "x &= v_x \\Delta t \\\\\n",
      "y &= v_y \\Delta t \\\\\n",
      "v_x &= v_x \\\\\n",
      "v_y &= v_y - 9.8 \\Delta t\n",
      "\\end{aligned}\n",
      "$$\n",
      "\n",
      "We can incorporate this force (acceleration) into our equations by incorporating $accel * \\Delta t$ into the velocity update equations. We should subtract this compenent because drag will reduce the velocity. The code to do this is quite straightforward, we just need to break out the Force into $x$ and $y$ components. \n",
      "\n",
      "I will not belabor this issue further because the computational physics is beyond the scope of this book. Recognize that a higher fidelity simulation would require incorporating things like altitude, temperature, ball spin, and several other factors. My intent here is to impart some real-world behavior into our simulation to test how  our simpler prediction model used by the Kalman filter reacts to this behavior. Your process model will never exactly model what happens in the world, and a large factor in designing a good Kalman filter is carefully testing how it performs against real world data. \n",
      "\n",
      "The code below computes the behavior of a baseball in air, at sea level, in the presense of wind. I plot the same initial hit with no wind, and then with a tail wind at 10 mph. Baseball statistics are universally done in US customary units, and we will follow suit here (http://en.wikipedia.org/wiki/United_States_customary_units). Note that the velocity of 50 m/s corresponds to a velocity of 110 mph, which is a typical exit speed for a baseball for a home run hit."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from math import sqrt, exp, cos, sin, radians\n",
      "\n",
      "def drag_force(velocity):\n",
      "    \"\"\" Returns the force on a baseball due to air drag at\n",
      "    the specified velocity. Units are SI\"\"\"\n",
      "\n",
      "    return (0.0039 + 0.0058 / (1. + exp((velocity-35.)/5.))) * velocity\n",
      "\n",
      "v = 50.\n",
      "y = 1\n",
      "x = 0\n",
      "dt = .1\n",
      "theta = radians(35)\n",
      "\n",
      "def solve(x, y, vel, v_wind, launch_angle):\n",
      "    xs = []\n",
      "    ys = []\n",
      "    v_x = vel*cos(launch_angle)\n",
      "    v_y = vel*sin(launch_angle)\n",
      "    while y >= 0:\n",
      "        # Euler equations for x and y\n",
      "        x += v_x*dt\n",
      "        y += v_y*dt\n",
      "\n",
      "        # force due to air drag    \n",
      "        velocity = sqrt ((v_x-v_wind)**2 + v_y**2)    \n",
      "        F = drag_force(velocity)\n",
      "\n",
      "        # euler's equations for vx and vy\n",
      "        v_x = v_x - F*(v_x-v_wind)*dt\n",
      "        v_y = v_y - 9.8*dt - F*v_y*dt\n",
      "        \n",
      "        xs.append(x)\n",
      "        ys.append(y)\n",
      "    \n",
      "    return xs, ys\n",
      "        \n",
      "x,y = solve(x=0, y=1, vel=v, v_wind=0, launch_angle=theta)\n",
      "p1 = plt.scatter(x, y, color='blue')\n",
      "\n",
      "x,y = solve(x=0, y=1,vel=v, v_wind=4.47, launch_angle=theta) # roughly 10 mph wind\n",
      "p2 = plt.scatter(x, y, color='green', marker=\"v\")\n",
      "plt.legend([p1,p2], ['no wind', '10mph wind'])\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nQTze/fFKn/9A5wcosBdU+hhfERxc+svC2bz1ViBHjvy+DvPd7TBgCn9p/NgZHzs9fTrHCo6VbUcG\nRjKz50xXlis+KswWRmJEIkv3LAUgyBrELa1vKfeYLvW70Cq2Fen70okKjOKRbo+Uu7/QXsjUNVPL\nzlGrxcq07tNoE9fGJTXm5eURGhrKTz/9RJs2bQgLC+PAgQNl9zdu3Jh9+/Zx8OBBIiIiiIyM5Nix\n018v48ePx9/fn5tuuonp06ezZ88eGjdujMViYezYsQQFBdGvXz9ycnI4dOgQ9erVO1MZACQnJ3Ps\n2DFOnjzJG2+8wZYtW5g7dy6bN2/mnnvuKXtcZSu5Zzvm8uXLefXVVwkICGDw4MFceOGF5xdcFWhF\n2GSakzJOWRmjnIz7Y1a9ehUTHFz6DTw42Mng2PFlV1lIiU5hZMrISvcVYA0g3BbuvmJN5OpzqtxC\nz6YbCd40mbaxZ77u/PZj23l729tlf3Yc2+HSWlxJX3vGeUpW07tPJzY4Fij9Or+mxTUVHvNQ54eI\ntEXSOrY1afFp5e5rGNGQHg1O/11SolMY33a8y+oLCQkhLy+PNWvWMHHiRLKzswkLCyu732q1YrVa\ny1ZP/f39KSk5/SE4sbGxZbdHRUVx+PDhsvvq1KkDgM1mA6CwsOJlHP/Iz8+Ptm3bsmnTJtLT09m/\nfz8nTpzg8OHDpKSkGPr7nO2YR48eJSYmpkLdNaHSRvj48eOMGDGCYcOGMXToUBYvXgyUvsNxwIAB\nDBgwgJUrV9ZIoSIi1bF7tx9jx4YycmQYCxac/QoMs2fnM2NGHlddVchjj+Xx92dKGJUyimD/YG5r\nc1uNvUznCyZPzqdevdI3zwXaLAwMmUr9+hVXkXJy4LEuM4gNKf2hGB0czWPdzrxyLFIdzes2p0N8\nBwKtgdza5lb8LBXboi71u9C8bvMKq8GnPN79ceJD4/G3+DMqZRT+fq57sb1Zs2b83//9X9n2jh07\naNasmeHnn2p8S0pKOHHixHk3mGlpaXzzzTdYLBa6du3Km2++Sbt27c5rnwAxMTFkZp6+7vgf/9vd\nKm2Ew8PDefvtt/n444954403mDlzJsXFxTz77LPMnz+f119/nSef1JsbzocnzEl5C2VljHI67fhx\nC6NGhbJkiY0VKwK4+7//4PK5dzBx2UQmLpvIqHmjyCsufQnfYoFx44p49dU8brutCIsFbm1zKxc3\n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\nAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3424650>"
       ]
      }
     ],
     "prompt_number": 29
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "We can easily see the difference between the trajectory in a vacuum and in the air. I used the same initial velocity and launch angle in the ball in a vacuum section above. We computed that the ball in a vacuum would travel over 240 meters (nearly 800 ft). In the air, the distance is just over 120 meters, or roughly 400 ft. 400ft is a realistic distance for a well hit home run ball, so we can be confident that our simulation is reasonably accurate.\n",
      "\n",
      "Without further ado we will create a ball simulation that uses the math above to create a more realistic ball trajectory. I will note that the nonlinear behavior of drag means that there is no analytic solution to the ball position at any point in time, so we need to compute the position step-wise. I use Euler's method to propogate the solution; use of a more accurate technique such as Runge-Kutta is left as an exercise for the reader. That modest complication is unnessesary for what we are doing because the accuracy difference between the techniques will be small for the time steps we will be using. "
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from math import radians, sin, cos, sqrt, exp\n",
      "\n",
      "class BaseballPath(object):\n",
      "    def __init__(self, x0, y0, launch_angle_deg, velocity_ms, noise=(1.0,1.0)): \n",
      "        \"\"\" Create 2D baseball path object  \n",
      "           (x = distance from start point in ground plane, y=height above ground)\n",
      "        \n",
      "        x0,y0            initial position\n",
      "        launch_angle_deg angle ball is travelling respective to ground plane\n",
      "        velocity_ms      speeed of ball in meters/second\n",
      "        noise            amount of noise to add to each reported position in (x,y)\n",
      "        \"\"\"\n",
      "        \n",
      "        omega = radians(launch_angle_deg)\n",
      "        self.v_x = velocity_ms * cos(omega)\n",
      "        self.v_y = velocity_ms * sin(omega)\n",
      "\n",
      "        self.x = x0\n",
      "        self.y = y0\n",
      "\n",
      "        self.noise = noise\n",
      "\n",
      "\n",
      "    def drag_force (self, velocity):\n",
      "        \"\"\" Returns the force on a baseball due to air drag at\n",
      "        the specified velocity. Units are SI\n",
      "        \"\"\"\n",
      "        B_m = 0.0039 + 0.0058 / (1. + exp((velocity-35.)/5.))\n",
      "        return B_m * velocity\n",
      "\n",
      "\n",
      "    def update(self, dt, vel_wind=0.):\n",
      "        \"\"\" compute the ball position based on the specified time step and\n",
      "        wind velocity. Returns (x,y) position tuple.\n",
      "        \"\"\"\n",
      "\n",
      "        # Euler equations for x and y\n",
      "        self.x += self.v_x*dt\n",
      "        self.y += self.v_y*dt\n",
      "\n",
      "        # force due to air drag\n",
      "        v_x_wind = self.v_x - vel_wind\n",
      "        v = sqrt (v_x_wind**2 + self.v_y**2)\n",
      "        F = self.drag_force(v)\n",
      "\n",
      "        # Euler's equations for velocity\n",
      "        self.v_x = self.v_x - F*v_x_wind*dt\n",
      "        self.v_y = self.v_y - 9.81*dt - F*self.v_y*dt\n",
      "\n",
      "        return (self.x + random.randn()*self.noise[0], \n",
      "                self.y + random.randn()*self.noise[1])"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 30
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Now we can test the Kalman filter against measurements created by this model. There is truly a significant difference in the predictions by the process model; the Kalman filter assumes that the ball is in a vacuum, and thus predicts that the ball would travel about twice as far as it actually does."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "y = 1.\n",
      "x = 0.\n",
      "theta = 35. # launch angle\n",
      "v0 = 50.\n",
      "dt = 1/10.   # time step\n",
      "\n",
      "ball = BaseballPath(x0=x, y0=y, launch_angle_deg=theta, velocity_ms=v0, noise=[.3,.3])\n",
      "f1 = ball_kf(x,y,theta,v0,dt,r=1.)\n",
      "f2 = ball_kf(x,y,theta,v0,dt,r=10.)\n",
      "t = 0\n",
      "xs = []\n",
      "ys = []\n",
      "xs2 = []\n",
      "ys2 = []\n",
      "\n",
      "while f1.x[2,0] > 0:\n",
      "    t += dt\n",
      "    x,y = ball.update(dt)\n",
      "    z = np.mat([[x,y]]).T\n",
      "\n",
      "    f1.update(z)\n",
      "    f2.update(z)\n",
      "    xs.append(f1.x[0,0])\n",
      "    ys.append(f1.x[2,0])\n",
      "    xs2.append(f2.x[0,0])\n",
      "    ys2.append(f2.x[2,0])    \n",
      "    f1.predict() \n",
      "    f2.predict()\n",
      "    \n",
      "    p1 = plt.scatter(x, y, color='green', marker='o', s=75, alpha=0.5)\n",
      "\n",
      "p2, = plt.plot (xs, ys,lw=2)\n",
      "p3, = plt.plot (xs2, ys2,lw=4, c='r')\n",
      "plt.legend([p1,p2, p3], ['Measurements', 'Kalman filter(R=0.5)', 'Kalman filter(R=10)'])\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x3443950>"
       ]
      }
     ],
     "prompt_number": 48
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "I have plotted the output of two different Kalman filter settings. The measurements are depicted as green circles, a Kalman filter with R=0.5 as a thin blue line, and a Kalman filter with R=10 as a thick red line. These R values are chosen merely to show the effect of $\\textbf{R}$ on the output, they are not intended to imply a correct design.\n",
      "\n",
      "With R=0.5 we see that the Kalman filter follows the measurements quite closely, albeit slightly overshooting at the end of the trajectory. This small value of R tells the Kalman filter that we expect there to be about 1/2 meter error in the ball measurements, which is quite small, so the Kalman filter prefers the position implied by the measurement vs the process model. The small amount of overshoot is attributable to the incorrect assumption that the ball is travelling in a vacuum during the predict step. We see the effect of this when we set R=10, which incorrectly tells the Kalman filter that the noise in the measurments is on order of 10 meters. In this case the Kalman filter weights the prediction  more, and the trajectory ends up overshoooting the measurements because air drag is not being considered by the filter.  \n",
      "\n",
      "At this point we should question the value of $\\textbf{Q}$, which tells the Kalman filter how much process noise there is in the system. We can think of air drag as process noise, and setting $Q=\\verb,I*0.1,$, for example, would cause the Kalman filter to fit the measurements quite well. If you are reading this in IPython Notebook I urge you to modify the code above to see the effects of various values for $\\textbf{Q}$ and $\\textbf{R}$. \n",
      "\n",
      "However, the errors caused by our process model are anything but Gaussian, so a large $\\textbf{Q}$ is a poor representation of the errors in the model. A better approach is to redesign the Kalman filter to model the behavior of a ball in air.\n",
      "\n",
      "This is where Kalman filter design becomes an 'art'. I prefer to think of it as emperical engineering. We try designs, measure their performance, work to understand the limits of the mathematical model that we are using, make changes based on that new understanding, and measure the performance of that new system to see if it matches our expectations. Blithely changing $\\textbf{Q}$ and $\\textbf{R}$ will eventually give you a filter that performs very well for a specific set of data, but the filter is likely to perform badly in different situations. Much of this theory and practice was developed by the radar folks in the 1960s and beyond. They were trying to develop filters to track aircraft and missles based on signals generated by radar. Testing was (and is) cumbersome and expensive, and they endlessly faught against overtuning their filters to the rather sparse data they had available. Your application may be less expensive and difficult to test, and you must do everything you can to ensure that your filter is robust in the presense of various process noise. There is significant literature devoted to this topic, and you will have to read it and master it if your application is critical. An excellent introduction to the topic (and excellent introduction to Kalman filters taking a g-h filters approach is the book *Tracking and Kalman Filters Made Easy* by Eli Brookner. I highly recommend this book even if tracking is not your primary interest, as its approach to the math is very clear, yet still rigorous."
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "However, for now we must leave this problem as it is. The effects of air drag are nonlinear, and so we have to bring nonlinear Kalman filters to bear on the problem. We will revisit this design problem once we have discussed the theory behind these filters."
     ]
    },
    {
     "cell_type": "heading",
     "level": 3,
     "metadata": {},
     "source": [
      "Tracking Noisy Data"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "If we are applying a Kalman filter to a thermometer in an oven in a factory then our task is done once the Kalman filter is designed. The data from the thermometer may be noisy, but there is never doubt that the thermometer is reading the temperature of *some other* oven. Contrast this to our current situation, where we are using computer vision to detect ball blobs from a vido camera. For any frame we may detect or may not detect the ball, and we may have one or more spurious blobs - blobs not associated with the ball at all. This can occur because of limitations of the computer vision code, or due to foreign objects in the scene, such as a bird flying through the frame. Also, in the general case we may have no idea where the ball starts from. A ball may be picked up, carried, and thrown from any position, for example. A ball may be launched within view of the camera, or the initial launch might be off screen and the ball merely travels through the scene. There is the possibility of bounces and deflections - the ball can hit the ground and bounce, it can bounce off a wall, a person, or any other object in the scene.\n",
      "\n",
      "Consider some of the problems that can occur. We could be waiting for a ball to appear, and a blob is detected. We initialize our Kalman filter with that blob, and look at the next frame to detect where the ball is going. Maybe there is no blob in the next frame. Can we conclude that the blob in the previous frame was noise? Or perhaps the blob was valid, but we did not detect the blob in this frame.\n",
      "\n",
      "**author's note: not sure if I want to cover this. If I do, not sure I want to cover this here.**"
     ]
    }
   ],
   "metadata": {}
  }
 ]
}