diff --git a/06-Multivariate-Kalman-Filters.ipynb b/06-Multivariate-Kalman-Filters.ipynb index 9093b5e..a9f5cf0 100644 --- a/06-Multivariate-Kalman-Filters.ipynb +++ b/06-Multivariate-Kalman-Filters.ipynb @@ -1804,7 +1804,7 @@ "\n", "This notation allows a mathematician to express himself exactly, and when it comes to formal publications presenting new results this precision is necessary. As a programmer I find all of that fairly unreadable; I am used to thinking about variables changing state as a program runs, and do not use a different variable name for each new computation. There is no agreed upon format, so each author makes different choices. I find it challenging to switch quickly between books an papers, and so have adopted my admittedly less precise notation. Mathematicians will write scathing emails to me, but I hope the programmers and students will rejoice.\n", "\n", - "Here are some examples for how other authors write the prior: $X^*_{n+1,n}$, $\\underline{\\hat{x}}_k(-)$ (really!), $\\hat{\\textbf{x}}^-_{k+1}$, $\\hat{x}_{k}$. If you are lucky an author defines the notation; more often you have to read the equations in context to recognize what the author is doing. Of course, people write within a tradition; papers on Kalman filters in finance are likely to use one set of notations while papers on radar tracking is likely to use a different set. Over time you will start to become familiar with trends, and also instantly recognize when somebody just copied equations wholesale from another work. For example - the equations I gave above were copied from Wikipedia.[6]\n", + "Here are some examples for how other authors write the prior: $X^*_{n+1,n}$, $\\underline{\\hat{x}}_k(-)$ (really!), $\\hat{\\textbf{x}}^-_{k+1}$, $\\hat{x}_{k}$. If you are lucky an author defines the notation; more often you have to read the equations in context to recognize what the author is doing. Of course, people write within a tradition; papers on Kalman filters in finance are likely to use one set of notations while papers on radar tracking is likely to use a different set. Over time you will start to become familiar with trends, and also instantly recognize when somebody just copied equations wholesale from another work. For example - the equations I gave above were copied from the Wikipedia [Kalman Filter](https://en.wikipedia.org/wiki/Kalman_filter#Details) [[1]](#[wiki_article]) article.\n", "\n", "The *Symbology* Chapter lists the notation used by various authors. This brings up another difficulty. Different authors use different variable names. $\\mathbf{x}$ is fairly universal, but after that it is anybody's guess. Again, you need to read carefully, and hope that the author defines their variables (they often do not).\n", "\n", @@ -2901,16 +2901,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "- [1] http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html\n", - "\n", - "- [2] https://en.wikipedia.org/wiki/Kalman_filter\n", - "\n", - "- [3] Brown, Robert Grover. *Introduction to Random Signals and Applied Kalman Filtering* John Wiley & Sons, Inc. 2012\n", - "\n", - "- [4] `FilterPy` library. Roger Labbe.\n", - "https://github.com/rlabbe/filterpy\n", - "\n", - "- [6] 'Kalman Filters'. Wikipedia\n", + "- [1] 'Kalman Filters'. Wikipedia\n", "https://en.wikipedia.org/wiki/Kalman_filter#Details" ] } diff --git a/08-Designing-Kalman-Filters.ipynb b/08-Designing-Kalman-Filters.ipynb index 8eacef8..81795a6 100644 --- a/08-Designing-Kalman-Filters.ipynb +++ b/08-Designing-Kalman-Filters.ipynb @@ -280,6 +280,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "**Author's note: clean up ball example, add control input example.**\n", + "\n", "In the last chapter we worked with 'textbook' problems. These are problems that are easy to state, program in a few lines of code, and teach. Real world problems are rarely 'textbook'. In this chapter, and the remainder of the book, we will work with more realistic examples. \n", "\n", "We will begin by tracking a robot in a 2D space, such as a field or warehouse. 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", @@ -542,9 +544,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The measurement function $ \\mathbf{H}$ defines how we go from the state variables to the measurements using the equation $\\mathbf{z} = \\mathbf{Hx}$. In this case we have measurements for (x,y), so we will design $\\mathbf{z}$ as $\\begin{bmatrix}x& y\\end{bmatrix}^\\mathsf{T}$ which is dimension 2x1. Our state variable is size 4x1. We can deduce the required size for $\\textbf{H}$ by recalling that multiplying a matrix of size MxN by NxP yields a matrix of size MxP. Thus,\n", + "The measurement function $\\mathbf{H}$ defines how we go from the state variables to the measurements using the equation $\\mathbf{z} = \\mathbf{Hx}$. In this case we have measurements for (x,y), so we will design $\\mathbf{z}$ as $\\begin{bmatrix}x & y\\end{bmatrix}^\\mathsf{T}$ which is dimension 2x1. Our state variable is size 4x1. We can deduce the required size for $\\textbf{H}$ by recalling that multiplying a matrix of size MxN by NxP yields a matrix of size MxP. Thus,\n", "\n", - "$$ (2\\times 1) = (a\\times b)(4 \\times 1) = (2\\times 4)(4\\times 1)$$\n", + "$$(2\\times 1) = (a\\times b)(4 \\times 1) = (2\\times 4)(4\\times 1)$$\n", "\n", "So, $\\textbf{H}$ is 2x4.\n", "\n", diff --git a/09-Nonlinear-Filtering.ipynb b/09-Nonlinear-Filtering.ipynb index 7cdcf25..8d08771 100644 --- a/09-Nonlinear-Filtering.ipynb +++ b/09-Nonlinear-Filtering.ipynb @@ -60,9 +60,11 @@ " margin-top: 1em;\n", " display: block;\n", " white-space: wrap;\n", + " text-align: left;\n", " } \n", " h2 {\n", " font-family: 'Open sans',verdana,arial,sans-serif;\n", + " text-align: left;\n", " }\n", " .text_cell_render h2 {\n", " font-weight: 200;\n", @@ -72,8 +74,9 @@ " color:#c76c0c;\n", " margin-bottom: 0.5em;\n", " margin-top: 1.5em;\n", - " display: inline;\n", + " display: block;\n", " white-space: wrap;\n", + " text-align: left;\n", " } \n", " h3 {\n", " font-family: 'Open sans',verdana,arial,sans-serif;\n", @@ -86,7 +89,8 @@ " margin-bottom: 0.5em;\n", " margin-top: 2em;\n", " display: block;\n", - " white-space: nowrap;\n", + " white-space: wrap;\n", + " text-align: left;\n", " }\n", " h4 {\n", " font-family: 'Open sans',verdana,arial,sans-serif;\n", @@ -237,7 +241,7 @@ " },\n", " displayAlign: 'center', // Change this to 'center' to center equations.\n", " \"HTML-CSS\": {\n", - " scale:100,\n", + " scale:85,\n", " availableFonts: [\"Neo-Euler\"],\n", " preferredFont: \"Neo-Euler\",\n", " webFont: \"Neo-Euler\",\n", @@ -289,15 +293,15 @@ "\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 $2x+3=4$ you would trivially solve it. I could write a program to randomly generate linear equations and you would be able to solve every one.\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", - "So 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 our 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", + "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", - "So 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", + "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 delve into designing and implementing different kinds of nonlinear filters." + "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." ] }, { @@ -315,12 +319,11 @@ "\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:\n", - " 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", + "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 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", + "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", @@ -352,25 +355,25 @@ "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]. Consider a tracking problem where we get the range and bearing to a target, and we want to track its position. Suppose the 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. That is, each time we take a reading the range will be $50\\pm\\sigma^2_{range}$ and the angle will be $90\\pm\\sigma^2_{angle}$. Given an infinite number of measurements what is the expected value of the position?\n", + "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 300 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 triangle." + "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, + "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { - "image/png": "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\nw1tvvaVZs2bJ4XDI6XQqIyNDFRUV3dqR2ZdycnKUkJAgh8Mhh8Oh5ORk5efne7Uhr3t76623ZLfb\ntWrVKq/j/clsQIptm82mV155RTU1NZ7H9u3bvdpkZmaqrKxMhw4dUkFBgT799FMtWbJkILo3aP3m\nN79RUFCQpPYMOyMvb7NmzdKePXt07tw5HTp0SMYYPfvss7p7966nDZm1u3z5si5fvqxf/epXKi8v\n1x//+EcdPXpUL730klc78vLW1NSk5557Ths3brxnGzLzduDAAa1evVrr1q1TWVmZkpOTlZ6erurq\nan93ze9u3bqlJ554Qr/97W8VFhbW7Wf8li1b9Pbbb+vdd9/VyZMn5XQ6lZaWpsbGRj/12L8KCwu1\ncuVKFRcX6+OPP9aIESP07LPPqra21tOGzLzFxMRo69atKi0tVUlJiVJTU7Vw4UKdPn1aEnndzz/+\n8Q/t3LlTTzzxhNf3Zr8zMwNgzpw5ZuXKlfc8X1lZaWw2mykqKvIcO378uLHZbOazzz4biC4OOidO\nnDAxMTHm6tWrxmazmYMHD3rOkVfvTp8+bWw2m/n3v/9tjCGz3uTn5xu73W4aGhqMMeR1PydPnjQ2\nm81cvHjR6ziZdffNb37TZGdnex2Li4sza9eu9VOPBqfRo0ebPXv2eD5va2szUVFRZtOmTZ5jTU1N\nZsyYMWb79u3+6OKg09jYaIKCgsyHH35ojCGzvho7dqzZsWMHed1HXV2dmTx5svn73/9u5syZY1at\nWmWMebD32IDN2d6/f78ee+wxTZ8+XT/+8Y+9rgKKi4s1evRoJSUleY4lJydr1KhRKi4uHqguDhoN\nDQ3KzMzUzp079dhjj3U7T173d+vWLe3evVtxcXGaNGmSJDLrTX19vUJCQhQeHi6JvPqDzLy1tLTo\n008/1bx587yOz5s3T0VFRX7q1dBQVVUlt9vtlV1oaKhSUlLI7v9u3ryptrY2PfLII5LIrDetra3a\nv3+/mpublZKSQl73kZ2dre9+97uaPXu2TKcN+x4ksxGW9baTzMxMTZw4UV/96ldVXl6utWvX6syZ\nMzp06JAkqaampltRabPZ5HQ6VVNTMxBdHFR+8IMfaMGCBZo/f36P58mrZ7m5uXrjjTd069YtTZ48\nWR999JFGjGh/i5PZvdXV1ennP/+5srOzZbe3X3+Tl+/IzNv169fV2tqqcePGeR0P1Dx80ZFPT9ld\nvnzZH10adF577TXNmDHDc3FLZj07e/askpKSdPv2bYWFhSkvL09Tp071FIfk5W3nzp3673//q337\n9knynsL7IO+xfo9sr1u3rtuix66Po0ePSmpfvJaWlqb4+HgtXrxYeXl5+tvf/qaysrL+fvkhpy95\nFRYW6r333tOZM2e0detWSfJcVZkA3A7dl/eYJGVlZamsrEyFhYX6+te/rvT0dDU0NPjxFQwsX/OS\npMbGRr3wwgueuX2Bpj+ZAf7UdW53IPrRj36koqIiHTx4sE95BHJm06ZN05kzZ3TixAmtXLlS3/ve\n93Tq1Kn7PidQ8/rss8/0s5/9THv37vWslzPG9Kn+6i2zfo9sv/7661q6dOl928TExPR4/KmnnlJQ\nUJDOnz+vJ598UlFRUbp27ZpXG2OMrl69qqioqP52cVDpa15/+MMfVFlZqdGjR3udW7x4sZKTk3X0\n6NGAyEvy/T0WERGhiIgITZ48WYmJiXrkkUf0wQcfaOnSpQGRma95NTY2asGCBbLb7frwww8VHBzs\nORcIeUkP9nOsq0DJrK8effRRBQUFye12ex13u91yuVx+6tXQ0PF+cbvdio6O9hx3u90B+V7q7PXX\nX1deXp6OHDmiiRMneo6TWc9Gjhyp2NhYSdKMGTN08uRJ5eTk6Be/+IUk8uqsuLhY169fV3x8vOdY\na2urjh07pu3bt6u8vFxSPzOzYG55r8rKyozNZjPHjh0zxvS8sOiTTz7xWuAWKL744gtTUVHheZSX\nlxubzWbeeecdU1VVZYwhr75obm424eHhZteuXcYYMuvq5s2b5tvf/rZ55plnTGNjY7fz5HVvviyQ\nDPTMvvWtb/W4QPKnP/2pn3o0OPW0QNLlcnVbiBUREWF27Njhjy4OCq+++qpxuVzm3Llz3c6RWd/M\nnTvXLF261BhjyKuLurq6bvXXrFmzzMsvv2wqKioe6D1mebH9n//8x2zcuNGcOnXKVFVVmb/+9a9m\n2rRp5umnnzZtbW2edunp6eYb3/iGKS4uNkVFRWb69OkmIyPD6u4NCV13IzGGvDq7cOGC2bx5sykp\nKTEXL140n3zyiXnhhRfM2LFjzdWrVz3tyKzdzZs3TWJioomPjzfnz583V65c8TxaWlo87cjL25Ur\nV0xpaanZu3evsdlsJj8/35SWlpobN2542pCZtwMHDpjg4GDz+9//3lRWVppXX33VjBkzxly6dMnf\nXfO7xsZGU1paakpLS014eLj55S9/aUpLSz3ZbNmyxTgcDvOXv/zFnD171ixevNiMHz++x4vjQLBi\nxQoTERFhPv74Y6+fWZ3zIDNvb7zxhjl27JipqqoyZ86cMWvWrDF2u90cPnzYGENefTF79myv3fT6\nm5nlxXZ1dbWZPXu2+cpXvmJCQkLMlClTzOrVq01tba1Xu9raWpOVlWUiIiJMRESEWbJkiamvr7e6\ne0NCT8U2eX2purrapKenG6fTaYKDg01MTIzJysrqtt0ambU7cuSIsdlsxm63G5vN5nnY7XZTWFjo\naUde3tavX++VVce/nUckyay73NxcM3HiRBMSEmJmzpzp+YtmoOv4Puz6vbh8+XJPmw0bNhiXy2VC\nQ0PNnDlzTEVFhR977F89/cyy2Wxm48aNXu3I7EvLli0zEyZMMCEhIcbpdJq0tDRPod2BvO6v89Z/\nHfqTmc2YAFx5BwAAAAyAAdtnGwAAAAg0FNsAAACARSi2AQAAAItQbAMAAAAWodgGAAAALEKxDQAA\nAFiEYhsAAACwCMU2AAAAYBGKbQAAAMAi/wN3fZLVykGsSwAAAABJRU5ErkJggg==\n", + "image/png": "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\nKnk8Hu3bt09DhgzRk08+qY6ODrtm06ZNev/997VlyxYdOXJEERERWrBggbq7u/3YOW7l4MGD2r59\nu6ZOnerzc5E5BobOzk7Nnj1blmWpvLxcJ06c0JYtWxQREWHX9HmWZgCkpKSYwsLCW+43NDQYy7JM\nbW2tvVZTU2MsyzInT54ciBZxGw4fPmzGjx9v2trajGVZZvfu3fYeswxM5eXlxuVymQsXLhhjmGMg\nmTlzpsnNzfVZi4uLMwUFBX7qCH3R3d1tgoKCzN69e40xxni9XhMVFWU2bNhg11y6dMmEhYWZbdu2\n+atN3EJnZ6d58MEHzQ8//GDS0tJMXl6eMYY5BpKCggIzZ86cW+73Z5aOn9lua2vTwYMHFRUVpTlz\n5igyMlJz587Vvn377BqPx6ORI0cqJSXFXktNTVVoaKg8Ho/TLeI2XLhwQcuXL9f27dt1//3337DP\nLANTV1eXhg0bppCQEEnMMVBcuXJFR48e1cKFC33WFy5cqNraWj91hb44f/68vF6v7rnnHknS6dOn\n1dra6jPb4cOHa+7cucx2EMrNzdWyZcs0b948mX/c5I05Bo49e/Zo5syZysrKUmRkpKZNm6atW7fa\n+/2ZpeNhu6mpSZJUVFSkF198UZWVlXrssceUnp6u+vp6SVJLS8sNwc2yLEVERKilpcXpFnEbXnrp\nJS1atEjp6ek33WeWgaezs1NvvvmmcnNz5XJd+y+BOQaGc+fO6erVq4qMjPRZZ06BJz8/X9OmTbNf\n4F6fH7Md/LZv366mpiatX79eku+llcwxcDQ1Nam0tFQPPfSQKisrlZ+fr9dee80O3P2ZZZ/DdmFh\noVwu138+qqur5fV6JV0LaTk5OUpMTFRJSYlmzJihTz75pK9PjzuoN7OsqqrSF198ofr6er3zzjuS\nZL96N9yqfVDo7TH5T93d3Xr66ac1fvx4e64ABtYrr7yi2tpa7d69+4b3wNxMb2owME6ePKk33nhD\nX375pf0+JmNMr34uMsfBxev1KikpSSUlJUpMTFROTo5Wr17tc3b7Vnqa5ZC+NrV27VplZ2f/Z834\n8ePttP/www/77CUkJNhv4ImKilJ7e7vPvjFGbW1tioqK6muL6KXezvKzzz5TQ0ODRo4c6bOXlZWl\n1NRUVVdXM0s/6u0cr+vu7taiRYvkcrm0d+9eBQcH23vMMTDcd999CgoKUmtrq896a2uroqOj/dQV\nbsfatWu1c+dO7d+/XzExMfb69eOstbVV48aNs9dbW1s5BgcRj8ejc+fOafLkyfba1atXdeDAAW3b\ntk3Hjh2TxBwDwZgxY27IqpMmTdKZM2ck9e+Y7HPYHj16tEaPHt1jXUxMjMaMGaMTJ074rJ86dUqJ\niYmSpJSUFHV3d8vj8di/QvN4PLp48aJSU1P72iJ6qbezLCkp0bp16+zPjTGaMmWKNm/erMWLF0ti\nlv7U2zlK1669z8jIkGVZ+uabb+xrta9jjoEhODhYSUlJqqys1NKlS+317777TsuWLfNjZ+iN/Px8\n7dq1S/v379fEiRN99mJjYxUVFaXKykolJSVJki5fvqyamhq99957/mgXN7FkyRLNnDnT/twYoxde\neEETJ07U66+/rri4OOYYIGbPnn3TrHr9RXC/jsl+vnmzVz744APjdrvNrl27TGNjoykpKTHBwcGm\nvr7ersnIyDBTpkwxHo/H1NbWmkceecRkZmYORHvoh3/fjcQYZjnYnT9/3syaNctMnjzZNDY2mubm\nZvtx5coVu445BoaysjITHBxsPv30U9PQ0GBWr15twsLCzJkzZ/zdGv7DypUrTXh4uNm3b5/PMdjd\n3W3XbNq0ybjdbvPVV1+Zn3/+2WRlZZmxY8f61GDwmTdvnlm1apX9OXMMDEeOHDFDhw41JSUlprGx\n0ezcudO43W5TWlpq1/R1lgMSto251uCECRNMaGioefTRR83333/vs9/R0WGee+45Ex4ebsLDw82K\nFStMV1fXQLWHPrpZ2GaWg9v+/fuNZVnG5XIZy7Lsh8vlMlVVVXYdcwwcpaWlJiYmxgwbNswkJyeb\nAwcO+Lsl9OBmx6BlWebtt9/2qSsuLjbR0dFm+PDhJi0tzRw/ftxPHaO3/nnrv+uYY2D4+uuvTWJi\nohk+fLiJj483H3300Q01fZmlZQzvbgMAAACcMGB/rh0AAAD4vyFsAwAAAA4hbAMAAAAOIWwDAAAA\nDiFsAwAAAA4hbAMAAAAOIWwDAAAADiFsAwAAAA4hbAMAAAAO+RtSPd1eL4ApLgAAAABJRU5ErkJg\ngg==\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -378,21 +381,19 @@ } ], "source": [ + "import numpy as np\n", "from numpy.random import randn\n", "import matplotlib.pyplot as plt\n", - "import math\n", "\n", - "xs, ys = [], []\n", - "N = 300\n", - "for i in range (N):\n", - " a = math.pi / 2. + (randn() * 0.35)\n", - " r = 50.0 + (randn() * 0.4)\n", - " xs.append(r*math.cos(a))\n", - " ys.append(r*math.sin(a))\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')\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='v', s=400, label='Intuition')\n", + "plt.scatter(0, 50, c='k', marker='o', s=400, label='Intuition')\n", "plt.axis('equal')\n", "plt.legend(scatterpoints=1);" ] @@ -887,7 +888,7 @@ "\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, but it is 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", + "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", @@ -904,7 +905,7 @@ "source": [ "## References\n", "\n", - "[1] https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb" + "[1] https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Supporting_Notebooks/Computing_and_plotting_PDFs.ipynb" ] } ],