{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Kalman Filter Algorithm\n", "\n", " 本节,我们就接触到了kalmanfilter,其实,在本节之前,我们已经领略到了KalmanFilter的基本思想和实施步骤,因此,本节将不再过多的介绍,直接给出相应的算法实施步骤,以及一个例子。\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Kalman Filter Algorithm\n", "\n", "The algorithm is the same Bayesian filter algorithm that we have used in every chapter. The update step is slightly more complicated, but I will explain why when we get to it.\n", "\n", "**Initialization**\n", "\n", " 1. Initialize the state of the filter\n", " 2. Initialize our belief in the state\n", " \n", "**Predict**\n", "\n", " 1. Use process model to predict state at the next time step\n", " 2. Adjust belief to account for the uncertainty in prediction \n", "**Update**\n", "\n", " 1. Get a measurement and associated belief about its accuracy\n", " 2. Compute residual between estimated state and measurement\n", " 3. Compute scaling factor based on whether the measurement\n", " or prediction is more accurate\n", " 4. set state between the prediction and measurement based \n", " on scaling factor\n", " 5. update belief in the state based on how certain we are \n", " in the measurement\n", " \n", "As a reminder, here is a graphical depiction of the algorithm:\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import kf_book.book_plots as book_plots\n", "book_plots.show_residual_chart()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The univariate Kalman filter represented the state with a univariate Gaussian. Naturally the multivariate Kalman filter will use a multivariate Gaussian for the state. We learned in the last chapter that multivariate Gaussians use a vector for the mean and a matrix for the covariances. That means that the Kalman filter needs to use linear algebra to perform the estimations.\n", "\n", "I don't want you to memorize these equations, but I have listed the univariate and multivariate equations below. They are quite similar.\n", "\n", "**Predict**\n", "\n", "$\\begin{array}{|l|l|l|}\n", "\\hline\n", "\\text{Discrete Bayes} & \\text{Equation} & \\text{Univariate} & \\text{Gaussian Probability} & \\text{Kalman form} & \\text{Multivariate}\\\\\n", "\\hline\n", "\\bar x = x * f(x) _{convolution} & \\bar x = x +f_x & \\bar \\mu = \\mu + \\mu_{f_x} & \\bar P = N(\\mu,\\sigma^2) & \\bar x = x + dx & \\bar{\\mathbf x} = \\mathbf{Fx} + \\mathbf{Bu}\\\\\n", "&& \\bar \\sigma^2 = \\sigma_x^2 + \\sigma_{f_x}^2 & + N(\\mu_v,\\sigma^2_v) & \\bar P = P + Q & \\bar{\\mathbf P} = \\mathbf{FPF}^\\mathsf T + \\mathbf Q \\\\\n", "\\hline\n", "\\end{array}$\n", "\n", "Without worrying about the specifics of the linear algebra, we can see that:\n", "\n", "$\\mathbf x,\\, \\mathbf P$ are the state mean and covariance. They correspond to $x$ and $\\sigma^2$.\n", "\n", "$\\mathbf F$ is the *state transition function*. When multiplied by $\\bf x$ it computes the prior. \n", "\n", "$\\mathbf Q$ is the process covariance. It corresponds to $\\sigma^2_{f_x}$.\n", "\n", "$\\mathbf B$ and $\\mathbf u$ are new to us. They let us model control inputs to the system.\n", "\n", "**Update**\n", "\n", "$\\begin{array}{|l|l|l|}\n", "\\hline\n", "\\text{Discrete Bayes} & \\text{Equation} & \\text{Univariate} & \\text{Gaussian Probability} & \\text{Kalman form} & \\text{Multivariate}\\\\\n", "\\hline\n", "& & y = z - \\bar \\mu &&y = z - \\bar x& \\mathbf y = \\mathbf z - \\mathbf{H\\bar x} \\\\\n", "x = ||L·\\bar x||_{Normalization} & x = ||L·\\bar x|| & K = \\frac{\\bar \\sigma^2}{\\bar \\sigma^2+\\sigma_z^2} &N(\\mu,\\sigma^2)=N(\\bar\\mu,\\bar\\sigma^2) & K=\\frac{\\bar P}{\\bar P + Q}& \\mathbf K = \\mathbf{\\bar{P}H}^\\mathsf T (\\mathbf{H\\bar{P}H}^\\mathsf T + \\mathbf R)^{-1} \\\\\n", "&&\\mu=\\frac{\\bar\\sigma^2\\, z + \\sigma_z^2 \\, \\bar\\mu} {\\bar\\sigma^2 + \\sigma_z^2}=\\bar x + Ky &\\times N(\\mu_z,\\sigma_z^2)& x = \\bar x + Ky & \\mathbf x = \\bar{\\mathbf x} + \\mathbf{Ky} \\\\\n", "&&\\sigma^2 = \\frac{\\bar\\sigma^2\\sigma_z^2}{\\bar\\sigma^2+\\sigma_z^2} && P = (1-K)\\bar P &\n", "\\mathbf P = (\\mathbf I - \\mathbf{KH})\\mathbf{\\bar{P}} \\\\\n", "\\hline\n", "\\end{array}$\n", "\n", "$\\mathbf H$ is the measurement function. We haven't seen this yet in this book and I'll explain it later. If you mentally remove $\\mathbf H$ from the equations, you should be able to see these equations are similar as well.\n", "\n", "$\\mathbf z,\\, \\mathbf R$ are the measurement mean and noise covariance. They correspond to $z$ and $\\sigma_z^2$ in the univariate filter (I've substituted $\\mu$ with $x$ for the univariate equations to make the notation as similar as possible).\n", "\n", "$\\mathbf y$ and $\\mathbf K$ are the residual and Kalman gain. \n", "\n", "The details will be different than the univariate filter because these are vectors and matrices, but the concepts are exactly the same: \n", "\n", "\n", "\n", "Your job as a designer will be to design the state $\\left(\\mathbf x, \\mathbf P\\right)$, the process $\\left(\\mathbf F, \\mathbf Q\\right)$, the measurement $\\left(\\mathbf z, \\mathbf R\\right)$, and the measurement function $\\mathbf H$. If the system has control inputs, such as a robot, you will also design $\\mathbf B$ and $\\mathbf u$.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2oAAAJCCAYAAACxozTkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0T/cfx/HnTcTeu0JoEYkRQczaau8Zq7V3a6uR1mqp\n8bNXUXuPihlq75mQiK32FkSCkEhyf398VZvSCs0gXo9znOR7v5977/v21Dl99f25n49hmiYiIiIi\nIiLy/rCK7QJEREREREQkIgU1ERERERGR94yCmoiIiIiIyHtGQU1EREREROQ9o6AmIiIiIiLynlFQ\nExERERERec8oqImIiIiIiLxnFNRERERERETeMwpqIiIiIiIi75l4MXmztGnTmtmyZYvJW4qIiIiI\niMSK8PBwjh07BkDBggUxDAMvL697pmmme9O5MRrUsmXLhqenZ0zeUkREREREJNYUKFAAb29vatWq\nxffff4+1tfWVyJwXqamPhmFcNgzD1zAMb8MwPF8cS20YxhbDMM6/+JnqvzyAiIiIiIhIXDNw4EAA\nBg8eTNasWSN93tu8o1bONE1n0zRdXnzuB2wzTTMnsO3FZxEREREREXmhbt26LFy4kCxZsnD9+vVI\nn/dfFhOpDcx78fs8oM5/uJaIiIiIiEic1KxZMy5evIivr2+kz4lsUDOBrYZheBmG0f7FsQymad56\n8fttIMPrTjQMo71hGJ6GYXj6+flFujAREREREZG4Il68eOTNmzfS4yMb1EqapukMVAW6GIZR+q9f\nmqZpYglzrzBNc4Zpmi6mabqkS/fGxU1ERERERETinKtXr1KvXr1Ij49UUDNN88aLn3cBd6AIcMcw\njE8AXvy8+9bVioiIiIiIxGHPnz9n1KhRODo6smnTpkif98agZhhGEsMwkv3xO1AJOAGsBVq8GNYC\nWPPWVYuIiIiIiMRRu3fvxtnZmb59+1KxYkVOnToV6XMj01HLAOw1DMMHOAxsME1zEzACqGgYxnng\nixefRUREREREPmp3796lRYsWlClThqCgINauXcvq1avJli1bpK/xxg2vTdO8COR/zfH7QIW3KVhE\nRERERCSuCgsLY8aMGQwYMIAnT57g5ubGgAEDSJw48Vtf641BTURERERERP6dl5cXnTp14siRI5Qv\nX54pU6bg4ODwztf7L/uoiYiIiIiIfNQePnzI119/TeHChbl27RqLFy9m69at/ymkgYKaiIiIiIjI\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import math\n", "from math import sqrt\n", "import numpy as np\n", "from numpy.random import randn\n", "from numpy.random import seed\n", "import matplotlib.pyplot as plt\n", "from matplotlib.pyplot import plot\n", "from filterpy.kalman import KalmanFilter\n", "from filterpy.common import Q_discrete_white_noise\n", "from kf_book.book_plots import set_figsize, figsize\n", "\n", "\n", "def pos_vel_filter(x, u, P, B, R, Q=0., dt=1.0):\n", " \"\"\" Returns a KalmanFilter which implements a\n", " constant velocity model for a state [x dx].T\n", " \"\"\"\n", " \n", " kf = KalmanFilter(dim_x=len(x), dim_u=len(x), dim_z=1)\n", " kf.x = np.array([x[0], x[1]]) # 初始位置和速度 Initial position and velocity\n", " kf.F = np.array([[1., dt],\n", " [0., 1.]]) # 状态转移矩阵 State transition matrix\n", " if np.isscalar(u):\n", " kf.u *= u\n", " else:\n", " kf.u = np.array([u[0], u[1]]) # 位置和速度输入 Input\n", " kf.H = np.array([[1., 0]]) # 测量方程矩阵 measurement function\n", " kf.R *= R # 测量不确定性 noise covariance\n", " if np.isscalar(P): # 如果是标量\n", " kf.P *= P # 位置不确定性 state covariance\n", " else:\n", " kf.P[:] = P # [:] makes deep copy\n", " \n", " if np.isscalar(B):\n", " kf.B *= B\n", " else:\n", " kf.B[:] = B # 输入控制矩阵\n", " \n", " if np.isscalar(Q):\n", " kf.Q = Q_discrete_white_noise(dim=2, dt=dt, var=Q) # 过程不确定性 process covariance\n", " else:\n", " kf.Q[:] = Q\n", " \n", " return kf\n", "\n", "def compute_data(z_var, process_var, count=1, dt=1.):\n", " \"returns track, measurements 1D ndarrays\"\n", " \n", " x, vel = 0., 1. # 真实初始状态 real initial state\n", " z_std = sqrt(z_var) # 测量不确定性标准差 \n", " p_std = sqrt(process_var) # 过程不确定性标准差\n", " xs, zs = [], []\n", " for _ in range(count):\n", " v = vel + (randn() * p_std) # 测量速度\n", " x += v*dt # 测量位移 measurement value\n", " xs.append(x)\n", " zs.append(x + randn() * z_std) \n", " return np.array(xs), np.array(zs)\n", "\n", "\n", "count = 50 # 测量次数\n", "seed(8923)\n", "\n", "# 初始化 Initialization\n", "x = (0., 0.)\n", "P = np.diag([500., 49.])\n", "u = (0., 0.)\n", "B = 0.\n", "R = 3.\n", "Q = 0.02\n", "\n", "# 建立KalmanFilter,并获取测量值zs \n", "f = pos_vel_filter(x=x, u=u, R=R, Q=Q, P=P, B=B)\n", "track, zs = compute_data(R, Q, count)\n", "\n", "# 进行滤波处理 Smoothing\n", "Xs, Covs, _, _ = f.batch_filter(zs, us=u) # kalman滤波处理\n", "Ms, Ps, _ = f.rts_smoother(Xs, Covs) # RTS平滑处理方法,这是经常使用的平滑处理器,此外还有,Fixed-Lag-Smoothing,后面会简单讲到。\n", "\n", "# 绘图 Draw\n", "with figsize(x=15, y=10):\n", " book_plots.plot_measurements(zs)\n", " plt.plot(Xs[:, 0], ls='--', label='Kalman Position', color='b')\n", " plt.plot(Ms[:, 0], label='RTS Position', color='r')\n", " plt.plot(track, label='Track', color='k')\n", " plt.legend(loc=4);" ] } ], "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.3" } }, "nbformat": 4, "nbformat_minor": 2 }