Skip to content

Instantly share code, notes, and snippets.

@balzer82
Created February 17, 2016 12:36
Show Gist options
  • Save balzer82/308c038a13011a3aeedd to your computer and use it in GitHub Desktop.
Save balzer82/308c038a13011a3aeedd to your computer and use it in GitHub Desktop.
Parametrierung eines Mixture Density Sensor Models für Tinkerforge Ultraschall Bricklet
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 647,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"sns.set_context('paper')\n",
"sns.set_style('whitegrid')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Inverse Sensor Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Gives the probability $P$ of how a sensor reading $z$ might be, with a given sensor pose $x$ and an environment $m$.\n",
"\n",
"$P(z\\mid x,m)$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2D Mixture Density"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Good tutorial video:"
]
},
{
"cell_type": "code",
"execution_count": 648,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<video width=\"500\" height=\"260\" controls>\n",
" <source src=\"http://ais.informatik.uni-freiburg.de/teaching/ss13/robotics/recordings/rob1-07-sensor-models.mp4\" type=\"video/mp4\">\n",
"</video>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 648,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.display import HTML\n",
"HTML(\"\"\"\n",
"<video width=\"500\" height=\"260\" controls>\n",
" <source src=\"http://ais.informatik.uni-freiburg.de/teaching/ss13/robotics/recordings/rob1-07-sensor-models.mp4\" type=\"video/mp4\">\n",
"</video>\n",
"\"\"\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$P(z\\mid x,m) = \\left(\\begin{matrix}z_{hit} \\\\ z_{unexp} \\\\ z_{max} \\\\ z_{rand} \\end{matrix}\\right)^T \\cdot \\left(\\begin{matrix}P_{hit}(z\\mid x,m) \\\\ P_{unexp}(z \\mid x,m) \\\\ P_{max}(z \\mid x,m) \\\\ P_{rand}(z \\mid x,m) \\end{matrix}\\right)$"
]
},
{
"cell_type": "code",
"execution_count": 649,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"Z = np.arange(0, 400.01, 0.01) # Entfernungen\n",
"maxz = np.max(Z)"
]
},
{
"cell_type": "code",
"execution_count": 650,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def normalize(P):\n",
" return P/np.max(np.sum(P))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Measurement Noise"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Sensor readings are normal distributed around the true value with standard deviation $\\sigma_z$ and mean $z_{exp}$.\n",
"\n",
"$P_{hit}(z\\mid x,m) = \\frac{1}{\\sqrt{2 \\pi \\sigma_z^2}} \\cdot \\exp{\\left(-\\frac{1}{2} \\cdot \\frac{(z-z_{exp})^2}{\\sigma_z^2}\\right)}$"
]
},
{
"cell_type": "code",
"execution_count": 651,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"varz = 5.0 # Variance\n",
"zexp = 357.0 # here is the obstacle\n",
"\n",
"def Pzx_hit(z):\n",
" Pzx = 1.0/np.sqrt(2*np.pi*varz) * np.exp(-1/2.0*(z-zexp)**2/varz)\n",
" eta = np.max(np.sum(Pzx))\n",
" return Pzx/eta"
]
},
{
"cell_type": "code",
"execution_count": 652,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x39c0a7b8>]"
]
},
"execution_count": 652,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nDwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x2afcf860>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(Z, Pzx_hit(Z))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Unexpected Obstacles"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There might be measurements before the beam hits the real obstacle.\n",
"\n",
"$P_{unexp}(z \\mid x,m) = \\eta \\cdot \\lambda \\cdot \\exp{\\left(-\\lambda \\cdot z\\right)}$"
]
},
{
"cell_type": "code",
"execution_count": 653,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"lamb = 0.01\n",
"\n",
"def Pzx_unexp(z):\n",
" eta = 1.0/(1.0-np.exp(-lamb*zexp))\n",
" if np.size(z)>1:\n",
" Pzx = eta * lamb * np.exp(-lamb * z)\n",
" Pzx[z>zexp] = 0.0\n",
" else:\n",
" if z<=zexp:\n",
" Pzx = eta * lamb * np.exp(-lamb * z)\n",
" else:\n",
" Pzx=0.0\n",
" return Pzx"
]
},
{
"cell_type": "code",
"execution_count": 654,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x3c6a8978>]"
]
},
"execution_count": 654,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAESCAYAAAA48DgcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VPXB9vHvLMlkn+zJQAgIYQkhJAEHFRdAEWxdWu1D\nFWmhtRRasdrqqwjlNRUemuJT2lptRZRHRF/bFApNpSoqVVwQhACyhR3CloUJEBJCmGQy7x+RFAQi\nMEnOTHJ/rotLcnImuX+HOHfOOb9zjsnr9XoRERHxgdnoACIiEvhUJiIi4jOViYiI+ExlIiIiPlOZ\niIiIz1QmIiLiM2tznywrK2PWrFnY7XbS0tIYM2YMACtXrqSgoACv18vo0aPJycmhqqqKqVOnMn78\neLKysnjjjTfYuXMnNTU13HbbbQwbNqxNBiQiIm2v2T2T/Px8xo4dS25uLitWrMDj8QAwf/58Zs6c\nyYwZM5g7dy4Ac+bMITQ0FJPJBIDdbic3N5cnn3ySpUuXtvIwRETESM2WicvlwuFwABAVFUVVVRUA\nXq8Xq9WKzWbD7XYD8Pjjj5OamsqZayBvv/12Tp48yTPPPMPEiRNbcwwiImKwZg9zORwOSkpKSEpK\norKyksjISABsNht1dXV4PB5sNtsFX7t7927mzJnDI488QkpKykW/R2FhoQ/xRUSkpQ0cOPCyX2Nq\n7nYqLpeLvLw8wsPDyczMZPv27UyePJkNGzawaNEi6uvreeCBB8jIyADg+eef56abbqJ///6MGDGC\nPn36YLPZ6NmzJxMmTLjg9ygsLLyi4EYqKioiPT3d6BiXJdAyB1peUOa2EGh5IfAyX+l7crN7JvHx\n8cyePfu85U6nE6fTed7yhx56qOnv77777mWHERGRwKSpwSIi4jOViYiI+ExlIiIiPlOZiIiIz1Qm\nIiLiM5WJiIj4TGUiIiI+U5mIiIjPVCYiIuIzlYmIiPhMZSIiIj5TmYiIiM9UJiIi4jOViYiI+Exl\nIiIiPlOZiIiIz1QmIiLiM5WJiIj4TGUiIiI+U5mIiIjPVCYiIuIzlYmIiPhMZSIiIj5TmYiIiM9U\nJiIi4jOViYiI+ExlIiIiPlOZiIiIz1QmIiLiM5WJiIj4TGUiIiI+84syqamtMzqCiIj4wC/K5N9r\nDxgdQUREfOAXZfLmx3toaPAaHUNERK6QX5TJYddJCreVGR1DRESukLW5T5aVlTFr1izsdjtpaWmM\n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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x3d9dd208>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(Z, Pzx_unexp(Z))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Random Measurements"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There is a random distribution, that the measurement is somewhere.\n",
"\n",
"$P_{rand}(z \\mid x,m) = \\frac{1}{z_{max}}$"
]
},
{
"cell_type": "code",
"execution_count": 655,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def Pzx_rand(z):\n",
" if np.size(z)>1:\n",
" # Falls Funktion dargestellt werden soll\n",
" Pzx = np.ones(len(z)) / maxz\n",
" else:\n",
" # Falls Einzelwert abgefragt wird\n",
" if z>maxz:\n",
" Pzx=0\n",
" else:\n",
" Pzx=1.0/maxz\n",
" return Pzx"
]
},
{
"cell_type": "code",
"execution_count": 656,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x3a6cb0f0>]"
]
},
"execution_count": 656,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAESCAYAAADJ+2ORAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGBdJREFUeJzt3F9olPmhxvFnzLhv1UnGP1ln5hhy4clINBonyNSLhS3S\nEgJpQRTROYEEbOtIhRqQ3WicOhqVkHTDrhWSHN3SsIVAdkUJ5MrdQqUQkBhjtU3Wpqmuu5o/Z7aa\nxKTpJON7Lg56dLPOnrXmlxnP93M3M+TleX9Ivjs6sw7btm0BADDHFsz3AADA/w8EBwBgBMEBABhB\ncAAARhAcAIARBAcAYIQz2YvDw8Oqq6uT2+1WXl6eysrKJEmdnZ1qb2+XbdsKhUIKBAKKRCJyuVyK\nx+OKRqNqbW1Vf3+/JicnVVJSojfffFPHjx/XokWLNDo6qmPHjqmjo0MdHR1auXKlNm/erK1btxq5\naQCAeUmD09bWpvLycgUCAe3Zs0e7du1SRkaGWlpa1NjYqEQiocrKSlVUVCg3N1fhcFinT59WT0+P\n3G63otGo7t+/rxMnTigej8u2bU1NTamgoEALFy7UlStX5PV69ejRI23cuNHUPQMA5kHSv1KLxWLy\n+XySpKysLI2Pj0uSbNuW0+mUZVmKx+OKxWLyer2SJK/Xq5GREZWWlmpiYkL19fUKh8O6c+eOVq9e\nrWg0qhs3bujzzz/X9u3bdezYMb311lv65S9/Oce3CgCYT0nf4fh8Pg0ODsrj8Wh0dFSZmZmSJMuy\nND09rUQiIcuy5PP51N3dLUkaGhqS3+/XwMCAmpqaVFlZqZycHPX29mpmZkaStGzZMtm2ratXr6qo\nqEgulyvpyMfXBgCkhk2bNn3rn3Ek+1/bxGIx1dbWasmSJdqwYYNu3rypqqoqXbt2TefOndPMzIx2\n796tgoICHTlyRJZlyeFwqLq6WsXFxcrPz5dlWfL7/aqoqNDhw4fldru1ePFiHThwQOfPn1dXV5ck\nKRQKqbCw8Gt3dHd3v9DNzae+vj6tXbt2vmd8K+m2Od32Sum3Od32Smw24UV/Jyd9h5Odna2GhoZZ\nzweDQQWDwWeeq6mpeebxxYsXZ/3cO++888zjbdu2adu2bf/nsQCA9MXHogEARhAcAIARBAcAYATB\nAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATB\nAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATB\nAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBghDPZi8PDw6qrq5Pb7VZeXp7Kysok\nSZ2dnWpvb5dt2wqFQgoEAopEInK5XIrH44pGo2ptbVV/f78mJydVUlKiN998U8ePH9eiRYs0Ojqq\nY8eOqaur65nrFBUVGblpAIB5SYPT1tam8vJyBQIB7dmzR7t27VJGRoZaWlrU2NioRCKhyspKVVRU\nKDc3V+FwWKdPn1ZPT4/cbrei0aju37+vEydOKB6Py7ZtTU1NqaCgQAsXLpx1naamJlP3DQAwLOlf\nqcViMfl8PklSVlaWxsfHJUm2bcvpdMqyLMXjccViMXm9XkmS1+vVyMiISktLNTExofr6eoXDYd25\nc0erV69WNBrVjRs39Pnnn8+6DgDg1ZX0HY7P59Pg4KA8Ho9GR0eVmZkpSbIsS9PT00okErIsSz6f\nT93d3ZKkoaEh+f1+DQwMqKmpSZWVlcrJyVFvb69mZmYkScuWLZNt27Ouk0xfX9/LuF9jpqam2DzH\n0m2vlH6b022vxOZU5rBt237ei7FYTLW1tVqyZIk2bNigmzdvqqqqSteuXdO5c+c0MzOj3bt3q6Cg\nQEeOHJFlWXI4HKqurlZxcbHy8/NlWZb8fr8qKip0+PBhud1uLV68WAcOHFBXV9es63yd7u5ubdq0\nac4OYS709fVp7dq18z3jW0m3zem2V0q/zem2V2KzCS/6OznpO5zs7Gw1NDTMej4YDCoYDD7zXE1N\nzTOPL168OOvn3nnnnW+8DgDg1cTHogEARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEA\nGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEA\nGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEA\nGEFwAABGEBwAgBEEBwBghDPZi8PDw6qrq5Pb7VZeXp7KysokSZ2dnWpvb5dt2wqFQgoEAopEInK5\nXIrH44pGo2ptbVV/f78mJydVUlKiLVu2aOfOnVq9erUk6fDhw/r444/V0dGhlStXavPmzdq6devc\n3zEAYF4kDU5bW5vKy8sVCAS0Z88e7dq1SxkZGWppaVFjY6MSiYQqKytVUVGh3NxchcNhnT59Wj09\nPXK73YpGo7p//75OnDihdevWaXJyUgsXLlROTo5cLpeuXLkir9erR48eaePGjabuGQAwD5IGJxaL\nyefzSZKysrI0Pj6upUuXyrZtOZ1OOZ1OxeNxxWIxeb1eSZLX69XIyIhKS0s1MTGh+vp6hcNhWZal\nhoYGrVmzRnV1derp6dH27dtVWFiosbExRSIRNTY2zv0dAwDmRdLg+Hw+DQ4OyuPxaHR0VJmZmZIk\ny7I0PT2tRCIhy7Lk8/nU3d0tSRoaGpLf79fAwICam5u1f/9+5eTkqLe3Vw8ePNCaNWu0bNkyzczM\n6I9//KOKiorkcrm+cWhfX99LuF1zpqam2DzH0m2vlH6b022vxOZU5rBt237ei7FYTLW1tVqyZIk2\nbNigmzdvqqqqSteuXdO5c+c0MzOj3bt3q6CgQEeOHJFlWXI4HKqurlZxcbHy8/NlWZb8fr9CoZB+\n8YtfyOfzybZtHTx4UOfPn1dXV5ckKRQKqbCw8Gt3dHd3a9OmTXNzAnOkr69Pa9eune8Z30q6bU63\nvVL6bU63vRKbTXjR38lJ3+FkZ2eroaFh1vPBYFDBYPCZ52pqap55fPHixVk/99577z3zeNu2bdq2\nbdv/eSwAIH3xsWgAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAE\nwQEAGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAE\nwQEAGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAE\nwQEAGOFM9uLw8LDq6urkdruVl5ensrIySVJnZ6fa29tl27ZCoZACgYAikYhcLpfi8bii0ahaW1vV\n39+vyclJlZSUaMuWLdq5c6dWr14tSTp8+LCuX7/+zHWKiorm/o4BAPMiaXDa2tpUXl6uQCCgPXv2\naNeuXcrIyFBLS4saGxuVSCRUWVmpiooK5ebmKhwO6/Tp0+rp6ZHb7VY0GtX9+/d14sQJrVu3TpOT\nk1q4cKFycnLkcrlmXaepqem5W/74l/966Tc/lz67O6l4BpvnUrrtldJvc7rtldicypIGJxaLyefz\nSZKysrI0Pj6upUuXyrZtOZ1OOZ1OxeNxxWIxeb1eSZLX69XIyIhKS0s1MTGh+vp6hcNhWZalhoYG\nrVmzRnV1derp6Zl1nWQi/9n5km7ZpC/me8ALSLfN6bZXSr/N6bZXYvPcOvofOS/0c0mD4/P5NDg4\nKI/Ho9HRUWVmZkqSLMvS9PS0EomELMuSz+dTd3e3JGloaEh+v18DAwNqbm7W/v37lZOTo97eXj14\n8EBr1qzRsmXLNDMzM+s6yfznoe+/0A3Ol4G/Dujf8/59vmd8K+m2Od32Sum3Od32Smw2YfCzmy/0\nc0mDs2PHDtXW1ur8+fMqLi5WbW2tqqqqVFFRoUgkopmZGe3bt08FBQVqb2/XyZMn5XA4FAgEVFxc\nrPz8fJ06dUp+v1+hUEhnzpzRH/7wB9m2rWAwKEnPXCeZf8t2vdANzpfR/3qNzXMs3fZK6bc53fZK\nbDZh8LMX+7mkwcnOzlZDQ8Os54PB4JNgPFZTU/PM44sXL876uffee+8brwMAeDXxsWgAgBEEBwBg\nBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBg\nBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBg\nBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEAGOFM9uLw8LDq6urkdruV\nl5ensrIySVJnZ6fa29tl27ZCoZACgYAikYhcLpfi8bii0ahaW1vV39+vyclJlZSUaMuWLZKkDz/8\nUL29vTp69KguXLigjo4OrVy5Ups3b9bWrVvn/o4BAPMi6TuctrY2lZeXKxqN6tKlS0okEpKklpYW\nnTx5UsePH9eZM2d0+fJl5ebm6tChQ1q+fLl6enrkdrsVjUZ18OBBdXR0SJK6urp069atJ9e/cuWK\nvF6vJGnjxo1zdY8AgBSQ9B1OLBaTz+eTJGVlZWl8fFxLly6VbdtyOp1yOp2Kx+OKxWJPwuH1ejUy\nMqLS0lJNTEyovr5e4XBYX3zxhT755BOVl5frzJkzkqTt27ersLBQY2NjikQiamxsfO6Wvr6+l3XP\nRkxNTbF5jqXbXin9NqfbXonNqSxpcHw+nwYHB+XxeDQ6OqrMzExJkmVZmp6eViKRkGVZ8vl86u7u\nliQNDQ3J7/drYGBATU1NqqysVE5OjpqbmzU2NqZ3331Xn376qa5du6arV6+qqKhILpfrG4euXbv2\nJdyuOX19fWyeY+m2V0q/zem2V2KzCY9/339bSYOzY8cO1dbW6vz58youLlZtba2qqqpUUVGhSCSi\nmZkZ7du3TwUFBWpvb9fJkyflcDgUCARUXFys/Px8nTp1Sn6/X3v37pUk3b17V2fPnlUgENDf/vY3\nVVdXS9KT1wEAr6akwcnOzlZDQ8Os54PBoILB4DPP1dTUPPP44sWLX3vNVatW6ejRo5Kkbdu2adu2\nbd9mLwAgTfGxaACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATB\nAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATB\nAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBgBMEBABhBcAAARhAcAIARBAcAYATB\nAQAY4Uz24vDwsOrq6uR2u5WXl6eysjJJUmdnp9rb22XbtkKhkAKBgCKRiFwul+LxuKLRqFpbW9Xf\n36/JyUmVlJRoy5YtkqQPP/xQvb29Onr06KzrFBUVzf0dAwDmRdJ3OG1tbSovL1c0GtWlS5eUSCQk\nSS0tLTp58qSOHz+uM2fO6PLly8rNzdWhQ4e0fPly9fT0yO12KxqN6uDBg+ro6JAkdXV16datW0+u\n/9XrAABeXUnf4cRiMfl8PklSVlaWxsfHtXTpUtm2LafTKafTqXg8rlgsJq/XK0nyer0aGRlRaWmp\nJiYmVF9fr3A4rC+++EKffPKJysvLn8Tlq9dJpq+v72XcrzFTU1NsnmPptldKv83ptldicypLGhyf\nz6fBwUF5PB6Njo4qMzNTkmRZlqanp5VIJGRZlnw+n7q7uyVJQ0ND8vv9GhgYUFNTkyorK5WTk6Pm\n5maNjY3p3Xff1aeffqpr167Nuk4ya9eufUm3bEZfXx+b51i67ZXSb3O67ZXYbMLj3/ffVtLg7Nix\nQ7W1tTp//ryKi4tVW1urqqoqVVRUKBKJaGZmRvv27VNBQYHa29t18uRJORwOBQIBFRcXKz8/X6dO\nnZLf79fevXslSXfv3tXZs2cVCARmXQcA8OpKGpzs7Gw1NDTMej4YDCoYDD7zXE1NzTOPL168+LXX\nXLVqlY4ePfrc6wAAXk18LBoAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBg\nBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBg\nBMEBABhBcAAARhAcAIARBAcAYATBAQAYQXAAAEYQHACAEQQHAGAEwQEAGEFwAABGEBwAgBEEBwBg\nBMEBABhBcAAARjiTvTg8PKy6ujq53W7l5eWprKxMktTZ2an29nbZtq1QKKRAIKBIJCKXy6V4PK5o\nNKrW1lb19/drcnJSJSUleuONNxSJRLRixQotWLBAb731li5cuKCOjg6tXLlSmzdv1tatW43cNADA\nvKTvcNra2lReXq5oNKpLly4pkUhIklpaWnTy5EkdP35cZ86c0eXLl5Wbm6tDhw5p+fLl6unpkdvt\nVjQa1cGDB9XR0aGxsTHt3LlTVVVVun37tuLxuK5cuSKv1ytJ2rhx49zfLQBg3iR9hxOLxeTz+SRJ\nWVlZGh8f19KlS2XbtpxOp5xOp+LxuGKx2JNweL1ejYyMqLS0VBMTE6qvr1c4HFZ2drays7N15MgR\nLViwQA6HQ9u3b1dhYaHGxsYUiUTU2Nj43C3d3d0v8bbNYPPcS7e9UvptTre9EptTVdLg+Hw+DQ4O\nyuPxaHR0VJmZmZIky7I0PT2tRCIhy7Lk8/meHNbQ0JD8fr8GBgbU3Nys/fv3KycnR8PDw3r48KFq\namr029/+VpcuXdLt27dVVFQkl8uVdOSmTZte0u0CAOaLw7Zt+3kvxmIx1dbWasmSJdqwYYNu3ryp\nqqoqXbt2TefOndPMzIx2796tgoICHTlyRJZlyeFwqLq6WsXFxcrPz5dlWfL7/dq5c6eOHDkij8ej\n8fFxVVdX6+OPP1ZXV5ckKRQKqbCw0NiNAwDMShocAABeFj4WDQAwguAAAIxI+qGB+fa87wGlort3\n7+pnP/uZ1q1bp9dff11ut1t3797V+Pj4k4+Lp4rPPvtMlZWVunDhgt5//33du3fvyc7p6emUPPOn\nN1dXV+vRo0dyOBwKhULyeDwptfnq1atqa2vTkiVLtGLFCn3nO9955s9CKp7x05uXL1+ue/fuKZFI\naMGCBSl5xpJ0+/Zt/epXv9KyZcu0fv16ffnllyn9Z/npvQUFBbpy5UrKn/FjBw4c0Pe//33du3fv\nXzrjlA7O4+8BBQIB7dmzRzt37pTTmZqTr1y5otdff12SVFRUpLa2NjU3N+vy5cv66KOPFA6H53nh\n/4jFYjp37pwWL1785LtQT+/85z//mXJn/vRmSfrLX/6iwsJCLViwQHl5eTp79mxKbR4fH1c0GtXi\nxYv14x//WK+99pqamppS+oy/unlsbEzr169XRkZGSp6xJD18+FAHDhzQypUrFQ6HZVlWSp/z03t/\n/vOfKxaLacOGDSn75/ix3/zmN08+Sfyv/r6Y/7tJ4uu+B7Rs2bJ5XvX1CgsL9cYbb2jFihWqqKhQ\nbm6uJMnj8WhkZGSe1/2v7OxsHThwQD/5yU/04MEDrVixQtL/fn9qeno65c786c2S9Pbbb+u73/2u\nfv/73+uDDz7Ql19+mVKbv/e978m2bTU3N+tHP/rRk09ipvIZf3XzqlWrFAwGU/aMJWn9+vUaHh7W\n3r17tXnzZt25c0dS6p7z03uDwaA2bdqU8mf8u9/9TllZWQoEAkokEv/y74uU/jecx98DkqTR0VG5\n3e55XvR8fX19isfjcjgcWrRo0ZPIDA0NyePxzPO6r7dixQo9ePBAkjQ4OKiVK1em/Jk/fPhQf/3r\nXyVJbrdbMzMzKbf54cOHOnz4sDZu3Kgf/vCHaXHGT2/+wQ9+oP7+fkmpe8aS1NvbK8uy9Otf/1p/\n+tOfUv6cn95748aNJ99dTOUz7ujo0PXr13XhwgV99NFH+vvf/y7pxc84pT8W/dXvAe3YsWO+Jz3X\nn//8Z509e1YrVqxQfn6+/vGPf+jWrVsaGxvTsWPHvvHLrab99Kc/1dmzZ/XBBx88s3Nqaiplz/zx\n5hMnTsjhcOjhw4d6++23lUgkUmpzdXW17ty5I5/Pp4yMDK1bty7lz/irm10uV0qfsSRdv35d77//\nvjwej1577TV5PJ6UPuen9y5cuPDJf6Cm8hk/duHCBVmWpVgs9i+dcUoHBwDw6kjpv1IDALw6CA4A\nwAiCAwAwguAAAIwgOAAAIwgOAMAIggMAMOK/Aba39ZRic/pkAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x3a6fa438>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(Z, Pzx_rand(Z))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Max Range Model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The beam can get lost and is responding with the maximum value.\n",
"\n",
"$P_{max}(z \\mid x,m) = \\delta(z_{max})$"
]
},
{
"cell_type": "code",
"execution_count": 657,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def Pzx_maxrange(z):\n",
" if np.size(z)>1:\n",
" # Falls Funktion dargestellt werden soll\n",
" Pzx = np.zeros(np.size(z))\n",
" Pzx[-1:] = 1.0\n",
" else:\n",
" # Falls Einzelwert abgefragt wird\n",
" if z>=maxz:\n",
" Pzx=1.0\n",
" else:\n",
" Pzx=0.0\n",
" return Pzx"
]
},
{
"cell_type": "code",
"execution_count": 658,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x3bc61c50>]"
]
},
"execution_count": 658,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nMqmiomLS15pPFI7jKBQKSZKKioo0ODio4uJiJZNJ5eXlKS8vTyMjI+YN7gsMTXpUNt0XyJfE5nRy\n216JzZngtr2SuzbfF0j9WjMUoVBIfX19CgaDGhgYUGFhoSTJ6/VqdHRUiURCXq93wutTKRcAILeY\nf/XkOI4aGhpUUFCg8vJydXd3q7a2VqdOnVJ7e7vi8bheeOEFLVq0KJObAQAZZIYCAADeHgsAMBEK\nAIDJ/GV2qib6/EUuunjxorZu3aqFCxdq3rx58vl8unjxogYHB/XGG29o7ty52Z5407lz57Rt2zYd\nOXJE+/fvV29v782do6OjOXnm4zfv3LlTY2Nj8ng8Wr9+vYLBYE5t/vbbbxUOh1VQUCC/36+77rrr\nlu+FXDzj8Zvnzp2r3t5eJRIJTZs2LSfPWJJ+++037d27V3PmzNHixYvV39+f09/L4/cuWrRInZ2d\nOX/GN9TU1OjJJ59Ub2/vHZ1xWkIRDodVXV198/MX69atU15eWm51xzo7O2++D3rZsmUKh8NqaWnR\nN998o7a2Nm3evDnLC//HcRy1t7crPz9fIyMj6uzsvGXn9evXc+7Mx2+WpJ9++klLlizRtGnTVFpa\nqtbW1pzaPDg4qLq6OuXn5+vFF1/UzJkz1dzcnNNn/NfNV69e1eLFizV9+vScPGNJisViqqmpUUlJ\niTZv3iyv15vT5zx+76uvvirHcVReXp6z38c3fPjhh5o9e7Yk3fHPi7T819zu8xdz5sxJx63u2JIl\nS/TYY4/J7/drw4YNWrBggSQpGAzq0qVLWV73f4FAQDU1Ndq4caOuXLkiv98vSZo/f74uXbqk0dHR\nnDvz8Zslafv27XrooYf01Vdf6dChQ+rv78+pzStWrFAymVRLS4ueeeYZnThxQlJun/FfN99zzz2q\nrKzM2TOWpMWLFysajerll1/Www8/rJ6eHkm5e87j91ZWVqqioiLnz/jYsWMqKirS0qVLlUgk7vjn\nRVp+R3Hj8xeSNDAwIJ/Pl47bTIlIJKKRkRF5PB7NmjXrZhx+//13BYPBLK+7Pb/frytXrkiS+vr6\nVFJSkvNnHovF9PPPP0uSfD6f4vF4zm2OxWJ688039cADD+jpp592xRmP37xy5UqdPXtWUu6esSSd\nOXNGXq9XBw4c0A8//JDz5zx+7/fff6+uri5JuX3GR48e1enTp3XkyBG1tbXp8uXLklI/47S8Pfav\nn79Yu3btVN9iyvz4449qbW2V3+/X/fffrz///FO//vqrrl69qvr6+puPbrnipZdeUmtrqw4dOnTL\nzuHh4Zw98xub9+zZI4/Ho1gspu3btyuRSOTU5p07d6qnp0ehUEjTp0/XwoULc/6M/7p59uzZOX3G\nknT69Gnt379fwWBQM2fOVDAYzOlzHr93xowZN//HMpfP+IYjR47I6/XKcZw7OmM+RwEAMPH2WACA\niVAAAEyEAgBgIhQAABOhAACYCAUAwEQoAACm/wJuY9o+b3hktwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x3d9fc710>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(Z, Pzx_maxrange(Z))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Resulting Mixture Density"
]
},
{
"cell_type": "code",
"execution_count": 659,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"z_hit = 7.0\n",
"z_unexp = 0.05\n",
"z_rand = 0.05\n",
"z_maxrange = 0.03\n",
"\n",
"# Normalize\n",
"normz = 1.0/(z_hit+z_unexp+z_rand+z_maxrange)\n",
"z_hit=z_hit/normz\n",
"z_unexp=z_unexp/normz\n",
"z_rand=z_rand/normz\n",
"z_maxrange=z_maxrange/normz"
]
},
{
"cell_type": "code",
"execution_count": 660,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def Pzx(z):\n",
" # Sum of all with weighted average\n",
" return z_hit*Pzx_hit(z) + \\\n",
" z_unexp*Pzx_unexp(z) + \\\n",
" z_rand*Pzx_rand(z) + \\\n",
" z_maxrange*Pzx_maxrange(z)"
]
},
{
"cell_type": "code",
"execution_count": 661,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAAGnCAYAAABbz63AAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtclHX6//H3cBCVkyaIsJppSpDHNLO17KCtmoe+Weuq\nmayHyswt7SSorXwtjUjZNckytdbVtm92QDNzN7NVs58u5aHcEpXsQCByUhEBwRk+vz+MSUSUwz0c\n9PV8PHwI98x93dfMPdfMvLnnYDPGGAEAAAAAasStrhsAAAAAgEsB4QoAAAAALEC4AgAAAAALEK4A\nAAAAwAKEKwAAAACwAOEKAAAAACxAuKpDiYmJCgsL09atW53LTp48qW7dumnNmjV12Jl1PvnkEx09\nerTMsvj4eI0dO7bMsn79+lVYY9u2bZfM9YGKJSYmasaMGWWWjR07VmlpaXXUUcUOHDigPXv2VOq8\nmzZt0ssvv1xu+d69ezVhwgSNHTtW9913nxISEiRJqampevjhhytV+6233qp80zr/dYyGKzExUTfd\ndJPGjh2riIgI3X333Zo7d26Naq5YscKy+9uwsDDNnz+/zLLRo0dfMrfBqtwPoPa44rmVK2atshIS\nEhQWFqZDhw45l/30008KCwvTl19+WSs9uFpVH8vqO8JVHWvXrp0+/vhj5++bNm1SYGCgbDZbHXZl\nnZUrV6qwsLDc8u+++05vv/12pWr07dtXw4cPt7o11DMV3ebr4yxs3LhRP/74Y7XXz8zM1J///Gc9\n//zzWrVqlVasWKFPPvlEn3zySZUu7/Lly6u03fp4XaL6bDabbrnlFq1atUorV67UmjVrtG/fPiUn\nJ9eoplUCAgK0Y8cO5++HDx9Wdna2ZfXrWk3vB+A6Vj+3csWsVUW7du30r3/9y/n7+vXr1aZNm1rZ\ndm2o6mNZfedR1w1czmw2m7p166akpCSVlJTIzc1N//73v3XHHXeo9LudY2NjtXfvXjkcDk2dOlW/\n/e1vtW7dOr333nsqKipSixYt9PLLL2vjxo3629/+JpvNpuuvv15PPfWUxo4dq9jYWIWEhCgqKkr3\n3HOPUlNT9f7778vhcOi5557T//t//0//+te/ZIxRRESEhgwZorFjxyosLEz79+9XmzZtFBgYqC++\n+EKBgYFatGiR0tLSNHv2bBUXF8vPz08vvPCC9u3bpzfeeENubm76+eefNWHCBAUGBmr//v2KiorS\nqlWrylzuSZMmacWKFbr99tsVFBTkPG3v3r16/vnn5eHhoaCgIMXExGj9+vU6fPiwBg8erJkzZ8rd\n3V3e3t56+eWXVVhYqJkzZyovL0+enp6aO3eugoODa31fouYq+j5zY4zi4+OVlpam7OxsZWVlKSYm\nRtdee61WrFhR5vY7cOBAjR49WrNmzZKPj48iIyP11ltvaevWrXrttddkjFG/fv00fPhwRUZGqkmT\nJsrKytKIESM0ZswY7d+/X/PmzZMkhYSEaN68eSoqKlJUVJSysrIkSdOnT9eaNWvUuHFjde3aVfv3\n73fevgcOHKjx48fru+++0zPPPKPGjRurcePG6ty5c5nLtG7dOo0aNUqtWrWSJDVq1EhPPfWU5s2b\np+eee05paWl68MEHdfz4cY0cOVK///3vtWDBAu3evVtFRUV68MEHVVhYqOzsbEVFRWnmzJmaOXOm\nCgoKlJWVpaefflq33HKL/vGPfyghIUEOh0NjxoxR27ZtnT2ce90NGTKk3DYGDRpk+X6Gdc6dmfz8\nfJ08eVI+Pj5KTU3Vs88+q+LiYh0/flzz5s2Tv7+/pk+froCAAKWkpGjgwIGaPHmydu7cqZiYGPn6\n+srd3V3Dhg2TJD377LPat2+fjDF69NFHdfPNN+uee+5R586ddfDgQfXq1Uv5+fn66quvdP3112vm\nzJll+mnUqJFCQ0P17bffqlOnTtqwYYMGDx6szMxMSdJHH31Ubnb27dun+fPny26369SpU1q4cKGK\niorK3fe/9tprat26tYYPH66EhAQdPnxYw4cP1+TJk+Xn56d7771XrVq10qJFi+Tm5qauXbsqMjJS\n8fHxSklJ0dGjR3Xq1CkNHjxYmzdvVk5Ojl5//XX5+Pho9uzZSktLkzFGzzzzjMLCwjR48GB17txZ\n33//vTp16qRHH320zP3A1VdfXQt7HJVxsedWdrtdM2fOVE5OjjIzMzV+/Hj97ne/08iRI/Xaa68p\nNTVVy5cv1/Lly51hzKpZ++STT/TKK6/Iz89Pnp6eeuihh3TNNddc8HmMzWbTbbfdpq1bt2rKlCmS\npN27d6tHjx4yxqi4uPi8t9nXX39d27Zt04kTJ9SlSxfNmTNHq1at0kcffSSHw6Fhw4YpIiJC/fr1\n07///W9JZ14t8sILLyghIUF79uxRYWGhXn31Vb322mvlnote7L7gfI+n69at02effaaCggIdPnxY\nkZGRysrKcj6WvfDCC7VxE3E9gzqTmJhooqKiTGxsrNm2bZs5fvy4efzxx018fLxJSEgwW7ZsMVFR\nUcYYY44fP26GDh1qjDHmtddeM6dPnzbGGDNu3DiTnJxsHnvsMbN9+3ZjjDH/93//Z4wx5v777zdp\naWnGGGOioqJMYmKiSUhIMI8//rgxxpgDBw6YcePGGWOMKSoqMsOHDzcnTpww999/v/n000+NMcb8\nz//8j9m2bZvz56ysLPPYY4+ZL774whhjzJo1a0xcXJxJTEw0w4cPN8YYc+TIETNo0KByPZQqvXwf\nf/yxmTRpkjHGmNtvv90YY8w999xjfvrpJ2OMMX/961/N3//+d5OQkGDi4+PNm2++aRYtWmQcDof5\n5JNPTGZmpomNjTVr1qwxxhjzxRdfmCeeeMKKXYM68J///Md5ey9VevuJj483zz//vDHGmA8++MDM\nnj3bHDx48Ly330OHDpnhw4ebkSNHmuTkZHP69Glzxx13mLy8PGOMMX/5y1/M999/b/r162cKCwtN\nUVGRGTx4sMnJyTF/+MMfTEpKijHGmJdfftm8/fbbZvny5Wbx4sXGGGN2795t/vWvf5n4+HizZs0a\nc+zYMXP33Xeb4uJi43A4zIQJE8yhQ4fMQw89ZHbv3m2MMWbhwoUmPj6+zOWKjo42W7duLbOsqKjI\nDBw40KSmppoBAwaYoqIiU1RUZIYOHWpycnLM4MGDTVZWlsnJyTH//Oc/jTG/zs3evXvNli1bjDHG\nfPnll+axxx4z2dnZZujQoeb06dOmuLjYzJ8/33mfU9F1d75toP76z3/+Y2666SZz//33m0GDBpnh\nw4ebjz76yBhjzLZt28xXX31ljDFm7dq1JjY21qSmppqbbrrJedvq3bu3McaYu+66yxw+fNgYY8zT\nTz9tEhISzKZNm8z06dONMcYcPXrU/O53vzMlJSXm9ttvN/v37zcOh8PccMMN5vvvvzd2u9307du3\nXH+333672bJli4mLizPGGPPAAw+Y7du3m6ioqApn58MPPzQ//vijMcaYxYsXmzfffNO8+eabJj4+\nvsx9f+njiDHG+RiRmppq+vbtaxwOhykpKTGDBw82ubm5xhhjZsyYYbZt22bi4+NNTEyMMcaYefPm\nOXubO3eu+eijj5zbMsaYlJQUM3r0aGOMMZ07dzY5OTmmpKTEDBgwwGRlZTnvB1C/XOy5VUpKivng\ngw+MMcYcPnzY3HvvvcaYM/M0duxYM3z4cJOVlVWmphWzZrfbzYABA8yJEydMSUmJuf/++01iYuJF\nn8eU3r6nTp1qvv/+e7N//34TExPjfF53vtusw+Ewr776qjHGGIfDYQYMGGAKCgrMH/7wB/PDDz+Y\noqIi89577xljfn0cMebMY25qaqqJj483CxYsMMaYCp+LXuy+4HyPpwkJCeaRRx4xxhizc+dOM3Hi\nxHI9XAo4clUP3HnnnVq9erXS09M1YMAAfffdd5Kk5ORk7dmzx/n+JLvdrmPHjsnHx0dPPvmkfHx8\nlJGRIbvdrsjISC1ZskSvvPKKevbsqZKSkjLbMGf91eWqq66SdOaleT/99JOz/unTp53vb7nmmmsk\nSb6+vmrfvr3z56KiIn333XdatGiRs6fSeqGhoZKkoKAgFRUVXfAy22w2DRgwQOvXr9eHH37oXJ6b\nm6srr7xSktSjRw99+umn6t69uyTp97//vZYsWaLx48erVatW6tGjh5KTk7Vz5069//77kiRPT89K\nXeeof5o0aaLi4uIyywoKCuTl5SXpzPs3JKlVq1YqLi6u8PYbFhamNm3aqKioSB06dFBWVpZatGgh\nHx8fSdLjjz+u1NRUdevWTY0bN5Z05vaekpKiH374wfnX96KiIvXp00fHjh3T7373O0nSddddJ+nM\nbBpjlJKSoszMTE2YMEGSlJeXp5SUFP3444/Oo1U9evTQ119/XeZytWzZUunp6WWWpaSkOP9a2blz\nZzVq1EiS1LFjR6WlpWnOnDl67rnndOLECd17771l1m3RooVWrlypDRs2qKSkRHa7XampqQoNDZWH\nx5m7+aeeekpffPGFpIpn/0LbQP1js9nUt29fxcTE6MiRI5o4caLz/jggIEBLly5Vo0aNlJeXp9at\nW0s68/Ki0ttW06ZNJUknTpxw3vZ69OghSfrhhx+ct/fmzZurWbNmysnJkfTr44O3t7fatWsnSc7b\n2bn69Omj+Ph43XvvvWrTpo3c3d0lqcLZCQwM1F/+8hc1adJEGRkZuv322zVy5Mhy9/1nO/vx7sor\nr5Sbm5tycnKUkZHh/Et/fn6+unbtWqZ/Pz8/5/Xi7+/vfHzbvXu3EhMTnX1JUmBgoK644gpJZ+a3\n9DHOVHDEHXWvoudWzZo10xdffKFt27bJ29tbdrtdktS7d28tWLBAPXr0UEBAQJlaVszasWPH1Lx5\nc/n6+kqS87nNd999V6nnMYMGDdI///lPFRcXa8iQIc73KZ3vNuvm5ia73a4nnnhCPj4+KiwslMPh\n0LPPPqvFixcrIyND/fv3v+D1VzrbBw8ePO9zUenC9wXff/99ucfTtm3bOh/LK/NcsaEiXNWh0jvl\n0sO12dnZeumll5x3AO3atVPfvn01a9YsFRQU6PXXX5fNZtPf//53ffzxxyosLNTw4cNljNG7776r\np556Sn5+fnrwwQd18OBBeXl5KSsrS0FBQTp48KBzu25uZ95q1759e4WHh2vx4sVyOBzOl1lIF37d\nfbt27TRlyhSFh4dr9+7dzpdLnW8dNze3ckHv7Ms+e/ZsjRkzxrmuv7+/UlJSdOWVV2r37t3OOy9J\n+vTTT3XzzTdr6tSpWrZsmT788EO1b99evXr10h133KFDhw5p165dlb7+Ub+0b99e3377rU6cOCE/\nPz9lZGQoPz9fLVq0KHO+0ttOu3btznv73bFjh06dOiUfHx9t2rRJ/fr107Fjx5Sfny9vb29NnTpV\nDz74oA4cOCC73a6SkhIlJyerbdu2at++vRYuXKgWLVpo8+bNatKkiQ4cOKBvv/1WN998sxITE/Xl\nl1/KZrPJGKPWrVurTZs2WrlypXM2Q0ND1aFDB+3Zs0c33HCD9u7dW+6y3n333Zo8ebJuvfVWtWrV\nSqdOnVJcXJxGjx4tY4wOHjyo4uJiGWOUnJysoKAgrVixQi+99JKKi4s1aNAgDR061DnLK1as0C23\n3KJhw4bp3Xff1ebNm9WmTRsdOnRIDodDJSUleuSRR5xPZCu67l555ZVy20D9dfYT+1atWik6OlpP\nPPGE1q1bp5dfflkTJkxQjx49tHDhQuXn51dYp3nz5s773b1796pXr15q166dNm3apFGjRunYsWPK\nyclR8+bNq9yjp6enQkNDFRcXp3HjxjmfyFY0O1OmTNGSJUsUFBSkp59+WiUlJee972/UqJHzsScp\nKUnNmjWT9OvjUPPmzRUSEqJly5apcePGWrt2rcLCwrRp06YKr0PpzGy0bdtW48aNU1ZWlj744IMK\nL1vp/QDql4s9t1qzZo1at26thx9+WNu3b3d+KElCQoLCw8N14MAB/fe//1WXLl3K1ZSqP2stWrTQ\n8ePHlZeXJx8fH+3du1d9+/ZVu3btKvU85rbbbtOKFSvk5+enadOmOZefe5tdu3at9u/fr927d+uN\nN97Q0aNH9fHHH6ukpERr1qxRTEyM8+W/99xzj7y8vJSdna0mTZrop59+ctYtnaX27duXey7q7+9/\n0f1w9dVXl3s8TU9Pr/C54qWEcFWHzr6B9enTR0eOHHH+ld5ms6l///7asWOHxo4dq7y8PI0ePVrN\nmjXTNddco3vvvVchISEKDw9XZmamOnXqpIkTJ8rb21utW7dWx44dNWbMGM2YMUOtW7dWy5Yty20/\nLCxM3bp103333afCwkL179/f+df9C/U8ffp0zZkzR6dOnZIxRs8//7zzNfTnXrbu3bvriSee0D/+\n8Y8yf40pPT0gIECTJ09WfHy8JCk6OlpRUVEyxigoKEgvvPCC/vnPf0qSrr32Ws2YMUNeXl7y8vLS\nc889Jw8PDz3zzDP6+9//rsLCQs2aNauquwH1hI+Pjx577DGNGzdOjRs3VklJSZlPYyq9zZT+f77b\nb+ntcfny5fL09NT999+vbt26KSoqShMnTpR05pMpS58kTpo0ScePH9fEiRPVvHlzzZo1S9OmTZPd\nblfTpk01f/58de/eXVFRURo7dqzc3NwUExOjgwcPKi4uTtdcc41Gjhyp++67T8XFxercubNatWql\nyMhIRUVFqVGjRvLz83Me1S0VEhKi6OhoTZ8+XQ6HQ3a7Xb///e81YMAApaWlqWnTppo8ebJyc3P1\n8MMPq2XLlvLy8tLIkSPVqFEjZ0jq2bOnHnnkEY0dO1bPPvus1q5dq+7du+vYsWO64oorNGbMGN13\n330yxui+++5zHjWoaPbPtw3UX+c+Sbnhhht0/fXXa+nSpRo4cKBmzpypNm3aKDw8/LwfJFG6/v/+\n7/86/8LdpEkT5+PP9u3bNXr0aBUXF+uZZ56Ru7t7mW1W9PO5ywYPHqzZs2erR48ezqOnV1xxxXln\nZ+jQoRo/frxat26ttm3bKjs7W7fddlu5+/6ioiI99thj2r59u4KDg8uFKzc3Nz311FOaOHGi7Ha7\nWrVqpYEDB16wb5vNplGjRmnmzJkaO3as8vPznUe+zr18NptNnTp1UlxcnMLCwnTttddecF+h9lzs\nudWNN96oJ598Ujt27NC1117rfK/4ihUrnEe6pk2bpnfeecf56gYrZs1msykyMlLjx493vhLIw8ND\nkyZNqtTzmMaNG+s3v/mN89U9pXXPd5u96qqrdPr0aY0aNUq/+c1v1LlzZ2VlZalt27YaPXq0mjRp\n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\nzZbWK+uni5/lsqvt6voNt/apk0f1094f9E3edjX2ucKSqv97X2tL6pSa8UrlnotVVUF+gZpuzqH2\nJVDb1fVLa+cdz9ZXX6You9EX8m0WUPO6p05Xa706CVfZ2dkKDg6WJPn5+SkvL0/NmjWTMUYeHh7y\n8PBQcXHxRetY/YD6q6YuqitJ3i6s7evC2qjYFdKYsLpu4oJ27dpVqfPZJHn98k/uv/zzusAKbX31\na+osDZPu1eoRlzrfX/8f9middnIxVj/5BKqvtaSudd3EBVn9x8BfuaoutWu/tqvrl9ZuIw2cYl3Z\n3r+p1mp1Eq6Cg4OVnp6uoKAg5ebmytf3zIOul5eXTp8+LYfDIS+vCz2jk3r27FkbrQINHrMCVB7z\nAlQe8wKUZzN18OaA7OxsxcTEyNvbW126dNGBAwcUGRmpr776Su+9957sdrsmTJigTp061XZrAAAA\nAFAtdRKuAAAAAOBSw/dcAQAAAIAFCFcAAAAAYIEG9yXCFX1HVnWlpaXpkUce0bXXXqvAwED5+/sr\nLS1NeXl5mjFjhq64ovofffrTTz9p2rRpWrNmjZYvX67Dhw87654+fbpGl+Ps2jNnzlRJSYlsNptG\njx6toKCgatXevXu3Vq9eLW9vb7Vo0UKNGzcuc13UtOez619xxRU6fPiwHA6H3NzcatS3JP34449a\ntGiRmjdvrs6dOysnJ8ey6/vs2p06ddLOnTst67vUk08+qf79++vw4cOW9W31rEiumxdXzsq59RvC\nvLhyViTm5XyYl/K1rZoVqeHOiytn5dz6rpgXV8yKxLycrzbzwmNLqQYXrs79jqyRI0fKw6P6F2Pn\nzp0KDAyUJF133XVavXq1lixZosTERL377ruaNGlStepmZ2frvffeU9OmTVVcXKydO3eWqVtUVFTt\ny3F2bUk6ePCgunbtKjc3N3Xo0EHLli2rVu28vDxFR0eradOmmjhxoho1aqRXX33Vkp7PV//EiRPq\n3Lmz3N3da9S3JJ08eVJPPvmkWrZsqUmTJsnLy8uy3s+u/dhjjyk7O1tdunSp8fVd6m9/+5t8fHwk\nydLbidWzUtqf1fPiylk5t77UMObFlbMiMS/nw7y4blakhjsvrpyVc+tbPS+umhWJeTm3tsS8SDy2\nlGpw4ep835HVvHnzatfr2rWrbrrpJrVo0UJ//OMfdeWVV0qSgoKClJlZ/st+KysgIEBPPvmkHnjg\nAR0/flwtWrSQJLVq1UqZmZk6ffp0tS/H2bUlafr06brhhhu0ZcsWrVy5Ujk5OdWqfeutt8oYoyVL\nlmjYsGH68ssvLev5fPV/85vfqFevXjXuW5I6d+6sjIwMPfzww+rdu7dSUlIs6/3s2r169VLPnj0t\n6/vTTz+Vn5+funfvLofDYentxOpZkVwzL66clXPrSw1jXlw5KxLzcj7Mi+tmRWq48+LKWTm3vpXz\n4spZkZiXc2tLzIvEY0upBveeq9LvyJKk3Nxc+fv716heUlKSiouLZbPZ1KRJE+cAHzlyREFBQTXu\nV5JatGih48ePS5LS09PVsmVLyy7HyZMn9d1330mS/P39Zbfbq1375MmTmjVrlrp166ahQ4da3vPZ\n9e+44w4lJydb0rck7du3T15eXnr99df1zTffWNr72bX/+9//Or+Q14q+169fr71792rNmjV69913\ndfToUcv6tnpWJNfPiytnRWo48+LKWZGYl/NhXsqyclZK6zXEeXHlrJxb38p5ceWsSMzLuZiXM3hs\nOaPBfRT7ud+RNWLEiBrV+/bbb7Vs2TK1aNFCYWFhKiws1A8//KATJ05ozpw5zkOE1fXggw9q2bJl\nWrlyZZm6p06dqvHlKK09d+5c2Ww2nTx5UtOnT5fD4ahW7ZkzZyolJUXBwcFyd3fXtddea2nP59b3\n8fGxpG9J2rt3r5YvX66goCA1atRIQUFBlvV+dm1PT0/nnb8VfZdas2aNvLy8lJ2dbVnfVs+K5Np5\nceWsnF2/IcyLK2dFYl7Oh3kpX9uqWZEa7ry4clbOre+KeXHFrEjMy/lqMy88tpRqcOEKAAAAAOqj\nBveyQAAAAACojwhXAAAAAGABwhUAAAAAWIBwBQAAAAAWIFwBAAAAgAUIVwAAAABgAcIVAAAAAFiA\ncAUAAAAAFiBcAQAAAIAFCFcAAAAAYAHCFQAAAABYgHAFAAAAABYgXAEAAACABQhXAIBaFxYWpvnz\n55dZNnr0aM2YMUOS9MQTT1S47ltvvWVZH1FRUbr77rs1duxYjRo1SrNmzVJhYWGN627btk1r1qxR\ncXGx1qxZY0GnAICGgHAFAKh1AQEB2rFjh/P3w4cPKzs72/n7X/7ylwrXXb58uWV92Gw2zZo1S6tW\nrdLbb7+t8PBwxcXF1bhu3759NXz4cGVmZiohIcGCTgEADYFHXTcAALi0rF+/XqtXr3b+brPZFB8f\n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\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x39bc5240>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(12,6))\n",
"ax1 = plt.subplot2grid((4,4), (0,0), rowspan = 2)\n",
"plt.plot(Z,Pzx_hit(Z))\n",
"plt.axvline(zexp, c='k', alpha=0.5)\n",
"plt.title('Measurement Noise')\n",
"plt.ylabel(r'$P(z \\mid x,m)$')\n",
"\n",
"ax2 = plt.subplot2grid((4,4), (0,1), rowspan = 2, sharey=ax1)\n",
"plt.plot(Z, Pzx_unexp(Z))\n",
"plt.axvline(zexp, c='k', alpha=0.5)\n",
"plt.title('Unexcpected Obstacles')\n",
"\n",
"ax3 = plt.subplot2grid((4,4), (0,2), rowspan = 2, sharey=ax1)\n",
"plt.plot(Z, Pzx_rand(Z))\n",
"plt.axvline(zexp, c='k', alpha=0.5)\n",
"plt.title('Random Measurement')\n",
"\n",
"ax4 = plt.subplot2grid((4,4), (0,3), rowspan = 2, sharey=ax1)\n",
"plt.plot(Z, Pzx_maxrange(Z))\n",
"plt.axvline(zexp, c='k', alpha=0.5)\n",
"plt.title('Max Range Measurement')\n",
"\n",
"ax5 = plt.subplot2grid((4,4), (2,0), colspan=4, rowspan = 3)\n",
"plt.plot(Z, Pzx(Z))\n",
"plt.axvline(zexp, c='k', alpha=0.5)\n",
"plt.title('= Mixture Density')\n",
"plt.ylabel(r'$P(z|x,m)$')\n",
"plt.xlabel('z [$m$]')\n",
"\n",
"for ax in [ax2, ax3, ax4]:\n",
" plt.setp(ax.get_yticklabels(), visible=False)\n",
" # The y-ticks will overlap with \"hspace=0\", so we'll hide the bottom tick\n",
" #ax.set_yticks(ax.get_yticks()[1:])\n",
" ax.text(-25, np.max(Pzx_maxrange(Z))/2,'+', fontsize=20)\n",
"\n",
"plt.tight_layout()\n",
"plt.savefig('InverseSensorModel-MixtureDensity.png', dpi=150)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fit the model with real data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![TinkerforgeUSBricklet](http://www.cbcity.de/wp-content/uploads/2016/02/Tinkerforge-US-Distance-Bricklet.png)\n",
"\n",
"\"Das Distance US Bricklet gibt einen 'Analogwert' zwischen 0 und 4095 zurück. Der Rückgabewert ist nicht in cm oder mm oder ähnliches. Wir können dort leider nicht einfach eine Lookup-Table einbauen und direkt eine Entfernung zurückgeben (wie wir es z.B. bei dem Distance IR machen), da der Ausgabewert bei dem Ultraschallsensor extrem von der Versorgungsspannung abhängt. Diese ist aber leider bei jedem PC/Hub ein bisschen anders. D.h., wenn ihr das Distance US Bricklet nutzen wollt um Entfernungen in cm/mm zu messen, müsst ihr euch selber eine Lookup-Table bauen dafür.\"\n",
"\n",
"Messbereich: 2...400cm entspricht 0...4095 'Einheiten'\n",
"\n",
"Und das ist proportional mit $k$ von Versorgungsspannung.\n",
"\n",
"$$d [cm] = k(i) \\cdot \\cfrac{398cm}{4096} \\cdot i + 2cm $$\n",
"\n",
"Maximize likelihood of the data:\n",
"$P(z \\mid z_{exp})$"
]
},
{
"cell_type": "code",
"execution_count": 662,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 663,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"factors = np.array([-4.60578246e-15, 4.35156579e-11, -1.18489660e-07, 2.01430169e-04, 4.65647198e-01])\n",
"k = np.poly1d(factors)"
]
},
{
"cell_type": "code",
"execution_count": 664,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def loaddata(logfile):\n",
" #logfile = 'log_10cm.csv'\n",
" data = pd.read_csv(logfile, sep=';') \n",
" data.index = pd.to_datetime(data['TIME'], unit='s')\n",
" data.index = data.index.tz_localize('GMT').tz_convert('CET')\n",
" data.index.name = 'Zeit'\n",
" data.drop('TIME', axis=1, inplace=True) \n",
" \n",
" # Mapping von Bit auf cm für Ultraschallsensor\n",
" # Der Faktor k=0.66 ist empirisch ermittelt und ändert sich \n",
" data['ultraschall_distance'] = data['RAW'].apply(lambda i: k(i)*(398.0/4095.0)*i+2)\n",
" \n",
" return data"
]
},
{
"cell_type": "code",
"execution_count": 665,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"logfile = 'log355cm.csv'\n",
"data = loaddata(logfile)"
]
},
{
"cell_type": "code",
"execution_count": 666,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>NAME</th>\n",
" <th>UID</th>\n",
" <th>VAR</th>\n",
" <th>RAW</th>\n",
" <th>UNIT</th>\n",
" <th>ultraschall_distance</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Zeit</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2016-02-10 10:24:25.338000+01:00</th>\n",
" <td>Distance US Bricklet</td>\n",
" <td>mZE</td>\n",
" <td>Distance Value</td>\n",
" <td>3797</td>\n",
" <td>NaN</td>\n",
" <td>351.473704</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-02-10 10:24:25.438000+01:00</th>\n",
" <td>Distance US Bricklet</td>\n",
" <td>mZE</td>\n",
" <td>Distance Value</td>\n",
" <td>4095</td>\n",
" <td>NaN</td>\n",
" <td>398.640545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-02-10 10:24:25.538000+01:00</th>\n",
" <td>Distance US Bricklet</td>\n",
" <td>mZE</td>\n",
" <td>Distance Value</td>\n",
" <td>4095</td>\n",
" <td>NaN</td>\n",
" <td>398.640545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-02-10 10:24:25.638000+01:00</th>\n",
" <td>Distance US Bricklet</td>\n",
" <td>mZE</td>\n",
" <td>Distance Value</td>\n",
" <td>3838</td>\n",
" <td>NaN</td>\n",
" <td>357.913144</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-02-10 10:24:25.739000+01:00</th>\n",
" <td>Distance US Bricklet</td>\n",
" <td>mZE</td>\n",
" <td>Distance Value</td>\n",
" <td>3826</td>\n",
" <td>NaN</td>\n",
" <td>356.025522</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" NAME UID VAR \\\n",
"Zeit \n",
"2016-02-10 10:24:25.338000+01:00 Distance US Bricklet mZE Distance Value \n",
"2016-02-10 10:24:25.438000+01:00 Distance US Bricklet mZE Distance Value \n",
"2016-02-10 10:24:25.538000+01:00 Distance US Bricklet mZE Distance Value \n",
"2016-02-10 10:24:25.638000+01:00 Distance US Bricklet mZE Distance Value \n",
"2016-02-10 10:24:25.739000+01:00 Distance US Bricklet mZE Distance Value \n",
"\n",
" RAW UNIT ultraschall_distance \n",
"Zeit \n",
"2016-02-10 10:24:25.338000+01:00 3797 NaN 351.473704 \n",
"2016-02-10 10:24:25.438000+01:00 4095 NaN 398.640545 \n",
"2016-02-10 10:24:25.538000+01:00 4095 NaN 398.640545 \n",
"2016-02-10 10:24:25.638000+01:00 3838 NaN 357.913144 \n",
"2016-02-10 10:24:25.739000+01:00 3826 NaN 356.025522 "
]
},
"execution_count": 666,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 667,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"x = data['ultraschall_distance']"
]
},
{
"cell_type": "code",
"execution_count": 668,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x3ddc2470>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(range(len(x)), x)\n",
"plt.xlim(0, len(x))\n",
"plt.xlabel('Messung #')\n",
"plt.ylabel('Entfernung in [cm]')\n",
"plt.savefig(logfile[:-4] + '-Scatter.png')"
]
},
{
"cell_type": "code",
"execution_count": 669,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"sns.set_context('poster')"
]
},
{
"cell_type": "code",
"execution_count": 670,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nPj6+2N1W//jjD4wdOxZKSko4dOgQ2rZtKx77+PEjAgICxBtOSvpSbek7uoiIiIiIiOjLVGwgqamp\nCXV1dVy4cEFMy87OxuXLl8XnHT8VHx8Pe3t7NGrUCIcPH0bLli1ljlepUgWurq5wdXWVST9//jyU\nlJRgbGxc1r4QERERERHRZ1Ds0lYFBQXY29tjzZo1UFNTg4mJCQ4ePIi0tDTx2ce//voLKSkpMDIy\nAgD8+OOPSE9Px4oVK/Ds2TPxlR8A0KxZMzRs2BBTp07FypUrsW7dOvTo0QP37t3Drl27MH78eKir\nq/9zvSUiIiIiIqJyKzaQBPJe5/Hhwwfs378fPj4+0NXVxd69e9G8eXMAwK5du3Ds2DFERkYiOzsb\nv//+O3JzczFv3rwCZS1atAh2dnawsbFB1apV4e3tDX9/fzRs2BCOjo5wcHCo+B4SERERERFRhSox\nkAQAOzs72NnZFXpsw4YN2LBhAwCgatWquH//fqkqHj58OIYPH17KZhIREREREdGXovj3dxARERER\nERF9goEkERERERERyYWBJBEREREREcmFgSQRERERERHJhYEkERERERERyYWBJBEREREREcmFgSQR\nERERERHJhYEkERERERERyYWBJBEREREREcmFgSQRERERlYm1tTUkEgk2btxY6PFnz55BIpFAIpEg\nNTUVAGBra4tp06aVug4/Pz/4+vpWSHvLQtpH6T89PT106dIFs2bNwoMHDyqlTZ+OoZubW7nGKCEh\nQezfpUuXCs0TFBQEiUSCQYMGlbkeqd69e8PNza3U+V1dXWFsbFzueqliMZAkIiIiojJTUFDAhQsX\nCj127tw5MY/UypUr4eTkVOryDx8+jKysrPI1spz69esHf39/+Pv7w9vbGwsXLkR8fDxGjRqF8PDw\nz96eT8fQzc2tQsZIQUEB58+fL/TY2bNny11+/no+xzn0z1Kq7AYQERER0dfL2NgYERERiIyMhK6u\nrsyxs2fPQkdHB1FRUWJa69at5a5DEIRyt7M8GjRoAAMDA5m03r17Y/jw4Vi8eDHOnj2LKlWqfLb2\nFDaGFTFGxsbGCA4OxsePH2X68/btW1y9ehU6OjrIzc0tdz1lUdn3ABXEGUkiIiIiKjNdXV20aNFC\nnH2Uev78Oe7fv49+/frJpOdflrlq1Sro6enh0aNH4vHly5fDxMQECQkJ+PbbbwEALi4u6NmzZ4Hz\n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\n+/Rz3bp1sXv3bmzevBkLFy5EdnY2jIyM4O3tLS45dXZ2Rp06deDr64vXr1+jbdu22L17d6HPzOWv\nR97xKk1AWVye/Mc6deqEbdu2YdeuXQgMDETTpk3h5OSEsWPHlrn8OXPm4MyZM1i9ejX27t0r7szq\n7e2Nffv2oU6dOhgwYAB++OGHQs9v27YthgwZAi8vL9y/fx8eHh4ljv26detQr149uLq6IicnB8OH\nD0ezZs2KbHPfvn3L3e9Ro0bh0qVLmDZtGjZs2IABAwbA19cXLi4uWLlyJbKystC2bVu4u7sX+txr\nZVEQyjs/X8nyb4NMXyZ51vRT5eF1+jrwOn35eI2+DrxOXwdep68Dr9PXITIyEhkZGRUWO/EZSSIi\nIiIiIpILA0kiIiIiIiKSCwNJIiIiIiIikgsDSSIiIiIiIpILA0kiIiIiIiKSCwNJIiIiIiIikgsD\nSSIiIiIiIpILA0kiIiIiIiKSCwNJIiIiIiIikgsDSSIiIiIiIpILA0kiIiIiIiKSCwNJIiIiIiIi\nkgsDSSIiIiIiIpILA0kiIiIiIiKSCwNJIiIiIiIikgsDSSIiIiIiIpILA0kiIiIiIiKSCwNJIiIi\nIiIikgsDSSIiIiIiIpILA0kiIiIiIiKSCwNJIiIiIiIikgsDSSIiIiIiIpILA0kiIiIiIqJ/uZzc\njxVaHgNJIiIiIiKif7GgyHP48U/3Ci2TgSQREREREdG/2MWY3/FRyK3QMhlIEhERERER/Yt9zK3Y\nIBJgIElERERERERyYiBJREREREREcmEgSURERERERHJhIElERERERERyYSBJREREREREcmEgSURE\nRERERHJhIElERERERERyYSBJREREREREcmEgSURERERERHJhIElERERERERyYSBJREREREREcmEg\nSURERERERHJhIElERERERERyYSBJREREREREcmEgSURERERERHJhIElERERERERyYSBJRERERERE\ncmEgSURERERERHJhIElERERERERyYSBJRERERERUgpycHHh7e2PAgAEwNDREr169sGvXLuTk5JS6\njOTkZCxfvhzdu3eHnp4eunTpggULFiA+Pr7Y85KSkmBqagofH59S1bNx40ZIJBKEhYWVum3yYiBJ\nRERERERUgtWrV2PDhg2oV68eJkyYgMaNG2PHjh2YO3duqc5PTk7GiBEj4O/vjzZt2mDChAnQ19fH\n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\nS3/SHPrWfQHNTlVuVjJs2DCVlJRo3rx5mjt3rhITE/Xqq68qPj5ekjRr1iylp6dr586dKisr09q1\na+V0On3uY/L4449rxIgR6ty5s15++WU9//zzeuCBB9S6dWtNmTJFAwcODHxSBgAAAM5Sv/vd75SX\nl6fCwkLdcMMNksrn01188cXq3r27JOnrr79Wx44dJZVX/JYvX66JEydKknbv3u1eKMZms+n666+X\nVF5B++1vfytJev755yWVr1x69OhR5eTkaNCgQZKkNm3a6NixY9q3b5/Pdg3DcPexqKhIgwcPliRt\n375dCQkJXp9l2rRpuu6669SwYUNJ0rfffqshQ4bon//8p/7yl79oyZIlKikpqXSFUtSuau16OWLE\nCHcp/HRTpkzRlClTJElRUVHavn17td64T58+6tOnTzW7CQAAAOB0sbGxWr16tZKSktzH1q9f756W\nJklLly7VbbfdpmPHjmn9+vXq2bOne/jk+vXr1bt3bx07dkxxcXHue9atW6dJkyZJ8l4ddsOGDT5X\nKN26davfdk/v40cffaTBgwd7tf3ZZ59p1KhRksqH9WZlZenw4cNKSEjQkCFDAvHrQgCx1wYAAAAQ\nxtavX18hSLp+zs/P144dO9SvXz+9++67aty4sZo3by6pPKytXLlS3bt319KlS/XJJ58oNTVVBw8e\n1O7du3XhhRfKNE33XoWSlJmZqd69e1foQ2xsbKXtuvrkus80TXeQfPvtt91tNG/eXE2aNJEkrVix\nQt26dVOHDh1Ur1499zWmaWrRokUB+b3hzFSrIgkAAAAgNO3fv1+PPvqopPKglZeXp27dukmS6tev\nr65du2rx4sW66qqrFB8fry1btmjZsmUqKSnRtddeq08//VQXXnihcnNzlZ2drYyMDD300EPuLSqu\nvfZar/fyNbT0yiuv1Ntvv12hXdcejZ59NAxDPXr0UEZGhnr27OluY8KECXr77bfVqVMnLV68WAMG\nDFBiYqIGDhyouXPnqkmTJiouLtaAAQOC9rtE9RmmaZp13YkzsWXLFvXo0aOuuwE/QmVvIfjHcwoP\nPKfQxzMKDzyn8MBzCg/BeE4pKSl66qmndPHFFweszf9m9y8ZpyNFeXo84Z6AZSeGtgIAAACoU//+\n97+1fPlySdLevXtVXFxMiAxxDG0FAAAAUKeOHDmisrIyLVmyRDt27NDs2bPrukuoAkESAAAAQJ16\n/PHH3a9dW5AgtDG0FQAAAABgCUESAAAAAGAJQRIAAAAAYAlBEgAAAABgCUESAAAAAGAJQRIAAAAA\nYAlBEgAAAABgCUESAAAAAGAJQRIAAAAAYAlBEgAAAABgCUESAAAAAGAJQRIAAAAAYAlBEgAAAABg\nCUESAAAAAGAJQRIAAAAAYAlBEgAAAABgCUESAAAAAGAJQRIAAAAAYImtrjsAAAAAADgz+fn52rZt\nW4XjXbp0Ccr7ESQBAAAAIMxt27ZN90+cr7gW7d3Hjv28T//6yx1BeT+CJAAAAACcBeJatFez+Itq\n5b2YIwkAAAAAsIQgCQAAAACwhCAJAAAAALCEIAkAAAAAsIQgCQAAAACwhCAJAAAAALCEIAkAAAAA\nsIQgCQAAAACwhCAJAAAAALCEIAkAAAAAsIQgCQAAAACwhCAJAAAAALCEIAkAAAAAsIQgCQAAAACw\nhCAJAAAAALCEIAkAAAAAsIQgCQAAAACwhCAJAAAAALCEIAkAAAAAsIQgCQAAAACwhCAJAAAAALCE\nIAkAAAAAsIQgCQAAAACwhCAJAAAAALCEIAkAAAAAsIQgCQAAAACwhCAJAAAAAGcxU2bA2yRIAgAA\nAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAA\nACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACwhSAIAAAAA\nLCFIAgAAAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAs\nIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACwh\nSAIAAAAALCFIAgAAAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACwhSAIAAAAALCFI\nAgAAAAAsIUgCAAAAACwhSAIAAAAALCFIAgAAAAAsIUgCAAAAACypVpBMS0vTwIED1bVrV9166636\n6quvqtV4QUGB+vfvrxUrVlQ4d91116lz585e/yQlJVnrPQAAAACg1tmqumDx4sWaNGmSxowZo0su\nuUTz58/XH//4R6Wnpys+Pr7S+woKCjR69GgdPnxYhmF4nSstLVVWVpYeffRRXXbZZac6Y6uyOwAA\n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\ndP1c2cph7dq104EDB7yOZWdnS5I6dOggh8Oh9PR0JSYmei2+4vp2zcrKZy5WFnEJFatWrdLhw4fV\nr18/vfXWW2rVqpUOHz6szMxMLViwwP3N49mgJovtuK7fuHGjli9frkmTJumyyy7Tl19+qS1btig5\nOVl33HGH+9rjx48rNTVVcXFxGj58uPv45MmTlZKSovnz5ysrK0sdO3bUzp07tWHDBrVt29a9eIQk\nPfPMM0pJSdHChQu1b98+derUSdu3b9emTZvUsWNHTZkyxWslvKNHj6p+/frq0aPHmfx6QkZNnxNq\nF88p9J2Nz+jFF19UTEyMXnzxRfexY8eO+Z1eEGgvvfSSZs6cqU8++UTnnnuu17mnnnrK8hzJ2267\nTRdddJHf55SUlKT09HQ1aNDAay58Tk6ODh8+rAEDBvi93263a9iwYYqNjdVnn31WYWTMjz/+qIiI\nCPXt21cxMTFKSUlRbGys1q9fX2FkTFZWlmw2m5KTk73C6+rVqyVJycnJZ9W/cy5n439PZ6OqntMv\nJ3Il13+iFuZItopvrcSWNdtX9b/RL7/8Iim7wvH27dvLlvuNFOCipN8g2b59e7Vq1UorV650f9NV\nVlamjIwM9e/f3+c9SUlJevvtt1VUVOSuQK1atUpNmjRRYmKiIiMjNWPGDCUmJmrWrFnu+z7++GPZ\nbDZ17949UJ8tZBUWFmrDhg2aM2eOJGn27Nl65ZVX1LFjR82ZM0ctW7aU0+nUm2++qW+++Ua33Xab\nLrnkEh05ckRjxozRW2+9paNHj+q9997Tli1bNGrUKO3evVuFhYXKycnR448/Lql8SGlqaqoiIyMV\nFxen/Px8d6Xziy++0Pfff6/du3erW7duKigo0KeffqonnnhCzZo108KFC7V161bdfPPNOnr0qHbs\n2KH+/fvX+gbHzz77rBISErR48WLNmzdPrVu31oMPPqh77rnH67r8/HzNnDlTbdq08QqSLVu21Dvv\nvKPp06frk08+0YYNG3TOOeforrvu0v333+8VDNu2bat3331X06dP19q1a7Vx40ade+65uvvuuzV6\n9OgK3zofPXo0bIYgA0BNzZgxQxEREXrggQfcx/bu3at33nnH/edNbRg8eLA++OCDCiFSKv/S0Krq\nDJUcMmSI0tPTNW3aNL344ovukTHTpk2TVPWcRJvNpoEDB+qDDz7Qv//9b40cOdJ9buHChfrmm2/U\n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\nN1rkf+PGjetyTLKysmCxWPD5558rZY4fP46jR49y3HpIRUUFnnrqKXz99ddKTAiBTz/9FOPHjwfA\nceopb7/9NtauXYu5c+ciJyfH5ZQfzqfA0dk4cT71PoPBgEWLFmH79u0u8W+++QaDBg3Ctddey7kU\nALoaJ7PZzLkUAJ566il88MEHyt/mzZuRnJyMadOm4YMPPsCNN97o1/nUJ09tlSQJ9913H55++mno\n9XpkZmbin//8JwwGA+65557e7l6/lJiYiBtvvBHLly+HSqXCZZddhm3btmHHjh147bXXEBYWhrvv\nvltZn5SUhDVr1kCv12P27Nm93f1+SafTdTkmQ4YMwYwZM5SbiUREROCll15CWloarr322l7eg/5h\n0qRJGDduHJYsWQKDwYBBgwZh06ZNKC4uxnvvvQeA49QTKisr8cILLyAlJQU33ngjDhw44LJ+9OjR\nnE8BoKtxGj9+POdTLxs2bBiys7OxbNkymEwmJCQk4NNPP0VeXh5ycnIQHh7OuRQAuhqniRMnci4F\nAE9HDIODgxEZGYmRI0cCgF/nkyT68G9l5Obm4p133kFtbS3S09OxcOFC5UJT6nmtra1YtWoVtm7d\niqqqKgwfPhy///3vlX+EFosFr7zyCj766CM0NTUhMzMTixcv5ukNPWTlypV48803sW/fPiXWnTFp\naWlBTk4Otm/fDlmWceWVV2Lx4sWIiYnpjd246Hkap7q6Orz00kv46quvUFdXh5EjR+LPf/6z8q0v\nwHHytw8//FC59X37t01JkpCfn4+IiAjOp17WnXECwPnUy1pbW7Fy5Url88KIESMwf/585fc/+d4U\nGLoaJ743BaaZM2ciPT0dOTk5APw7n/p0IklEREREREQ9r09eI0lERERERES9h4kkEREREREReYWJ\nJBEREREREXmFiSQRERERERF5hYkkEREREREReYWJJBEREREREXmFiSQRERERERF5hYkkERERERER\neYWJJBEREREREXmFiSQREZGX5syZg7S0NKSlpWH+/Pl+bWvRokVKWzfccINf2yIiIuouTW93gIiI\nqC8aPHgwHn30UcTFxfm1nV/96leYNGkS1qxZ49d2iIiIvMEjkkREROchPDwcN998MyZMmODXdsaO\nHYtbbrkF0dHRfm2HiIjIG0wkiYiIiIiIyCs8tZWIiPqtb7/9FnPnzu1w/YYNG/x+xJGIiKgvYiJJ\nRET91vDhw/H888+7xFpaWpCTk4OoqCikpqb2Us+IiIgCGxNJIiLqt6Kjo3HzzTe7xP70pz/BYrFg\n+fLl0Ov1XtUnhMC7776LkpISxMTEwGAw4J577kFsbCzeeustlJSUIDY2Frfeeis2b96MsLAw7N27\nF3feeSdSUlKwdetWSJKE/Px8PPbYY0hPT/fl7hIREfkME0kiIiKbdevW4b///S+WLFmC0aNHe7Wt\nLMv44x//iNjYWDz55JOoqqrCrFmzEBsbi+uuuw6hoaGYM2cObrvtNtTX1+PRRx+FRqNBSEgInn32\nWcyZMwcPPPAAAKCmpgarV6/Gq6++6o/dJCIiumC82Q4RERGAb775Bi+//DJuueUW3HnnnV5vv379\nehw6dAiPP/44AECj0WDatGm4/vrrUVhYiKlTp+Lw4cMIDw/Hww8/DI3G+l1uU1MTQkJCXK7VbGlp\n8c1OERER+QmPSBIRUb9XXl6ORx55BMOGDcNTTz3l9fZGoxFvvvkmfvOb3ygJYlRUlFJXfHw8AGDv\n3r246qqrEB4ermy7b98+TJ06FSqV47vd/fv3Y9asWReyS0RERH7FI5JERNSvtbS04KGHHoLFYsGK\nFSsQEhLidR0lJSWora3t8g6ve/fuxaRJk5TnZrMZ33//vUvsxIkTKC4uxrXXXut1P4iIiHoKE0ki\nIurXFi9ejCNHjiAnJwfJycnnVYcsywCAuLg4t3VlZWUAgLNnz6KsrAwTJ05U1h08eBBtbW244oor\nlNiWLVswduxYJCYm4p133oHZbD6vPhEREfkTT20lIqJ+a+PGjdiyZQuysrIghEBeXh6EEMr6tLS0\nbv0ESGpqKpKSklBSUoKEhAQA1tNdV61aheuuuw6A9WhkTEyMS7L67bff4vLLL4dOp1NiBQUFyM7O\nRnNzMxoaGpRTZYmIiAIJ352IiKjfOnjwoPJzG/n5+S7rJEnCgw8+2K1EUq1WK3dZLSwshFqthsVi\nwV133YXY2FgAwMmTJ/GLX/zCZbtTp07hpptuconNmjULW7ZsgcFgwH333XeBe0hEROQfknD+6pWI\niIi6NGfOHNTU1GDr1q0XdZtEREQd4TWSRERERERE5BWe2kpERHQeGhoakJeXh7i4OJcb6PjagQMH\nUFZWhurqar+1QURE5C0mkkREROehuroajz32GKZOnerXRHLz5s3YvHkzJEnC0KFD/dYOERGRN3iN\nJBEREREREXmF10gSERERERGRV5hIEhERERERkVeYSBIREREREZFXmEgSERERESZGM6IAAAAnSURB\nVBGRV5hIEhERERERkVeYSBIREREREZFXmEgSERERERGRV/4fI1psTqwoPEwAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x37f324e0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.hist(x, bins=120, normed=True, label='reale Wahrscheinlichkeitsdichte')\n",
"plt.plot(Z, Pzx(Z), label='Mixture Density Model')\n",
"#plt.axvline(np.mean(x), alpha=0.6, c='k')\n",
"#plt.xlim(0, 5)\n",
"plt.text(50, 0.05, r'$z_{unexp}=$ %.3f' % z_unexp, fontsize=20, ha='center', va='center')\n",
"plt.text(250, 0.05, r'$z_{rand}=$ %.3f' % z_rand, fontsize=20, ha='center', va='center')\n",
"plt.text(zexp, 0.12, r'$z_{hit}=$ %.3f' % z_hit, fontsize=20, ha='center', va='center')\n",
"plt.text(400, 0.2, r'$z_{maxrange}=$ %.3f' % z_maxrange, fontsize=20, ha='right', va='center')\n",
"\n",
"plt.title('Histogram of real ultrasonic sensor')\n",
"plt.xlabel('z [$cm$]')\n",
"plt.legend()\n",
"plt.tight_layout()\n",
"plt.savefig('Histogram-InverseSensorModel-fit.png', dpi=150)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fragen? [@Balzer82](https://twitter.com/Balzer82)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment