fix html rendering
"source": [
"# Kalman Filter\n",
"\n",
- "Kalman filters are linear models for state estimation of dynamic systems [1]. They have been the <i>de facto</i> standard in many robotics and tracking/prediction applications because they are well suited for systems with uncertainty about an observable dynamic process. They use a \"observe, predict, correct\" paradigm to extract information from an otherwise noisy signal. In Pyro, we can build differentiable Kalman filters with learnable parameters using the [`pyro.contrib.tracking` library](http://docs.pyro.ai/en/dev/contrib.tracking.html#module-pyro.contrib.tracking.extended_kalman_filter)\n",
+ "Kalman filters are linear models for state estimation of dynamic systems [1]. They have been the <i>de facto</i> standard in many robotics and tracking/prediction applications because they are well suited for systems with uncertainty about an observable dynamic process. They use a \"observe, predict, correct\" paradigm to extract information from an otherwise noisy signal. In Pyro, we can build differentiable Kalman filters with learnable parameters using the `pyro.contrib.tracking` [library](http://docs.pyro.ai/en/dev/contrib.tracking.html#module-pyro.contrib.tracking.extended_kalman_filter)\n",
"\n",
"## Dynamic process\n",
"\n",
"At each time step, we perform a prediction for the mean and covariance:\n",
"$$ \\hat{X}_k = F\\hat{X}_{k-1}$$\n",
"$$\\hat{P}_k = FP_{k-1}F^T + Q$$\n",
+ "\n",
"and a correction for the measurement:\n",
+ "\n",
"$$ K_k = \\hat{P}_k H^T(H\\hat{P}_k H^T + R)^{-1}$$\n",
"$$ X_k = \\hat{X}_k + K_k(z_k - H\\hat{X}_k)$$\n",
"$$ P_k = (I-K_k H)\\hat{P}_k$$\n",
"Omitting the derivations, the modification to the above predictions are now:\n",
"$$ \\hat{X}_k \\approx \\mathbf{f}(X_{k-1}^R)$$\n",
"$$ \\hat{P}_k = \\mathbf{H}_\\mathbf{f}(X_{k-1})P_{k-1}\\mathbf{H}_\\mathbf{f}^T(X_{k-1}) + Q$$\n",
+ "\n",
"and the updates are now:\n",
+ "\n",
"$$ X_k \\approx \\hat{X}_k + K_k\\big(z_k - \\mathbf{h}(\\hat{X}_k)\\big)$$\n",
"$$ K_k = \\hat{P}_k \\mathbf{H}_\\mathbf{h}(\\hat{X}_k) \\Big(\\mathbf{H}_\\mathbf{h}(\\hat{X}_k)\\hat{P}_k \\mathbf{H}_\\mathbf{h}(\\hat{X}_k) + R_k\\Big)^{-1} $$\n",
"$$ P_k = \\big(I - K_k \\mathbf{H}_\\mathbf{h}(\\hat{X}_k)\\big)\\hat{P}_K$$\n",
" <table>\n",
" <tr>\n",
" <td> \n",
- " <img src=\"_static/img/ekf_track.png\" style=\"width: 450px;\">\n",
+ " <img src=\"_static/img/ekf_track.png\" style=\"width: 900px;\">\n",
" </td>\n",
" </tr>\n",
" </table> <center>\n",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.2"
+ "version": "3.6.7"
}
},
"nbformat": 4,
