{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Table of Contents](http://nbviewer.ipython.org/github/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/table_of_contents.ipynb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Nonlinear Filtering"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n"
],
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#format the book\n",
"%matplotlib inline\n",
"%load_ext autoreload\n",
"%autoreload 2 \n",
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Introduction"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Kalman filter that we have developed to this point is extremely good, but it is also limited. All of the equations are linear, and so the filter can only handle linear problems. But the world is nonlinear, and so the classic filter that we have been studying to this point can have very limited utility.For example, the state transition function is $\\mathbf{x}^- = \\mathbf{Fx}$. Suppose we wanted to track the motion of a weight on a spring. We might be tracking an automobile's active suspension, for example. The equation for the motion with $m$ being the mass, $k$ the spring constant, and $c$ the damping force is \n",
"\n",
"$$m\\frac{d^2x}{dt^2} + c\\frac{dx}{dt} +kx = 0$$\n",
"\n",
"which is a second order differential equation. It is not possible to write a linear equation for this equation, and therefore we cannot even formulate a design for the Kalman filter. \n",
"\n",
"The early adopters of Kalman filters needed to apply the filters to nonlinear problems and this fact was not lost on them. For example, radars measure the slant range to an object, and we are typically interested in the aircraft's position over the ground. We invoke Pythagoras and get the nonlinear equation:\n",
"\n",
"$$x=\\sqrt{slant^2 - altitude^2}$$\n",
"\n",
"And then, of course, the behavior of the objects being tracked is also nonlinear. So shortly after the idea of the Kalman filter was published by Kalman people began working on how to extend the Kalman filter into nonlinear problems. \n",
"\n",
"It is almost true to state that the only equation we (anyone) know how to solve is $\\mathbf{Ax}=\\mathbf{b}$. We only really know how to do linear algebra. I can give you a linear equation and you can solve it. If I told you your job depended on knowing how to solve the equation $ax+b3=c$ you would trivially solve it for any values of $a$, $b$, and $c$. There is no linear equation that you cannot either solve or prove has no solution ($x+1=x$).\n",
"\n",
"Anyone with formal mathematical education has spent years learning various analytic ways to solve integrals, differential equations and so on. It was all a lie, nearly. Even trivial physical systems produce equations that no one in the world know how to solve analytically. I can give you an equation that you are able to integrate, multiply or add in an $\\log$ term, and render it insolvable. It is stuff like this that leads to jokes about physicists stating stating the problem \"assume a spherical cow on a frictionless surface in a vacuum...\"\n",
"\n",
"How do we do things like model airflow over an aircraft in a computer, or predict weather, or track missiles with a Kalman filter? We retreat to what we know: $\\mathbf{Ax}=\\mathbf{b}$. We find some way to linearize the problem, turning it into a set of linear equations, and then use linear algebra software packages to grind out a solution. It's an approximation, so the answers are approximate. Linearizing a nonlinear problem gives us inexact answers, and in a recursive algorithm like a Kalman filter or weather tracking system these small errors can sometimes reinforce each other at each step, quickly causing the algorithm to spit out nonsense. \n",
"\n",
"What we are about to embark upon is a difficult problem. There is not one obvious, correct, mathematically optimal solution anymore. We will be using approximations, we will be introducing errors into our computations, and we will forever be battling filters that *diverge*, that is, filters whose numerical errors overwhelm the solution. \n",
"\n",
"In the remainder of this short chapter I will illustrate the specific problems the nonlinear Kalman filter faces. You can only design a filter after understanding the particular problems the nonlinearity in your problem causes. Subsequent chapters will then design and implement different kinds of nonlinear filters."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Problem with Nonlinearity"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As asserted in the introduction the only math you really know how to do is linear math. Equations of the form \n",
"\n",
"$$ A\\mathbf{x}=\\mathbf{b}$$.\n",
"\n",
"That may strike you as hyperbole. After all, in this book we have integrated a polynomial to get distance from velocity and time. We know how to integrate a polynomial, for example, and so we are able to find the closed form equation for distance given velocity and time:\n",
"\n",
"$$\\int{(vt+v_0)}\\,dt = \\frac{a}{2}t^2+v_0t+d_0$$\n",
"\n",
"That's nonlinear. But it is also a very special form. You spent a lot of time, probably at least a year, learning how to integrate various terms, and you still can not integrate some arbitrary equation - no one can. We don't know how. If you took freshman Physics you perhaps remember homework involving sliding frictionless blocks on a perfect plane and other toy problems. At the end of the course you were almost entirely unequipped to solve real world problems because the real world is nonlinear, and you were taught linear, closed forms of equations. It made the math tractable, but mostly useless. \n",
"\n",
"The mathematics of the Kalman filter is beautiful in part due to the Gaussian equation being so special. It is nonlinear, but when we add and multiply it using linear algebra we get another Gaussian equation as a result. That is very rare. $\\sin{x}*\\sin{y}$ does not yield a $\\sin(\\cdot)$ as an output.\n",
"\n",
"> If you are not well versed in signals and systems there is a perhaps startling fact that you should be aware of. A linear system is defined as a system whose output is linearly proportional to the sum of all its inputs. A consequence of this is that to be linear if the input is zero than the output must also be zero. Consider an audio amp - if I sing into a microphone, and you start talking, the output should be the sum of our voices (input) scaled by the amplifier gain. But if amplifier outputs a nonzero signal for a zero input the additive relationship no longer holds. This is because you can say $amp(roger) = amp(roger + 0)$ This clearly should give the same output, but if amp(0) is nonzero, then\n",
"\n",
"> $$\n",
"\\begin{aligned}\n",
"amp(roger) &= amp(roger + 0) \\\\\n",
"&= amp(roger) + amp(0) \\\\\n",
"&= amp(roger) + non\\_zero\\_value\n",
"\\end{aligned}\n",
"$$\n",
"\n",
">which is clearly nonsense. Hence, an apparently linear equation such as\n",
">\n",
"$$L(f(t)) = f(t) + 1$$\n",
">\n",
">is not linear because $L(0) = 1$! Be careful!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## An Intuitive Look at the Problem"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I particularly like the following way of looking at the problem, which I am borrowing from Dan Simon's *Optimal State Estimation* [[1]](#[1]). Consider a tracking problem where we get the range and bearing to a target, and we want to track its position. Reported distance is 50 km, and the reported angle is 90$^\\circ$. Now, given that sensors are imperfect, assume that the errors in both range and angle are distributed in a Gaussian manner. Given an infinite number of measurements what is the expected value of the position?\n",
"\n",
"I have been recommending using intuition to solve problems in this book, so let's see how it fares for this problem (hint: nonlinear problems are *not* intuitive). We might reason that since the mean of the range will be 50 km, and the mean of the angle will be 90$^\\circ$, that clearly the answer will be x=0 km, y=90 km.\n",
"\n",
"Well, let's plot that and find out. Here are 3000 points plotted with a normal distribution of the distance of 0.4 km, and the angle having a normal distribution of 0.35 radians. We compute the average of the all of the positions, and display it as a star. Our intuition is displayed with a large circle."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from numpy.random import randn\n",
"import matplotlib.pyplot as plt\n",
"\n",
"N = 3000\n",
"a = np.pi/2. + (randn(N) * 0.35)\n",
"r = 50.0 + (randn(N) * 0.4)\n",
"xs = r * np.cos(a)\n",
"ys = r * np.sin(a)\n",
"\n",
"plt.scatter(xs, ys, label='Measurements', color='k', marker='.', s=2)\n",
"plt.scatter(sum(xs)/N, sum(ys)/N, c='r', marker='*', s=200, label='Mean')\n",
"plt.scatter(0, 50, c='k', marker='o', s=400, label='Intuition')\n",
"plt.axis('equal')\n",
"plt.legend(scatterpoints=1);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see that out intuition failed us because the nonlinearity of the problem forced all of the errors to be biased in one direction. This bias, over many iterations, can cause the Kalman filter to diverge. But this chart should now inform your intuition for the rest of the book - linear approximations applied to nonlinear problems yields inaccurate results."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Effect of Nonlinear Functions on Gaussians"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Unfortunately Gaussians are not closed under an arbitrary nonlinear function. Recall the equations of the Kalman filter - at each step of its evolution we do things like pass the covariances through our process function to get the new covariance at time $k$. Our process function was always linear, so the output was always another Gaussian. Let's look at that on a graph. I will take an arbitrary Gaussian and pass it through the function $f(x) = 2x + 1$ and plot the result. We know how to do this analytically, but lets do this with sampling. I will generate 500,000 points on the Gaussian curve, pass it through the function, and then plot the results. I will do it this way because the next example will be nonlinear, and we will have no way to compute this analytically."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n+vYAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from numpy.random import normal\n",
"gaussian = (0., 1.)\n",
"data = normal(loc=gaussian[0], scale=gaussian[1], size=500000)\n",
"plt.hist(2*data + 1, 1000);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is an unsurprising result. The result of passing the Gaussian through $f(x)=2x+1$ is another Gaussian centered around 1. Let's look at the input, nonlinear function, and output at once."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from nonlinear_plots import plot_nonlinear_func\n",
"\n",
"def g1(x):\n",
" return 2*x+1\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_nonlinear_func(data, g1, gaussian)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"> I explain how to plot Gaussians, and much more, in the Notebook *Computing_and_Plotting_PDFs* in the \n",
"Supporting_Notebooks folder. You can also read it online [here](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb)[1]\n",
"\n",
"The plot labeled 'input' is the histogram of the original data. This is passed through the transfer function $f(x)=2x+1$ which is displayed in the chart on the bottom lweft\n",
". The red lines shows how one value, $x=0$ is passed through the function. Each value from input is passed through in the same way to the output function on the left. For the output I computed the mean by taking the average of all the points, and drew the results with the dotted blue line. A solid blue line shows the actual mean for the point $x=0$. The output looks like a Gaussian, and is in fact a Gaussian. We can see that it is altered -the variance in the output is larger than the variance in the input, and the mean has been shifted from 0 to 1, which is what we would expect given the transfer function $f(x)=2x+1$ The $2x$ affects the variance, and the $+1$ shifts the mean The computed mean, represented by the dotted blue line, is nearly equal to the actual mean. If we used more points in our computation we could get arbitrarily close to the actual value.\n",
"\n",
"Now let's look at a nonlinear function and see how it affects the probability distribution."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nPfHEE+jcuTP+8Y9/mNpat26NZ555BgsWLJAwWd14enpi2bJleOmll6SOYjVFRUXQaDTYvHkzhg0b\nJnUcq/D19cUnn3yCV155ReooRERkY5KPVD+qqKgIK1euRHh4OMLCwqSOYxV5eXlQq9Vwc3OTOkqD\no9VqceLECQwePNisffDgwTh06JBEqagy+fn5MBqN8PHxkTpKnRkMBqxduxalpaXo27ev1HGIiMgO\nHKKoXr58OTw9PeHp6YktW7bg119/hUJR756gbiE3NxcffPABpkyZApnMIf6qG5SsrCwYDAYEBASY\ntfv7+yM9PV2iVFSZGTNmoEuXLujZs6fUUWrt7Nmz8PDwgIuLC6ZMmYL169ejTZs2UsciIiI7sEml\nN2fOHMhksio/9u3bZ9r+hRdewKlTp7B37160a9cOQ4YMQUFBgS2i1UpNzwcACgsLMWLECNM8S0dS\nm/MhsqU333wThw4dwg8//FCv54q3bdsWZ86cwdGjRzF9+nQ8++yzSE5OljoWERHZgU3mVGdnZyM7\nO7vKbYKCguDq6mrRrtPp4OPjg2XLluHll1+2drRaqen5FBYWYujQoRAEAQkJCQ439aM235/6OKda\nq9XC3d0da9euRXx8vKn91Vdfxfnz55GYmChhurpxpjnVM2fOxPr165GYmIjWrVtLHceqBg0ahMDA\nQKxcuVLqKEREZGM2mWPh6+sLX1/fWu1rNBohiiKMRqOVU9VeTc6noKAAQ4YMcdiCGqjb96c+UalU\n6NatG3777TezonrHjh0YO3ashMmo3IwZM7BhwwanLKiBh3OrHelaRkREtiPpxOVr165h48aNGDRo\nEBo3bow7d+7gk08+gYuLC4YPHy5ltFopKCjA4MGDUVBQgE2bNqGgoMA0jcXX1xdKpVLihDWXnp6O\n9PR0XL58GQBw7tw5PHjwACEhIfXihrI333wTL774Irp3746YmBj8/e9/R3p6Ov74xz9KHa3GioqK\ncOXKFQAPf/i8desWTp06BV9fXwQFBUmcruZeffVVrFmzBps2bYJGozHNc/f09IS7u7vE6Wruvffe\nw/DhwxEYGIiCggJ899132Lt3L7Zt2yZ1NCIisgdRQrdv3xaHDBki+vv7iyqVSgwKChJfeOEF8dKl\nS1LGqrXExERREARRJpOJgiCYPmQymbh3716p49XK3Llzzc6j/M/Vq1dLHa3ali9fLoaGhopqtVqM\n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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def g2(x):\n",
" return (np.cos(3*(x/2 + 0.7))) * np.sin(0.3*x) - 1.6*x\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_nonlinear_func(data, g2, gaussian)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This result may be somewhat surprising to you. The function looks \"fairly\" linear - it is pretty close to a straight line, but the probability distribution of the output is completely different from a Gaussian. Recall the equations for multiplying two univariate Gaussians:\n",
"\n",
"$$\\begin{aligned}\n",
"\\mu =\\frac{\\sigma_1^2 \\mu_2 + \\sigma_2^2 \\mu_1} {\\sigma_1^2 + \\sigma_2^2}\\mbox{, } \n",
"\\sigma = \\frac{1}{\\frac{1}{\\sigma_1^2} + \\frac{1}{\\sigma_2^2}}\n",
"\\end{aligned}$$\n",
"\n",
"These equations do not hold for non-Gaussians, and certainly do not hold for the probability distribution shown in the 'output' chart above. \n",
"\n",
"Think of what this implies for the Kalman filter algorithm of the previous chapter. All of the equations assume that a Gaussian passed through the process function results in another Gaussian. If this is not true then all of the assumptions and guarantees of the Kalman filter do not hold. Let's look at what happens when we pass the output back through the function again, simulating the next step time step of the Kalman filter."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y = g2(data)\n",
"gaussian2 = (np.mean(y), np.var(y))\n",
"with book_format.figsize(y=5):\n",
" plot_nonlinear_func(y, g2, gaussian2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see the probability function is further distorted from the original Gaussian. However, the graph is still somewhat symmetric around x=0, let's see what the mean is."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"input mean, variance: 0.0006, 1.0045\n",
"output mean, variance: -0.1256, 2.4130\n"
]
}
],
"source": [
"print('input mean, variance: %.4f, %.4f'% (np.average(data), np.std(data)**2))\n",
"print('output mean, variance: %.4f, %.4f'% (np.average(y), np.std(y)**2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's compare that to the linear function that passes through (-2,3) and (2,-3), which is very close to the nonlinear function we have plotted. Using the equation of a line we have\n",
"\n",
"$$m=\\frac{-3-3}{2-(-2)}=-1.5$$"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"output mean, variance: -0.0009, 2.2601\n"
]
}
],
"source": [
"def g3(x): \n",
" return -1.5 * x\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_nonlinear_func(data, g3, gaussian)\n",
"out = g3(data)\n",
"print ('output mean, variance: %.4f, %.4f'% (np.average(out), np.std(out)**2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Although the shapes of the output are very different, the mean and variance of each are almost the same. This may lead us to reasoning that perhaps we can ignore this problem if the nonlinear equation is 'close to' linear. To test that, we can iterate several times and then compare the results."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"linear output mean, variance: -0.0517, 7515.5491\n",
"nonlinear output mean, variance: -9.3449, 30643.4883\n"
]
}
],
"source": [
"out = g3(data)\n",
"out2 = g2(data)\n",
"\n",
"for i in range(10):\n",
" out = g3(out)\n",
" out2 = g2(out2)\n",
"print('linear output mean, variance: %.4f, %.4f' % \n",
" (np.average(out), np.std(out)**2))\n",
"print('nonlinear output mean, variance: %.4f, %.4f' % \n",
" (np.average(out2), np.std(out2)**2))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Unfortunately we can see that the nonlinear version is not stable. We have drifted significantly from the mean of 0, and the variance is half an order of magnitude larger.\n",
"\n",
"And, of course, we have minimized the issue by using a function that is quite close to a straight line. What happens if our function is $y(x)=x^2$?"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def g3(x): \n",
" return -x*x\n",
"x0 = (1, 1)\n",
"data = normal(loc=x0[0], scale=x0[1], size=500000)\n",
"\n",
"with book_format.figsize(y=5):\n",
" plot_nonlinear_func(data, g3, gaussian=x0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Despite the curve being quite smooth and reasonably straight at $x=1$ the probability distribution of the output doesn't look anything like a Gaussian and the computed mean of the output is quite different than the value computed directly. This is not an unusual function - a ballistic object moves in a parabola, and this is the sort of nonlinearity your filter will need to handle. If you recall we tried to track a ball in the previous chapter and failed miserably. This graph should give you insight into why the filter performed so poorly."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## A 2D Example"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is somewhat hard for me to look at probability distributions like this and really reason about what will happen in a real world filter. So let's think about tracking an aircraft with radar. The aircraft may have a covariance that looks like this:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'P' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mnonlinear_internal\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mnonlinear_internal\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot1\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32mC:\\Users\\Roger\\Dropbox\\book\\code\\nonlinear_internal.py\u001b[0m in \u001b[0;36mplot1\u001b[1;34m()\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mplot1\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 16\u001b[1;33m \u001b[0mstats\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot_covariance_ellipse\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mP\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfacecolor\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'g'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0.2\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 17\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mNameError\u001b[0m: name 'P' is not defined"
]
}
],
"source": [
"import nonlinear_internal\n",
"nonlinear_internal.plot1()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So what happens when we try to linearize this problem? The radar gives us a range to the aircraft. Suppose the radar is directly under the aircraft (x=10) and the next measurement states that the aircraft is 3 miles away (y=3). The positions that could match that measurement form a circle with radius 3 miles, like so."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"nonlinear_internal.plot2()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see by inspection that the probable position of the aircraft is somewhere near x=11.4, y=2.7 because that is where the covariance ellipse and range measurement overlap. But the range measurement is nonlinear so we have to linearize it. We haven't covered this material yet, but the EKF will linearize at the last position of the aircraft - (10,2). At x=10 the range measurement has y=3, and so we linearize at that point."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"nonlinear_internal.plot3()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we have a linear representation of the problem (literally a straight line) which we can solve. Unfortunately you can see that the intersection of the line and the covariance ellipse is a long way from the actual aircraft position."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"nonlinear_internal.plot4()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"That sort of error often leads to disastrous results. The error in this estimate is large. But in the next innovation of the filter that very bad estimate will be used to linearize the next radar measurement, so the next estimate is likely to be markedly worse than this one. After only a few iterations the Kalman filter will diverge, and start producing results that have no correspondence to reality.\n",
"\n",
"Of course that is a rather large covariance ellipse for an aircraft - it spans miles. I exaggerated the size to illustrate the difficulties of highly nonlinear systems. In real radar tracking problems the nonlinearity is usually not that bad, but the errors can still accumulate. And other systems you may be working with do have this amount of nonlinearity - this was not an exaggeration to make a point. You will always be battling divergence when working with nonlinear systems."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Algorithms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You may be impatient to solve a specific problem, and wondering which filter to use. So let me quickly run through the options. The subsequent chapters are somewhat independent of each other, and you can fruitfully skip around, though I recommend reading linearly if you truly want to master all of the material. \n",
"\n",
"The workhorses of nonlinear filters are the *linearized Kalman filter* and *extended Kalman filter*. These two techniques were invented shortly after Kalman published his paper and they have been the main techniques used since then. The flight software in airplanes, the GPS in your car or phone almost certainly use one of these techniques. \n",
"\n",
"However, these techniques are extremely demanding. The EKF linearizes the differential equations at one point, which requires you to find a solution to a matrix of partial derivatives (a Jacobian). This can be difficult or impossible to do analytically. If impossible, you have to use numerical techniques to find the Jacobian, but this is expensive computationally and introduces error into the system. Finally, if the problem is quite nonlinear the linearization leads to a lot of error being introduced in each step, and the filters frequently diverge. You can not throw some equations into some arbitrary solver and expect to to get good results. It's a difficult field for professionals. I note that most Kalman filtering textbooks merely gloss over the extended Kalman filter (EKF) despite it being the most frequently used technique in real world applications. \n",
"\n",
"Recently the field has been changing in exciting ways. First, computing power has grown to the point that we can use techniques that were once beyond the ability of a supercomputer. These use *Monte Carlo* techniques - the computer generates thousands to tens of thousands of random points and tests all of them against the measurements. It then probabilistically kills or duplicates points based on how well they match the measurements. A point far away from the measurement is unlikely to be retained, whereas a point very close is quite likely to be retained. After a few iterations there is a clump of particles closely tracking your object, and a sparse cloud of points where there is no object.\n",
"\n",
"This has two benefits. First, there is no process model. You do not need to predict your system state in the next time step. This is of huge value if you do not have a good model for the behavior of the system. For example, it is hard to predict the behavior of a person in a crowd for very long. You don't know where they are going, and they are endlessly being diverted and jostled by the crowd. Second, the algorithm can track arbitrarily many objects at once - some particles will match the behavior on one object, and other particles will match other objects. So this technique is often used to track automobile traffic, people in crowds, and so on. \n",
"\n",
"The costs should be clear. It is computationally expensive to test tens of thousands of points for every step in the filter. But modern CPUs are very fast, and this is a perfect problem for GPUs because the algorithm is highly parallelizable. If we do have the ability to use a process model that is important information that is being ignored by the filter - you rarely get better results by ignoring information. Of course, there are hybrid filters that do use a process model. Then, the answer is not mathematical. With a Kalman filter my covariance matrix gives me important information about the amount of error in the estimate. The particle filter does not give me a rigorous way to compute this. Finally, the output of the filter is a cloud of points; I then have to figure out how to interpret it. Usually you will be doing something like taking the mean of the points, but this is a difficult problem. There are still many points that do not 'belong' to a tracked object, so you first have to run some sort of clustering algorithm to first find the points that seem to be tracking an object, and then you need another algorithm to produce an state estimate from those points. None of this is intractable, but it is all quite computationally expensive. \n",
"\n",
"\n",
"Finally, we have a new algorithm called the *unscented Kalman filter* (UKF) that does not require you to find analytic solutions to nonlinear equations, and yet almost always performs better than the EKF. It does especially well with highly nonlinear problems - problems where the EKF has significant difficulties. Designing the filter is extremely easy. Some will say the jury is still out, but to my mind the UKF is superior in almost every way to the EKF, and should be the starting point for any implementation, especially if you are not a Kalman filter professional with a graduate degree in the relevant mathematical techniques. The main downside is that the UKF can be a few times slower than the EKF, but this really depends on whether the EKF solves the Jacobian analytically or numerically. If numerically the UKF is almost certainly faster. Finally, it has not been proven (and probably it cannot be proven) that the UKF always yields more accurate results than the EKF. In practice it almost always does, often significantly so. It is very easy to understand and implement, and I strongly suggest this technique as your starting point. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The world is nonlinear, but we only really know how to solve linear problems. This introduces significant difficulties for Kalman filters. We've looked at how nonlinearity affects filtering in 3 different but equivalent ways, and I've given you a brief summary of the major appoaches: the linearized Kalman filter, the extended Kalman filter, the Unscented Kalman filter, and the particle filter. \n",
"\n",
"Until recently the linearized Kalman filter and EKF have been the standard way to solve these problems. They are very difficult to understand and use, and they are also potentially very unstable. \n",
"\n",
"Recent developments have offered what are to my mind superior approaches. The UKF dispenses with the need to find solutions to partial differential equations, yet it is also usually more accurate than the EKF. It is easy to use and understand. I can get a basic UKF going in a few minutes by using FilterPy. The particle filter dispenses with mathimatical modeling completely in favor of a Monte Carlo technique of generating a random cloud of thousands of points. It runs slowly, but it can solve otherwise intractable problems with relative ease.\n",
"\n",
"I get more email about the EKF than anything else; I suspect that this is because most treatments in books, papers, and on the internet use the EKF. If your interest is in mastering the field of course you will want to learn about the EKF. But if you are just trying to get good results I point you to the UKF and particle filter first. They are much easier to implement, understand, and use, and they are typically far more stable than the EKF. \n",
"\n",
"Some will quibble with that advice. A lot of recent publications are devoted to a comparison of the EKF, UKF, and perhaps a few other choices for a given problem. Do you not need to perform a similar comparison for your problem? If you are sending a rocket to Mars, then of course you do. You will be balancing issues such as accuracy, round off errors, divergence, mathematical proof of correctness, and the computational effort required. I can't imagine not knowing the EKF intimately. \n",
"\n",
"On the other hand the UKF works spectacularly! I use it at work for real world applications. I mostly haven't even tried to implement an EKF for these applications because I can verify that the UKF is working fine. Is it possible that I might eke out another 0.2% of performance from the EKF in certain situations? Sure! Do I care? No! I completely understand the UKF implementation, it is easy to test and verify, I can pass the code to others and be confident that they can understand and modify it, and I am not a masochist that wants to battle difficult equations when I already have a working solution. If the UKF or particle filters start to perform poorly for some problem then I will turn other techniques, but not before then. And realistically, the UKF usually provides substantially better performance than the EKF over a wide range of problems and conditions. If \"really good\" is good enough I'm going to spend my time working on other problems. \n",
"\n",
"I'm belaboring this point because in most textbooks the EKF is given center stage, and the UKF is either not mentioned at all or just given a 2 page gloss that leaves you completely unprepared to use the filter. This is not due to ignorance on the writer's part. The UKF is still relatively new, and it takes time to write new editions of books. At the time many books were written the UKF was either not discovered yet, or it was just an unproven but promising curiosity. But I am writing this now, the UKF has had enormous success, and it needs to be in your toolkit. That is what I will spend most of my effort trying to teach you. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"\n",
"[1] https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}