卡尔曼滤波用于长纬度坐标中的运动

时间:2014-09-21 17:28:20

标签: filter gps tracking coordinate-systems kalman-filter

我正在尝试实现一个简单的卡尔曼滤波器,用于过滤/预测长/坐标系中车辆的运动。

车辆传感器没有测量值,只是观察到的长/纬度位置的新更新,所以基本上我将尝试预测和纠正的状态是车辆在任何给定时间的经度和纬度。

据我所知,该模型是非线性的,因为可能存在随机加速度方向变化等,但我认为只要我在状态中跟踪轴承,这可以在很大程度上被忽略。我的问题是我不知道如何根据状态和预测矩阵对这个系统进行建模。除此之外,似乎有必要将long / lat坐标转换/投影到一些笛卡尔xy系统中,以便两者变得独立,但我不确定如何解决这个问题。

似乎从xy转换回wgs84并不是那么微不足道,而且可能在计算上有点紧张。任何人都可以对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

看起来您的状态变量将是向量[ lat long ],而您的测量变量将是[ lat ,< em> long , bearing ]。您将需要根据这些向量分别为过程和测量模型找出合适的 f h 函数。由于这是一个非线性问题,您可能需要使用非线性滤波器,例如EKF,UKF或CKF(孵化卡尔曼滤波器)。

使用卡尔曼型滤波器处理诸如角度,纬度或经度之类的模块化值时,只要您的状态或测量值在不连续的模块化边界附近,就会出现很大的问题。例如,如果您的方位角介于0到360度之间,则当您以1度或359度进行测量时,滤镜将出现问题。另外,如果您的经度在正负180度左右,或者您的纬度在两极之一(您可能会忽略的遥远可能性)中,则可能会遇到问题。

第18届国际会议的David Frederic Crouse的“使用角度测量模型的立方/无味/西格玛点卡尔曼滤波”中介绍了如何处理状态或测量变量中的角度的一个示例。信息融合(华盛顿特区,2015年7月6日至9日),https://ieeexplore.ieee.org/document/7266741。基于Crouse的方法,要将方位角用作测量变量,您需要在标准的无味或容积过滤器方程式中的几个位置添加包装函数。如果要处理纬度和经度的不连续性(您可能不希望这样做),则在计算协方差矩阵时,需要在欧氏空间之间来回变换坐标。