From e5f968a2e33fd7f3dc3ff55ab4ea2d826e0a618d Mon Sep 17 00:00:00 2001 From: Roger Labbe Date: Sun, 20 Jul 2014 00:39:27 -0700 Subject: [PATCH] Major work on the UKF chapter. Text is still not organized well, but I got the unscented transform fully documented. Probably needs more citations to the original article, and some revisions - I think there is some duplication of info. --- Unscented_Kalman_Filter.ipynb | 421 ++++++++++++++++++---------------- ukf_internal.py | 33 ++- 2 files changed, 261 insertions(+), 193 deletions(-) diff --git a/Unscented_Kalman_Filter.ipynb b/Unscented_Kalman_Filter.ipynb index 73ef724..916d398 100644 --- a/Unscented_Kalman_Filter.ipynb +++ b/Unscented_Kalman_Filter.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:508bfe56a37ac55e285aada1ed5172acfa5e46822f874f77b092acceb435750c" + "signature": "sha256:a9ba6c3ba612925867d9e360943975b2d0084c56ca20db167d224fb4e3909bf9" }, "nbformat": 3, "nbformat_minor": 0, @@ -44,7 +44,7 @@ " background: transparent;\n", " color: #000000;\n", " font-weight: 600;\n", - " font-size: 13pt;\n", + " font-size: 11pt;\n", " font-style: bold;\n", " font-family: 'Source Code Pro', Consolas, monocco, monospace;\n", " }\n", @@ -250,7 +250,7 @@ "output_type": "pyout", "prompt_number": 1, "text": [ - "" + "" ] } ], @@ -289,9 +289,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\nwEC4u7sDAPR6PQoKChASEiJxMrH20yWiHlei/hwC1vVbHPQSEREAIDk5GTNnzsSRI0ekjtJOQ0MD\nPvroI5SWluLOO+8UZnbpkrNnzyI0NFSogYAoqqur4enpiR9//BE6nQ4eHh6oqqoSYtArOtGOK1F/\nDq3ptzjoJSLqZw4cOIDDhw+3u02lUiE6Ohre3t6SzfJ2lmvYsGGYNm0aHnnkERgMBnzyyScYPHgw\ntFqtELmqqqrwn//8B/fdd1+f5bEkl2jGjRsHAPjll1+EKZ0RmZTHVVdcXFwk/TnsTHp6Ovz8/Czu\ntzjoJSLqZyZOnIiJEye2u+3bb79FWloa0tPTUVNTA4VCAU9PTyQkJEiaq62AgAB4e3vDYDAgLCxM\n8lxNTU3YsGEDbr75Zvj6+vZZnp5yicTT0xNVVVXm7Uszv9Q1qY+rnkj1c9iZ3NxcnDx50uJ+i4Ne\nIiLCtGnTzDOEe/bsgYuLS58OeLtSWVkJtVoNnU6HqqoqFBcXw8fHR+pYMJlM2Lx5M0aOHImYmBip\n4wgrLCwMRUVFqKmpQVNTEyorKxEcHCx1LGGJelyJ+nNobb/FQS8REQmroqICX3/9tXl7xowZ0Ol0\nEiZqlZWVhZMnT6K4uBiHDh0CACxcuFCIWcxt27bh5MmTqK2txeuvv445c+ZItmLCpWW3PvroIwDA\nzJkzJcnRGZH20yWiHlei/hxai5chJiIiIiLZE+PUOyIiIiIiB+Kgl4iIiIhkj4NeIiIiIpI9DnqJ\niIiISPY46CUiIiIi2eOgl4iIiIhkj4NeIiIiIpI9DnqJiIiISPY46CUiIiIi2eOgl4iIiIhkj4Ne\nIiIiIpI9DnqJiIiISPY46CUiIiIi2eOgl4iIiIhkj4NeIiIiIpI9DnqJiIiISPY46CUiIiIi2eOg\nl4iIiIhkj4NeIiIiIpI9DnqJiIiISPY46CUiIiIi2eOgl4iIiIhkj4NeIiIiIpI9DnqJiIiISPY4\n6CUiIiIi2eOgl4iIiIhkj4NeIiIiIpI9DnqJiIiISPY46CUiIiIi2eOgl4iIiIhkj4NeIiIiIpI9\nDnqJiIiISPY46CUiIiIi2eOgl4iIiIhkj4NeIiIiIpI9DnqJiIiISPY46CUiIqJO/fDDD4iNjUV+\nfr7UUYh6TXH69GmT1CGIiIhIPE1NTaisrISPjw+USmnmyZ5++mnk5eXhk08+keT9ST7UUgcgIiIi\n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\n9/9Xm47Xy9b3ygAAAABJRU5ErkJggg==\n", + "png": "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\n", "text": [ - "" + "" ] } ], @@ -305,7 +305,7 @@ "\n", "It has perhaps occured to you that this sampling process constitutes a solution to our problem. This is called a 'monte carlo' approach, and it used by some Kalman filter designs, such as the *Ensemble filter*. Sampling requires no specialized knowledge programming, and does not require a closed form solution. No matter how nonlinear or poorly behaved the tranfer function is, as long as we sample with enough points we will build an accurate output distribution.\n", "\n", - "\"Enought points\" is the rub. The graph above was created with 500,000 points, and the output is still not smooth. You wouldn't need to use that many points to get a reasonable estimate of the mean and variance, but it will require many points. What's worse, this is only for 1 dimension. In general, the number of points required increases by the power of the number of dimensions. If you need $50$ points for 1 dimension, you need $50^2$ for two dimensions, $50^3$ for three dimensions, and so on. So while this approach does work, it is very computationally expensive. The Unscented Kalman filter, the topic of this chapter, uses a somewhat similar technique but reduces the amount of computation needed by a drastic amount. \n", + "\"Enough points\" is the rub. The graph above was created with 500,000 points, and the output is still not smooth. You wouldn't need to use that many points to get a reasonable estimate of the mean and variance, but it will require many points. What's worse, this is only for 1 dimension. In general, the number of points required increases by the power of the number of dimensions. If you need $50$ points for 1 dimension, you need $50^2$ for two dimensions, $50^3$ for three dimensions, and so on. So while this approach does work, it is very computationally expensive. The Unscented Kalman filter uses a somewhat similar technique but reduces the amount of computation needed by a drastic amount. \n", "\n", "It is somewhat hard to understand some aspects of this problem by looking at the histogram, so consider this alternative representation, this time for 2 variables/dimensions." ] @@ -325,7 +325,7 @@ "output_type": "display_data", "png": "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\nkpIyVF5nz57Nd1K+xsmTJ3H8XD+i4ycKHYV8gMloQMepMmzI4tVV+j8srKM4ffo0Vq7JQdj6hxA4\nbYHQcYhG1bL9LdwyNxY/euLxrx3rDSV1JHa7HaWlpUOLtqqqqkYdHx0djezsbGRnZ2Px4sVcjfwV\nCotL0O7wR0i463agIN9VX1OJOQmhmJzMq6v0f0YrrD61S8BXSUpKwnv/eBffuPFmiG9+CgFJs4WO\nRDQiW+spzEtbP+LXvbmkXkwsFmPu3LmYO3cunnzySdTW1iIvLw/5+fk4dOgQ7Hb7sPHNzc146623\n8NZbb0Gj0WDlypXIycnBqlWrnL7jgqfo6umFMjJc6BjkA0xGAyRmPSYmzhc6CnkQn7/CesGePXtw\n2+bvIur6H0A7hf+IyP04bDZUPn8DjhYXITz8/4qFr5TUy9XZ2YnPPvsM+fn5+OKLL0Y9QUsqlWLx\n4sXIycnBmjVrEBsb68Kk7sPhcOBfn+QjbuY1kEh4fDU5V31NBeZOCEcy91emL+GUgMt06NAh3HTr\nbYi47iEEpi4SOg7RMD0niyEp/CcO7P6CJfUyGY1G7NmzB3l5edi2bRva29tHHT9r1qyhea+pqak+\nM+/VYDDgk8/3YcJMTosi5+rr1aO/4QTWrV7BF0d0CRbWK1BSUoJvfPMmhOVuQdDMpULHIRrS/NHL\nWDcrHkqlgiV1DGw2G4qLi4e2zKqpqRl1fHx8PNasWYOcnBwsXLjQqxeGtLe3Y2fJCcRNnSl0FPJy\ntRUlyJyZ7LPvZtDoWFivUHl5OdZvvB7Bq+5A8NxVQschH+ZwOGBoqkFX2U607fkADod9xLEsqVem\npqZmaNHW4cOH4XCM+FSIwMBArF69GtnZ2VixYgU0Go0LkzpfXV0dDtd2IHYiF8CQ83S1t0He14qV\nSxf7zLsXdGVYWMfgxIkTWLthI7SZ30IIt7wiF7pQUruP70F32S6Yu0bevokldXy0tbVh27ZtyM/P\nx65du2A2m0ccK5fLkZmZOTTvNTIy0oVJnaP02HGc7RcjPJpXvcg57HY76o4fxpqMNISEhAgdh9wU\nC+sYnTlzBtlr10OZthZhmTfyFSE5DUuq++jv78fOnTuRn5+P7du3o6ura9TxaWlpyMnJQXZ2NqZM\nmeKRzxM79x2E2T8S2qBgoaOQl2ptPIso+QCumc+T1GhkLKxXobGxEdffdAv6NHGI2vAAxFLu30jj\n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\nSUVORK5CYII=\n", "text": [ - "" + "" ] } ], @@ -352,7 +352,7 @@ "source": [ "So what would be fewest number of sampled points that we can use, and what kinds of constraints does this problem formulation put on the points? We will assume that we have no special knowledge about the nonlinear tranform as we want to find a generalized algorithm. For reasons that come clear in the next section, we will call these points *sigma points*.\n", "\n", - "Let's consider the simplest possible case, and see if it offers any insight. The simplest possible system is *identity* - the transformation does not alter the input. It should be clear that if this does not work then the filter will never converge.\n", + "Let's consider the simplest possible case, and see if it offers any insight. The simplest possible system is *identity* - the transformation does not alter the input. It should be clear that if our algorithm does not work for the identity transformation then the filter will never converge. In other words, if the input is 1 (for a one dimensional system), the output must also be 1. If the output was different, such as 1.1, then when we fed 1.1 into the transform at the next time step, we'd get out yet another number, maybe 1.23. The filter would run away (diverge). \n", "\n", "The fewest number of points that we can use is one per dimension. This is the number that the linear Kalman filter uses. The input to a Kalman filter for the distribution $\\mathcal{N}(\\mu,\\sigma^2)$ is just $\\mu$ itself. So while this works for the linear case, it is not a good answer for the nonlinear case.\n", "\n", @@ -377,7 +377,7 @@ "output_type": "display_data", "png": "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\n", "text": [ - "" + "" ] } ], @@ -417,7 +417,7 @@ "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAqwAAAFdCAYAAADG5D8RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl3XGWCJvgn9k2KXQrtu2zLtrzjFYMNmB0MmSRkGuYU\nU9V9Tk2dk91foT9Bz5wzc05PT3dlTeVUUkmSZAJJQtoGA7bxvsi2bCFZ+77ELsW+3PnDC8aSIbTF\neyPu8/svw2l4sHXjPve976Lq7u6WQEREREQkU2rRAYiIiIiIfgwLKxERERHJGgsrEREREckaCysR\nERERyRoLKxERERHJGgsrEREREcma9sd+0e/3IxKJ5CsLERERESmUXq+Hx+NZ8Nd+tLBGIhFs27Zt\nVUIREREREd1z5cqVR/4apwQQERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGw\nEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbAS\nERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIR\nERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhER\nEZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERER\nkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGR\nrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGs\nsbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayx\nsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGwEhEREZGssbASERERkayxsBIRERGRrLGw\nEhEREZGssbASERERkaxpRQcgecpms5idnYXf74ff70cymUQmk0EylQIAaDUaaLVaaLVa2O12OJ1O\n2O12aLX8kSJlyGazCIVC8Pl8CAQCSKVSSKfTSGcyAL6/RnQ6HRwOB1wuF2w2G9RqjhOQMqTTaQSD\n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\nAVDIna1qjBD6AAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], @@ -427,7 +427,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Note that while I chose the points to lie along the major and minor axis of the ellipse, nothing in the constraints above require me to do that; however, it is fairly typical to do this. Furthermore, in each case I show the points evenly spaced; again, the constraints above do not require that. However, the technique that we develop in the next section *does* do this. It is a reasonable choice, after all; if we want to accurately sample our input it makes sense to sample in a symmetric manner." + "Note that while I chose the points to lie along the major and minor axis of the ellipse, nothing in the constraints above require me to do that; however, it is fairly typical to do this. Furthermore, in each case I show the points evenly spaced; again, the constraints above do not require that. However, the technique that we develop in the next section *does* do this. It is a reasonable choice, after all; if we want to accurately sample our input it makes sense to sample in a symmetric manner.\n", + "\n", + "There are many published ways for selecting the sigma points. For now I will stick with the original implementation by Julier and Uhlmann. This method defines a constant kappa ($\\kappa$) which controls how spread out the sigma points are. Their equations for the sigma points are" ] }, { @@ -444,60 +446,38 @@ "source": [ "So our desire is to have an algorithm for selecting sigma points based on some criteria. Maybe we know something about our nonlinear problem, and we know we want our sigma points to be very close together, or very far apart. Or through experimentation we decide that a certain choice of basis vectors from our hyperellipse are the best axis to choose our sigma points from. But we want this to be an algorithm - we don't want to have to hard code in a specific selection algorithm for each different problem. So we are going to want to be able to set some parameters to tell the algorithm how to automatically select the points and weights for us. That may seem a bit abstract, so let's just launch into it, and try to develop an intuitive understanding as we go.\n", "\n", - "Our first choice is always going to be the mean of our input. We will number this $\\mathcal{X}_0$. So,\n", + "Assume a n-dimensional state variable $\\mathbf{x}$ with mean $\\mu$ and covariance $\\Sigma$. We want to choose $2n+1$ sigma points to approximate the gaussian distribution of $\\mathbf{x}$.\n", + "\n", + "Our first sigma point is always going to be the mean of our input. We will call this $\\mathcal{X}_0$. So,\n", "\n", "$$ \\mathcal{X}_0 = \\mu$$\n", "\n", + "Tne corresponding weight for this sigma point is\n", + "$$\n", + "W_0 = \\frac{\\kappa}{n+\\kappa}\n", + "$$\n", + "where $n$ is the dimension of the problem, and $\\kappa$ is a scaling factor that will be discussed in a moment.\n", + "\n", "So for each dimension we need to select 2 more points. We want them to be symmetric around the mean so that for the linear case they cancel out and we are just left with the mean as the result. Here is how we are going to do that:\n", "\n", "\n", "$$ \n", "\\begin{aligned}\n", - "\\mathcal{X}_i &= \\mu + (\\sqrt{(n+\\lambda)\\Sigma})_i\\,\\,\\,\\, &\\text{for i=1..n} \\\\\n", - "\\mathcal{X}_i &= \\mu - (\\sqrt{(n+\\lambda)\\Sigma})_{i-n}\\,\\,\\,\\, &\\text{for i=n+1..2n}\n", + "\\mathcal{X}_i &= \\mu + (\\sqrt{(n+\\kappa)\\Sigma})_i\\,\\,\\,\\, &\\text{for}\\text{ i=1 .. n} \\\\\n", + "\\mathcal{X}_i &= \\mu - (\\sqrt{(n+\\kappa)\\Sigma})_{i-n}\\,\\,\\,\\,\\, &\\text{for}\\text{ i=(n+1) .. 2n} \\\\\n", + "\\text{and the corresponding weights are} \\\\\n", + "W_i &= \\frac{1}{2(n+\\kappa)}\\,\\,\\,\\text{for i=1,2..2n}\n", "\\end{aligned}\n", "$$\n", "\n", - "Let's talk through this. For the moment, just think of this in one dimension, so we can ignore the subscript $i$. $n$ is just our dimensionality, and $\\lambda$ is a scaling factor that controls how far away from the mean we want the points to be. A larger lambda will choose points further away from the mean, and a smaller lambda will choose points nearer the mean. So in one dimension we get something like:\n" + "$\\kappa$ (kappa) is a scaling factor that controls how far away from the mean we want the points to be. A larger kappa will choose points further away from the mean, and a smaller kappa will choose points nearer the mean. Julier and Uhlmann suggest using $\\kappa + n = 3$ if the distribution is Gaussian, and perhaps choosing a different value if it is not Gaussian. So in one dimension we get something like the following. Here I have plotted two different choices for kappa to show how kappa affects the distribution of the points." ] }, { "cell_type": "code", "collapsed": false, "input": [ - "import stats\n", - "import math\n", - "\n", - "# generate the Gaussian data\n", - "\n", - "xs = np.arange(-4, 4, 0.1)\n", - "mean = 0\n", - "sigma = 1.5\n", - "ys = [stats.gaussian(x, mean, sigma*sigma) for x in xs]\n", - "\n", - "def sigma_points (mean, sigma, lambda_):\n", - " sigma1 = mean + math.sqrt ((1+lambda_)*sigma) \n", - " sigma2 = mean - math.sqrt ((1+lambda_)*sigma) \n", - " return mean, sigma1, sigma2\n", - " \n", - "#generate our samples\n", - "lambda_ = 1.4\n", - "x0,x1,x2 = sigma_points (mean,sigma,lambda_)\n", - "\n", - "samples = [x0,x1,x2]\n", - "for x in samples:\n", - " p1 = plt.scatter ([x], [stats.gaussian(x, mean, sigma*sigma)], s=80, color='k')\n", - "\n", - "lambda_ = 0.5\n", - "x0,x1,x2 = sigma_points (mean,sigma,lambda_)\n", - "\n", - "samples = [x0,x1,x2]\n", - "for x in samples:\n", - " p2 = plt.scatter ([x], [stats.gaussian(x, mean, sigma*sigma)], s=80, color='b')\n", - "\n", - "plt.legend([p1,p2],['$\\lambda$=1.4', '$\\lambda$=0.5'])\n", - "plt.plot(xs, ys)\n", - "plt.show()" + "ukf_internal.show_sigmas_for_2_kappas()" ], "language": "python", "metadata": {}, @@ -505,9 +485,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\n", + "png": "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\nAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], @@ -517,31 +497,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Here I have plotted two different choices for lambda - 05 and 1.4 - to show how lambd affects the distribution of the points. \n", + "The remainder of the algorithm follows from our equations above:\n", "\n", - "Perhaps the reason for calling these sigma points is clear. While we are not selecting exactly $1\\sigma$ for the position of our points, we are scaling by some factor of $\\sigma$.\n", - "\n", - "\n", - "On to larger dimensions ($n>1$). The term $(\\sqrt{(n+\\lambda)\\Sigma})_i$ has to be a matrix because $\\Sigma$ is a matrix. The subscript $i$ is choosing the column vector of the matrix. And thus the square root is not the square root of a scalar, but of a matrix.\n", - "\n", - "What is the 'square root of a matrix'? The usual definition is that the square root of a matrix $\\Sigma$ is just the matrix $S$ that, when multiplied by itself, yields $\\Sigma$.\n", - "\n", - "$$\n", - "\\begin{aligned}\n", - "\\text{if }\\Sigma = SS \\\\\n", - "\\\\\n", - "\\text{then }S = \\sqrt{\\Sigma}\n", + "$$\\begin{aligned}\n", + "\\mu &= \\sum_i w_i\\mathcal{X}_i\\;\\;\\;&(2) \\\\\n", + "\\Sigma &= \\sum_i w_i{(\\mathcal{X}_i-\\mu)(\\mathcal{X}_i-\\mu)^T}\\;\\;\\;&(3)\n", "\\end{aligned}\n", "$$\n", + " \n", "\n", - "However, there is an alternative definition, and we will chose that because it has numerical properties that makes it much easier for us to compute its value. We can alternatively define the square root as a matrix S, when multiplied by its transpose, returns $\\Sigma$:\n", - "$$\n", - "\\Sigma = SS^T \\\\\n", - "$$\n", - "\n", - "If this makes you uncomfortable, I advise not worrying about it. We are just defining an algorithm for choosing our sigma points; if the 'square' root in method of computation ($SS$) is slightly different than the other case ($SS^T), it shouldn't really matter. Plus, this still works for the one dimensional case, as the transpose of a scalar is just the scalar. \n", - "\n", - "I will derive the math for computing this in a later section in this chapter. For now I will say that this is a well worn area of linear algebra, and performing this 'square root' uses something called the Cholesky decomposition. This is a library procedure that is available in any linear algebra library. For example, numpy provides it in `numpy.linalg.cholesky()`, and we will be using that function in our code. If your language of choice is Fortran, C, C++, or the like the standard libraries like LAPACK also provide this routine. And, of course, matlab provides `chol()`, which does the same thing." + "In other words, we geneate sigma points from an existing state variable from its mean and covariance matrix. We pass those sigma points through the nonlinear function that we are trying to filter. Then we use equations (2) and (3) to regenerate an approximation for the mean and covariance of the output." ] }, { @@ -556,7 +521,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "So let's just implement this algorithm. First, let's write the code to compute the mean and covariance given the sigma points. Unfortunately, this requires a short diversion into the intricacies of numpy's data types. Through historical accidents, numpy provides several data structures to represent matrices, and they do not 'play well' with each other. Most sources recommend using the type `numpy.array`, however, it is quite cumbersome to use for intensive linear algebra. Since everything I do in this book is linear algebra, I choose to use `numpy.matrix` instead. Fortunately, numpy provides `numpy.asmatrix()`. It will convert a variable to `numpy.matrix` if it is not already one; better yet, it will turn a scalar into a $1{\\times}1$ matrix. The result is that we can pass scalars, `numpy.array`'s, or `numpy.matrix`s into my code and it will work.\n", + "So let's just implement this algorithm. First, let's write the code to compute the mean and covariance given the sigma points. \n", "\n", "So we will store the sigma points and weights in matrices, like so:\n", "\n", @@ -564,163 +529,235 @@ "\\begin{aligned}\n", "weights &= \n", "\\begin{bmatrix}\n", - "w_1&w_2& \\dots & w_n\n", + "w_1&w_2& \\dots & w_{2n+1}\n", "\\end{bmatrix} \n", "\\\\\n", "sigmas &= \n", "\\begin{bmatrix}\n", - "\\mathcal{X}_{0,0} & \\mathcal{X}_{0,1} & \\dots & \\mathcal{X}_{0,n} \\\\\n", - "\\mathcal{X}_{1,0} & \\mathcal{X}_{1,1} & \\dots & \\mathcal{X}_{1,n} \\\\\n", - "\\mathcal{X}_{2,0} & \\mathcal{X}_{2,1} & \\dots & \\mathcal{X}_{2,n}\n", + "\\mathcal{X}_{0,0} & \\mathcal{X}_{0,1} & \\mathcal{X}_{0,2} \\\\\n", + "\\mathcal{X}_{1,0} & \\mathcal{X}_{1,1} & \\mathcal{X}_{1,2} \\\\\n", + "\\vdots & \\vdots & \\vdots \\\\\n", + "\\mathcal{X}_{2n+1,0} & \\mathcal{X}_{2n+1,1} & \\mathcal{X}_{2n+1,2}\n", "\\end{bmatrix}\n", "\\end{aligned}\n", "$$\n", "\n", - "In other words, each column contains the 3 sigma points for one dimension in our problem. The $0th$ sigma point is always the mean, so first row of sigma's contains the mean of each of our dimensions. The second row contains the $\\mu+(\\sqrt{(n+\\lambda)\\Sigma})$ term, and the third row contains the $\\mu-(\\sqrt{(n+\\lambda)\\Sigma})$ term." + "In other words, each column contains the $2n+1$ sigma points for one dimension in our problem. The $0th$ sigma point is always the mean, so first row of sigma's contains the mean of each of our dimensions. The second through nth row contains the $\\mu+\\sqrt{(n+\\lambda)\\Sigma}$ terms, and the $n+1$ to $2n$ rows contains the $\\mu-\\sqrt{(n+\\lambda)\\Sigma}$ terms." ] }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "import numpy as np\n", - "\n", - "def unscented_transform (Xi, W, NoiseCov=None):\n", - " \"\"\" computes the unscented transform of a set of signma points and weights.\n", - " returns the mean and covariance in a tuple\n", - " \"\"\"\n", - " W = np.asmatrix(W)\n", - " Xi = np.asmatrix(Xi)\n", - "\n", - " n, kmax = Xi.shape\n", - "\n", - " # initialize results to 0\n", - " mu = np.mat (np.zeros((n,0)))\n", - " cov = np.mat (np.zeros((n,n)))\n", - "\n", - " for col in range (kmax):\n", - " mu += W[0,col] * Xi[:,col]\n", - "\n", - " for col in range (kmax):\n", - " cov += W[0,col]*(Xi[:,col]-xm) * (Xi[:,col]-xm).T\n", - "\n", - " return (mu, cov)" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 7 - }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Let's review a bit of numpy nomenclature. The odd looking\n", + "Computing the weights in numpy is extremely simple. Recall that\n", "\n", - " Xi[:,i]\n", + "$$\n", + "\\begin{aligned}\n", + "W_0 &= \\frac{\\kappa}{n+\\kappa} \\\\\n", + "W_i &= \\frac{1}{2(n+\\kappa)}\\,\\,\\,\\text{for i=1,2..2n}\n", + "\\end{aligned}\n", + "$$\n", + "\n", + "These two lines of code implenent these equations with the `np.full()` method, which creates and fills an array with the same value. Then the value for the mean($W_0$) is computed and overwrites the filled in value. We make $W$ a $(2n+1)\\times1$ dimension array simply because linear algebra with numpy proceeds much more smoothly when all arrays are 2 dimensional, so the one dimensional array `[1,2,3]` is better espressed in numpy as `[[1,2,3]]`.\n", + "\n", + " W = np.full((2*n+1,1), .5 / (n+kappa))\n", + " W[0] = kappa / (n+kappa)\n", " \n", - "terms are merely saying 'take the *ith* column of Xi'. So This produces a $1{\\times}n$ column vector, like so:\n", + "\n", + "The equations for the sigma points are:\n", "\n", "$$\n", - "\\begin{bmatrix}\n", - "\\mathcal{X}_{0,i} \\\\\n", - "\\mathcal{X}_{1,i} \\\\\n", - "\\mathcal{X}_{2,i} \\\\\n", - "\\vdots \\\\\n", - "\\mathcal{X}_{n,i} \n", - "\\end{bmatrix}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is confusing if you haven't seen it before so I will belabor this point. Read this as $\\tt Xi[A,B]$, where $\\tt A$ indexes the row, and $\\tt B$ the column. In this case the row value is ':', which is Python's way to taking a *slice*. For example, for a one dimensional list $\\tt x$, $\\tt x[3:5]$ returns a list containing $\\tt x[3]$ and $\\tt x[4]$. If you leave one of the slice elements out it just selects everything on that side of the slice, so $\\tt x[3:]$ would return a list of elements number 2 to the last element in $\\tt x$. Therefore, $\\tt x[:]$ just returns $\\tt x$ itself - it asks for all elements in $\\tt x$. So, in a form like $\\tt Xi[:,i]$ we take all rows from the ith column; effectively, a 1xn column vector. \n", - "\n", - "\n", - "We write this way in numpy for two reasons. First, it is very close to the mathematical notation our equations use. Second, and more importantly, when you write this way numpy uses C routines to implement the functionality, making the code much faster. Avoiding for loops in numerical code is 'Pythonic'. If you are used to packages like Matlab you are already familar with notation; if you are coming from a language like C recognize I could have written this loop:\n", - "\n", - " for k in range (kmax):\n", - " mu += W[0,k] * Xi[:,k]\n", - " \n", - "as:\n", - "\n", - " for k in range (kmax):\n", - " for i in range (n):\n", - " mu += W[0,k] * Xi[i,k]\n", - "\n", - "\n", - "\n", - "So if you look at this code you should see that it is just performing the computations\n", - "$$\\begin{aligned}\n", - "\\mu &= \\sum_i w_i\\mathcal{X}_i \\\\\n", - "\\Sigma &= \\sum_i w_i{(\\mathcal{X}_i-\\mu)(\\mathcal{X}_i-\\mu)^T}\n", + "\\begin{aligned}\n", + "\\mathcal{X}_0 &= \\mu \\\\\n", + "\\mathcal{X}_i &= \\mu + \\bigg[\\sqrt{(n+\\kappa)\\Sigma} \\bigg]_i\\,\\,\\,\\, &\\text{for}\\text{ i=1 .. n} \\\\\n", + "\\mathcal{X}_i &= \\mu - \\bigg[\\sqrt{(n+\\kappa)\\Sigma}\\bigg]_{i-n}\\,\\,\\,\\,\\, &\\text{for}\\text{ i=(n+1) .. 2n}\n", "\\end{aligned}\n", "$$\n", "\n", - "** AUTHOR'S NOTE: break the function up into several cells, explain each cell (convert to matrix, initialize to zero, sum weights, sum variances. Then put into function. easier to explain to student that way**\n", "\n", - "Even if you are not a strong numpy programmer it should be reasonably clear that this is not a difficult bit of code. Furthermore, as with our previous Kalman filter codes, we just need to write it once - we will call this function for *any* problem we are solving, and it will perform the Unscented transform for us." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are half done! Now we need to write the function that selects the sigma points based on this term $\\sqrt{(n+\\lambda)\\Sigma}$. It is a bit longer, but still straightforward.\n", + "The Python for this is not much more difficult once we wrap our heads around the $[\\sqrt{(n+\\kappa)\\Sigma}]_i$ term.\n", "\n", - "** Author's note: have not introduced kappa yet. Also, do we want this form (the original implementaiton of UKF, followed by the scaled UKF, or just jump to scaled UKF?**" - ] - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ - "def sigma_points (mu, cov, kappa):\n", - " \"\"\" Computes the sigma points and weights for an unscented Kalman filter.\n", - " xm are the means, and P is the covariance. kappa is an arbitrary constant\n", - " constant. Returns tuple of the sigma points and weights.\n", + "The term $[\\sqrt{(n+\\kappa)\\Sigma}]_i$ has to be a matrix because $\\Sigma$ is a matrix. The subscript $i$ is choosing the column vector of the matrix. What is the 'square root of a matrix'? The usual definition is that the square root of a matrix $\\Sigma$ is just the matrix $S$ that, when multiplied by itself, yields $\\Sigma$.\n", "\n", - " Works with scalar, array, and matrix inputs:\n", - " sigma_points (5, 9, 2) # mean 5, covariance 9\n", - " sigma_points ([5, 2], 9*eye(2), 2) # means 5 and 2, covariance 9I\n", - " \"\"\"\n", + "$$\n", + "\\begin{aligned}\n", + "\\text{if }\\Sigma = SS \\\\\n", + "\\\\\n", + "\\text{then }S = \\sqrt{\\Sigma}\n", + "\\end{aligned}\n", + "$$\n", "\n", - " mu = asmatrix(mu)\n", - " cov = asmatrix(cov)\n", + "However there is an alternative definition, and we will chose that because it has numerical properties that makes it much easier for us to compute its value. We can alternatively define the square root as the matrix S, which when multiplied by its transpose, returns $\\Sigma$:\n", "\n", - " n = size(mu)\n", + "$$\n", + "\\Sigma = SS^T \\\\\n", + "$$\n", "\n", - " # initialize to zero\n", - " Xi = asmatrix (zeros((n,2*n+1)))\n", - " W = asmatrix (zeros(2*n+1))\n", + "This latter method is typically chosen in computational linear algebra because this expression is easy to compute using something called the *Cholesky decomposition*. \n", + "Numpy provides this with the `numpy.linalg.cholesky()` method. If your language of choice is Fortran, C, C++, or the like standard libraries such as LAPACK also provide this routine. And, of course, matlab provides `chol()`, which does the same thing.\n", "\n", + "This method returns a lower triangular matrix, so we will take the transpose of it so that in our for loop we can access it row-wise as `U[i]`, rather than the more cumbersome column-wise notation `U[i,:]`.\n", "\n", - " # all weights are 1/ 2(n+kappa)) except the first one.\n", - " W[0,1:] = 1. / (2*(n+kappa))\n", - " W[0,0] = float(kappa) / (n + kappa)\n", - "\n", - "\n", - " # use cholesky to find matrix square root of (n+kappa)*cov\n", - " # U'*U = (n+kappa)*P\n", - " U = asmatrix (cholesky((n+kappa)*cov))\n", - "\n", - " # mean is in location 0.\n", - " Xi[:,0] = mu\n", - "\n", - " for col in range (n):\n", - " Xi[:,col+1] = mu + U[:,col]\n", + " Xi = np.zeros((2*n+1, n))\n", + " Xi[0] = X\n", + " U = linalg.cholesky((n+kappa)*P).T\n", "\n", " for k in range (n):\n", - " Xi[:, n+col+1] = mu - U[:,col]\n", + " Xi[k+1] = X + U[k]\n", + " Xi[n+k+1] = X - U[k]\n", + "\n", + "The full listing from the `filterpy.kalman` library follows." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def sigma_points (X, P, kappa):\n", + " \"\"\" Computes the sigma points and weights for an unscented Kalman filter\n", + " given the mean and covariance of the filter.\n", + " kappa is an arbitrary constant\n", + " constant. Returns tuple of the sigma points and weights.\n", + "\n", + " Works with both scalar and array inputs:\n", + " sigma_points (5, 9, 2) # mean 5, covariance 9\n", + " sigma_points ([5, 2], 9*eye(2), 2) # means 5 and 2, covariance 9I\n", + "\n", + " Parameters\n", + " ----------\n", + " X An array of the means for each dimension in the problem space.\n", + " Can be a scalar if 1D.\n", + " examples: 1, [1,2], np.array([1,2])\n", + "\n", + " P : scalar, or\n", + "\n", + " Returns\n", + " -------\n", + " sigmas : np.array, of size (n, 2n+1)\n", + " Two dimensional array of sigma points. Each column contains all of\n", + " the sigmas for one dimension in the problem space.\n", + "\n", + " Ordered by Xi_0, Xi_{1..n}, Xi_{n+1..2n}\n", + "\n", + " weights : 1D np.array, of size (2n+1)\n", + " \"\"\"\n", + "\n", + " if np.isscalar(X):\n", + " X = np.array([X])\n", + "\n", + " if np.isscalar(P):\n", + " P = np.array([[P]])\n", + "\n", + " \"\"\" Xi - sigma points\n", + " W - weights\n", + " \"\"\"\n", + "\n", + " n = np.size(X) # dimension of problem\n", + "\n", + " W = np.full((2*n+1,1), .5 / (n+kappa))\n", + " Xi = np.zeros((2*n+1, n))\n", + "\n", + " # handle values for the mean separately as special case\n", + " Xi[0] = X\n", + " W[0] = kappa / (n+kappa)\n", + "\n", + " # implements U'*U = (n+kappa)*P. Returns lower triangular matrix.\n", + " # Take transpose so we can access with U[i]\n", + " U = linalg.cholesky((n+kappa)*P).T\n", + "\n", + " for k in range (n):\n", + " Xi[k+1] = X + U[k]\n", + " Xi[n+k+1] = X - U[k]\n", "\n", " return (Xi, W)" ], "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 8 + "prompt_number": 10 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let's implement the unscented transform. Recall the equations\n", + "$$\\begin{aligned}\n", + "\\mu &= \\sum_i w_i\\mathcal{X}_i\\;\\;\\;&(2) \\\\\n", + "\\Sigma &= \\sum_i w_i{(\\mathcal{X}_i-\\mu)(\\mathcal{X}_i-\\mu)^T}\\;\\;\\;&(3)\n", + "\\end{aligned}\n", + "$$\n", + " \n", + "We implement the sum of the means with\n", + "\n", + " X = np.sum (Xi*W, axis=0)\n", + "\n", + "If you are not a heavy user of numpy this may look foreign to you. Numpy is not just a library that make linear algebra possible; under the hood it is written in C to achieve much faster speeds than Python can reach. A typical speedup is 100x. To get that speedup we must avoid using for loops, and instead use numpy's built in functions to perform calculations. So, instead of writing a for loop to compute the sum, we call the built in `numpy.sum()` method which takes an entire array and computes the sum in C. The `axis` parameter tells sum over which axis to sum the array. For example, if \n", + "\n", + "$$Xi = \\begin{bmatrix}1&2&3\\\\1&2&3\\\\1&2&3\\end{bmatrix}$$\n", + "then \n", + "\n", + " sum(Xi) == 18\n", + " sum(Xi,axis=0) == [3,6,9]\n", + " sum(Xi,axis=1) == [6,6,6]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All that is left is to compute $\\Sigma = \\sum_i w_i{(\\mathcal{X}_i-\\mu)(\\mathcal{X}_i-\\mu)^T}$\n", + "\n", + " P = np.zeros((n,n))\n", + " for k in range (2*n+1):\n", + " s = (Xi[k]-X)[np.newaxis] # needs to be 2D to perform transform\n", + " P += W[k]*s*s.T\n", + "\n", + "This introduces another new feature of numpy. The state variable $X$ is one dimensional, as is $Xi[k]$, so the difference $Xi[k]-X$ is also one dimensional. numpy will not compute the transpose of a 1-D array; it considers the transpose of `[1,2,3]` to be `[1,2,3]`. I consider that a deficiency of numpy, but you have to live with it. So we need to make the array two dimensional, with the second dimension of size 1. You do this in numpy by appending `[np.newaxis]` to the array. For example, `np.array([1,2])[np.newaxis]` returns `array([[1, 2]])`.\n", + "\n", + "The following code is the implementation from the `filterpy.kalman` library. The function includes the ability to sum a noise covariance into the covariance matrix; this feature will be used to implement the full blown unscented Kalman filter." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def unscented_transform (Xi, W, NoiseCov=None):\n", + " \"\"\" computes the unscented transform of a set of signma points and weights.\n", + " returns the mean and covariance in a tuple\n", + " \"\"\"\n", + " kmax,n = Xi.shape\n", + "\n", + " X = np.sum (Xi*W, axis=0)\n", + " P = np.zeros((n,n))\n", + " \n", + " for k in range (kmax):\n", + " s = (Xi[k]-X)[np.newaxis] # needs to be 2D to perform transform\n", + " P += W[k]*s*s.T\n", + "\n", + " if NoiseCov is not None:\n", + " P += NoiseCov\n", + "\n", + " return (X, P)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 11 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "Unscented Kalman Filter" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are now ready to consider implementing a Kalman filter using the approximations for the mean and covariances afforded by the unscented transform. " + ] } ], "metadata": {} diff --git a/ukf_internal.py b/ukf_internal.py index b13e889..90c9d85 100644 --- a/ukf_internal.py +++ b/ukf_internal.py @@ -8,6 +8,7 @@ import matplotlib.pyplot as plt from matplotlib.patches import Ellipse,Arrow import stats import numpy as np +import math def arrow(x1,y1,x2,y2): @@ -65,7 +66,37 @@ def show_sigma_selections(): - +def show_sigmas_for_2_kappas(): + # generate the Gaussian data + + xs = np.arange(-4, 4, 0.1) + mean = 0 + sigma = 1.5 + ys = [stats.gaussian(x, mean, sigma*sigma) for x in xs] + + def sigma_points(mean, sigma, kappa): + sigma1 = mean + math.sqrt((1+kappa)*sigma) + sigma2 = mean - math.sqrt((1+kappa)*sigma) + return mean, sigma1, sigma2 + + #generate our samples + kappa = 2 + x0,x1,x2 = sigma_points(mean, sigma, kappa) + + samples = [x0,x1,x2] + for x in samples: + p1 = plt.scatter([x], [stats.gaussian(x, mean, sigma*sigma)], s=80, color='k') + + kappa = -.5 + x0,x1,x2 = sigma_points(mean, sigma, kappa) + + samples = [x0,x1,x2] + for x in samples: + p2 = plt.scatter([x], [stats.gaussian(x, mean, sigma*sigma)], s=80, color='b') + + plt.legend([p1,p2], ['$kappa$=2', '$kappa$=-0.5']) + plt.plot(xs, ys) + plt.show()