定位是解决自主移动机器人导航中“我在哪儿?”的问题。移动机器人的定位源很多,如:GPS、航迹推算以及SLAM等等。那么当移动机器人同时具备多个定位源时,我们需要思考如何融合所有信息以得到更加准确的定位结果。今天我们要介绍一种经典的融合定位方法:扩展卡尔曼滤波。
一、卡尔曼滤波(Kalman filter, KF)
《概率机器人》基于现实环境中的移动机器人存在很大不确定性(由环境、传感器、执行器、模型 以及计算等的不确性造成)的事实,从贝叶斯的角度介绍并推导了KF算法。本节基于《概率机器人》中内容对KF进行简单介绍。
1.1 状态转移函数
状态转移函数代表系统的模型,该模型可以用来预测系统在给定控制量的未来状态轨迹。模型的准确性直接影响预测的未来状态与实际系统的状态的误差。控制领域有一句话,模型都是错的,但是我们能够得到一个接近真实系统的模型。移动机器人也存在很多被构建的模型(状态转移函数),可以被用来估计当前移动机器人的位姿或速度等状态。机器人的初始状态已知,每个控制周期的控制量(例如,加速度与方向盘转角)可以由测量单元测量得到,每个控制周期的时长同样可以由系统定时器得到,那么机器人可以通过状态转移函数估计它当前的状态,估算的状态中就包含空间位置信息。上述方法又被称为航迹推算。根据物理学中经典的“测不准”原理,多处测量的不确定性性加大了状态
|