diff --git a/09_Extended_Kalman_Filters/Extended_Kalman_Filters.ipynb b/09_Extended_Kalman_Filters/Extended_Kalman_Filters.ipynb index fa6ce7e..b3c526c 100644 --- a/09_Extended_Kalman_Filters/Extended_Kalman_Filters.ipynb +++ b/09_Extended_Kalman_Filters/Extended_Kalman_Filters.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:645bb3f3d4ecea3c6d3e5f8f08d808067150b640dddbaed7049f2ec4971cffb7" + "signature": "sha256:50aa8b9428a821f428bc4db9096bcf449f706a919d8565e0afc8049759b110b0" }, "nbformat": 3, "nbformat_minor": 0, @@ -273,12 +273,16 @@ "source": [ "**Author's note: this is still being heavily edited and added to - there is a lot of duplicate material, incorrect code, and so on. The examples are just a brain dump, not fully formulated and not ready to be used.**\n", "\n", + "**The Uncented Kalman filter (UKF) chapter is much further along. The UKF is almost always better performing than the Extended Kalman filter, and is much easier to implement, so if you have an urgenet need for nonlinear Kalman filter I'll point you towards that chapter for now.**\n", + "\n", "The Kalman filter that we have developed to this point is extremely good, but it is also limited. Its derivation is in the linear space, and hence it only works for linear problems. Let's be a bit more rigorous here. You can, and we have in this book, apply the Kalman filter to nonlinear problems. For example, in the g-h filter chapter we explored using a g-h filter in a problem with constant acceleration. It 'worked', in that it remained numerically stable and the filtered output did track the input, but there was always a lag. It is easy to prove that there will always be a lag when $\\mathbf{\\ddot{x}}>0$. The filter no longer produces an optimal result. If we make our time step arbitrarily small we can still handle many problems, but typically we are using Kalman filters with physical sensors and solving real-time problems. Either fast enough sensors do not exist, are prohibitively expensive, or the computation time required is excessive. It is not a workable solution.\n", "\n", "The early adopters of Kalman filters were the radar people, and this fact was not lost on them. Radar is inherently nonlinear. Radars measure the slant range to an object, and we are typically interested in the aircraft's position over the ground. We invoke Pythagoras and get the nonlinear equation:\n", "$$x=\\sqrt{slant^2 - altitude^2}$$\n", "\n", - "So shortly after the Kalman filter was enthusiastically taken up by the radar industry people began working on how to extend the Kalman filter into nonlinear problems. It is still an area of ongoing research, and in the Unscented Kalman filter chapter we will implement a powerful, recent result of that research. But in this chapter we will cover the most common form, the Extended Kalman filter, or EKF. Today, most real world \"Kalman filters\" are actually EKFs. The Kalman filter in your car's and phone's GPS is an EKF, for example. " + "So shortly after the Kalman filter was enthusiastically taken up by the radar industry people began working on how to extend the Kalman filter into nonlinear problems. It is still an area of ongoing research, and in the Unscented Kalman filter chapter we will implement a powerful, recent result of that research. But in this chapter we will cover the most common form, the Extended Kalman filter, or EKF. Today, most real world \"Kalman filters\" are actually EKFs. The Kalman filter in your car's and phone's GPS is almost certainly an EKF, for example. \n", + "\n", + "With that said, there are new techniques that have been developed that both perform equal to or better than the EKF, and require much less math. The next chapter " ] }, {