spell check

This commit is contained in:
Roger Labbe committed 2015-02-16 10:29:02 -08:00
1 parent ad437f7539
commit 86583251c7
1 file changed
+94 -100
+94 -100
View File
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:07a79868f0ef4ab56ad65c6b1f80c568e5f0582b0890f6f2e5a747b7523224d5"
"signature": "sha256:01b730acd3b00473e0fe4652cf7023ecc7dbd6f08add98adf0b878a297e423e1"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -16,11 +16,10 @@
]
},
{
"cell_type": "heading",
"level": 1,
"cell_type": "markdown",
"metadata": {},
"source": [
"The Extended Kalman Filter"
"#The Extended Kalman Filter"
]
},
{
@@ -257,13 +256,13 @@
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"prompt_number": 2,
"text": [
"<IPython.core.display.HTML at 0x7f9167bfa2e8>"
"<IPython.core.display.HTML at 0x7f1abad6e710>"
]
}
],
"prompt_number": 1
"prompt_number": 2
},
{
"cell_type": "markdown",
@@ -271,7 +270,7 @@
"source": [
"**Author's note: this is still being heavily edited and added to - there is a lot of duplicate material, incorrect code, and so on. The examples are just a brain dump, not fully formulated and not ready to be used.**\n",
"\n",
"**The Uncented Kalman filter (UKF) chapter is much further along. The UKF is almost always better performing than the Extended Kalman filter, and is much easier to implement, so if you have an urgenet need for nonlinear Kalman filter I'll point you towards that chapter for now.**\n",
"**The Unscented Kalman filter (UKF) chapter is much further along. The UKF is almost always better performing than the Extended Kalman filter, and is much easier to implement, so if you have an urgent need for nonlinear Kalman filter I'll point you towards that chapter for now.**\n",
"\n",
"The Kalman filter that we have developed to this point is extremely good, but it is also limited. Its derivation is in the linear space, and hence it only works for linear problems. Let's be a bit more rigorous here. You can, and we have in this book, apply the Kalman filter to nonlinear problems. For example, in the g-h filter chapter we explored using a g-h filter in a problem with constant acceleration. It 'worked', in that it remained numerically stable and the filtered output did track the input, but there was always a lag. It is easy to prove that there will always be a lag when $\\mathbf{\\ddot{x}}>0$. The filter no longer produces an optimal result. If we make our time step arbitrarily small we can still handle many problems, but typically we are using Kalman filters with physical sensors and solving real-time problems. Either fast enough sensors do not exist, are prohibitively expensive, or the computation time required is excessive. It is not a workable solution.\n",
"\n",
@@ -284,11 +283,10 @@
]
},
{
"cell_type": "heading",
"level": 2,
"cell_type": "markdown",
"metadata": {},
"source": [
"The Problem with Nonlinearity"
"##The Problem with Nonlinearity"
]
},
{
@@ -304,7 +302,7 @@
"\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",
"\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 multipy 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",
"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 a 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",
@@ -323,11 +321,10 @@
]
},
{
"cell_type": "heading",
"level": 2,
"cell_type": "markdown",
"metadata": {},
"source": [
"The Effect of Nonlinear Transfer Functions on Gaussians"
"##The Effect of Nonlinear Transfer Functions on Gaussians"
]
},
{
@@ -356,19 +353,19 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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\n9fVp8+bNamxsVGNjox599FGFw+EivEUAAAAApWjUsPKnP/1JP/7xj9XR0aE333xTXq9XK1asUF9f\nX77NM888o2effVYHDx7Uu+++K5/Pp5UrV6q/vz/fZseOHXr11Vf18ssv6+2331YkEtHatWuVzWbz\nbTZt2qSzZ8/q+PHjOnbsmM6cOaPNmzdPwVsGAAAAUAq8o9157NixguuHDx9WQ0ODTp06pe9///uy\nbVv79+/X7t27tWHDBknSoUOH5PP5dPToUW3dulXhcFgvvviiXnrpJd1///3555k/f77eeOMNrVq1\nSufOndPx48f1zjvv6Pbbb5ckPf/887rzzjv18ccf66abbpqK9w4AFcWyLHm9ox72AQBwlQnNWYlE\nIspms7r22mslSRcuXFAgENCqVavybWpra3XXXXfp1KlTkqTTp08rnU4XtGlra9PixYvV0dEhSero\n6NDMmTO1fPnyfJv29nbV19fn2wAAJoeJ+ACAUjOhn9iefPJJ3XrrrflQ0d3dLUlqaWkpaOfz+dTZ\n2Zlv4/F41NzcXNCmpaUl//ju7m7Nnj274H7DMOTz+fJthvPee+9NpHxgTHymMBWm+nPV1NSk3t7e\norVD6eCYhanA5wrFtHDhwkk9ftxhZefOnTp16pROnjwpwzDGbD9WG9u2x/vSAFDx6urqlEgk8ter\n6wc7xlOx7EgPGfdzAQDgVuMKKz/5yU/0m9/8Rn/84x91ww035G9vbW2VJAUCAbW1teVvDwQC+fta\nW1uVyWQUCoUKelcCgYDuvvvufJuenp6C17RtW8FgMP88w1m2bNl4ygfGlPsVic8UiqmYn6tkMqna\n2tr89ffPvyfTMDW32aema3y68cYbC9p3Bv2SpLm+6wue48Ybb7ziuYZrC3fjmIWpwOcKU2Gyq/uO\nOWflySef1CuvvKI333zzionuCxYsUGtrq06cOJG/LZlM6uTJk2pvb5ckLV26VFVVVQVtLl68qI8+\n+ijfZvny5erv7y+Yn9LR0aFYLJZvAwAoFI2HFYoE89c7g/588AhFggX3jWYibQEAmE6j9qw88cQT\nOnLkiH7729+qoaEhP39k1qxZqq+vl2EY2rFjh55++mktWrRICxcu1L59+zRr1ixt2rRJktTQ0KAt\nW7Zo165d8vl8ampq0s6dO3XLLbdoxYoVkqTFixdr9erV2rZtm1544QXZtq1t27bpwQcfnPQ4NwCo\nFLnAMbSHJBdeJKnKU1PQowIAgNuNGlaee+45GYaRX3I4Z+/evfrZz34mSdq1a5cSiYSeeOIJ9fX1\n6Y477tCJEydUX1+fb79//355vV5t3LhRiURCK1as0JEjRwrmtRw9elTbt2/XAw88IElav369Dh48\nWLQ3CgDlYGj4kCTTMBWNhUcMIV+EA/ljbY23TunMgJqu8Q37XAAAuM2oYWXopo2j2bNnj/bs2TPi\n/dXV1Tpw4IAOHDgwYpvGxkYdPnx4XK8HAJWmp69LHo/niuFasURUibrYiI+zbTsfViLxXg1YiXxY\nYegXAMDtJrTPCgDAGb3RnmHDhWleeRjvDPqVSidVU1U35vOahqlUemDUNkPnwgAAMJ3YyhgAykwo\nElTaSku2lMlYMs3qgvt7+rqUSg8olU4qbaXl9Yx+KhhuLgwAANOBsAIAJejyvapyvSnVVV/PXYnE\nh98Asjfao7Q1ICtjyTS+7plhCWMAgNswDAwAStDlYSXfmzJBQ4eRhSJB9SeiBffnQhAAAE4grACA\nC13tPJGR5qlcHm5GZBeuEna1IQgAgGIgrACAC13tRo21kwwrkXgvq4QBAFyDsAIAZcI0TCVTiaIN\n27IsqyjPAwDA1SKsAIBL5YZ0dQb9ymS+Dg6mYRZcz99umorEeyc9bMs0THUG/YQVAIDjCCsA4DK5\nSe25IV2hSFBZO5O/PxoPF1wvtmg8zFAwAIArEFYAwGWKMal96JLEAACUKs5mAOBSyVSiYGWukVb6\nGm6eynA72wMAUGrYFBIAXKIz6FciGVcqnZRpDM4/GbASXzewNezk+Ui8V1bGGnEnetMwlc6kRn3t\nwcn58UnVDwBAsRFWAMBBlmXJ6x08FIciQQ2kElcEj9yyw7lQMlHReHjEIDO0jWmYV/TIDF3ymB3u\nAQDTjXECAOCgrp7PR9380TRMWZfNX5mq+SiXB5Wevq78a3vNanWF/Ey8BwBMK8IKADioN9qTDwDD\nbdw43Mpf0zEfxTRM9XzZlX/tWDI87KR/ljcGAEwlwgoAOCw3cX68u8xPh7GWR86FFMIKAGAqEVYA\nwGG1I6zyNRVG2lByoggpAIDpQFgBgGk23Bf9y3epnyrj2VByPHNievq6Rp1rAwBAMbAaGABMs1xY\nya0CJl25S72TTNNUNpMdtU1vtEemaSqTycjj8bBCGABgStCzAgAOKJdhVEMXCAAAoNgIKwLine truncated
"png": "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\nbNSjjz6qcDg8CS8RAAAAQCkaMaz8+c9/1k9+8hN1dHTozTffVFVVlZYvX67e3l6rzTPPPKNnn31W\nBw4c0Lvvviufz6cVK1boypUrVpvt27fr1Vdf1csvv6y3335bkUhEa9asUS6Xs9ps3LhRZ86c0bFj\nx3T06FGdPn1amzZtKsJLBgAAAFAKqka68ejRowV/Hzp0SA0NDTp58qR+8IMfyDRN7du3T7t27dL6\n9eslSQcPHpTP59ORI0e0ZcsWhcNhvfjii3rppZd0//33W48zb948vfHGG1q5cqXOnj2rY8eO6Z13\n3tHtt98uSXr++ed155136uOPP9ZNN91UjNcOAGWnK9ApSZrju8HmSgAAmLhxzVmJRCLK5XKaOXOm\nJOn8+fPy+/1auXKl1cbr9equu+7SyZMnJUmnTp1SOp0uaNPW1qZFixapo6NDktTR0aFp06Zp2bJl\nVpv29nbV19dbbQAAowtGAgpGAnaXAQDApBixZ2WwJ598UrfeeqsVKrq7uyVJLS0tBe18Pp+6urqs\nNm63W01NTQVtWlparPt3d3erubm54HaXyyWfz2e1Gcp77703nvKBUfGeQjFM5fsq5Y6O+Tlra2uV\nSCSKXRKKiHMWioH3FSbTggULJnT/MYeVHTt26OTJkzpx4oRcLteo7UdrY5rmWJ8aAFAEhBUAgNON\nKaz89Kc/1W9/+1v96U9/0o033mgdb21tlST5/X61tbVZx/1+v3Vba2urstmsgsFgQe+K3+/X3Xff\nbbXp6ekpeE7TNBUIBKzHGcrSpUvHUj4wqvxVJN5TmEx2vK/eP9f/nN/+5ujPmUwm9Y1vfKPYJaEI\nOGehGHhfoRgmurrvqHNWnnzySb3yyit68803r5roPn/+fLW2tur48ePWsWQyqRMnTqi9vV2StGTJ\nElVXVxe0uXDhgj766COrzbJly3TlypWC+SkdHR2KxWJWGwDA+GUymQndDgCAnUbsWXniiSd0+PBh\n/e53v1NDQ4M1f2T69Omqr6+Xy+XS9u3b9fTTT2vhwoVasGCB9u7dq+nTp2vjxo2SpIaGBm3evFk7\nd+6Uz+fTrFmztGPHDt1yyy1avny5JGnRokVatWqVtm7dqhdeeEGmaWrr1q168MEHJzzODQAqQSaT\nUVXV1af04Y6P9XYAAOw04ifUc889J5fLZS05nLdnzx79/Oc/lyTt3LlTiURCTzzxhHp7e3XHHXfo\n+PHjqq+vt9rv27dPVVVV2rBhgxKJhJYvX67Dhw8XzGs5cuSItm3bpgceeECStG7dOh04cGDSXigA\nlDNCBwCgHI34yTZw08aR7N69W7t37x72do/Ho/3792v//v3DtmlsbNShQ4fG9HwAgNH3VBk8xGs8\ne7CwXwsAwAm4DAcAJSbfi5LfT2WO7wb19F5SXzqpVDopT7XXaid9HTwuh/1yuVxjCiADHxsAALsQ\nVgCgxAw15CsU7VGiLyZJVljp6b0kr6fOCimmacptuNUV6CSEAABKwrh2sAcAlI5QtEe90cvKZNLW\nsWg8fNUO912BTqv3BQAAJyGsAIBDDQwRQ80/SaWTQ96vprrW+j0SDylnZods19N7SdFYf3gZHGAA\nAHACwgoAONTAEDE4rAQjAWWzQ4cQ74CwMpxMJlMwdAwAACcirABACekKdCoaC8s0TRnG+E/hhqv/\nPoPDj+EyGAoGAHAcwgoAONjgEBGMBJToi8k0TetYV6BT2ezYdqIfLuAMNZcFAAC7sRoYADjMwHAS\njYeVM3OaNcNnHUumEgXhJBgJXDUvZbQA09N7SdlsRslUQql00upxAQDASQgrAOAwo/VwROKhMT3G\ncBPrpf6VwnJmVpF4SJlsRlXuoT8OhlomGQCAqcInEACUuIFDwibaQ9IV6FQ8GbM2l8xkMgqEuiSx\nQSQAYOoRVgDAwQyX0T9vpedzeWuGXuWrIKxcw6T7gYKRgGKJqKT+zSV7ei8p8OVFeaq9hBUAwJQj\nrACAAxkuQ8lUXIZhKBoPK9EXU03f1WHFcBlKZ1MFx/LzUEZrNxahaI/SmbQ81V5JDAsDAEwtZlQC\ngANF42GlB+w8L/UHjsEhpH8CfuHclEg8dNV9h2o3GsNlFEzS7wp0qjccHNdjAAAwEYQVACgRQwWY\nYj/fwICTXzYZAICpQlgBAAfoCnRaSxbn56BM9XLCNV/tfM8yxgAAp2DgMQA4wMDlijNf9Z4Mnixv\nuAzlzFzRavBW16ovneh/3pwKnis/hwYAgKnE5TMAcJCR9keZ6Epf4zH4ufJD0JKphNUDNLA3CACA\nYiCsAECFGTxxPm+oVcQGi8RDVi9QMBIYdQNLAAAmgrACAFMsk8kM+Xt+zkixDbcy2FCriAEAYCfC\nCgBMscFhJf+3d4rCyrUYadI9w8EAAMXCBHsAsFFP7yWlM6lRh1/ZzTAM5bJDT+7PDwVjh3Line truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914ad4bcf8>"
"<matplotlib.figure.Figure at 0x7f1aa26a6780>"
]
}
],
"prompt_number": 2
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is an unsuprising result. The result of passing the Gaussian through $f(x)=2x+1$ is another Gaussian centered around 1. Let's look at the input, transfer function, and output at once."
"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, transfer function, and output at once."
]
},
{
@@ -388,19 +385,19 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914ad4bc18>"
"<matplotlib.figure.Figure at 0x7f1aa26a6668>"
]
}
],
"prompt_number": 3
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The plot labelled '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 to the upper right. 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. 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.\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 to the upper right. 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. 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.\n",
"\n",
"Now let's look at a nonlinear function and see how it affects the probability distribution."
]
@@ -422,19 +419,19 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAAxgAAAGaCAYAAACMmuWeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYVFf6B/DvnV5gho6AiKA0EbGAUWIBe4vRuKYaoyYx\nzY2mbLLJGkviL2aN66ZsNskmu5Y0E00sMXbFLgo2VIodkSZ1GIbpc39/DIwMAwg6MDPwfp6HZ7jn\nnrn3vSPeM+89957DsCzLghBCCCGEEELsgOPoAAghhBBCCCEdByUYhBBCCCGEELuhBIMQQgghhBBi\nN5RgEEIIIYQQQuyGEgxCCCGEEEKI3VCCQQghhBBCCLEbSjAIIYQQQmp9/vnniImJgUQiAYfDwdKl\nSx0SR3p6OsaMGQM/Pz9wOByEhoY6JA574HA4SE5OdnQYpB1RgkE6PWc4ca9Zs8ahDRkhhLTWgQMH\nwOFwMHv2bEeHYjfr16/H/PnzYTQaMX/+fCxZssQhX4yrqqowceJEHD58GFOnTsWSJUvw2muvtXsc\nLdWSdpRhmHaKhjgDnqMDIMQZOMuJz1niIISQlupI561t27YBANatW4eBAwc6LI6TJ0+ipKQEL774\nIv797387LI7WaO7vIDs7GxKJpB2jIY5GCQYhToRlWUeHQAghrdKRzlsFBQUAAH9/f4rDjiIiIhwd\nAmlndIsUcQm//fYbkpOTIZfLIRaL0atXLyxevBgqlcqqXvfu3Zvspq27DWnt2rUA7nTvA8CNGzfA\n4XAsP/W7/Ou6fhUKBV5++WUEBgZCLBajd+/ejV5ZqttuU7c7JSUlWfYLALNmzcKcOXMAAEuXLrWK\n49ChQ634lAghpH0sWbIEI0aMAACsXbvW6rzV8Bw7e/Zs5OTkYPr06fD19QWXy0VGRgYAICUlBXPn\nzkWvXr0gl8shkUjQu3dvLFmyBBqNptH91u0jJSUFSUlJkMlkkMvlmDRpErKzs23ec/v2bbz11luI\nioqCm5sb5HI5IiIi8NRTT1niqNvugQMHAAChoaGW46nvypUreO655xASEgKRSAQ/Pz888sgjOHPm\nTLOxbt++HcOGDYNMJoOXl1eTn2tdWzRr1iwA1m3CunXrANi2IfU11f7UvSc3Nxdff/01YmNjIRaL\n0aVLF7zwwguoqqpqdHv5+flYsGABIiIiIJFI4OXlhfj4eCxevBgGg6FV7Whjt5oplUosXLgQUVFR\nEIvF8PT0xMiRI7F169YmP5vk5GSUlZVh7ty5CAgIgEgkQu/evbFmzZomP1fS/qgHgzi9RYsWYdmy\nZfD29saTTz4JDw8P7N69Gx988AG2bt2Kw4cPw83NzVL/bt31detDQ0OxePFiLF26FHK53Or+1r59\n+1q9R6fTYdSoUVAqlZgxYwY0Gg02bNiAefPm4dKlS/jkk0+a3E9zMQDA1KlToVAosGXLFiQlJSEp\nKcmyLiQkpNljIYQQR0hOTkZubi7Wrl2Lvn37YsqUKZZ1/fr1s6p75coVDBo0CL169cIzzzyDqqoq\ny+0yK1asQE5ODhITE/HQQw9Bo9HgyJEjeP/995GSkoL9+/eDy+Xa7H/btm3YsmULJkyYgJdeegkX\nL17E9u3bkZaWhszMTHh7ewMAampqkJiYiGvXrmHUqFGYPHkyAODmzZvYt28fRo4ciT59+iA5ORkM\nw2DNmjXIzc3FggUL4OHhYbXP/fv34+GHH4ZOp8OkSZMQHh6OW7du4bfffsOOHTuwZcsWjBkzxibW\nDRs2YNeuXZg0aRJeeeUVFBcXN/m5enp6YvHixTh79qxNm1C/XWppO9fQX/7yF+zevRuTJ0/GuHHj\nsH//fnzzzTe4cuUK9u3bZ1U3PT0d48aNQ3l5OYYNG4ZHHnkEGo0GWVlZ+Oijj/DGG2+0qh1tGJNC\nocCQIUNw8eJF9O/fHwsWLEBFRQU2bNiAKVOmYOnSpXjvvfdsjqGyshIPPvgghEIhHn30UWi1Wvzy\nyy+YM2cOOBwOZs6c2exnQ9oJS4gTO378OMswDBscHMwWFhZarXvmmWdYhmHYefPmWcpCQkLY0NDQ\nRre1evVqlmEYdu3atVblDMM0+Z669QzDsEOHDmV1Op2lvLS0lA0NDWUZhmGPHTtmKU9JSWEZhmGX\nLl3a6PaGDx/OcjicRmNr6j2EEOJsDhw4wDIMw86ePbvR9XXnQoZh2IULFzZa59q1a42Wv/feeyzD\nMOz69eutyhcvXswyDMPy+Xx2//79VuveeecdlmEYdsWKFZayrVu3sgzDsK+99prNPkwmE1tZWWlV\nNnz4cJZhGDY3N9eqvLKykvX29mZ9fHzYrKwsq3VZWVmsu7s7GxgYyGq1WptYuVwuu2vXrkaPsynN\ntQmNtSF1mmp/6o4rJCSEzcvLs5QbDAZ22LBhLMMw7MmTJy3lWq2W7d69O8vhcNjvvvvOZj/FxcWs\nwWCwLLekHU1OTrYqe/HFF1mGYdhnn33WqvzWrVtsQEAAy+Fw2LS0NEv59evXLX9Pzz//PGsymSzr\nMjMzWR6Px/bq1avJGEj7olukiFP773//CwB499130aVLF6t1K1asgEgkwpo1a2A0Gts0DoZhsHz5\ncvD5fEuZt7c33nnnHQDA6tWr23T/hBDibNgWPnvRpUsXLFq0qNF1Td3SumDBAgDAnj17Gl3/+OOP\n29xyM3fuXABAWlqaTX2RSGRTxjAM5HJ504HXs27dOpSXl2Px4sWIioqyWhcVFYXnnnsOhYWFNr0A\nAPDwww832rPhCIsWLULXrl0ty1wu13IrU/3P7ffff0dubi4mTJiAGTNm2GzHz8+v0Z6lltLr9Vi3\nbh2kUilWrFhhtS4oKAjvvvsuWJbFt99+a/NeqVSKVatWWfWIREdHIzExEdnZ2aipqbnnuIj90C1S\nxKmdPn0aACz3+tbn5+eH2NhYpKWl4dKlS4iOjm6zOHg8HhITE23Khw8fDgA4e/Zsm+2bEEJcWVxc\nnNXFmfpUKhU+/fRTbNq0CZcuXUJ1dbVV4pKfn9/o++Lj423K6r44V1RUWMqSkpIQFBSEv//970hP\nT8eECRPw4IMPon///q36gnz06FEAwLlz57BkyRKb9Tk5OQCArKwsjB8/3mqdI0ejaqiln1tqaioA\n2ByLvWRnZ0OtVmPQoEGNPpMyatQoAGj02Zbw8HCr26LrBAcHg2VZVFRU0IhVToASDOLUFAoFGIax\n6b2oExAQAMB8T2Zb8vHxafSeVj8/PwDmOAkhhNhq6vyt1+sxYsQIpKWlITY2Fk888QR8fX3B5/PB\nsiyWLl0KrVbb6HsbPh8BmC8EAbDq0XZ3d8eJEyewdOlSbN26FXv37rW8f86cOfjggw8gFovvegxl\nZWUA7vSqN4ZhGJuBR4Cmj98RWvq51bWpQUFBbRJHXZvZ1GdTV95Y297YMQCNHwdxHEowiFOr674u\nLCyETCazWV9YWGhVj8PhwGAwNLqt+0lCSktLwbKsTZJR97Be/W72uhE12iIOQghxNU09cLxlyxak\npaVh9uzZNl/cCwsL7TbxaGBgIL7++mt8/fXXyMnJwYEDB/DVV19h1apVqKioaDZpqFN3jj99+rTN\nw8t3Y+95QuraGJPJZDOalL3al7ov8bdu3bLL9hqq+zyLiooaXd+wbSeuh57BIE5twIABYFkWKSkp\nNutu376NCxcuwM3NDZGRkQDMI3AUFxc3+uW+sftyAfPJ/25XPAwGg6WLvL6DBw8CsB41xdPTE4B5\nlJKGFAoFLl26ZFNe11VPV14IIa7ifs9bV65cAQA88sgjNuvqzq32FhkZiRdeeAGHDx+GQCDA5s2b\nW/S+ultknWHocE9PT7As22gb01Q711qDBw8GAOzYsaNF9VvSjtYXHR0NsViM8+fPW3qH6qt7lmXA\ngAEt3iZxLpRgEKdWNz/Ehx9+aDW0H8uyePvtt6FWq/HMM89YGrpBgwZBr9fjm2++sdrOrl27sH79\n+kb34e3tjZKSkkbHXK+/v3fffRc6nc5SVlpaiuXLl4NhGKvxvqOjoyGXy7F582armA0GAxYsWNDo\nfnx8fAAAubm5TcZACCHOpG4o2Hs9b9U94N3wAtK1a9fw9ttv319wtTIzMxu9Sl5aWgq9Xt/ovfqN\n9TjMnj0bnp6e+OCDDyzPJ9THsiyOHDkCvV5vl7ibM2jQIADAl19+aVV+9uxZfPrpp02+rzU9KQ89\n9BC6d++O7du34/vvv7dZX1xcbJVQtKQdrY/H42HmzJlQqVSWwVLqFBQUYPny5eBwOJbvAMT10C1S\nxKkNGjQI77zzDpYvX47evXtj+vTpkMlk2LNnD86cOYM+ffpg+fLllvqvvvoqVq9ejXnz5mH//v3o\n3r07MjMzsWfPHkybNg0bN2602ceYMWPw448/Yty4cRg6dCiEQiH69u2LSZMmWeoEBARArVYjNjYW\nkydPhkajwcaNG1FcXIz58+dbTviA+cT52muvYcmSJejXrx+mTJkChmGQkpIChmEQFxeHc+fOWcWQ\nmJgIqVSK9evXg8/no1u3bmAYBjNnzkS3bt3a4JMlhJD7ExUVheDgYBw+fBgzZsxAeHg4uFwuHn74\nYcTGxt71/Q899BB69uyJVatW4fz58+jbty9u3ryJP/74A5MmTWryolBr7N69G2+++SYSExMRHh4O\nf39/FBUVYcuWLQBg8+UWaHx0LE9PT/z666+YMmUKEhMTMWLECPTq1Qt8Ph95eXk4ceIE8vLyUFlZ\n2eQD7fYyZ84crFy5Eh9//DEyMjIQGxuLa9eu4ffff8e0adOa/NxaOuoXAPD5fGzYsAFjx47FzJkz\n8e233+KBBx6ATqdDTk4O9u3bh5KSEsutyy1pRxv66KOPcPjwYXz77bc4c+YMRo4cicrKSmLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914bb762e8>"
"<matplotlib.figure.Figure at 0x7f1aa2298ba8>"
]
}
],
"prompt_number": 4
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This result may be somewhat suprising to you. The transfer 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",
"This result may be somewhat surprising to you. The transfer 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",
"$$\\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",
@@ -458,19 +455,19 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAAxgAAAGaCAYAAACMmuWeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdcU+f+B/DPySAkhIQQ9hBQGYI4ceGedddx7b5W7R73\nase9vfVaR9tbe21/vR23t+1tb7V22WKHo27FVReoOJgCsjeEJIyQdX5/AJGYoKCBJPB9v155JXme\nk3O+J+J58j3nPM/DsCzLghBCCCGEEEJsgGPvAAghhBBCCCE9ByUYhBBCCCGEEJuhBIMQQgghhBBi\nM5RgEEIIIYQQQmyGEgxCCCGEEEKIzVCCQQghhBBCCLEZSjAIIYQQQlp89NFHiImJgUgkAofDwYYN\nG+wSR3JyMmbMmAEfHx9wOByEhYXZJQ5b4HA4mDx5sr3DIN2IEgzS6znCgXvLli12bcgIIaSzjh49\nCg6Hg+XLl9s7FJvZtm0bVq5cCYPBgJUrV2L9+vV2+WGsUqkwZ84cnDhxAgsXLsT69evxwgsvdHsc\nHdWRdpRhmG6KhjgCnr0DIMQROMqBz1HiIISQjupJx63du3cDALZu3YqRI0faLY5z586hsrISTz/9\nNP7zn//YLY7OuNXfQUZGBkQiUTdGQ+yNEgxCHAjLsvYOgRBCOqUnHbdKSkoAAL6+vhSHDUVERNg7\nBNLN6BYp4hR+/vlnTJ48GVKpFEKhENHR0Vi3bh3q6+vNlgsNDW33Mm3rbUhfffUVgBuX9wEgLy8P\nHA7H9Gh7yb/10q9SqcSzzz6LgIAACIVCDBw40OqZpdb1tne706RJk0zbBYBly5ZhxYoVAIANGzaY\nxXH8+PFOfEuEENI91q9fjylTpgAAvvrqK7Pj1s3H2OXLlyMzMxNLliyBt7c3uFwuLl++DABITEzE\nk08+iejoaEilUohEIgwcOBDr16+HRqOxut3WbSQmJmLSpEmQSCSQSqWYO3cuMjIyLD5TUVGBv/71\nr4iKioJYLIZUKkVERAQefvhhUxyt6z169CgAICwszLQ/bWVnZ+Pxxx9HSEgIXF1d4ePjg0WLFuHi\nxYu3jHXPnj2YMGECJBIJPD092/1eW9uiZcuWATBvE7Zu3QrAsg1pq732p/Uz+fn5+OyzzxAbGwuh\nUAg/Pz889dRTUKlUVtdXXFyMVatWISIiAiKRCJ6enoiLi8O6deug1+s71Y5au9VMrVZjzZo1iIqK\nglAohEwmw9SpU7Fz5852v5vJkyejuroaTz75JPz9/eHq6oqBAwdiy5Yt7X6vpPvRFQzi8NauXYs3\n33wTcrkcDz30EDw8PHDgwAG88cYb2LlzJ06cOAGxWGxa/naX61vrw8LCsG7dOmzYsAFSqdTs/tYh\nQ4aYfUar1WLatGlQq9V45JFHoNFokJCQgOeffx5ZWVl4//33293OrWIAgIULF0KpVGLHjh2YNGkS\nJk2aZKoLCQm55b4QQog9TJ48Gfn5+fjqq68wZMgQLFiwwFQ3dOhQs2Wzs7MxevRoREdH49FHH4VK\npTLdLrNp0yZkZmYiPj4e8+bNg0ajwcmTJ/H6668jMTERR44cAZfLtdj+7t27sWPHDsyePRvPPPMM\nUlNTsWfPHiQlJSEtLQ1yuRwA0NDQgPj4eOTm5mLatGmYP38+AKCgoACHDx/G1KlTMWjQIEyePBkM\nw2DLli3Iz8/HqlWr4OHhYbbNI0eO4N5774VWq8XcuXMRHh6OoqIi/Pzzz9i7dy927NiBGTNmWMSa\nkJCA/fv3Y+7cuXjuuedQXl7e7vcqk8mwbt06pKSkWLQJbduljrZzN/vLX/6CAwcOYP78+Zg5cyaO\nHDmCzz//HNnZ2Th8+LDZssnJyZg5cyZqamowYcIELFq0CBqNBunp6Xj77bfx0ksvdaodvTkmpVKJ\ncePGITU1FcOGDcOqVaugUCiQkJCABQsWYMOGDXjttdcs9qG2thZjx46FQCDAfffdh6amJvz4449Y\nsWIFOBwOli5desvvhnQTlhAHdvr0aZZhGDY4OJgtLS01q3v00UdZhmHY559/3lQWEhLChoWFWV3X\n5s2bWYZh2K+++sqsnGGYdj/TWs8wDDt+/HhWq9WayquqqtiwsDCWYRj21KlTpvLExESWYRh2w4YN\nVtc3ceJElsPhWI2tvc8QQoijOXr0KMswDLt8+XKr9a3HQoZh2DVr1lhdJjc312r5a6+9xjIMw27b\nts2sfN26dSzDMCyfz2ePHDliVvfqq6+yDMOwmzZtMpXt3LmTZRiGfeGFFyy2YTQa2draWrOyiRMn\nsgzDsPn5+WbltbW1rFwuZ728vNj09HSzuvT0dNbd3Z0NCAhgm5qaLGLlcrns/v37re5ne27VJlhr\nQ1q11/607ldISAhbWFhoKtfr9eyECRNYhmHYc+fOmcqbmprY0NBQlsPhsF9//bXFdsrLy1m9Xm96\n35F2dPLkyWZlTz/9NMswDPvYY4+ZlRcVFbH+/v4sh8Nhk5KSTOXXr183/T098cQTrNFoNNWlpaWx\nPB6PjY6ObjcG0r3oFini0P73v/8BAFavXg0/Pz+zuk2bNsHV1RVbtmyBwWDo0jgYhsHGjRvB5/NN\nZXK5HK+++ioAYPPmzV26fUIIcTRsB/te+Pn5Ye3atVbr2rulddWqVQCAgwcPWq1/4IEHLG65efLJ\nJwEASUlJFsu7urpalDEMA6lU2n7gbWzduhU1NTVYt24doqKizOqioqLw+OOPo7S01OIqAADce++9\nVq9s2MPatWsRFBRkes/lck23MrX93nbt2oX8/HzMnj0bjzzyiMV6fHx8rF5Z6iidToetW7fCzc0N\nmzZtMqsLDAzE6tWrwbIsvvjiC4vPurm54b333jO7IjJgwADEx8cjIyMDDQ0NdxwXsR26RYo4tAsX\nLgCA6V7ftnx8fBAbG4ukpCRkZWVhwIABXRYHj8dDfHy8RfnEiRMBACkpKV22bUIIcWaDBw82OznT\nVn19PT744AP88ssvyMrKQl1dnVniUlxcbPVzcXFxFmWtP5wVCoWpbNKkSQgMDMQ///lPJCcnY/bs\n2Rg7diyGDRvWqR/Iv//+OwDg0qVLWL9+vUV9ZmYmACA9PR2zZs0yq7PnaFQ36+j3dubMGQCw2Bdb\nycjIQGNjI0aPHm21T8q0adMAwGrflvDwcLPbolsFBweDZVkoFAoascoBUIJBHJpSqQTDMBZXL1r5\n+/sDaL4nsyt5eXlZvafVx8cHQHOchBBCLLV3/NbpdJgyZQqSkpIQGxuLBx98EN7e3uDz+WBZFhs2\nbEBTU5PVz97cPwJoPhEEwOyKtru7O86ePYsNGzZg586dOHTokOnzK1aswBtvvAGhUHjbfaiurgZw\n46q6NQzDWAw8ArS///bQ0e+ttU0NDAzskjha28z2vpvWcmttu7V9AKzvB7EfSjCIQ2u9fF1aWgqJ\nRGJRX1paarYch8OBXq+3uq67SUKqqqrAsqxFktHaWa/tZfbWETW6Ig5CCHE27XU43rFjB5KSkrB8\n+XKLH+6lpaU2m3g0ICAAn332GT777DNkZmbi6NGj+PTTT/Hee+9BoVDcMmlo1XqMv3DhgkXn5dux\n9TwhrW2M0Wi0GE3KVu1L64/4oqIim6zvZq3fZ1lZmdX6m9t24nyoDwZxaMOHDwfLskhMTLSoq6io\nwNWrVyEWixEZGQmgeQSO8vJyqz/urd2XCzQf/G93xkOv15sukbd17NgxAOajpshkMgDNo5TcTKlU\nIisry6K89VI9nXkhhDiLuz1uZWdnAwAWLVpkUdd6bLW1yMhIPPXUUzhx4gRcXFzw66+/duhzrbfI\nOsLQ4TKZDCzLWm1j2mvnOmvMmDEAgL1793Zo+Y60o20NGDAAQqEQV65cMV0daqu1L8vw4cM7vE7i\nWCjBIA6tdX6It956y2xoP5Zl8corr6CxsRGPPvqoqaEbPXo0dDodPv/8c7P17N+/H9u2bbO6Dblc\njsrKSqtjrrfd3urVq6HVak1lVVVV2LhxIxiGMRvve8CAAZBKpfj111/NYtbr9Vi1apXV7Xh5eQEA\n8vPz242BEEIcSetQsHd63Grt4H3zCaTc3Fy88sordxdci7S0NKtnyauqqqDT6azeq2/tisPy5csh\nk8nwxhtvmPontMWyLE6ePAmdTmeTuG9l9OjRAIBPPvnErDwlJQUffPBBu5/rzJWUefPmITQ0FHv2\n7ME333xjUV9eXm6WUHSkHW2Lx+Nh6dKlqK+vNw2W0qqkpAQbN24Eh8Mx/QYgzodukSIObfTo0Xj1\n1VexceNGDBw4EEuWLIFEIsHBgwdx8eJFDBo0CBs3bjQt/+c//xmbN2/G888/jyNHjiA0NBRpaWk4\nePAgFi9ejO3bt1tsY8aMGfjuu+8wc+ZMjB8/HgKBAEOGDMHcuXNNy/j7+6OxsRGxsbGYP38+NBoN\ntm/fjvLycqxcudJ0wAeaD5wvvPAC1q9fj6FDh2LBggVgGAaJiYlgGAaDBw/GpUuXzGKIj4+Hm5sb\ntm3bBj6fjz59+oBhGCxduhR9+vTpgm+WEELuTlRUFIKDg3HixAk88sgjCA8PB5fLxb333ovY2Njb\nfn7evHno378/3nvvPVy5cgVDhgxBQUEBfvvtN8ydO7fdk0KdceDAAbz88suIj49HeHg4fH19UVZW\nhh07dgCAxY9bwProWDKZDD/99BMWLFiA+Ph4TJkyBdHR0eDz+SgsLMTZs2dRWFiI2tradju028qK\nFSvw7rvv4p133sHly5cRGxuL3Nxc7Nq1C4sXL273e+voqF8AwOfzkZCQgHvuuQdLly7FF198gVGj\nRkGr1SIzMxOHDx9GZWWl6dbljrSjN3v77bdx4sQJfPHFF7h48SKmTp2K2tpaJCQkoLa2FmLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9167bfa160>"
"<matplotlib.figure.Figure at 0x7f1aa0fb4b38>"
]
}
],
"prompt_number": 5
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see the probability function is futher distorted from the original Gaussian. However, the graph is still somewhat symmetric around $0$, let's see what the mean is."
"As you can see the probability function is further distorted from the original Gaussian. However, the graph is still somewhat symmetric around $0$, let's see what the mean is."
]
},
{
@@ -487,12 +484,12 @@
"output_type": "stream",
"stream": "stdout",
"text": [
"input mean, variance: 0.0002, 1.0015\n",
"output mean, variance: -0.0276, 2.2445\n"
"input mean, variance: -0.0001, 0.9995\n",
"output mean, variance: -0.0275, 2.2404\n"
]
}
],
"prompt_number": 6
"prompt_number": 7
},
{
"cell_type": "markdown",
@@ -517,20 +514,20 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914a743b38>"
"<matplotlib.figure.Figure at 0x7f1aa2298160>"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"output mean, variance: -0.0003, 2.2534\n"
"output mean, variance: 0.0001, 2.2489\n"
]
}
],
"prompt_number": 7
"prompt_number": 8
},
{
"cell_type": "markdown",
@@ -561,12 +558,12 @@
"output_type": "stream",
"stream": "stdout",
"text": [
"linear output mean, variance: -0.0171, 7493.0617\n",
"nonlinear output mean, variance: -1.8226, 26276.2379\n"
"linear output mean, variance: 0.0057, 7478.2709\n",
"nonlinear output mean, variance: -1.8465, 26169.1410\n"
]
}
],
"prompt_number": 8
"prompt_number": 9
},
{
"cell_type": "markdown",
@@ -576,11 +573,10 @@
]
},
{
"cell_type": "heading",
"level": 2,
"cell_type": "markdown",
"metadata": {},
"source": [
"The Extended Kalman Filter"
"##The Extended Kalman Filter"
]
},
{
@@ -611,17 +607,17 @@
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914a84d198>"
"<matplotlib.figure.Figure at 0x7f1aa216d6a0>"
]
}
],
"prompt_number": 9
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We want a linear appoximation of this function so that we can use it in the Kalman filter. We will see how it is used in the Kalman filter in the next section, so don't worry about that yet. We can see that there is no single linear function (line) that gives a close approximation of this function. However, during each innovation (update) of the Kalman filter we know its current state, so if we linearize the function at that value we will have a close approximation. For example, suppose our current state is $x=1.5$. What would be a good linearization for this function?\n",
"We want a linear approximation of this function so that we can use it in the Kalman filter. We will see how it is used in the Kalman filter in the next section, so don't worry about that yet. We can see that there is no single linear function (line) that gives a close approximation of this function. However, during each innovation (update) of the Kalman filter we know its current state, so if we linearize the function at that value we will have a close approximation. For example, suppose our current state is $x=1.5$. What would be a good linearization for this function?\n",
"\n",
"We can use any linear function that passes through the curve at (1.5,-0.75). For example, consider using f(x)=8x\u221212.75 as the linearization, as in the plot below."
]
@@ -646,11 +642,11 @@
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9149830b00>"
"<matplotlib.figure.Figure at 0x7f1aa1179f28>"
]
}
],
"prompt_number": 10
"prompt_number": 11
},
{
"cell_type": "markdown",
@@ -687,11 +683,11 @@
"output_type": "display_data",
"png": "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\nJz4R66EBAAAA2EUshmEYOz2IjVi57i0jI2MHR4K9hHW62Ao8V9gqPFvYCjxX2Aqx+ts95odCAgAA\nAEAsEFYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJh\nBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAA\nmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYA\nAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIAp\nEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAA\nAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJh\nBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAA\nmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApEVYAAAAAmBJhBQAAAIApxTys\nvPDCCyorK1NycrIaGhr0xhtvrHn/tWvX9Nhjj8lut6uwsFBf+9rXYj0kAAAAALtQTMPKT3/6U33x\ni1/UhQsX1NzcrHPnzunDH/6w+vv773q/x+PRBz/4QeXn56uxsVHPP/+8vvOd7+i5556L5bAAAAAA\n7EIxDSvPPfecPvOZz+izn/2sqqur9b3vfU/5+fl68cUX73r/P/7jP2p+fl4vv/yyjhw5ot///d/X\nl770JcIKAAAAgNiFFb/frytXruj8+fOrrp8/f15vvfXWXdtcvHhR73vf+5SYmLjq/qGhIfX29sZq\naAAAAAB2obhYdTQ+Pq5gMKi8vLxV13Nzc+V0Ou/axul0qri4eNW1xfZOp1MlJSV3bdfY2BiDEQPL\neKawFXiusFV4trAVeK4QSw6HIyb97OhuYBaLZSc/HgAAAMAmzPjcml+Y3fLPidnMyr59+2Sz2TQy\nMrLq+sjIiPLz8+/a5sCBA3fMuiy2P3DgwD0/q6GhIcrRAmGL/4rEM4VY4rnCVuHZwlbgucJG+Rd8\nutr5tt65+Su19V/Vh858XI80/OFd73W73TH5zJjNrCQkJOjkyZP6xS9+ser6K6+8onPnzt21zdmz\nZ/Wb3/xGPp9v1f0FBQX3XAIGAAAAYHsYhqGuodv6yf/3fV34vz+j//nf/6da+1tkyNC7t36tkBHa\n0s+P2cyKJD399NP65Cc/qdOnT+vcuXP6wQ9+IKfTqc997nOSpGeffVaXLl3SL3/5S0nSJz7xCX3l\nK1/Rpz/9aV24cEGtra361re+pf/xP/5HLIcFAAAA4D5MTY/p0q1X9e6tX2vUNXTXeyY8I+ocvClH\n4bEtG0dMw8rHPvYxTUxM6Otf/7qGh4d1/Phx/fznP1dRUZGkcNF8V1fX0v3p6el65ZVX9Gd/9mdq\naGhQdna2nnnmGT311FOxHBYAAACAdfgXfGrpvKh3b/5abf1XZchY8/6i3AqFQsEtHVNMw4okff7z\nn9fnP//5u/7spZdeuuPasWPH9Nprr8V6GAAAAADWYRiGOodu6t2bv1JTx1vy+b1r3p+WnKFThx/X\n6cNP6OC+0i0fX8zDCgAAAABzG3c7w8u8bv9aE+6RNe+1WeN0rKxBp4+8X0dK6mWzbV+EIKwAAAAA\nDwCvb1ZN7W/p3Vu/UtfQrXXvL8wt15nD79fJ6keVmpy+DSO8E2EFAAAA2KOCoaBu9zbp0u1Xda3z\nXS0E/Wven27PUsOhxyLLvHZ+d17CCgAAALCHGIahgbFuXbr1a11u+42m51xr3h9ni9eJijM6ffgJ\nVRfXyma1bdNI10dYAQAAAPaAqelxNba+rsbbr2p4om/d+8vzD+v0kSdU6zgne2LqNozw/hFWAAAA\ngF1q3u9VS8dFXbr9qtr7r6273XBOep5OHX5cpw49rv2Z+ds0ys0jrAAAAAC7SDAUVGtfsy7dfk1X\nO9/WQmDtOpSkBLtqHed05vATKj94RBaLZZtGGj3CCgAAAGByhmGof7RTl26/qiutv9G0173m/VaL\nVYdL63Xq0OM6Vn5KCXGJ2zTS2CKsAAAAACY17nbqcuvrunT7NY1ODa57f3FupU4dflz1VY8ozZ65\nDSPcWoQVAAAAwERmvB41tb2hxtbX1T18e937s9L2q6H6UZ06/LgOZBdtwwi3D2EFAAAA2GH+BZ+u\ndb2rxtbXdKu3SaFQcM37kxPsqnU8rIZDj6mi4IisFus2jXR7EVYAAACAHRAMBdXWf1WNkULine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9149fb0668>"
"<matplotlib.figure.Figure at 0x7f1aa22421d0>"
]
}
],
"prompt_number": 11
"prompt_number": 12
},
{
"cell_type": "markdown",
@@ -723,15 +719,14 @@
"\n",
"In the next chapter we will spend a lot of time on a new development, the unscented Kalman filter(UKF) which avoids many of these problems. I think that as it becomes better known it will supplant the EKF in most applications, though that is still an open question. Certainly research has shown that the UKF performs at least as well as, and often much better than the EKF. \n",
"\n",
"I think the easiest way to understand the EKF is to just start off with an example. Perhaps the reason for some of my mathmatical choices will not be clear, but trust that the end result will be an EKF."
"I think the easiest way to understand the EKF is to just start off with an example. Perhaps the reason for some of my mathematical choices will not be clear, but trust that the end result will be an EKF."
]
},
{
"cell_type": "heading",
"level": 2,
"cell_type": "markdown",
"metadata": {},
"source": [
"Example: Tracking a Flying Airplane"
"##Example: Tracking a Flying Airplane"
]
},
{
@@ -758,11 +753,11 @@
"output_type": "display_data",
"png": "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\n1KtXj/LlywPB6P5Pe92np6eTkpJCmTJl8ly7Zs2a+db05JNPMnDgQKpVq0aHDh2oX78+ycnJxGIx\nXnnlFRYuXJjvwuDatWsf0j04UHurFw7+vmzevJnKlSuTnJx8wNdfsmQJGzdu5NRTT+X0008/pPew\nt5akpUsHf9Xt+WElPT2dWCyW5wMWQKlSpQp0/YQkFRUGf0mRkJSURJs2bZg6dSonn3wyv/nNbzj/\n/PNzAvWGDRt46qmnaNq0KR988AEVKlTI9fp//etfec6ZkpJCeno6u3btyhP+169fn+f4zMxMhg0b\nRp06dViwYEGe0Pn+++/vtf7CfmDV3s5/KPelSpUqbNy4kW3btuU5fm+6dOlC48aNGTp0aM6Up71N\niyoIlStXBmDdunVUqlQp176srCzS0tIO6oOLJBUHtvOUFCnHHnssd9xxB1u3bs3V5WX58uUkEgk6\nduyYJ6yuXr2a5cuX5znX6aefTnZ2NjNnzsyzL79t3333Henp6bRu3TpP6N+6dSsLFiwock+kPZT7\nctZZZ5FIJJgyZcpBXeuOO+7gySef5L///S9t27Zl7dq1h1X7vjRv3pxEIsHs2bPz7JszZ06RetaB\nJBUUg7+kyBk4cCA1atTg+eefZ+nSpUAwhx7gvffeIzs7O+fYrVu30qdPn3yDYK9evQC466672LFj\nR872TZs2MWLEiDzH16xZk+TkZObNm5fTlx6CNpS33HILaWlpBfL+CtLuXvYHc18GDBgAwODBg1m9\nenWe/d98881erzdgwAD+8pe/sGTJEtq0abPP5wQcjuuuuw6Ahx56iM2bN+dsz8jI4M477yyUa0pS\n2Az+kiKnYsWKDBkyhMzMTO655x4gmEN/zTXXkJqaSrNmzRg0aBA33HADJ598MitWrKBZs2Y5/f93\n69atG126dGHu3LmccsopDBo0iJtvvpmmTZty8skn57luPB7n5ptvZuXKlTRt2pRbb72Vfv36ceqp\np/Kf//yHdu3a5blG2GrVqnXQ96VDhw7cc889rFy5kiZNmvDrX/+au+66iz59+tC0aVP69++/z2ve\ncMMN/P3vf2fFihWce+65+X6rcLjatGlD3759WbZsGaeccgo333wzgwcPpmnTpuzcuZO6desWWgcl\nSQqL/1WTFEn9+vWjbt26jB8/noULFwLw7LPPcuedd/LDDz/wpz/9KefJs++//z4pKSn5TsN5+eWX\nc1qGPv3007zxxhv06tWLcePG5XvdBx54gFGjRlG+fHlGjx7Nq6++yhlnnEFqair169cvclN94NDu\ny/Dhw5kyZQrnnnsuU6ZM4fHHH+fNN9+kYcOG9O3bd7/X7N69O+PGjWPt2rW0bduWL7/8EgjWIhzs\nPdrba/785z/z+9//nkqVKjF69GheeOEFOnbsyLRp00hPT89ZByBJJUUsUdSGlyRJCtHSpUtp3Lgx\n3bp1y3fxsiQVV474S5IiacOGDbnWLQBs376dW2+9FYDLL788jLIkqdDYzlOSFElPPfUU//jHP2jX\nrh21a9dm3bp1vP3223zzzTdccsklXHnllWGXKEkFaq/BPz09/UjWIUnSEdWqVSvmzp3Lm2++yaZN\nmyhTpgzHHXccN954I/369fPvQUnFWkpKSp5te53j73/wJEmSpOIpv+DvHH9JkiQpAg5ojn9+nxgk\nSZIkFR37m7HjiL8kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSZIiwOAvSZIk\nRYDBX5IkSYoAg78kSZIUAQZ/SZIkKQIM/pIkSVIEGPwlSZKkCDD4S5IkSRFg8JckSUVSPALine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914a78f278>"
"<matplotlib.figure.Figure at 0x7f1aa0fabac8>"
]
}
],
"prompt_number": 12
"prompt_number": 13
},
{
"cell_type": "markdown",
@@ -818,7 +813,13 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"### Design the System Model\n",
"### Design the System Model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will model this as a set of differential equations. So we need an equation in the form \n",
"$$\\dot{\\mathbf{x}} = \\mathbf{Ax} + \\mathbf{w}$$\n",
"\n",
@@ -868,16 +869,21 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"$\\Phi$ is our system matrix. We cannot use greek symbols in Python, so the code uses the symbol `F` for $\\Phi$. This is admittedly confusing. In the math above $\\mathbf{F}$ represents the system of partial differential equations, and $\\Phi$ is the system matrix. In the Python the partial differential equations are not represented in the code, and the system matrix is `F`."
"$\\Phi$ is our system matrix. We cannot use Greek symbols in Python, so the code uses the symbol `F` for $\\Phi$. This is admittedly confusing. In the math above $\\mathbf{F}$ represents the system of partial differential equations, and $\\Phi$ is the system matrix. In the Python the partial differential equations are not represented in the code, and the system matrix is `F`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Design the Measurement Model\n",
"\n",
"The measurement function for our filter needs to take the filter state $\\mathbf{x}$ and turn it into a slant range distance. This is nothing more than the pythagorean theorem.\n",
"### Design the Measurement Model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The measurement function for our filter needs to take the filter state $\\mathbf{x}$ and turn it into a slant range distance. This is nothing more than the Pythagorean theorem.\n",
"\n",
"$$h(\\mathbf{x}) = \\sqrt{x_{pos}^2 + x_{alt}^2}$$\n",
"\n",
@@ -955,7 +961,7 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13
"prompt_number": 14
},
{
"cell_type": "markdown",
@@ -978,7 +984,7 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 14
"prompt_number": 15
},
{
"cell_type": "markdown",
@@ -1015,7 +1021,7 @@
" self.alt = self.alt + .1*randn()\n",
" self.pos = self.pos + self.vel*self.dt\n",
" \n",
" # add measurment noise\n",
" # add measurement noise\n",
" err = self.pos * 0.05*randn()\n",
" slant_dist = math.sqrt(self.pos**2 + self.alt**2)\n",
" \n",
@@ -1024,7 +1030,7 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
"prompt_number": 16
},
{
"cell_type": "markdown",
@@ -1052,7 +1058,7 @@
" [0, 0, 0],\n",
" [0, 0, 0]])*dt\n",
" \n",
"After assigning reasonble values to $\\mathbf{R}$, $\\mathbf{Q}$, and $\\mathbf{P}$ we can run the filter with a simple loop\n",
"After assigning reasonable values to $\\mathbf{R}$, $\\mathbf{Q}$, and $\\mathbf{P}$ we can run the filter with a simple loop\n",
"\n",
" for i in range(int(20/dt)):\n",
" z = radar.get_range()\n",
@@ -1140,36 +1146,35 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAA0QAAAGkCAYAAAARwuWFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl0VfW9///nOSfzPJ7MJCEDGYAAAUIigzKEKJOCLdUW\n1OpPvCJq6V3eH7+vVasdble9rbfX1qrf61DRWiFhNsyIECJDmGQI8wxJGJJAQiDDOb8/qKdNzXCQ\nnJBwXo+1WIvs/fls3lv3Ss4rn8/+fAxWq9WKiIiIiIiIEzLe7gJERERERERuFwUiERERERFxWgpE\nIiIiIiLitBSIRERERETEaSkQiYiIiIiI01IgEhERERERp6VAJCIiIiIiTqtLBKJf//rXDBo0CH9/\nf8xmMxMnTmTv3r3N2jz66KMYjcZmf3Jycpq1uX79OrNmzSI0NBQfHx8mTZrEmTNnmrWprKxk2rRp\nBAQEEBAQwPTp06murnb4PYqIiIiISNfTJQLR+vXreeaZZyguLmbt2rW4uLgwevRoKisrbW0MBgNj\nxoyhrKzM9ufzzz9vdp3nn3+egoICPv30UzZs2MDly5cZP348FovF1ubhhx9m586drFixguXLl7N9\n+3amTZvWafcqIiIiIiJdh8FqtVpvdxH/qra2Fn9/fxYtWsS4ceOAGyNEFy9eZMmSJS32qa6uxmw2\n88EHH/DQQw8BcPr0aWJjYyksLCQ3N5f9+/eTnp5OUVER2dnZABQVFTFs2DBKS0tJTk7unBsUERER\nEZEuoUuMEP2ry5cvY7FYCAwMtB0zGAxs3LiRsLAwevXqxZNPPsn58+dt50tKSmhoaCA3N9d2LDo6\nmtTUVIqLiwEoLi7Gx8fHFoYAcnJy8Pb2trURERERERHn4XK7C2jJc889R//+/ZsFl7y8PKZMmUJ8\nfDzHjh3jxRdfZOTIkZSUlODm5kZZWRkmk4ng4OBm1woLC6OsrAyAsrIyQkNDm503GAyYzWZbG0Dv\nFImIiIiIdFP+/v431b7LBaLZs2ezadMmNm7ciMFgsB2fOnWq7e/p6elkZmYSGxvLsmXLeOCBB1q9\nXhecESgiIiIiIl1El5oy95Of/IS//e1vrF27lri4uDbbRkREEB0dzeHDhwEIDw+nqamJixcvNmtX\nXl5OeHi4rc0/T7ODG4GpoqLC1kZERERERJxHlxkheu6555g3bx7r1q2za3GD8+fPc+bMGSIiIgDI\nzMzE1dWVlStXNltUobS01LY8d3Z2NjU1NRQXF9um4xUXF1NbW/utJby/cbNDbiLdzbZt2wAYOHDg\nba5ExPH0vIsz0fMuzuRWXnnpEoFo5syZzJ07l4ULF+Lv7297n8fX1xdvb29qa2t5+eWXefDBBwkP\nD+f48ePMmTOHsLAw23Q5f39/Hn/8cV544QXMZjNBQUHMnj2bjIwMRo8eDUBqaip5eXnMmDGDd955\nB6vVyowZM5gwYQJJSUm37f5FREREROT26BKB6K233sJgMDBq1Khmx1955RVeeuklTCYTe/bs4aOP\nPqKqqoqIiAhGjhzJ/Pnz8fb2trV/4403cHFxYerUqdTV1TF69Gjmzp3b7F2kTz75hFmzZjF27FgA\nJk2axJtvvtk5NyoiIiIiIl1Kl9yH6Hb75yE3TZmTO52mVIgz0fMuzkTPuziTW/n83qUWVRARERER\nEelMCkQiIiIiIuK0FIhERERERMRpKRCJiIiIiIjTUiASERERERGnpUAkIiIiIiJOS4FIRERERESc\nlgKRiIiIiIg4LQUiERERERFxWgpEIiIiIiLitBSIRERERETEaSkQiYiIiIiI01IgEhERERERp6VA\nJCIiIiIiTkuBSEREREREnJYCkYiIiIiIOC0FIhERERERcVoKRCIiIiIi4rQUiERERERExGkpEImI\niIiIiNNSIBIREREREaelQCQiIiIiIk5LgUhERERERJyWApGIiIiIiDgtBSIREREREXFaCkQiIiIi\nIuK0FIhERERERMRpKRCJiIiIiIjTUiASERERERGnpUAkIiIiIiJOS4FIRERERESclgKRiIiIiIg4\nLQUiERERERFxWgpEIiIiIiLitBSIRERERETEaSkQiYiIiIiI01IgEhERERERp6VAJCIiIiIiTkuB\nSEREREREnJYCkYiIiIiIOC0FIhERERERcVoKRCIiIiIi4rQUiERERERExGkpEImIiIiIiNNSIBIR\nEREREaelQCQiIiIiIk5LgUhERERERJyWApGIiIiIiDgtBSIREREREel2rFYrFqvllq/TJQLRr3/9\nawYNGoS/vz9ms5mJEyeyd+/eb7V75ZVXiIqKwsvLi3vuuYd9+/Y1O3/9+nVmzZpFaGgoPj4+TJo0\niTNnzjRrU1lZybRp0wgICCAgIIDp06dTXV3t0PsTEREREZGOcbm2kvcL/sBzr0/l6f+YfsvX6xKB\n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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAA0QAAAGkCAYAAAARwuWFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl0VWWe7//3OSfzTEImkhBCyJwQSJgSJmUIQQEnFEGZ\ngi3eUkvbrvb+/K36lbbVVXXrlqvLvu3VtmzPCTOIytwgo4xRZJQhDBJmkjCFJITMZ//+oE0XRRKC\nkkNIPq+1ai2zz/d5+O5aZ52TT/bez2MyDMNARERERESkAzLf7wZERERERETuFwUiERERERHpsBSI\nRERERESkw1IgEhERERGRDkuBSEREREREOiwFIhERERER6bAUiEREREREpMNqE4HoD3/4A3379sXX\n15egoCDGjRvHoUOHbqt75513CAsLw8PDg4cffpjDhw/f8np1dTWvvvoqgYGBeHl58dhjj3H+/Plb\nakpKSpg8eTJ+fn74+fkxZcoUSktLW/X8RERERESkbWoTgWjz5s288sor5OXlsXHjRpycnBgxYgQl\nJSUNNX/84x/5l3/5Fz744AO+++47goKCGDlyJNevX2+oef311/nyyy9ZuHAhW7dupaysjDFjxmC3\n2xtqJk2axL59+/jqq69Ys2YNe/bsYfLkyQ49XxERERERaRtMhmEY97uJv1VRUYGvry/Lli3j0Ucf\nxTAMunTpwi9/+UveeustAKqqqggKCuK9997jxRdfpLS0lKCgIHJzc5k4cSIA586dIzIyktWrV5OV\nlUV+fj5JSUls376djIwMALZv387gwYM5cuQIsbGx9+2cRURERETE8drEFaK/VVZWht1up1OnTgCc\nPHmS4uJisrKyGmrc3NwYMmQIO3bsAGD37t3U1tbeUhMeHk5CQgJ5eXkA5OXl4eXl1RCGADIzM/H0\n9GyoERERERGRjsPpfjfQmNdee43evXs3BJeioiIAgoODb6kLCgriwoULDTUWi4WAgIBbaoKDgxvG\nFxUVERgYeMvrJpOJoKCghhpAzxSJiIiIiDygfH1976q+zQWiN954gx07drBt2zZMJtMd6+9U0wbv\nCBQRERERkTaiTd0y9/d///csWrSIjRs30q1bt4bjISEhABQXF99SX1xc3PBaSEgI9fX1XLlypdma\nS5cu3fK6YRhcvHixoUZERERERDqONnOF6LXXXmPx4sVs2rTptsUNoqKiCAkJYe3ataSnpwM3F1XY\n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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914a8899e8>"
"<matplotlib.figure.Figure at 0x7f1aa218ccc0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nZcuWadiwYZfN0TEqXpNGPqamPs2qbGvWpLluG3Kf2rbqpE+X/U1m8y8LE8xb/o4CmgaqS3Ti1fwx\nAAAAAHCyenNPTnFxsSwWi+0szoEDB5SXl2dXVHx8fDRw4EClpaVJkjZs2KCKigq7fSIjI9W5c2fb\nPpfSq9Ng/WHsMxctOPb7DdLvb3pa7u6/dEKr1aJPvp+p06XFNfqeAAAAAGpXvVld7eGHH1ZCQoL6\n9u0rScrNzZUkhYaG2u0XEhKio0eP2vZxd3dXUFCQ3T6hoaHKy8u75Oe1D+mujoH9tGnjJoczDogZ\np1UZX8oqq6Rzl7P975cvalCnW3mWDuql9PR0oyMAdYbjHY0Jxzsag5iYmCt+bb04k5OSkqK0tDT9\n61//cqgsXG2haB8Sr74dRsnNVLOv3zqoo7pF9bebO3Ritw4e31nNKwAAAADUNcPP5DzyyCP6/PPP\n9cMPPyg6Oto2HxYWJknKy8tTZGSkbT4vL8+2LSwsTGazWQUFBXZnc3JzczVw4MBqP/OhCdNrXHDO\nS0joobe+yNWhvD22ue05azXm+glVVmMDjHL+N3xJSUkGJwFqH8c7GhOOdzQmRUVFV/xaQ8/kPPzw\nw5o/f75WrFih2NhYu21t27ZVWFiYUlNTbXNnz57V2rVr1a9fP0lSz5495enpabdPdna2MjIybPtc\nzJUWHElyd/fQXcMelpubu22u8FS+fti48IrfEwAAAIDzGFZypkyZotmzZ+uTTz5RQECAcnNzlZub\nq5KSEknnLkmbOnWqXn31VX311Vfavn27Jk2apGbNmun222+XJAUEBGjy5MmaNm2ali9frk2bNumu\nu+5SfHy8kpNrb3nn0MBIDYy/0W7u+/R/qajkRK19JgAAAADHGFZy3n33XZ0+fVpDhw5VeHi47Z83\n3njDts+0adP0yCOPaMqUKerVq5fy8vKUmpqqpk2b2vZ5++23NW7cOI0fP179+/eXv7+/Fi1aVOsL\nAQzvfZvdqmzlFWf1/fova/UzAQAAAFyeyWq1Wo0OURd+fU1fQECAU95z9ZZv9eXKD2xjdzcP/c89\n7yjQP8Qp7w9cKa7ZRmPC8Y7GhOMdjcnV/PxeL1ZXa6j6dR2mwGbBtrHZUqml674wMBEAAAAASs5V\n8HD31PBrJtjN/bxzufJP5hiUCAAAAAAl5yr16jxYwc3DbWOL1aJ//zzPwEQAAABA40bJuUrubu4a\n2cf+bM6GjNXKKThsUCIAAACgcaPkOEFCbH+1CmptG1tl1b//85mBiQAAAIDGi5LjBG4mN43sc7vd\n3Oa9aco7kW1QIgAAAKDxouQ4Sff21ygypJ3d3MrNiw1KAwAAADRelBwnMZlMGpo4zm5u3a4VKikt\nNigRAAAA0DhRcpyoR4e+au4XZBtXVJbrx+2pBiYCAAAAGh9KjhO5u3toYPyNdnNrtv5bFovZoEQA\nAABA40PJcbJ+XYfJy9PHNi46XaA92dsNTAQAAAA0LpQcJ2vi46ceHfraza3PWGlMGAAAAKARouTU\ngl6dBtuNt+z9SeUVZcaEAQAAABoZSk4tiInsKv+mLWzjsoqz2rZ/nYGJAAAAgMaDklML3NzcldRx\noN3cul0/GJQGAAAAaFwoObUkqdMgu/GurI06VnjEoDQAAABA40HJqSURLdsqKqS93dzKTYsMSgMA\nAAA0HpScWmIymTQkYbTd3M+7VqiktNigRAAAAEDjQMmpRQkx16q5X5BtXFFZrrXblhqYCAAAAHB9\nlJxa5O7uoUE9RtnNpWesMigNAAAA0DhQcmpZ37jr5ebmbhvnFWazAAEAAABQiyg5tayJj586RMTZ\nzW3bv96gNAAAAIDro+TUgW7tetuNt+3/2aAkAAAAgOuj5NSBC0vOgZzdOnWmyKA0AAAAgGuj5NSB\nQP8QRbSMto2tVot2Hkw3LhAAAADgwig5daRbu2vsxtv2rzMoCQAAAODaKDl1pGu7XnbjjKzNKq8s\nMygNAAAA4LooOXUkKqS93YNByyvLlHloq4GJAAAAANdEyakjJpNJXausssYlawAAAICzUXLq0IWr\nrG0/sF4Wq8WgNAAAAIBrouTUoQ4RXeXt5WsbnzpzUlm5ewxMBAAAALgeSk4d8vTwVJc2iXZzXLIG\nAAAAOBclp45deF/OdkoOAAAA4FSUnDoWF91TbqZf/thzTxxW/skcAxMBAAAAroWSU8ea+PipQ0Sc\n3RyXrAEAAADOQ8kxAEtJAwAAALWHkmOAbu3tS87+o7t0urTYoDQAAACAa6HkGCDIP1ThLaNtY6vV\nou371xsXCAAAAHAhlByDXPhg0I171hqUBAAAAHAtlByDJMb2txtnHtrCJWsAAACAE1ByDNIqqLVa\nBbW2jS1Wi7bs/cnARAAAAIBrMLTkrF69WqNHj1ZkZKTc3Nw0Z84cu+3FxcV64IEHFBUVpSLine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914a048198>"
"<matplotlib.figure.Figure at 0x7f1aa1935278>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAAGkCAYAAAD36y7BAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xt8VPWB///3mVsySUgCIUPAIF4KNMtKNOAlKRQRDMHl\nUldbCpoUpWv6q6XLj3bpz+/W0su6rbu2i6yXSr+LsFSWdltsxVagUhXEtAIWb0BBUTRIIEAuZJLM\n9fz+mOSQIQkMkDDJzOv5eITknPOZM5+TORnmfT6XY5imaQoAAAAAkoQt3hUAAAAAgEuJEAQAAAAg\nqRCCAAAAACQVQhAAAACApEIIAgAAAJBUCEEAAAAAkgohCAAAAEBSiVsI2rp1q2bNmqX8/HzZbDat\nXr26U5n9+/fr7//+7zVw4EClp6dr3Lhx2rdvn7Xd5/Np4cKFys3NVUZGhmbPnq3Dhw9H7aOurk7l\n5eXKzs5Wdna2Kioq1NDQ0OvHBwAAAKBvilsI8nq9Gjt2rB599FG53W4ZhhG1/YMPPtBnPvMZXX31\n1XrppZf07rvv6qGHHlJGRoZVZtGiRVq/fr3WrVunbdu2qbGxUTNmzFA4HLbKzJs3T7t379amTZu0\nceNGvfHGGyovL79kxwkAAACgbzFM0zTjXYkBAwbo8ccfV0VFhbVu3rx5stvtWrNmTZePaWhokMfj\n0apVqzR37lxJUnV1tUaMGKEXXnhBpaWl2rt3r8aMGaPt27eruLhYkrR9+3ZNnDhR+/bt06hRo3r/\n4AAAAAD0KX1yTFA4HNbzzz+vgoIClZWVyePx6IYbbtAvf/lLq8yuXbsUCARUWlpqrcvPz1dBQYGq\nqqokSVVVVcrIyLACkCSVlJQoPT3dKgMAAAAguTjiXYGuHDt2TE1NTfrXf/1X/cu//Iv+7d/+TVu2\nbNFdd92ljIwM3XbbbaqpqZHdbldOTk7UY4cMGaKamhpJUk1NjXJzc6O2G4Yhj8djlWnHOCEAAACg\nf8rKyjqv8n0yBLWP6fnc5z6nRYsWSZLGjh2rnTt36rHHHtNtt93W7WP7QO8+AAAAAH1Yn+wON3jw\nYDkcDv3N3/xN1PpPf/rT+uijjyRJeXl5CoVCOnHiRFSZo0ePKi8vzypTW1sbtd00TR07dswqAwAA\nACC59MmWIJfLpeuvvz5qOmwpMmX2FVdcIUkaN26cnE6nNm/eHDUxwr59+1RSUiJJKi4uVlNTk6qq\nqqxxQVVVVfJ6vVaZrpxvcxrQ3+zcuVOSNH78+DjXBOh9nO9IJpzvSCYXM5wlbiHI6/XqwIEDkiLd\n3w4dOqTdu3crJydHw4cP15IlS/SFL3xBEydO1OTJk/XSSy/pF7/4hX77299KigSVBQsWaMmSJfJ4\nPBo0aJAWL16swsJCTZ06VZKsiRUqKyu1YsUKmaapyspKzZw5UyNHjozXoQMAAACIo7h1h9uxY4eK\niopUVFSk1tZWLV26VEVFRVq6dKkkafbs2VqxYoUeeeQRjR07Vo8//rjWrFmj6dOnW/tYtmyZbr/9\nds2ZM0cTJkxQZmamNmzYEHXPobVr16qwsFDTpk1TWVmZrrvuum6n3QYAAACQ+PrEfYL6go7NaXSH\nQ6KjuwSSCec7kgnnO5LJxXx+75MTIwAAAABAbyEEAQAAAEgqhCAAAAAASYUQBAAAACCpEIIAAAAA\nJBVCEAAAAICkQggCAAAAkFQIQQAAAACSCiEIAAAAQFIhBAEAAABIKoQgAAAAAEmFEAQAAAAgqRCC\nAAAAACQVQhAAAACApEIIAgAAAJBUCEEAAAAAkgohCAAAAEBSIQQBAAAASCqEIAAAAABJhRAEAAAA\nIKkQggAAAAAkFUIQAAAAgKRCCAIAAACQVAhBAAAAAJIKIQgAAABAUiEEAQAAAEgqhCAAAAAASYUQ\nBAAAACCpEIIAAAAAJBVCEAAAAICkQggCAAAAkFQIQQAAAACSCiEIAAAAQFIhBAEAAABIKoQgAAAA\nAEmFEAQAAAAgqRCCAAAAACQVQhAAAACApEIIAgAAAJBUCEEAAAAAkkrcQtDWrVs1a9Ys5efny2az\nafXq1VHb58+fL5vNFvVVUlISVcbn82nhwoXKzc1VRkaGZs+ercOHD0eVqaurU3l5ubKzs5Wdna2K\nigo1NDT0+vEBAAAA6JviFoK8Xq/Gjh2rRx99VG63W4ZhRG03DEO33nqrampqrK/f//73UWUWLVqk\n9evXa926ddq2bZsaGxs1Y8YMhcNhq8y8efO0e/dubdq0SRs3btQbb7yh8vLyS3KMAAAAAPoeR7ye\nePr06Zo+fbqkSKvPmUzTlMvlksfj6fLxDQ0NWrlypVatWqUpU6ZIktasWaMRI0boxRdfVGlpqfbu\n3atNmzZp+/btuvHGGyVJTz31lCZOnKj9+/dr1KhRvXNwAAAAAPqsPjsmyDAMvfrqqxoyZIhGjx6t\n++67T7W1tdb2Xbt2KRAIqLS01FqXn5+vgoICVVVVSZKqqqqUkZGh4uJiq0xJSYnS09OtMgAAAACS\nS9xags6lrKxMd9xxh6688kp98MEH+va3v61bbrlFu3btksvlUk1Njex2u3JycqIeN2TIENXU1EiS\nampqlJubG7XdMAx5PB6rTFd27tzZ8wcE9EGc60gmnO9IJpzvSAYjR4684Mf22RA0Z84c6+cxY8Zo\n3LhxGjFihH73u9/p9ttv7/Zxpmle9HMHgj45HSkXvR8AAAAAfU+fDUFnGjp0qPLz8/Xee+9JkvLy\n8hQKhXTixImo1qCjR49q0qRJVpmOXeikSEg6duyY8vLyun2uq0ZfoSEDL+uFowD6hvYrhOPHj49z\nTYDex/mOZML5jmRyMTM+99kxQWeqra3V4cOHNXToUEnSuHHj5HQ6tXnzZqtMdXW19u3bZ02lXVxc\nrKampqjxP1VVVfJ6vZ2m2+4oFAr00lEAAAAAiLe4tQR5vV4dOHBAkhQOh3Xo0CHt3r1bOTk5GjRo\nkJYuXao777xTeXl5+vDDD/XAAw9oyJAhVle4rKwsLViwQEuWLJHH49GgQYO0ePFiFRYWaurUqZKk\ngoIClZWVqbKyUitWrJBpmqqsrNTMmTPP2ocwGAr2/i8AAAAAQFzErSVox44dKioqUlFRkVpbW7V0\n6VIVFRVp6dKlstvteueddzR79myNHj1a8+fPt2Z9S09Pt/axbNky3X777ZozZ44mTJigzMxMbdiw\nIeqeQ2vXrlVhYaGmTZumsrIyXXfddVqzZs1Z6xYKh3rtuAEAAADEl2H2xEwCCaBjn8Lapmp96rIx\ncawN0LvoM45kwvmOZML5jmTS8fN7VlbWeT2234wJupRCdIcDAAAAEhYhqAuhMCEIAAAASFSEoC4w\nMQIAAACQuAhBXWBiBAAAACBxEYK6wH2CAAAAgMRFCOoCY4IAAACAxEUI6gLd4QAAAIDERQjqAhMj\nAAAAAImLENQF7hMEAAAAJC5CUBcYEwQAAAAkLkJQFwhBAAAAQOIiBHWBMUEAAABA4iIEdYHZ4QAA\nAIDERQjqAjdLBQAAABIXIagLtAQBAAAAiYsQ1AWmyAYAAAASFyGoC0FmhwMAAAASFiGoC0yRDQAA\nACQuQlAX6A4HAAAAJC5CUBdoCQIAAAASFyGoC6EQs8MBAAAAiYoQ1IVgmPsEAQAAAImKENQFxgQB\nAAAAiYsQ1AVulgoAAAAkLkJQF2gJAgAAABIXIagLzA4HAAAAJC5CUBeChCAAAAAgYRGCukB3OAAA\nACBxEYK6wMQIAAAAQOIiBHWBliAAAAAgcRGCusCYIAAAACBxEYK6wOxwAAAAQOIiBHWB7nAAAABA\n4iIEdYEQBAAAACQuQlAXTJkKM0McAAAAkJAIQd1gcgQAAAAgMRGCuhEK0RIEAAAAJCJCUDeYIQ4A\nAABITISgbjA5AgAAAJCYCEHdoCUIAAAASEyEoG4EaQkCAAAAElLcQtDWrVs1a9Ys5efny2azafXq\n1d2WrayslM1m049//OOo9T6fTwsXLlRubq4yMjI0e/ZsHT58OKpMXV2dysvLlZ2drezsbFVUVKih\noeGc9aMlCAAAAEhMcQtBXq9XY8eO1aOPPiq32y3DMLos96tf/Uo7duzQsGHDOpVZtGiR1q9fr3Xr\n1mnbtm1qbGzUjBkzFA6HrTLz5s3T7t27tWnTJm3cuFFvvPGGysvLz1k/QhAAAACQmBzxeuLp06dr\n+vTpkqT58+d3WebQoUNatGiRtmzZorKysqhtDQ0NWrlypVatWqUpU6ZIktasWaMRI0boxRdfVGlp\nqfbu3atNmzZp+/btuvHGGyVJTz31lCZOnKj9+/dr1KhR3daPiREAAACAxNRnxwQFg0HNnTtXDz74\noEaPHt1p+65duxQIBFRaWmqty8/PV0FBgaqqqiRJVVVVysjIUHFxsVWmpKRE6enpVplun58QBAAA\nACSkuLUEncvSpUvl8XhUWVnZ5faamhrZ7Xbl5ORErR8yZIhqamqsMrm5uVHbDcOQx+OxynRn7949\nqjvSfBFHAPR9O3fujHcVgEuG8x3JhPMdyWDkyJEX/Ng+GYJefvllrV69Wrt3745ab5rmOR8bS5lY\nhMxQj+wHAAAAQN/SJ0PQK6+8oiNHjmjo0KHWulAopG9961t69NFH9dFHHykvL0+hUEgnTpyIag06\nevSoJk2aJEnKy8tTbW1t1L5N09SxY8eUl5d31jpcffVV+turxvfgUQF9R/sVwvHjOceR+DjfkUw4\n35FMYpnxuTt9ckzQV7/6Vb399tt688039eabb2r37t0aNmyYFi9erC1btkiSxo0bJ6fTqc2bN1uP\nq66u1r59+1RSUiJJKi4uVlNTU9T4n6qqKnm9XqtMd5gdDgAAAEhMcWsJ8nq9OnDggCQpHALine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914a015c88>"
"<matplotlib.figure.Figure at 0x7f1aa10ccd68>"
]
}
],
"prompt_number": 16
"prompt_number": 17
},
{
"cell_type": "heading",
"level": 2,
"cell_type": "markdown",
"metadata": {},
"source": [
"Using SymPy to compute Jacobians"
"##Using SymPy to compute Jacobians"
]
},
{
@@ -1204,7 +1209,7 @@
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"prompt_number": 18,
"text": [
"\u23a1 x_pos x_alt \u23a4\n",
"\u23a2\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 0 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u23a5\n",
@@ -1214,7 +1219,7 @@
]
}
],
"prompt_number": 17
"prompt_number": 18
},
{
"cell_type": "markdown",
@@ -1224,11 +1229,10 @@
]
},
{
"cell_type": "heading",
"level": 3,
"cell_type": "markdown",
"metadata": {},
"source": [
"Designing Q"
"##Designing Q"
]
},
{
@@ -1286,7 +1290,7 @@
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"prompt_number": 19,
"text": [
"\u23a1 3 2 2 2 2 \u23a4\n",
"\u23a2 \\Delta{t} \u22c5w_vel \\Delta{t} \u22c5w_vel \\Delta{t} \u22c5w_alt\u22c5w_vel\u23a5\n",
@@ -1305,14 +1309,13 @@
]
}
],
"prompt_number": 18
"prompt_number": 19
},
{
"cell_type": "heading",
"level": 2,
"cell_type": "markdown",
"metadata": {},
"source": [
"Example: A falling Ball"
"##Example: A falling Ball"
]
},
{
@@ -1335,19 +1338,19 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAGNCAYAAADpbRVxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdcVfX/wPHXvVzgXoYsAbeo4MC9M0UlxRwl5ciRmaZY\npmZZ+cuRq3KWWn1RG6aZqbm+1rfpQtRckHvvjYiAyB73nt8fN65cuEwZjvfz8bgPuJ/zOZ/zOYcL\nnPf5LJWiKApCCCGEEEIIUQrUZV0BIYQQQgghxJNDAhAhhBBCCCFEqZEARAghhBBCCFFqJAARQggh\nhBBClBoJQIQQQgghhBClRgIQIYQQQgghRKmRAEQIIYQQQghRaooUgMyaNQu1Ws2YMWPM0qdNm0bl\nypWxs7PD39+fkydPFkslhRBCCCGEEI+HQgcg+/bt45tvvqFRo0aoVCpT+pw5c5g/fz7/+c9/CAsL\nw8PDg4CAABISEoq1wkIIIYQQQohHV6ECkLi4OAYNGsSyZctwcXExpSuKwsKFC5kwYQIvvvgi9evX\n5/vvvyc+Pp5Vq1YVe6WFEEIIIYQQj6ZCBSAjRoygb9++dOjQAUVRTOmXLl0iMjKSLl26mNK0Wi3t\n27dnz549xVdbIYQQQgghxCNNU9CM33zzDRcvXjS1aGTtfnXr1i0APD09zfbx8PDg5s2bZmlxcXFF\nrqwQQgghhBCi7Dg5OT1wGQUKQM6cOcOkSZPYvXs3VlZWgLHbVdZWkNxkDVSEEEIIIYQQT7YCdcHa\nu3cvd+7coX79+lhbW2Ntbc3OnTtZtGgRNjY2lC9fHoDIyEiz/SIjI6lQoULx11oIIYQQQgjxSCpQ\nC8iLL75Iq1atTO8VRWHo0KHUrl2biRMn4uPjQ4UKFdi8eTPNmzcHICUlhd27d/Ppp5/mWm5xNOGI\nggkPDwegRYsWZVyTJ4tc97Ih171syHUvG3Ldy4Zc97Ih171sFPcQigIFIE5OTjmCBTs7O1xcXPD1\n9QXg7bffZubMmdStWxcfHx8+/vhjHB0dGThwYLFWWAghhBBCCPHoKvAg9OxUKpXZ+I7x48eTnJzM\nqFGjiI2N5amnnmLz5s3Y29sXS0WFEEIIIYQQj74iByAhISE50qZOncrUqVMfqEJCCCGEEEKIx1eh\nV0IXQgghhBBCiKKSAEQIIYQQQghRaiQAEUIIIYQQQpSaIo8BEUIIIYQoLIPBQFpaWllX44FVr14d\nMC47IEqPXPfiZ2Njg1pdum0SEoAIIYQQolQYDAZSU1PRarVmM2k+irRabVlX4Ykk1714KYpCSkoK\ntra2pRqESBcsIYQQQpSKtLS0xyL4EOJxoVKp0Gq1pd4qKQGIEEIIIUqNBB9CPFzK4ndSAhAhhBBC\nCCFEqZEARAghhBBCCFFqJAARQgghhBBClBoJQIQQQgghhBClRgIQIYQQQogHsHz5ctRqNWq1mt27\nd1vM4+3tjVqtxt/fv5RrJ7Las2cP06dPJy4urqyr8kSTAEQIIYQQohjodDpWrVqVI33fvn1cvHhR\npiB+CEgA8nCQAEQIIYQQohh069aNdevWkZGRYZa+atUq6tatS61atcqoZsUjMTGxrKtQbBRFKesq\nPNEkABFCCCHEI+ta3DVWHlnJtwe/5fezv5OUnlRmdRkwYAAxMTH89ddfpjS9Xs/atWt5+eWXc+RX\nFIUvv/yShg0botPp8PT0ZPjw4URHR5vl++WXX3j++eepWrUqWq0WLy8vxo8fT2pqqlm+yMhIhg8f\nbspXoUIFunfvzsmTJ0151Go106dPz1EXLy8vhg4danqf2a0sJCSEt956C09PTxwdHU3bw8LC6N69\nO87OztjZ2eHn58eOHTvMypw2bRpqtZrTp08zaNAgnJ2dcXd3Z9KkSQBcu3aNwMBAnJycqFChAp9+\n+mmOeqWmpjJ9+nR8fHzQarVUqVKFcePGkZycbJZPrVYzcuRINm3aRIMGDdBqtTRo0MDsZzFt2jTG\njx8PQI0aNUzd5nbu3AnAwYMH6d69Ox4eHuh0Ory8vBg8eDApKSk56iUejKasKyCEEEIIUVh6g55l\nh5dxKuoU9jb2qFVqLsRcIPRKKL19e9OqcqtSr1OVKlXw8/Nj1apV9OjRA4CtW7dy+/ZtBgwYwOrV\nq83yjxw5ku+++44hQ4bw1ltvcfXqVb788ksOHDhAWFgYtra2gDEY0Ol0jB07FicnJ/bu3cuCBQu4\ndu2aWZl9+vTh+PHjjBkzhho1anD79m127tzJuXPn8PX1NeWz1A1MpVJZTB8zZgyurq58+OGHpm5L\noaGhPPvsszRr1oypU6ei0Wj44Ycf6NKlC1u2bKFDhw5mZQwYMIB69eoxZ84cfvvtN2bNmoWTkxPf\nfvstnTt3Zu7cuaxcuZLx48fTvHlz0zgZRVF48cUX2blzJyNGjMDX15eTJ0+yaNEiTpw4YRZcAOzd\nu5f//e9/vPnmmzg4OPDFF1/Qu3dvrl69iqurK7179+bcuXOsXr2ahQsXUr58eQDq1atHVFQUAQEB\neHh48H//93+4uLhw9epV/ve//5GUlIRWqy3Yh0AUiAQgQgghhHjkbDy1kfMx53G0vf9U3lZjvGFf\ne2ItlR0rU7lc5VKtk0qlYuDAgaYn9Dqdjh9//JGnnnqKmjVrmuXds2cPX3/9NT/88INZ60jXrl3x\n8/NjxYoVBAUFAfDjjz+i0+lMeYKCgvDx8WHy5MnMmzePKlWqcPfuXf7++28+/fRTxo0bZ8r7f//3\nfw90To6OjuzYsQO12thpRlEUXn/9ddq3b8/mzZtN+d544w2aNm3KxIkT+fvvv83KaNGiBd98842p\n7l5eXnzwwQd88sknTJgwAYD+/ftTqVIlvvvuO1MAsnr1av766y927NiBn5+fWXmDBg1iy5YtBAQE\nmNJPnz7NyZMnTdfa39+fxo0bs3r1akaNGkXDhg1p2rQpq1ev5oUXXqBatWqmfX/++WdiY2PZsmUL\nzZo1M6VPmzbtga6fsEy6YAkhhBDikZKmT+PwrcNoNZafSttZ2/HH+T9KuVZGffv2JT09nU2bNpGc\nnMymTZssdr9au3YtDg4OdOnShTt37phederUwcPDg5CQEFPezODDYDAQFxfHnTt3aNu2LYqicOjQ\nIVMeGxsbQkJCiI2NLbbzCQoKMgUfAEeOHOHs2bMMGDDArN5xcXF07tyZ/fv35+iyNHz4cNP3arWa\n5s2bo1KpGDZsmCndycmJOnXqcOnSJbNrVLt2bXx9fc2O1b59e1Qqldk1AmPAkTXQa9iwIeXKlTMr\nMzfOzs4A/O9//8sxhkcUP2kBEUIIIcQj5VbCLZLSk3CycrK4Xa1Scyv+VinXysjFxYVnn32WlStX\nolarSU5Opl+/fjnynT17loSEBDw9PS2WExUVZfr++PHjjB8/ntDQ0BxjHzK7Rdna2jJnzhzee+89\nPD09ad26Nd27d+eVV16hSpUqRT6f7APnz549C2AWPGSlUqmIjo6mcuX7rU9ZWxrAGGxYW1vj4eFh\nll6uXDmz8z579ixnzpzB3d3d4nGy5rV0HDD+PAoSkHXo0IE+ffowffp05s+fT4cOHejZsycDBw7E\nzs4u3/1F4UgAIoQQQohHiooCTGVbhrPdDhw4kMGDB3Pv3j0CAgJMYw2yMhgMuLm58dNPP1ksw8XF\nBTAGGP7+/jg6OjJz5ky8vb3R6XRcv36dIUOGYDAYTPuMHTuWwMBAfv75Z7Zs2cJHH33EzJkz+fXX\nX3OMy8gut6f+Wbt+ZdYbYM6cOTRv3tziPtnP18rKKkee3KYjzjo7lcFgoH79+nz++ecW81aqVCnf\n42QvMy9r164lLCyMX3/9lS1btjBixAhmzZrFvn37LAZBougkABFCCCHEI6WiY0WzsR/Z6Q16ajjX\nKMUamQsMDMTW1pY9e/bw/fffW8xTq1Yttm7dSuvWrbG3t8+1rJCQEKKjo9m4caPZOIgtW7ZYzO/l\n5cXYsWMZO3YsN27coEmTJnzyySemAMTFxYW7d++a7ZOWlkZERESBzi2zRcTBwYFnnnmmQPsUlbe3\nN//880+xHie/dVhatmxJy5YtmT59On/++Sfdu3fnm2++YeLEicVWByFjQIQQQgjxiNGoNbSu3Jrk\n9GSL21P1qfTw6VHKtbpPp9OxePFipk6dygsvvGAxT//+/TEYDMyYMSPHNr1ebwoSMp/qZ23pMBgM\nzJ8/32yf5OTkHN2zKleujLu7u9mie7Vq1SI0NNQs39dff21Wfl5atGiBt7c38+fPJyEhIcf27N2i\nclOQBRn79etHZGQkixcvzrEtNTXV4vHzkxnsxcTEmKXfvXs3R0tJ06ZNAWTRwhIgLSBCCCGEeOR0\n9+lOQnoC4TfCsbGyQaPWkJSehK3GlqFNhlLePme3p9I0aNAgi+mZN7l+fn6MGjWKefPmcfToUbp0\n6YKtrS3nz59nw4YNfPTRRwwePJh27drh5ubGq6++ypgxY9BoNKxfvz7HooBnzpzhmWee4aWXXsLX\n1xdbW1t+//13Tp8+zWeffWbKN3z4cN544w369OlD586dOXLkCJs3b6Z8+fIF6qqkUqlYunQpXbt2\nxdfXl9dee43KlStz8+ZNU2Czffv2fMvJ7VhZ0wcNGsT69esZNWoUoaGhpoH3Z86cYd26daxfv572\n7dsX6jgtW7YEYMKECQwYMAAbGxs6derEjz/+SHBwML169aJmzZokJyezbNkyNBoNffr0yfd8ROFI\nACKEEEKIR45KpaJf/X50rdWVnVd2kpCWQA3nGrSo3AKNuvRvbwryRD/7WhtffvklzZo1Y8mSJUye\nPBmNRkP16tXp16+fqduRi4sLv/32G++++y5Tp07F0dGR3r1788Ybb9CoUSNTWdWqVWPQoELine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f914a703f28>"
"<matplotlib.figure.Figure at 0x7f1aa11ae828>"
]
}
],
"prompt_number": 19
"prompt_number": 20
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can artifically force the Kalman filter to track the ball by making $Q$ large. That would cause the filter to mistrust its prediction, and scale the kalman gain $K$ to strongly favor the measurments. However, this is not a valid approach. If the Kalman filter is correctly predicting the process we should not 'lie' to the filter by telling it there are process errors that do not exist. We may get away with that for some problems, in some conditions, but in general the Kalman filter's performance will be substandard.\n",
"We can artificially force the Kalman filter to track the ball by making $Q$ large. That would cause the filter to mistrust its prediction, and scale the kalman gain $K$ to strongly favor the measurments. However, this is not a valid approach. If the Kalman filter is correctly predicting the process we should not 'lie' to the filter by telling it there are process errors that do not exist. We may get away with that for some problems, in some conditions, but in general the Kalman filter's performance will be substandard.\n",
"\n",
"Recall from the **Designing Kalman Filters** chapter that the acceleration is\n",
"\n",
@@ -1362,15 +1365,6 @@
"\n",
"Here $\\beta$ is the ballistic coefficient, where a high number indicates a low drag."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 19
}
],
"metadata": {}