Fixed bug in EKF residual function.

Comment was wrong, it normalizes to [-pi, pi].

Also, code didn't handle cases where a-b > 2Pi
This commit is contained in:
Roger Labbe committed 2015-07-15 19:03:59 -07:00
1 parent 7827a4df2d
commit 335df7f42d
3 files changed
+160 -61

No files matched your search

+1 -1
View File
@@ -3433,7 +3433,7 @@
"source": [
"def normalize_angle(x):\n",
" x = x % (2 * np.pi) # force in range [0, 2 pi)\n",
" if x > np.pi: # move to [-pi, pi]\n",
" if x > np.pi: # move to [-pi, pi)\n",
" x -= 2 * np.pi\n",
" return x"
]
+158 -59
View File
@@ -16,11 +16,19 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
},
{
"data": {
"text/html": [
@@ -254,7 +262,7 @@
"<IPython.core.display.HTML object>"
]
},
"execution_count": 1,
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
@@ -309,7 +317,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 40,
"metadata": {
"collapsed": false
},
@@ -318,7 +326,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x78bd8d0>"
"<matplotlib.figure.Figure at 0x9fee5f8>"
]
},
"metadata": {},
@@ -357,7 +365,7 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 41,
"metadata": {
"collapsed": false
},
@@ -366,7 +374,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x794d2e8>"
"<matplotlib.figure.Figure at 0x9fcc630>"
]
},
"metadata": {},
@@ -431,7 +439,7 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 42,
"metadata": {
"collapsed": false
},
@@ -440,7 +448,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x59d8908>"
"<matplotlib.figure.Figure at 0xaf4b898>"
]
},
"metadata": {},
@@ -646,7 +654,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": 43,
"metadata": {
"collapsed": false
},
@@ -671,7 +679,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 44,
"metadata": {
"collapsed": false
},
@@ -694,7 +702,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 45,
"metadata": {
"collapsed": false
},
@@ -769,16 +777,16 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwYAAAEtCAYAAACyMncIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYlWXi//H34bAKyKIcDoriLrjkghu4pojmWmmZFraZ\nNu5jfZ3x9610LHOalrEyrZxKv1pZtrhkJu4KkinuuOdSqKAgiiLI9vz+OOMZGcBwAUE/r+viCs5z\n3/e5T9cjPJ/nuReTYRgGIiIiIiJyT3O40x0QEREREZE7T8FAREREREQUDERERERERMFARERERERQ\nMBARERERERQMREREREQEBQMREREREaGcBIPp06fTunVrvLy8sFgs9OvXj4SEhAJlnnrqKRwcHAp8\nhYeHFyhz5coVxowZg5+fHx4eHvTv35+TJ08WKJOWlkZUVBTe3t54e3szdOhQLly4UOqfUURERESk\nPCsXwWDDhg2MHj2auLg41q5di6OjIxEREaSlpdnLmEwmunfvTlJSkv3rxx9/LNDO+PHj+e6771i4\ncCGbNm0iPT2dPn36kJ+fby8zZMgQdu7cycqVK/npp5/Yvn07UVFRZfZZRURERETKI1N53Pk4IyMD\nLy8vlixZQu/evQHbE4PU1FSWLVtWZJ0LFy5gsViYO3cugwcPBiAxMZGgoCBWrFhBZGQk+/fvp3Hj\nxsTGxhIWFgZAbGwsHTt25MCBAzRo0KBsPqCIiIiISDlTLp4Y/Lf09HTy8/Px8fGxv2YymYiJicHf\n35+GDRsyfPhwzp49az8eHx9PTk4OkZGR9tcCAwMJCQkhLi4OgLi4ODw8POyhACA8PBx3d3d7GRER\nERGRe5Hjne5AUcaNG0eLFi0KXMD37NmTAQMGULt2bY4dO8ZLL71E165diY+Px9nZmaSkJMxmM1Wq\nVCnQlr+/P0lJSQAkJSXh5+dX4LjJZMJisdjLiIiIiIjci8pdMJgwYQKbN28mJiYGk8lkf33QoEH2\n7xs3bkxoaChBQUEsX76chx56qNj2bmaklCYji4iIiEhF5uXldcN1ytVQoj//+c989dVXrF27llq1\nal23bEBAAIGBgRw5cgQAq9VKXl4eqampBcolJydjtVrtZa4dfgS24HDmzBl7GRERERGRe1G5CQbj\nxo2zh4KSTAI+e/YsJ0+eJCAgAIDQ0FCcnJyIjo62l0lMTOTAgQP2ZU3DwsK4dOlSgfkEcXFxZGRk\nFFr6VERERETkXlIuViUaNWoUCxYsYPHixYSEhNhf9/T0xN3dnYyMDCZPnszAgQOxWq0cP36cSZMm\ncfLkSfbv34+7uzsAI0eOZNmyZcydOxdfX18mTJjAhQsXiI+Ptw9L6tWrF4mJiXz88ccYhsHw4cOp\nU6cOS5Yssb/vtUOJbuYxjEhZ2rZtGwCtWrW6wz0RKRmds1KR6HyViuRWr2HLxRyD2bNnYzKZ6Nat\nW4HXp0yZwiuvvILZbGbv3r3Mnz+f8+fPExAQQNeuXfnmm2/soQBgxowZODo6MmjQIDIzM4mIiGDB\nggUF5ip88cUXjBkzhh49egDQv39/Zs6cWTYfVERERESknCoXTwzKGz0xkIpEd7OkotE5KxWJzlep\nSG71GrbczDEQEREREZE7R8FAREREREQUDERERERERMFARERERERQMBARERERERQMREREREQEBQMR\nEREREUHBQEREREREUDAQEREREREUDEREREREBAUDERERERFBwUBERERERFAwEBERERERFAxERERE\nRAQFAxERERERQcFARERERERQMBARERERERQMREREREQEBQMREREREUHBQEREREREUDAQEREREREU\nDEREREREBAUDERERERFBwUBERERERFAwEBERERERFAxERERERAQFAxERERERQcFARERERKRCO/y7\nQX6+ccvtON6GvoiIiIiISBk5dspg5Rb4ZR/E7YWDv8GWf0GDarfWbrl4YjB9+nRat26Nl5cXFouF\nfv36kZCQUKjclClTqF69OpUqVeL+++9n3759BY5fuXKFMWPG4Ofnh4eHB/379+fkyZMFyqSlpREV\nFYW3tzfe3t4MHTqUCxculOrnExERERG5WVlXDKK3GPz5XYOQwQZ1H4GRb8HcH22hAGDxxlt/n3IR\nDDZs2MDo0aOJi4tj7dq1ODo6EhERQVpamr3MG2+8wTvvvMPMmTPZunUrFouF7t27c+nSJXuZ8ePH\n891337Fw4UI2bdpEeno6ffr0IT8/315myJAh7Ny5k5UrV/LTTz+xfft2oqKiyvTzioiIiIhcz4VL\nBnOWGvSbaFC1F/ScAO9+/Z8gcC03F4PMK7f+nibDMG59QNJtlpGRgZeXF0uWLKF3794YhkG1atUY\nO3YskyZNAiArKwuLxcJbb73F8OHDuXDhAhaLhblz5zJ48GAAEhMTCQoKYsWKFURGRrJ//34aN25M\n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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwYAAAEtCAYAAACyMncIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlclWX+//HX4QAugAjIARRFVFTEHUUhtxDR3G0zncRK\nR5vUNGucr79vqZNOTd+csjItndRKzcbKLSNxyXKhUahcwSWXBhEQBRRkE+7fH2c8SYBhikK+n4/H\neeThfK7rXOfxuIP7fe77ui6TYRgGIiIiIiJyV7O70wMQEREREZE7T8FAREREREQUDERERERERMFA\nRERERERQMBARERERERQMREREREQEBQMREREREaGKBIOXX36Zzp074+rqisViYfDgwRw6dKhEzWOP\nPYadnV2JR1hYWIma/Px8Jk2ahKenJ87OzgwZMoQzZ86UqMnIyGDUqFHUrVuXunXrEhUVRVZWVqV/\nRhERERGRqqxKBIOvv/6aiRMnEhsby7Zt27C3tyciIoKMjAxbjclkok+fPqSkpNgeX3zxRYl+pkyZ\nwmeffcaqVavYsWMHFy9eZODAgRQXF9tqRo4cyQ8//MCmTZv48ssv+e677xg1atRt+6wiIiIiIlWR\nqSrufJyTk4Orqyvr1q1jwIABgPWKwfnz59mwYUOZbbKysrBYLCxbtowRI0YAkJSUhJ+fH9HR0URG\nRpKQkEBQUBC7du0iNDQUgF27dtG9e3cSExNp3rz57fmAIiIiIiJVTJW4YvBLFy9epLi4GDc3N9vP\nTCYTO3fuxMvLixYtWjBu3DjOnTtnez0+Pp7CwkIiIyNtP/P19SUwMJDY2FgAYmNjcXZ2toUCgLCw\nMJycnGw1IiIiIiJ3I/s7PYCyTJ48mQ4dOpQ4ge/Xrx8PPPAA/v7+nDx5kueff57w8HDi4+NxdHQk\nJSUFs9mMh4dHib68vLxISUkBICUlBU9PzxKvm0wmLBaLrUZERERE5G5U5YLB1KlT2b17Nzt37sRk\nMtl+Pnz4cNu/g4KCCA4Oxs/Pj40bNzJs2LBy+/std0ppMrKIiIiIVGeurq433KZK3Ur0zDPP8PHH\nH7Nt2zYaN2583VofHx98fX05fvw4AN7e3hQVFXH+/PkSdampqXh7e9tqrr39CKzBIS0tzVYjIiIi\nInI3qjLBYPLkybZQUJFJwOfOnePMmTP4+PgAEBwcjIODAzExMbaapKQkEhMTbcuahoaGkp2dXWI+\nQWxsLDk5OaWWPhURERERuZtUiVWJJkyYwPLly1m7di2BgYG2n7u4uODk5EROTg4zZ87kwQcfxNvb\nm1OnTjF9+nTOnDlDQkICTk5OADz11FNs2LCBZcuW4e7uztSpU8nKyiI+Pt52W1L//v1JSkpi0aJF\nGIbBuHHjaNKkCevWrbO977W3Ev2WyzAit1NcXBwAnTp1usMjEakYHbNSneh4lerkZs9hq8Qcg4UL\nF2Iymejdu3eJn8+aNYsZM2ZgNps5ePAgH374IZmZmfj4+BAeHs4nn3xiCwUA8+bNw97enuHDh5Ob\nm0tERATLly8vMVdh5cqVTJo0ib59+wIwZMgQ5s+ff3s+qIiIiIhIFVUlrhhUNbpiINWJvs2S6kbH\nrFQnOl6lOrnZc9gqM8dARERERETuHAUDERERERFRMBAREREREQUDERERERFBwUBERERERFAwEBER\nERERFAxERERERAQFAxERERERQcFARERERERQMBARERERERQMREREREQEBQMREREREUHBQERERERE\nUDAQEREREREUDEREREREBAUDERERERFBwUBERERERFAwEBERERERFAxERERERAQFAxERERERQcFA\nRERERERQMBARERERERQMREREREQEBQMREREREUHBQEREREREUDAQEREREREUDEREREREBAUDERER\nERFBwUBERERERKgiweDll1+mc+fOuLq6YrFYGDx4MIcOHSpVN2vWLBo0aEDt2rW59957OXz4cInX\n8/PzmTRpEp6enjg7OzNkyBDOnDlToiYjI4NRo0ZRt25d6tatS1RUFFlZWZX6+UREREREqroqEQy+\n/vprJk6cSGxsLNu2bcPe3p6IiAgyMjJsNa+88gqvvfYa8+fPZ+/evVgsFvr06UN2dratZsqUKXz2\n2WesWrWKHTt2cPHiRQYOHEhxcbGtZuTIkfzwww9s2rSJL7/8ku+++45Ro0bd1s8rIiIiIlLVmAzD\nMO70IH4pJycHV1dX1q1bx4ABAzAMg/r16/P0008zffp0APLy8rBYLMydO5dx48aRlZWFxWJh2bJl\njBgxAoCkpCT8/PyIjo4mMjKShIQEgoKC2LVrF6GhoQDs2rWL7t27k5iYSPPmzQFKXEFwdXW9zZ9e\n5MbExcUB0KlTpzs8EpGK0TEr1YmOV6lObvYctkpcMfilixcvUlxcjJubGwAnT54kNTWVyMhIW03N\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x81addd8>"
"<matplotlib.figure.Figure at 0x7896320>"
]
},
"metadata": {},
@@ -786,9 +794,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvoAAAEtCAYAAAB5zMTfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8Tuf/x/HXyUAIQWSIEGoGlYpRVbV3fY3atfl2oaWh\nRrU1vjqp0qG/aouWtlaV0tLYK629arSU2lE1kgoi4/z+OJVbRLgTd3In8X4+Hh496z7ncyenfM51\nrutzGaZpmoiIiIiISI7i4uwARERERETE8ZToi4iIiIjkQEr0RURERERyICX6IiIiIiI5kBJ9ERER\nEZEcSIm+iIiIiEgOpERfRERERCQHclqi/+abb1KjRg28vLzw9fWldevW7Nu3L2l/fHw8w4cPJyQk\nBE9PTwICAujWrRsnTpxIdp7Y2Fief/55fHx88PT0pE2bNpw6dSqzv46IiIiISJbitER/3bp1DBw4\nkJ9//pnVq1fj5uZG48aNuXjxIgAxMTHs3LmTV155hZ07d7J48WJOnDhB8+bNSUhISDrP4MGDWbhw\nIXPmzGHDhg1ER0fTqlUrEhMTnfXVRERERESczsgqM+PGxMTg5eXF4sWLefzxx297zIEDB6hUqRJ7\n9+6lUqVKREVF4evry8yZM+natSsAJ0+eJCgoiGXLltG0adPM/AoiIiIiIllGlumjHx0dTWJiIoUK\nFUr1mKioKICkY7Zv305cXFyyhD4wMJDg4GAiIiIyNmARERERkSwsyyT6gwYNomrVqjzyyCO33X/9\n+nWGDBlC69atCQgIACAyMhJXV1e8vb2THevn58fZs2czPGYRERERkazKzdkBAISFhREREcHGjRsx\nDCPF/vj4eLp37050dDRLly5N1zVuvA0QEREREcmOvLy80nS801v0X3zxRebOncvq1aspWbJkiv3x\n8fF07dqVX3/9lVWrViXr2uPv709CQgLnz59P9pnIyEj8/f0zOnQRERERkSzLqYn+oEGDkpL8cuXK\npdgfFxdH586d+fXXX1mzZg2+vr7J9lerVg13d3fCw8OTtp08eZKDBw9Su3btDI9fRERERCSrclrX\nnQEDBjB79mwWLVqEl5cXkZGRAOTPn598+fKRkJBAx44d2bZtG0uWLME0zaRjChYsSJ48efDy8qJf\nv34MGzYMX19fChcuTFhYGCEhITRu3DjVa6f1tYdIZtu2bRsA1atXd3IkInen+1WyG92zkp3cS/dz\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8245240>"
"<matplotlib.figure.Figure at 0xad3fb00>"
]
},
"metadata": {},
@@ -796,9 +804,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwMAAAEtCAYAAABUG7xMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtcFNf9P/7XLDeRFVaRBQ2Kl4AhRlHAC6j1hggJSqwm\nBhWqsQnNxcba1jSfXxNM8knStPnkozY36TcGSuLHpgm52CZCNCYqkgoaYlQMXlFQFBEWWbnuzu+P\ncYedZcFVwF3Y1/Px2Ad75pyZOTM7u8x7zjkzgiiKIoiIiIiIyOmo7F0BIiIiIiKyDwYDRERERERO\nisEAEREREZGTYjBAREREROSkGAwQERERETkpBgNERERERE6KwQARERERkZOyWzCwe/duzJ8/H4GB\ngVCpVMjMzGxTpqSkBD//+c/Rv39/eHl5ISIiAseOHZPzGxsbsWrVKvj5+UGtViMxMRHl5eWKZVRX\nVyM5ORkajQYajQYpKSnQ6XTdvn1ERERERI7ObsGAXq/H2LFjsWHDBnh6ekIQBEX+6dOnMWXKFIwc\nORK7du3CkSNH8NJLL0GtVstlVq9ejezsbGzduhV79uxBbW0tEhISYDQa5TJLlixBUVERcnJysH37\ndhw8eBDJycm3bTuJiIiIiByV4AhPIO7Xrx/efPNNpKSkyNOWLFkCFxcXZGVlWZ1Hp9NBq9UiIyMD\nSUlJAICysjIEBQXhyy+/RGxsLIqLizF69Gjk5eUhKioKAJCXl4dp06bh2LFjCAkJ6f6NIyIiIiJy\nUA45ZsBoNOJf//oXQkNDERcXB61Wi4kTJ+LDDz+Uyxw4cADNzc2IjY2VpwUGBiI0NBT5+fkAgPz8\nfKjVajkQAIDo6Gh4eXnJZYiIiIiInJVDBgOXLl1CXV0dXn75ZcTFxWHHjh1ISkrC0qVL8cUXXwAA\nKioq4OLiAl9fX8W8/v7+qKiokMv4+fkp8gVBgFarlcsQERERETkrV3tXwBpTn//7778fq1evBgCM\nHTsWhYWFeOONN3Dvvfe2O++t9nrioGIiIiIi6sl8fHxueh6HbBkYOHAgXF1dcffddyum33XXXTh7\n9iwAICAgAAaDAVVVVYoyFy9eREBAgFymsrJSkS+KIi5duiSXISIiIiJyVg4ZDLi7u2PChAmK24gC\n0q1Ghw0bBgCIiIiAm5sbcnNz5fyysjIcO3YM0dHRAICoqCjU1dUpxgfk5+dDr9fLZYiIiIiInJXd\nugnp9XocP34cgNQtqLS0FEVFRfD19cWQIUOwdu1aPPjgg5g2bRpmzpyJXbt24R//+Ac+++wzAFIz\nyMqVK7F27VpotVoMGDAAa9asQVhYGGJiYgBAHoCcmpqK9PR0iKKI1NRUzJs3D8HBwe3W7VaaWIhu\np8LCQgBAZGSknWtCZBses9ST8HilnqSzXd3t1jJQUFCA8PBwhIeHo6GhAWlpaQgPD0daWhoAIDEx\nEenp6XjttdcwduxYvPnmm8jKykJ8fLy8jPXr12PBggVYvHgxpk6dCm9vb2zbtk3xzIItW7YgLCwM\nc+fORVxcHMaPH9/u7UqJiIiIiJyJQzxnwBGYR1VsGSBHx6tW1NPwmKWehMcr9SSdPYd1yDEDRERE\nRETU/RgMEBERERE5KQYDREREREROisEAEREREZGTYjBAREREROSkGAwQERERETkpBgNERERERE6K\nwQARERERkZNiMEBERERE5KQYDBAREREROSkGA0RERERETorBABERERGRk2IwQERERETkpBgMEBER\nERE5KQYDREREREROisEAEREREZGTYjBAREREROSkGAwQERERETkpBgNERERERE6KwQARERERkZNi\nMEBERERE5KQYDBAREREROSkGA0RERERETspuwcDu3bsxf/58BAYGQqVSITMzU5G/fPlyqFQqxSs6\nOlpRprGxEatWrYKfnx/UajUSExNRXl6uKFNdXY3k5GRoNBpoNBqkpKRAp9N1+/YRERERETk6uwUD\ner0eY8eOxYYNG+Dp6QlBEBT5giBgzpw5qKiokF9ffPGFoszq1auRnZ2NrVu3Ys+ePaitrUVCQgKM\nRqNcZsmSJSgqKkJOTg62b9+OgwcPIjk5+bZsIxERERGRI3O114rj4+MRHx8PQGoFsCSKItzd3aHV\naq3Or9PpsHnzZmRkZGD27NkAgKysLAQFBWHHjh2IjY1FcXExcnJykJeXh0mTJgEANm3ahGnTpqGk\npAQhISHds3FERERERD2Aw44ZEAQBe/fuhb+/P0aNGoVHH30UlZWVcv6BAwfQ3NyM2NhYeVpgYCBC\nQ0ORn58PAMjPz4darUZUVJRcJjo6Gl5eXnIZIiIiIiJnZbeWgRuJi4vDwoULMXz4cJw+fRp//OMf\nMWvWLBw4cADu7u6oqKiAi4sLfH19FfP5+/ujoqICAFBRUQE/Pz9FviAI0Gq1chkiIiIiImflsMHA\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x82930f0>"
"<matplotlib.figure.Figure at 0xafdf6a0>"
]
},
"metadata": {},
@@ -861,7 +869,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 47,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -881,7 +889,7 @@
"⎣╲╱ x_alt + x_pos ╲╱ x_alt + x_pos ⎦"
]
},
"execution_count": 9,
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
@@ -946,7 +954,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 48,
"metadata": {
"collapsed": false
},
@@ -973,7 +981,7 @@
"⎣ 2 ⎦"
]
},
"execution_count": 10,
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
@@ -1008,7 +1016,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 49,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -1018,7 +1026,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x81aec18>"
"<matplotlib.figure.Figure at 0xacfc4a8>"
]
},
"metadata": {},
@@ -1143,7 +1151,7 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 50,
"metadata": {
"collapsed": false,
"scrolled": false
@@ -1170,7 +1178,7 @@
"⎣0 0 1 ⎦"
]
},
"execution_count": 12,
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
@@ -1210,7 +1218,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 51,
"metadata": {
"collapsed": false
},
@@ -1260,7 +1268,7 @@
" ⎦"
]
},
"execution_count": 13,
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
@@ -1320,7 +1328,7 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 52,
"metadata": {
"collapsed": false
},
@@ -1343,7 +1351,7 @@
"⎣ (px - x) + (py - y) (px - x) + (py - y) ⎦"
]
},
"execution_count": 14,
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
@@ -1366,7 +1374,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 53,
"metadata": {
"collapsed": true
},
@@ -1400,7 +1408,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 54,
"metadata": {
"collapsed": true
},
@@ -1451,7 +1459,7 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 55,
"metadata": {
"collapsed": true
},
@@ -1528,20 +1536,19 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 56,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def residual(a,b):\n",
" \"\"\" compute residual between two measurement containing [range, bearing]. Bearing\n",
" is normalized to [0, 360)\"\"\"\n",
" \"\"\" compute residual (a-b) between two measurement containing \n",
" [range, bearing]. Bearing is normalized to [-pi, pi)\"\"\"\n",
" y = a - b\n",
" if y[1] > np.pi:\n",
" y[1] -= 2*np.pi\n",
" if y[1] < -np.pi:\n",
" y[1] += 2*np.pi\n",
" y[1] = y[1] % (2 * np.pi) # force in range [0, 2 pi)\n",
" if y[1] > np.pi: # move to [-pi, pi)\n",
" y[1] -= 2 * np.pi\n",
" return y"
]
},
@@ -1554,7 +1561,7 @@
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 57,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -1603,7 +1610,7 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 58,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -1611,9 +1618,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEWCAYAAACkORurAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmQXXd99/n32e++9N6tbi22ZcsLAi8wTjIBA0mwQpWT\nJykyYYmtpzJAwCQ4kIelQhAzIaTyAHnCPGYSUhkGB5gqMqlJWIYkHkJsh5hFIlZsZMvaW1Lv3Xc/\n957195s/WpLVbm2WZFvL91WlknTPuef8+ta5fT/96+/5/gyttUYIIYQQQgjxgpkv9wCEEEIIIYS4\nXEmYFkIIIYQQ4jxJmBZCCCGEEOI8SZgWQgghhBDiPEmYFkIIIYQQ4jxJmBZCCCGEEOI8SZgWQggh\nhBDiPJ0xTP/xH/8xr371qymXywwNDXHPPfewa9euVft94hOfYM2aNeRyOV7/+tfz9NNPv2gDFkII\nIYQQ4lJxxjD96KOP8r73vY/vf//7fPe738W2bX7u536Oer1+Yp8/+ZM/4U//9E958MEH2b59O0ND\nQ/z8z/88nU7nRR+8EEIIIYQQLyfjhayA6Ps+5XKZr3/967z5zW9Ga83Y2Bi/8zu/w0c/+lEAgiBg\naGiIz3zmM7zrXe960QYuhBBCCCHEy+0F1Uy3Wi2UUlSrVQAOHjzI3Nwcv/ALv3Bin0wmw2tf+1oe\nf/zxiztSIYQQQgghLjEvKEy///3v59Zbb+WnfuqnAJidnQVgeHh4xX5DQ0MntgkhhBBCCHGlss91\nxw984AM8/vjjfO9738MwjLPu//x9ms3mCx+dEEIIIYQQl4hyubzqsXOamf7d3/1dvva1r/Hd736X\n9evXn3h8ZGQEgLm5uRX7z83NndgmhBBCCCHEleqsYfr973//iSB9/fXXr9i2YcMGRkZGePjhh088\nFgQB3/ve9/jpn/7piz9aIYQQQgghLiFnLPO4//77+cpXvsLf//3fUy6XT9RBF4tF8vk8hmHwwAMP\n8KlPfYpNmzaxceNGPvnJT1IsFnnb29522uOeaopcnN6OHTsAuOOOO17mkYhLhVwT4mRyPYjnk2tC\nPJ9cE+fvbKXKZwzTf/7nf45hGLzxjW9c8fgnPvEJPv7xjwPwoQ99iF6vx/3330+9XufOO+/k4Ycf\nJp/PX+DQhRBCCCGEuLSdMUwrpc7pINu2bWPbtm0XZUBCCCGEEEJcLl5QazwhhBBCCCHEcyRMCyGE\nEEIIcZ4kTAshhBBCCHGeJEwLIYQQQghxniRMCyGEEEIIcZ4kTAshhBBCCHGeJEwLIYQQQghxniRM\nCyGEEEIIcZ4kTAshhBBCCHGeJEwLIYQQQghxniRMCyGEEEIIcZ4kTAshhBBCCHGeJEwLIYQQQghx\nniRMCyGEEEIIcZ4kTAshhBBCCHGeJEwLIYQQQghxns4aph977DHuuecexsfHMU2Thx56aMX2VqvF\ne9/7XiYmJsjlcmzatIk/+7M/e9EGLIQQQgghxKXCPtsOvu+zefNm7rvvPu69914Mw1ix/YEHHuDR\nRx/lK1/5Chs2bODRRx/lne98JwMDA7zjHe940QYuhBBCCCHEy+2sM9Nbtmzhk5/8JL/6q7+Kaa7e\nffv27dx777287nWvY+3atfzGb/wGd955Jz/60Y9elAELIYQQQghxqbjgmuktW7bwjW98g6NHjwLw\n+OOPs3PnTu6+++4LHpwQQgghhBCXMkNrrc9152KxyOc//3nuvffeE49prbn33nv56le/im0vV408\n+OCDvOtd71rx3GazeeLfe/fuvdBxCyGEEEII8aLbuHHjiX+Xy+VV289aM302v/d7v8cPf/hDvvnN\nb7Ju3ToeffRRPvjBD7Ju3Tre9KY3XejhhRBCCCGEuGRdUJj2fZ/Pfe5z/N3f/R1vfvObAbjlllvY\nuXMnn/nMZ04bpu+4444LOe1VZ8eOHYC8buI5ck2Ik8n1IJ7vXK8JpTRJqkiVIlUapTRKa0zDwDQN\nTMPAtkxcx3ophi1eRPJ94vydXF1xKhcUprXWaK1X3ZhomiYvoHpECCGEEC+RNFWEcUqUpESxIkkg\nTUGp5/6YJhjG8t+OA55rkHFtMq6NaRpnP4kQV5Fzao13vMZZKcXk5CQ7d+6kv7+fiYkJ3vjGN/KR\nj3yEQqHA2rVrefTRR/nyl7/Mpz/96Rd98EIIIYQ4N0GUEEQJUawIQ4gi0Gp55tkwDCzTxLUNDMNA\n6+UZ6lRpun5Kt6vwvJhsJqaY82SmWoiTnDVMb9++nTe84Q0AGIbBtm3b2LZtG1u3buWLX/wiX/3q\nV/noRz/KO97xDpaWlli/fj2f/OQnuf/++1/0wQshhBDizIIooRfGBKGm14M0MXAdi5xr4djnEIo9\nhyRVBFFMI0xJVUgp75JxL/i2KyGuCGd9J9x1110opU67fXBwkL/6q7+6qIMSQgghxIUJ45R6u3ci\nRGtlknUd3OwLn1W2LZNC1qMXxrRaMaYRYZnGuYVxIa5w8mOlEEIIcQVJU0WnFxNEUG/o50L0RSjN\nyHoOGmh3Ymw7plKQMC2EhGkhhBDiCtELY/xezNRCRK2VkrqL2LZJznMpZF1GqsULnk3OeQ6NTkIQ\nKiIvlfppcdWTMC2EEEJc5tJU0ewE/OTQEk/uXeQ/np0i0l32h3VA41oeGTtLX7aP9cNVbpgYYrCc\nP+/zZVyHIIjoebGEaXHVkzAthBBCXMaiOGV6scU//WiS/XMzLIazTEeHKBQ0/aUQDOhGmsWeYm/d\nZH99iN1HJ3jF+jXcdt2a85qpzrg29U5ElCi01hiGtMsTVy8J00IIIcRlqhfG7DlS4x9/cJCDjYN0\nmGNijUuxrDBNGB9zVuwfhIr5hXmeXJinEdaYWmzyxls3Us5nXvC5TcMkTZcXe7EtCdPi6iVhWggh\nhLgMdXoRR+ba/L+PH+DZ+tNkil02r8ti2wZHuqd+TsYzWTvuMtCn2HdoH62ZJlGScvcdN1ApZF/Q\n+S3TIE2XS0xsyzz7E4S4QsnVL4QQQlxGtNY0OwHztYB/+P5BDrX2kSt1ueFaD9s2UFqTKEWcqBM9\nprthdKzXdEwQJTiu5qYbPGJnkV3zu3j4x3vohvELGodpmsthWsmKx+LqJmFaCCGEuEwopWl0Alod\nxQ9+MsNUe4rEqbNhrU0Up8vBOYjpBZpeqOn2FH5P4/vgdzV+b/mxbi8ljBLWT1iE9iJ7l/bzb7sO\nobUEYyFeKAnTQgghxGVAKU2rG9LuaOaWQg4v1DjamWTNqEEvSvF7KX53eYEWlZqgLSwsHNMm4zi4\nto1t2JhYJIlBtwdBpFkzajLTPcyemSl2H1k45/ForTFNME2plxZXNwnTQgghxCVO6+Ug3Wor4shk\n39QiB+uHyBdTlDYIjq1w6Fg2WdfFtS0cy8SyLCzTxDAMTMPEskxsy8JzHDzHRiuDVBmMjhrsrT/D\na785TBgn5zwm0wRTOnmIq5yEaSGEEOISprWm5Ye0O4p2RxHFCXuOLjHdmqNasrENi6zn4to2lnnu\nH+umYeLaDiYmuYzFV5vv5UNrvnXOs9NKycy0ECBhWgghhLiktbsRjVbC4lKESg2ePdRivlUnn4Ny\nwcOyLmzRFNe2+dTO3+Z3N32Oo+3DPD05R5ykZ31eqjSWJTPTQkiYFkIIIS5R3SBmsREwtxiSJg5B\nz6TW6tHTTfqrztkPcBbbdrwbgI/f+r+TzZjg9JjvLHB0sXnG56WpwrSW+0vLzLS42kmYFkIIIS5B\nfi/i6EKL6dmEJPKwDIdiNoMfRXSTDvnchX2Eb9vxbv6XO74AgGVZKAXlkslSb5GjC2cO01GSYtuc\n1+qJQlxpJEwLIYQQl5hON2R6sc30jIbUwzIsau0ezxye49mj8yy06yheWF/ok50cpI8zDYNiwaQe\n1phaaqLO0D86TlJcF1wJ00KcPUw/9thj3HPPPYyPj2OaJg899NCqffbs2cOv/MqvUK1Wyefz3H77\n7ezevftFGbAQQghxpdJa0+6GTC36HJ5KmZrrsmPvUb75o6f49o+f4Ns7d/Afh/cy1ZjnyUNH+fe9\nRzg4s0inFxxbmCUiiGKiWBGnClgdiE8VpAEMY3mFRMOKaXTbNPzeKceolEahcB1wbJmTE+Ksy4n7\nvs/mzZu57777uPfeezGed6PBwYMH+Zmf+Rm2bt3Kxz/+cSqVCrt376ZQKLxogxZCCCGuNGmqaPci\n5msBz+xr88Szi7SiJgu9Wbppi0wGtKkIzBahajPttzA7DrlWkanFCiPVEtVCDtPQBOFyp41uGGNb\nJq5tsW3HbwGcMkgvM9Bak8sadBOfeqdHXzG3aq8gTnAccB1rVSYQ4mp01jC9ZcsWtmzZAsDWrVtX\nbf/93/997r77bj796U+feGz9+vUXbYBCCCHElS5OUtrdiFoj5fEnZ3hqf43Z3mESs0n/gMVYwUKn\nBt1QkV2yyCmDkSGHJNI0Ow0Wel1SHaOUZqyvjGlYKKUJemDbij/afT+fuP0vzin8ZjyDIOzR6UWr\ntmmtieKEUhmy3oXfACnEleCCfj+jlOJb3/oWN954I3fffTdDQ0O85jWv4W/+5m8u1viEEEKIK1oU\npzQ7IY2m5ge7jrJz/zR7artwC03WTVhkMwZhaJCkxrEVDS1Mc3kxFi9jMTTgUCilLATTTDWWmK41\nsSwDxzZxbZvP7v5t7lz672ddjEUpjWGA55rEaUwQra7JDuMU29F4joltSYmHEHCBYXp+fp5Op8On\nPvUp7r77br7zne/w1re+lbe//e18+9vfvlhjFEIIIa5IYZTQ7IQ0W7Dr4Dw7Dxzlmfk9rBnXVCs2\nYWSgtYln27i2jeNYWKaFSlfOMOdyJn0Vk8VghqnGEg0/AODTu9/DTy/9BT/4PjzyqLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8289710>"
"<matplotlib.figure.Figure at 0xaf7d5c0>"
]
},
"metadata": {},
@@ -1623,7 +1630,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.02411999 0.04207742 0.00218955]\n"
"[ 0.02421568 0.04097243 0.00219456]\n"
]
}
],
@@ -1638,16 +1645,16 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8289320>"
"<matplotlib.figure.Figure at 0xafa59b0>"
]
},
"metadata": {},
@@ -1657,7 +1664,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.02018057 0.02053449 0.00154182]\n"
"[ 0.02009079 0.02039044 0.00153318]\n"
]
}
],
@@ -1682,12 +1689,30 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 60,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x28a15f8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.02037365 0.04595254 0.0002267 ]\n"
]
}
],
"source": [
"ekf = run_localization(landmarks[0:2], sigma_vel=1.e-10, sigma_steer=1.e-10,\n",
" sigma_range=1.4, sigma_bearing=.05)\n",
@@ -1703,12 +1728,30 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 61,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xacd1198>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.2535206 0.80589457 0.00354734]\n"
]
}
],
"source": [
"ekf = run_localization(landmarks[0:1], sigma_vel=1.e-10, sigma_steer=1.e-10,\n",
" sigma_range=1.4, sigma_bearing=.05)\n",
@@ -1724,12 +1767,30 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 62,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEWCAYAAACkORurAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XucXXV9//vXWmvfL7PnuueeySSZkCFcRAKEqAgo1Pys\ntJx6aOujR6P1h8diK/rz4ZHfsYafB7F6LLX9idTTaqVYWtD+tD2nQrE/EYwBTIAgISHkMpdk7vfZ\ns6/rdv4YGYkhtz0zmZnwfj4e88jOWmvWfOf7mMeed775rM/X8H3fR0REREREzpq51AMQEREREVmp\nFKZFRERERMqkMC0iIiIiUiaFaRERERGRMilMi4iIiIiUSWFaRERERKRMCtMiIiIiImU6ZZi+9957\nufTSS0mlUqRSKbZs2cIPf/jD46658847aW5uJhaLcd1117Fv375FHbCIiIiIyHJxyjDd2trKl7/8\nZZ5//nmeffZZrr/+en77t3+bF154AYAvfelL3HPPPXzta19j165dpNNpbrjhBmZmZs7J4EVERERE\nlpJxtjsg1tTU8Gd/9md8+MMfpqmpiT/5kz/hjjvuAKBQKJBOp/nKV77CrbfeuigDFhERERFZLs64\nZtp1Xf7pn/6JQqHANddcQ1dXF0NDQ9x4441z10QiEa655hp27ty5KIMVEREREVlOAqe74MUXX+Tq\nq6+mWCwSjUZ5+OGHueCCC+YCc319/XHXp9Np+vv7F2e0IiIiIiLLyGnD9IYNG/jFL37B1NQU3/3u\nd/m93/s9Hn/88VN+jmEYJxybmpoqf5QiIiIiIksslUqdcOy0ZR7BYJA1a9Zw2WWXcffdd7N582bu\nvfdeGhsbARgaGjru+qGhIRoaGhZoyCIiIiIiy9dZ95l2XRfP82hvb6ehoYHHHnts7lyhUGDHjh1s\n2bJlQQcpIiIiIrIcnbLM4zOf+Qy/+Zu/SUtLC5lMhgcffJAnnniCRx99FIDbb7+du+++mw0bNtDR\n0cFdd91FMpnkfe973ym/6GuXyHfv3g3Apk2b5vu9vCFp/sqnuZsfzd/8aP7Kp7mbH83f/Gj+yrdS\n5+50pcqnDNNDQ0P8wR/8AYODg6RSKS699FIeffRRbrjhBgA+/elPk8/nue2225iYmGDz5s089thj\nxOPxhfsORERERESWqVOG6b/7u7877Q22b9/O9u3bF2xAIiIiIiIrxVnXTIuIiIiIyCyFaRERERGR\nMilMi4iIiIiUSWFaRERERKRMCtMiIiIiImVSmBYRERERKZPCtIiIiIhImRSmRURERETKpDAtIiIi\nIlImhWkRERERkTIpTIuIiIiIlElhWkRERESkTArTIiIiIiJlUpgWERERESmTwrSIiIiISJkUpkVE\nREREyqQwLSIiIiJSJoVpEREREZEyKUyLiIiIiJRJYVpEREREpEwK0yIiIiIiZVKYFhEREREpk8K0\niIiIiEiZFKZFRERERMqkMC0iIiIiUiaFaRERERGRMilMi4iIiIiUSWFaRERERKRMCtMiIiIiImU6\nZZj+4he/yBVXXEEqlSKdTnPTTTfx0ksvHXfNtm3bME3zuI8tW7Ys6qBFRERERJaDU4bpJ554go99\n7GM89dRT/PjHPyYQCPDOd76TiYmJuWsMw+CGG25gcHBw7uOHP/zhog9cRERERGSpBU518tFHHz3u\n7w888ACpVIqdO3fy7ne/GwDf9wmFQqTT6cUbpYiIyDK2f3+Bnp6Tn29rg87OyLkbkIicM6cM079u\nenoaz/OoqqqaO2YYBjt27KC+vp7Kykre/va384UvfIG6uroFH6yIiMhy1NMDW7eePCw/8kiBzs5z\nOCAROWfOKkx//OMf57LLLuPqq6+eO/aud72L3/md36G9vZ2uri4++9nPcv311/Pss88SCoUWfMAi\nIiIiIsuF4fu+fyYXfvKTn+Thhx9mx44drF69+qTXDQwM0NbWxkMPPcTNN988d3xqamru9cGDB8sf\nsYiIyDLT1dXGLbec/H9kH354hPb2U9SBiMiy1dHRMfc6lUqdcP6MVqY/8YlP8PDDD/P444+fMkgD\nNDY20tLSwqFDh85upCIiIiIiK8xpw/THP/5xvvvd7/L444+zfv36095wZGSEvr4+GhsbT3rNpk2b\n5l7v3r37hGNy5jR/5dPczY/mb340f+VbjnM3Olo45flkMrlsxrsc528l0fyVb6XO3WurK17PKVvj\n3XbbbXz729/mH/7hH0ilUnOt77LZLADZbJZPfepTPP3003R3d/OTn/yEm266ifr6+uNKPERERERE\nzkenDNP33XcfMzMzvOMd76CpqWnu48///M8BsCyLvXv38lu/9VtccMEFbNu2jc7OTp566ini8fg5\n+QZERERERJbKKcs8PM875SdHIpETelGLiIi80bS1zba/O9V5ETk/nVVrPBERETlRZ2dEfaRF3qBO\nWeYhIiIiIiInpzAtIiIiIlImhWkRERERkTIpTIuIiIiIlElhWkRERESkTArTIiIiIiJlUpgWERER\nESmTwrSIiIiISJkUpkVEREREyqQwLSIiIiJSJoVpEREREZEyKUyLiIiIiJRJYVpEREREpEwK0yIi\nIiIiZVKYFhEREREpk8K0iIiIiEiZFKZFRERERMqkMC0iIiIiUiaFaRERERGRMilMi4iIiIiUSWFa\nRERERKRMCtMiIiIiImVSmBYRERERKZPCtIiIiIhImRSmRURERETKpDAtIiIiIlImhWkRERERkTIp\nTIuIiIiIlOmUYfqLX/wiV1xxBalUinQ6zU033cRLL710wnV33nknzc3NxGIxrrvuOvbt27doAxYR\nERERWS4Cpzr5xBNP8LGPfYwrrrgCz/P43Oc+xzvf+U727dtHVVUVAF/60pe45557uP/++1m/fj2f\n//znueGGGzhw4ACJROKcfBMiIivB/v0FenpmX2cybQCMjhbmzre1QWdnZCmGJiIiZTplmH700UeP\n+/sDDzxAKpVi586dvPvd78b3fb761a9yxx13cPPNNwNw//33k06nefDBB7n11lsXb+QiIitMTw9s\n3fpqWD4xND/ySIHOznM7JhERmZ+zqpmenp7G87y5Vemuri6Ghoa48cYb566JRCJcc8017Ny5c2FH\nKiIiIiKyzBi+7/tnevEtt9zC4cOH2b17N4ZhsHPnTt761rfS29tLS0vL3HUf+tCH6O/vP25le2pq\nau71wYMHF2j4IiIrR1dXG7fcUnfS8w8/PEJ7e885HJGIiJxOR0fH3OtUKnXC+VOWebzWJz/5SXbu\n3MmOHTswDOO015/JNSIiIiIiK9kZhelPfOITPPzwwzz++OOsXr167nhDQwMAQ0NDx61MDw0NzZ17\nPZs2bZp7vXv37hOOyZnT/JVPczc/mr+z99qHDV9PMpnUfJ4B/ezNj+ZvfjR/5Vupc/fa6orXc9qa\n6Y9//OM89NBD/PjHP2b9+vXHnWtvb6ehoYHHHnts7lihUGDHjh1s2bKlzCGLiIiIiKwMp1yZvu22\n2/jOd77DD37wA1KpFIODg8Ds6kk8HscwDG6//XbuvvtuNmzYQEdHB3fddRfJZJL3ve995+QbEBER\nERFZKqcM0/fddx+GYfCOd7zjuON33nknn/vc5wD49Kc/TT6f57bbbmNiYoLNmzfz2GOPEY/HF2/U\nIiIrUFvbbPs7gEwmA8wuTrz2vIiIrCynDNOe553RTbZv38727dsXZEAiIuerzs7IXB/p3bv3Aiuv\ndlBERI53Vn2mRURERETkVxSmRURERETKpDAtIiIiIlImhWkRERERkTIpTIuIiIiIlElhWkRERESk\nTArTIiIiIiJlUpgWERERESmTwrSIiIiISJkUpkVEREREynTK7cRFRERWMt/3KdkuJcfF9yFgmcQi\nwaUeloicRxSmRUTkvOP7PrmCTaHkUCxBqQS+D5GIC6BALSILRmFaRETOK8WSQ7Zgk8v7FApgGRbB\ngIWHT6FgE496Sz1EETmPKEyLiMh5wfN8ZvIl8kWXmRkwsUhGgljW7ONBRdvBU44WkQWmMC0iIiue\n43pMZ4vMZH1KRYNoOEg4ePyvONtxCYYhFLSWaJQicj5SmBYRkRWtWHLI5EpkZgDPIhUPYRjGcdd4\nno/tusRDELTUyEpEFo7CtIiIrFi5gs1M3iaTgYAZIB4Lvf51RZtwGCIha67sQ0RkIShMi4jIiuP7\nPtPZItm8SzYLkWCISOj1f6U5rofjOVRGIR55/bAtIlIuhWkREVlRfN8nW3DIZF3yOYN4JIRpGBRK\nDp7nE7DM4+qis4US0ehsOzzTNE5xZxGRs6cwLSIiK8arQTqbh5GxEtmCTcAyiIbCGL6F68Jl/xwH\nYOQ2n1zRxrQ8YlFDvaVFZFEoTIuIyIrwamnHwFiJ5w5PEuktkSnOgBsiGUqxeUM7v/lEmp//Vpbq\nSvOXOx/aVKYgEVV5h4gsDoVpERFZEaazRZ7aO8Bje/oZsQcwij7RqInnGASLSe564iqeeU8Ow/Bx\nPY9ssUgyCfFokGBA7fBEZHHokWYREVn2prNFntk3wI+ePciR3Cv4kQku7YySCMW55MIY/5T7MH9c\n/W/0DI8TDPgUbYdYDOJRi2hY5R0isni0Mi0iIstaJlfk4NFJ/mN3NwcnDlBX41BdZdB7zOCB8Y/A\nKPxR29fITmQYn8lS8mLUxoPEYybJWHiphy8i5zmFaRERWbZmckWODWf4j2eOcWjkKIFEgXjYo6c3\nzGPBPwLgrVNfo6fXpyFuEQ76hEOQqrCoUJAWkXNAYVpERJal6WyBp1/q4/GfD/HU/i4G/P3UYXOg\ny8WbiUE7ND3/32l6q0fBtolZKZrSURrqQiRjIbXBE5FzQmFaRESWnfHpHA8/vp9d+Line truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9e37390>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.00841848 0.00915344 0.00077199]\n"
]
}
],
"source": [
"landmarks = array([[5, 10], [10, 5], [15, 15], [20, 5], [15, 10], \n",
" [10,14], [23, 14], [25, 25], [10, 20]])\n",
@@ -1769,11 +1830,30 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [],
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAEWCAYAAAC+BfslAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VFX+//HXpCdAEiCkQCB0kCIgATQEaRJAxIb0pURc\nhAWlrKtmhRWUBcvKIq4Uf7oIKgguCiugFEEhBFci0kHB0AQSCCXUJDCZ3x/zzciQHiZzJ8n7+XjM\nY2bOPffez4TL8OHk3M8xWSwWCyIiIiIiUuLcjA5ARERERKS8UPItIiIiIuIkSr5FRERERJxEybeI\niIiIiJMo+RYRERERcRIl3yIiIiIiTqLkW0RERETESQqVfM+ZM4c6derg6+tLZGQk8fHxBe4za9Ys\nGjdujI+PD9WrVycuLu6OgxURERERKc08CuqwdOlSxo8fz9y5c4mOjubdd9+lZ8+e7N+/n5o1a+a6\nz8SJE1m9ejX/+Mc/aN68OWlpaZw+fdrhwYuIiIiIlCamgla4bNeuHS1btmT+/Pm2toYNG/LEE08w\nffr0HP1//vlnmjdvzp49e2jUqJHjIxYRERERKaXynXaSmZnJjh07iImJsWuPiYkhISEh131WrlxJ\n3bp1WbNmDXXr1qVOnToMHz6cs2fPOi5qEREREZFSKN/kOzU1FbPZTEhIiF17cHAwycnJue6TlJTE\nsWPHWLZsGYsWLeKjjz7i4MGD9O7dmwIG2UVEREREyrQC53wXVVZWFhkZGXz00UfUr18fgI8++ohG\njRqRmJhImzZtbH3T0tIcfXoREREREacJCAgoUv98R76DgoJwd3cnJSXFrj0lJYWwsLBc9wkLC8PD\nw8OWeAPUr18fd3d3jh8/XqTgRERERETKknyTby8vL1q3bs26devs2tevX09UVFSu+0RHR3Pz5k2S\nkpJsbUlJSZjNZiIiIhwQsoiIiIhI6VRgtZNly5YxZMgQ5syZQ1RUFPPmzWPBggXs27ePmjVrEhcX\nx/bt29mwYQMAFouFNm3aULFiRWbNmoXFYmH8+PHcuHEjx02at047KeqQvZQfiYmJAERGRhocCZim\nmgCwvKz7F1yJK10j4rp0nUhh6DqRwriTHLbAOd/9+vXj3LlzTJs2jdOnT9O8eXPWrFljq/GdnJxs\nN8ptMplYtWoVzz77LPfffz++vr7ExMQwc+bMIgUmIiIiIlLWFOqGy9GjRzN69Ohcty1YsCBHW2ho\nKMuWLbuzyEREREREyphCLS8vUl6YTNaHiIiISElQ8i0iIiIi4iRKvkVEREREnMThi+yIiIiIOEJW\nVhaZmZlOPWd2WeT09HSnnldch5eXF25uJTc+reRbREREXI7FYiEjIwMfHx9MTrwZx8fHx2nnEtdj\nsVhIT08v0etO005ERETE5WRmZuLl5eXUxFvEZDLh5eVVor9xUfItcguLxfoQERFjWSwW3N3djQ5D\nyiF3d3cKWIPyjij5FhERERFxEiXfIiIiIiJOouRbRERERMRJlHyLiIiISKl29OhR3NzcWLhwodGh\nFEjJt4iIiIiTfPjhh7i5ueHm5kZ8fHyuferXr4+bmxudO3cu0VgSEhKYOnUqaWlpJXL8zMxM/vWv\nf9G+fXsqV66Mt7c3devWZcSIEezYsaNEzlkaquMo+Ra5hclkfYiIiJQkX19fFi9enKP9+++/Jykp\nySn1zUsy+T5//jwdOnTg2WefJTAwkClTpjBv3jwGDx7M1q1badOmDadOnXL4eUsDLbIjIiIi4mQ9\ne/bks88+Y/bs2Xh4/J6OLV68mMaNGzu1zGJJlNUbPnw4iYmJLF26lL59+9ptmzp1Kv/85z8dct7M\nzMxSV5JSI99S6i3es5gp306xPTYe2Wh0SCIiIvkaOHAg58+fZ+3atbY2s9nMsmXLGDx4cK77XLt2\njb/85S/UqlULHx8fGjZsyOuvv54jiXVzc2P06NGsWLGCZs2a4ePjQ7NmzezONWXKFJ5//nkA6tSp\nY5sKs3nzZlufdevW0bFjRypVqkSlSpXo2bMnu3btKvCz/fDDD6xatYoRI0bkSLyz4/vzn/9MjRo1\nADh27BhjxozhrrvuokKFClSuXJnevXuzd+9eu/2+/fZb3NzcWLx4MVOmTKFWrVr4+flx8uTJPGPZ\ntWsXDz74IAEBAVSsWJHOnTvnOd3HWTTyLaXekr1LWPXLKtv7Bxs8yFvb3rK99/Xw5T/9/mNEaCIi\nIrkKDw+nQ4cOLF68mF69egGwYcMGzpw5w8CBA1myZIldf4vFwqOPPsqGDRsYMWIErVu3ZsOGDcTF\nxXH06FHmzp1r13/btm18+eWX/OlPf6JixYrMnj2bPn36cPz4capUqUKfPn04dOgQS5YsYdasWQQF\nBQHQuHFjwDoCP2TIEGJiYnjttddIT0/nvffeo0OHDmzfvp1GjRrl+dn++9//AjB06NBC/SwSExPZ\nsmUL/fr1o1atWpw8eZL58+fTsWNH9u3bR2hoqF3/6dOn4+7uzoQJE7BYLFSoUIHLly/nOO6BAwfo\n0KEDlSpV4vnnn8fb25v/9//+Hw888ADr16+nQ4cOhYrP0ZR8S5lRvVJ1Tl0+xZpDa+zaK3pVNCgi\nERGR3JlMJgYNGsTEiRO5fv06vr6+fPLJJ9x7773UrVs3R/8vv/ySDRs2MHXqVCZPngzAqFGjePLJ\nJ5k/fz5jx46ladOmtv4HDx5k//79tmN17tyZFi1asGTJEsaMGUPz5s1p1aoVS5Ys4dFHH6VWrVq2\nfa9evcrYsWOJjY3l/ffft7WPGDGCRo0a8corr/DJJ5/k+dn2798PwN13312on0WvXr3o06ePXduQ\nIUNo0qQJH3zwAS+99JLdtitXrnDgwAF8fX1tbbkl3y+99BKZmZls3ryZevXqARAbG0vjxo2ZOHEi\n27dvL1R8jqbkW8qMcP9wTl0unzdviIiUZ6apJXtjouXlkllqvG/fvjzzzDOsWLGCRx99lBUrVjBj\nxoxc+65evRp3d3fGjRtn1/7nP/+ZDz/8kNWrV9sl3507d7ZL4ps3b46/vz9HjhwpMK7169dz8eJF\nBg4cSGpqqt226OhoNm3alO/+ly5dwmQyUalSpQLPBeDj42N7fe3aNa5fv06lSpVo2LAhP/74Y47+\nQ4cOtUu8c2M2m1m7di29e/e2Jd4AVatWZfjw4bz11lucPXuWatWqFSpGR1LyLWVGp4hOPNzwYdv7\nqn5VGb16dJGOUQL3nIiIiOSqcuXKdO/enY8//hg3NzeuX79O//79c+177NgxQkJC8Pf3t2tv2LAh\nbm5uHDt2zK791pHsW8934cKFAuP65ZdfAOjWrVuu2wu6wdHf3x+LxcLly5dzxJub9PR0/va3v/Hx\nxx+TnJxsty235PjWZDovZ8+e5fr167lOj8meWnP06FEl3yJFsfX4Vm5k3SD1mvV/5dG1oundqLdt\n++WMy0VOvkVEpPQpqZFpZxg0aBBDhw7l0qVLdOvWzTb3OjdFqQ6SV4JcmGNkZWUBsHDhQttNkUXR\npEkTVqxYwe7du4mOji6w/zPPPMOCBQt49tlniYqKIjAwEJPJxPjx422x3KqgUW9Xp+RbSq1Hlz5q\nS7xFRERKo0ceeQRvb28SEhLyXZ0xIiKCDRs2cOnSJbvR5F9++YWsrCxq165d5HPnVUe8fv36AAQF\nBdGlS5ciH/fhhx9m+vTpLFq0qFDJ92effcawYcOYOXOmXfv58+eLPTJdrVo1/Pz8OHjwYI5t2W3F\n+Zk5gkoNSql3X/h9dIzoSFW/qrluv5J5hXqz61Fvdj0OnTvk5OhERETy5uvry9y5c3n55Zd59NFH\n8+zXu3dvsrKymD17tl37zJkzMZlMtoopRVGhQgXAmuTeqnv37gQGBjJ9+nRu3LiRY7/b54Hfrm3b\ntjz44IP8+9//Zvny5Tm2Z2Vl8dZbb9lKBHp4eOQY4V6yZAmnT58u0ue5lbu7Oz169ODLL78kKSnJ\n1n7+/HkWLlxImzZtDJlyAhr5ljJg5YCVVKuQ/1+gpAvWv3g3snJ+iYiIiBjpD3/4Q4F9HnroIbp1\n68bLL7/MsWPHaNWqFRs3buTzzz9n1KhRNGnSpMBj3D7lpE2bNgDExcUxcOBAvLy86Nq1K9WqVbOt\nRtmqVSsGDhxIcHAwx48f5+uvv6ZZs2YsWLAg33MtXLiQnj170rdvXx588EEeeOAB/P39OXr0KP/5\nz384dOgQgwYNAqwj5YsWLcLf35+mTZuyc+dOli1bRt26de9oIZ5p06axbt06oqOjGTNmjK3U4KVL\nl3jrrbcKPkAJUfItZVYFrwocfuYwAN0/7s6vF341OCIREZG8p3sU1OeLL77g5Zdf5tNPP2XRokVE\nREQwY8YM22I5RT1m69atmTFjBnPmzOHJJ5/EYrGwadMmqlWrRr9+/ahevTrTp0/nrbfeIj09nRo1\natC+fXtGjRpV4LmqVq1KfHw88+fPZ8mSJUyZMoXr169TvXp1OnfuzJIlSwgLCwPg7bffxtPTk6VL\nl3LlyhXatGnD2rVree6553LEXJifXbbGjRsTHx9PXFwcr7/+OllZWbRp04YPPvigUNNhSorJUhJr\nihZSWlqa7XVAQIBRYYiLS0xMBCAyMtKuvdqb1Ui9lsqZ584UOPLd5N0mHEg9wL4/7aNJtbxHB7L/\nTuf1tyK7nFVpvrmnLMrrGhG5la6T0iU9Pd2uBJ2IMxV0/d1JDqs53yIiIiIiTqLkW0RERETESZR8\ni4iIiIg4iW64lFLl9OXTDFsxDICL6RcNjkZERESkaAo98j1nzhzq1KmDr68vkZGRxMfH59n36NGj\nuLm55XisW7fOIUFL+XX95nXWJ61nfdJ6bmbdNDocERERkSIp1Mj30qVLGT9+PHPnzLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa286208>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"actual mean=1.29, std=1.12\n",
"EKF mean=1.00, std=0.95\n"
]
}
],
"source": [
"import nonlinear_plots\n",
"nonlinear_plots.plot_ekf_vs_mc()"
@@ -1790,11 +1870,30 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [],
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xaa6d5f8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"actual mean=1.30, std=1.13\n",
"UKF mean=1.30, std=1.08\n"
]
}
],
"source": [
"nonlinear_plots.plot_ukf_vs_mc(alpha=0.001, beta=3., kappa=1.)"
]
+1 -1
View File
@@ -12,7 +12,7 @@ sys.path.insert(0,'./code') # allow us to import book_format
def test_filterpy_version():
import filterpy
min_version = [0,0,22]
min_version = [0,0,25]
v = filterpy.__version__
tokens = v.split('.')
for i,v in enumerate(tokens):