{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Unscented Kalman filter (UKF)\n", "\n", "Some problems of the extended Kalman filter:\n", "\n", "* linearization: considers only first-order Taylor term in the expansion\n", "* it is tedious to calculate the Jacobian matrix\n", "* filter parameters are difficult to adjust, sometimes filter estimates a diverging system state\n", "\n", "Experience tells the unscented Kalman filter (**UKF**) is as good or even better.\n", "\n", "\n", "\n", "Where did this bizarre name come from? Its inventor, Jeffrey Uhlmann tells us:\n", "\n", "\"What's with the Name „Unscented”? „Initially I only referred to it as the \"new filter\". Needing a more specific name, people in my lab began referring to it as the \"Uhlmann filter\", which obviously isn't a name that I could use, so I had to come up with an official name. One evening everyone else in the lab was at the Royal Opera House, and as I was working I noticed someone's deodorant on a desk. The word \"unscented\" caught my eye as the perfect technical term. At first people in the lab thought it was absurd - which is okay because absurdity is my guiding principle” [Jeffrey Uhlmann](http://ethw.org/First-Hand:The_Unscented_Transform )\n", "\n", "## The main idea of UKF\n", "\n", "Kalman filtering makes propagation of system state with a Gaussian pdf and measurement update through a linear transform. As it is more easy to approximate a Gaussian pdf, or more generally an arbitrary pdf than a nonlinear transform, therefore we keep nonlinear transform and approximate parameters (expectation and covariance) of the Gaussian pdf by using a set of discrete points (**sigma points**). This is the essence of **unscented transform** (and unscented Kalman filter):\n", "\n", "1. choose sigma points to characterize exactly mean and covariance of system state\n", "2. transform sigma points by nonlinear transforms $f$, $h$ into system and measurement space\n", "3. approximate mean and covariance of system state from transformed sigma points\n", "\n", "\n", "\n", "This procedure is a relative of *Monte-Carlo* methods. Only discrete points are chosen deterministically instead of randomly.\n", "\n", "### Sigma points\n", "\n", "\n", "
source: Roger R Labbe: [Kalman and Bayesian Filters in Python](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python)
\n", "\n", "$2n + 1$ **sigma points** $\\mathbf{X}_i$ are selected in an $n$-dimensional state space\n", "\n", "transformed sigma points have weights $W_i$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Van der Merwe scaled sigma points \n", "\n", "Set of sigma points are described by the following formulas:\n", "\n", "$$ \\mathbf{X_{0}}=\\mathbf{\\mu }$$\n", "\n", "$$ \\mathbf{X_{i}}=\\mathbf{\\mu }+\\left [\\sqrt{\\left (n+\\lambda \\right )\\mathbf{P}}\\right ]_{i}\\qquad i=1,...,n$$\n", "\n", "$$ \\mathbf{X_{i}}=\\mathbf{\\mu }- \\left [\\sqrt{\\left (n+\\lambda \\right )\\mathbf{P}}\\right ]_{i-n}\\qquad i=n+1,...,2n$$\n", "\n", "where $\\left [\\mathbf{A}\\right ]_{i}$ denotes $i$th column (or row) of the symmetric matrix $\\mathbf{A}$ and \n", "\n", "$$\\lambda =\\alpha ^{2}\\left (n+k\\right )- n,\\qquad k=3- n.$$\n", "\n", "$\\lambda$ is a scale factor, the parameter $\\alpha$ determines distance of sigma points from the point $\\mathbf{\\mu }$ and $k$ is another scale factor.\n", "\n", "\n", "
source: Roger R Labbe: [Kalman and Bayesian Filters in Python](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python)
\n", "\n", "As we see, calculation of sigma points requires the *square root* of the system state (positive definite and symmetrix) covariance matrix $\\mathbf{P}$. Since it is symmetric, it is advantageous to use Cholesky factorization of the matrix, $\\mathbf{P} = \\mathbf{L}\\mathbf{L}^T$. Lower triangular matrix $\\mathbf{L}$ is a kind of \"square root\" of matrix $\\mathbf{P}$.\n", "\n", "\n", "\n", "\n", "### Van der Merwe weights\n", "\n", "$$W_{0}^{m}=\\frac{\\lambda }{n+\\lambda }$$\n", "\n", "$$W_{0}^{c}=\\frac{\\lambda }{n+\\lambda }+1- \\alpha ^{2}+\\beta$$\n", "\n", "$$W_{i}^{m} = W_{i}^{c}=\\frac{1 }{2(n+\\lambda)}, \\qquad i=1,...,2n$$\n", "\n", "For Gaussian pdfs it is best to use the following parameters:\n", "\n", "$\\beta=2$, $k=3-n$, $0\\le \\alpha \\le 1$.\n", "\n", "### Unscented transform\n", "\n", "In unscented transform sigma vectors are transformed nonlinearly with function $g$ \n", "\n", "$$\\mathbf{Y}_i = g(\\mathbf{X}_i)\\qquad i=0,...,2n$$\n", "\n", "and weighted average of transformed points yield approximate posterior mean and covariance:\n", "\n", "$$\\overline{\\mathbf{Y}} \\approx \\sum_{i=0}^{2n} W_i^{m}\\mathbf{Y}_i$$\n", "\n", "$$\\mathbf{P}_{\\mathbf{Y}} \\approx \\sum_{i=0}^{2n} W_i^{c}(\\mathbf{Y}_i-\\overline{\\mathbf{Y}})(\\mathbf{Y}_i-\\overline{\\mathbf{Y}})^T.$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### UKF filter equations\n", "\n", "Best system state estimate is determined in two steps similarly to the Kalman filter. When initial system state and state covariance are known and sigma points are available, the algorithm makes a step from epoch $k-1$ to epoch $k$ according to the following equiations:\n", "\n", "**State transition**\n", "\n", "transform of sigma points\n", "\n", "$$\\mathbf{X}_{i,t}=\\mathbf{f}\\left (\\mathbf{X}_{i,k- 1},\\mathbf{u}_{k- 1}\\right )\\qquad i=0,...,2n$$\n", "\n", "state estimation before measurement update\n", "\n", "$$ \\hat{\\mathbf{x}}_{k}^{- }=\\sum _{i=0}^{2n}W_{i}^{m}\\mathbf{X}_{i,t}$$\n", "\n", "estimation of state covariance matrix\n", "\n", "$$\\hat{\\mathbf{P}}_{k}^{- }=\\sum _{j=0}^{2n}W_{j}^{c}\\left (\\mathbf{X}_{j,t}- \\hat{\\mathbf{x}}_{k}^{- }\\right )\\left (\\mathbf{X}_{j,t}- \\hat{\\mathbf{x}}_{k}^{- }\\right )^{T}+\\mathbf{Q}_{k- 1}$$\n", "\n", "Please note that estimation of state and state covariance before measurement update are performed though \"transfer\" of sigma points with function $\\mathbf{f}$ (state transition function).\n", "\n", "**Estimation of state after measurement update**\n", "\n", "transform of sigma points into measurement space\n", "\n", "$$ \\mathbf{z}_{i,t}=\\mathbf{h}\\left (\\mathbf{X}_{i,k- 1},\\mathbf{v}_{k- 1}\\right )\\qquad i=0,...,2n$$\n", "\n", "estimation with sigma points\n", "\n", "$$\\hat{\\mathbf{z}}_{k}=\\sum _{i=0}^{2n}W_{i}^{m}\\mathbf{z}_{i,t}$$\n", "\n", "estimation of system state covariance and cross-covariance matrices\n", "\n", "$$ \\mathbf{P}_{z}=\\sum _{j=0}^{2n}W_{j}^{c}\\left (\\mathbf{z}_{j,t}- \\hat{\\mathbf{z}}_{k}\\right )\\left (\\mathbf{z}_{j,t}- \\hat{\\mathbf{z}}_{k}\\right )^{T}+\\mathbf{R}_{k- 1}$$\n", "\n", "$$ \\mathbf{P}_{x,z}=\\sum _{j=0}^{2n}W_{j}^{c}\\left (\\mathbf{X}_{j,t}- \\hat{\\mathbf{x}}_{k}^{- }\\right )\\left (\\mathbf{z}_{j,t}- \\hat{\\mathbf{z}}_{k}\\right )^{T}$$\n", "\n", "update Kalman gain matrix\n", "\n", "$$ \\mathbf{K}_{k}=\\mathbf{P}_{x,z}\\mathbf{P}_{z}^{- 1}$$\n", "\n", "estimation of system state and covariance after measurement update\n", "\n", "$$\\hat{\\mathbf{x}}_{k}=\\hat{\\mathbf{x}}_{k}^{- }+\\mathbf{K}_{k}\\left (\\mathbf{z}_{k}- \\hat{\\mathbf{z}}_{k}\\right )$$\n", "\n", "$$ \\mathbf{P}_{k}=\\hat{\\mathbf{P}}_{k}^{- }- \\mathbf{K}_{k}\\mathbf{P}_{z}\\mathbf{K}_{k}^{T}$$\n", "\n", "Here we see that estimation of state, state covariance and cross-covariance after measurement update are performed though \"transfer\" of sigma points with function $\\mathbf{h}$ (measurement function).\n", "\n", "Number of operations of the UKF and EKF filtering algorithms are similar, but the principal advantage of UKF is that it does not require calculation of the Jacobian of state transition and measurmenet functions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Wheel odometry with unscented Kalman filtering\n", "\n", "We have already processed acceleration data in the Gersdorf and Freese paper with extended Kalman filter. Now we make the same with the unscented Kalman filter. For this the UKF implementation of Roger R. Labbe's [`FilterPy`](https://github.com/rlabbe/filterpy) library is used. All the necessary functions are collected in module `UKF.py`, other functions of `FilterPy` are found on Roger R. Labbe's [GitHub](https://github.com/rlabbe/filterpy) pages." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from UKF import MerweScaledSigmaPoints as SP\n", "from UKF import UnscentedKalmanFilter as UKF \n", "\n", "\n", "# unscented Kalman filter (UKF)\n", "\n", "def f(x,dt):\n", " \"\"\" state propagation function\n", " x = state vector (p,pdot,pdotdot)\n", " dt = time difference\n", " \"\"\"\n", " f1 = x[0] + x[1]*dt + 0.5*x[2]*dt**2\n", " f2 = x[1] + x[2]*dt\n", " f3 = x[2]\n", " return np.array([f1,f2,f3]).flatten()\n", "\n", "\n", "def h(x,rs=0.095,rw=0.35):\n", " ## measurement function\n", " ## x = state vector (p,pdot,pdotdot)\n", " ## rs = sensor offset from wheel axis\n", " ## rw = wheel radius\n", " g = 9.81\n", " h1 = -g*np.sin(x[0]/rw) + x[2]*np.cos(x[0]/rw) - x[2]*rs/rw\n", " h2 = -g*np.cos(x[0]/rw) - x[2]*np.sin(x[0]/rw) - (x[1])**2*rs/(rw**2)\n", " return np.array([h1,h2]).flatten()\n", "\n", "\"\"\"\n", "Unscented Kalman filter (UKF) for odometry with dual-axis accelerometer\n", " t - vector of measurement epochs\n", " a1, a2 - measured centripetal and centrifugal accelerations (m/s**2)\n", " q - process noise variance (m/s**2)\n", " r - measurement noise variance (m/s**2)\n", "\"\"\"\n", "\n", "# data of wheel mounted Samsung Galaxy S2 accelerometer sensor\n", "data = np.loadtxt(\"dat/a.txt\")\n", "t = data[:,0]\n", "a1= data[:,1]\n", "a2= data[:,2]\n", "\n", "# variable for storing results\n", "nt = t.shape[0]\n", "# nt = 790\n", "\n", "# time, state vector, rotation angle: t, p,vel,acc,theta\n", "xe = np.zeros((nt,5))\n", "\n", "# calculation of sigma points\n", "spts = SP(n=3,alpha=0.1,beta=2.0,kappa=0)\n", "#print(spts.weights())\n", "\n", "# instantiate UKF filter\n", "ukf = UKF(dim_x=3, dim_z=2, fx=f, hx=h, dt=0.012, points=spts)\n", "\n", "q = 0.07 # process noise\n", "r = 5.0 # measurement noise\n", "\n", "Wk = np.array([0, 0, 1])\n", "ukf.P = np.diag([0.01, 0.01, 0.01])\n", "ukf.R = r**2*np.eye(2)\n", "ukf.Q = q**2*np.outer(Wk,Wk)\n", "\n", "xe[:,0]=t # epochs\n", "rw=0.35 # wheel radius\n", "\n", "for i in range(1,nt):\n", " dt = t[i]-t[i-1]\n", " ukf.predict(dt)\n", " z = np.array([a1[i],a2[i]])\n", " ukf.update(z)\n", " xe[i,1:4] = ukf.x\n", " om = xe[i,1]/rw # wheel rotation angle\n", " xe[i,4]=np.arctan2(np.sin(om),np.cos(om)); # angle: (-pi, pi)\n", "\n", "\n", "## plot results\n", "plt.figure(figsize=(10,5))\n", "plt.plot(xe[:,0],xe[:,1], 'b-', label='distance by UKF, m')\n", "plt.plot(xe[:,0],xe[:,2], 'g-', label='velocity by UKF, m/s')\n", "plt.plot(xe[:,0],xe[:,3], 'r-', label='acceleration by UKF, m/s^2')\n", "plt.plot(xe[:,0],xe[:,4], color='orange', label='rotation angle, rad')\n", "plt.xlim(1,11)\n", "plt.grid(color='grey')\n", "\n", "\n", "plt.title(u'Results of unscented Kalman filter (UKF)', fontweight='bold')\n", "plt.xlabel(u'time (s)')\n", "#plt.ylabel('distance (m), acceleration (m/s^2)')\n", "#plt.ylabel('velocity (m/s), angle (rad)')\n", " \n", "plt.legend(loc='upper left', shadow=False)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Odometry with data by Ákos Vinkó\n", "\n", "Unscented Kalman filtering, similarly to extended Kalman filtering, was made with freewheel accelerometer data from a sensor mounted on a bycicle wheel. We thank [Ákos Vinkó](https://epito.bme.hu/vinko-akos) (Department of Highway and Railway Engineering) for providing these data." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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TFyBAtCuHXTvbv4WKZK7MgrC7Yoo2oJPuHTpEkFBQddVR7Vq1Xwkza3L1atX6datG5s2bWLVqlXUrl3bKT08PJy6devmknSGZcuW0axZMwIDA70uc+zYMVq1akVUVBQLFy6kT58+tG7dmkWLFhEREeGU9+eff6ZEiRKO++bNm7N7927efPNNUbQFwUv+/DNDuba9FKNAAWjb1ijX7duLci0INwNxHckFtmzZQvv27YmIiKBQoULUqFGDWbNmZcq3f/9+evXqRYkSJShYsCD3338/s2fPdqRfunSJESNGEBkZSUBAABUrVmTkyJFOdXz00Uc0adKEgIAAIiMjee21164p34EDB+jZsyehoaEULFiQli1b8scfGQd+7tu3D6UUs2bN4rHHHqNo0aK0a9cOgE8//ZQGDRoQGhpKsWLFaNKkCT/99JOjbFxcHF9++SUbNmxwuD7YT4B0526xdu1a6tSpQ2BgIGFhYfz973/n/PnzjvT169ejlGL9+vV069aN4OBgKlWqxJQpU67ZTzvjx4+ndOnSBAcH07t3b86cOQNAamoqERERjBs3LlOZxo0b07lzZ6/b8Ia0tDR69+7N6tWrWbJkCfXr1/dp/XbsLjMTJkwgPDycIkWK8Nxzz6G1Zvny5VSvXp3ChQvTsWNHTp06lan8smXLaNOmDWB+GDz//POUL1+egIAAIiIi6NSpEymWDXUvXrxI27ZtKV26NKtWraJ06dIsXbqU++67jz59+mRqw6pk23nggQc4duyYj0dCEG4v9u+H8ePhgQegcmUYNcq4hbRtCzNmwNGjsGQJPPqoKNmCcLMQi3YusH//furXr89TTz1FYGAg3333Hf369cPPz49evXoBxgJYr149ChYsyOuvv065cuXYvn07Bw8eBEBrTYcOHdiyZQvx8fHUrFmTxMREvv32W0c7EydOZNSoUQwaNIh27dqxbds24uPjKViwIEOGDHErW3JyMg0aNKB48eJMnTqVggULMmHCBB5++GF27drlZLV+/vnn6dy5M/Pnz8ff3x8wSvhjjz3GXXfdRUpKCrNnz6ZRo0Zs376dSpUqER8fz4EDBzh9+rRDGS5btqxbWXbu3EmrVq1o3rw5X375JQcPHuSFF15g7969rFy50inv448/Tt++fXniiSf4/PPPGTx4MNHR0Zkswq58/vnnREVF8eGHH5KUlMSI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XS3k3Xeh4qPv7w+jR8O4cXogGWmxFkI0FZJoNyCDBw9mwYIFFBYWeiqErFmzhn379nm6VpyoxdhutxMYGFhl2qJFi6rcr0lrM0DPnj2xWq0sXryYhx9+2DP9/fffp3PnzsTGxtbh1dUu1poaOHAgr7/+Ona73dN9pCZVO0aMGMGmTZvo379/rU98rKljX6fL5eL//u//qswzcOBAFi1axKFDhzzdR1auXCmJtmhS0tPhvfd0gr16tZ4WFKRbrcePh7FjITzctzEKIcTpIIl2A3L33XezYMECRo0axf333++pOtKrVy/Gjx8PQOvWrQkKCuLNN98kPDwcf39/BgwYwMiRI5k8eTKzZ89m8ODBfPnll3z//fdVlh8QEEC7du14//336dmzJxaL5bhuF6Bbe6dMmcKsWbPw8/NjwIABfPTRR3z55Ze8++679X6dNYm1pqZMmcL8+fO55JJLuOuuu0hPT+fxxx/HarViOkl9r+TkZAYNGsTYsWO58cYbiYmJ4fDhw3z33Xdcf/31nHfeeYDug37eeed5Tsis7eucP38+HTt2JCoqivnz5x/XjeeGG25g1qxZjB07luTkZOx2Ow899FCdWtWFaEgKCnSXkEWL9FDoUi1ECNEcSaLdgMTGxvLjjz9yzz33cM011xAQEMCYMWN45plnPK3RFouFV155hZkzZzJ8+HDKyspQSnHrrbeyZ88enn32WRwOByNHjuSdd945rrrIiy++yNSpU7nwwgspKSlh79691cbyyCOP4Ofnx4IFC8jIyKBjx468/fbbTJw4sd6vs6ax1kRiYiJffPEFd955J1dccQXdunXjtddeY+TIkVVOKj1W586d+fXXX5k+fTq33HILdrudxMRERowYQceOHT3zFRcX17m/9Lx587jtttuYPHkyQUFB/O1vf2PcuHHccsstnnmsVivffPMNt912GxMnTqRt27Y89dRTzJo1q07rFMKXlIJly+Cll3TVkIqDZ2efrQeRkWohQohmRyl10gtwJbAKyAEcwHZgOhBQaR4D+DdwELADPwFnnWrZJ7okJCSo6pSUlKiSkpJqHxMndvjwYV+HcEb9/PPPClA//PBDvZazZ88eZTKZ1O7duz3Tmtu2PN28uT3l90Gp5ORkn6w3J0epp59WqnNnpXS6rVTXrko9+qhSu3b5JKR689W2bKpke3qXbE/vAdaq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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def h(x,rs=0.165,rw=0.33):\n", " ## measurement equation function\n", " ## x = state vector (p,pdot,pdotdot)\n", " ## rs = sensor - wheel axis offset\n", " ## rw = wheel radius\n", " g = 9.81\n", " h1 = -g*np.sin(x[0]/rw) + x[2]*np.cos(x[0]/rw) - x[2]*rs/rw\n", " h2 = -g*np.cos(x[0]/rw) - x[2]*np.sin(x[0]/rw) - (x[1])**2*rs/(rw**2)\n", " return np.array([h1,h2]).flatten()\n", "\n", "\n", "# GCDC accelerometer data of a wheel mounted sensor (from Ákos Vinkó)\n", "data = np.loadtxt(\"dat/asz.dat\")\n", "# section after 30 sec is interesting for us\n", "skip = 96\n", "t = data[skip:,0]\n", "a1= data[skip:,1]\n", "a2= -data[skip:,2]\n", "\n", "# variable for storing results\n", "nt = t.shape[0]\n", "\n", "rw=0.33 # radius of wheel\n", "\n", "# time, state vector, rotation angle: t, p,vel,acc,theta\n", "xe = np.zeros((nt,5))\n", "# sensor starts in upward position, angle pi\n", "#dist = np.pi*rw\n", "#xe[0,1] = dist\n", "#xe[0,4] = np.pi\n", "\n", "# calculation of sigma points\n", "spts = SP(n=3,alpha=0.1,beta=2.0,kappa=0)\n", "#print(spts.weights())\n", "\n", "# create UKF filter instance\n", "ukf = UKF(dim_x=3, dim_z=2, fx=f, hx=h, dt=0.012, points=spts)\n", "\n", "q = 0.01 # process noise\n", "r = 10.0 # measurement noise\n", "\n", "Wk = np.array([0, 0, 1])\n", "ukf.P = np.diag([0.01, 0.01, 0.01])\n", "ukf.R = r**2*np.eye(2)\n", "ukf.Q = q**2*np.outer(Wk,Wk)\n", "\n", "xe[:,0]=t # epochs\n", "\n", "\n", "for i in range(1,nt):\n", " dt = t[i]-t[i-1]\n", " ukf.predict(dt)\n", " z = np.array([a1[i],a2[i]])\n", " ukf.update(z)\n", " xe[i,1:4] = ukf.x\n", " om = xe[i,1]/rw # wheel rotation angle\n", " xe[i,4]=np.arctan2(np.sin(om),np.cos(om)); # angle: (-pi, pi)\n", "\n", "\n", "## plot results\n", "plt.figure(figsize=(12,5))\n", "plt.plot(xe[:,0],xe[:,1], 'b-', label='distance by UKF, m')\n", "plt.plot(xe[:,0],xe[:,2], 'g-', label='velocity by UKF, m/s')\n", "plt.plot(xe[:,0],xe[:,3], 'r-', label='acceleration by UKF, m/s^2')\n", "plt.plot(xe[:,0],xe[:,4], color='orange', label='rotation angle, rad')\n", "plt.xlim(30,50)\n", "plt.ylim(-5,50)\n", "plt.grid(color='grey')\n", "\n", "plt.title('UKF results using freewheel data by Vinkó Á.', fontweight='bold')\n", "plt.xlabel(u'time (s)')\n", "#plt.ylabel('distance (m), acceleration (m/s^2)')\n", "#plt.ylabel('velocity (m/s), angle (rad)')\n", " \n", "plt.legend(loc='upper left', shadow=False) \n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Obviously, a comparison of UKF and EKF filtering should be made, but this task is left to the reader." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }