我是个菜鸟,以下内容抛砖引玉,欢迎大家讨论:
在经典的小车运动问题中,如何把卡尔曼滤波解法转换成非线性优化解法?
理论的话可以参考下这本书第三章(还是第二章??记不清了)。
不过我猜你不是想找理论讲解,哈哈哈哈。
其实吧,从最大后验概率(MAP)的角度讲,针对于线性系统,卡尔曼滤波和非线性优化是等价的,因为针对于线性系统使用优化方法,仅需迭代一次就可以收敛至全局极小,而这正是卡尔曼滤波的MAP推导,所以说卡尔曼滤波是线性高斯系统的最优无偏估计。如果你的小车运动方程和观测方程都是线性的,那么使用优化算法没有任何意义。
针对于部分非线性系统,EKF相当于迭代一次的非线性优化,但是EKF效果要比一次迭代的非线性优化效果更好(该语句来源于《机器人学中的状态估计》),所以,我还是推荐你使用EKF吧,哈哈。
如果必须要使用优化方法,从我学SLAM的角度来讲,仅需要构建误差函数,例如:分别针对观测和预测构建误差函数:
其中X为状态量。
然后计算雅克比,利用最小二乘算法(例如高斯牛顿法)迭代求解,使总体误差最小即可,可以在知乎上搜下相关的文章,我记得有不少。
有一年没看状态估计了,说的可能有偏差,有问题可以继续留言讨论,么么哒