7

我目前正在研究用于 GPS 导航的简单而小型的卡尔曼滤波器。我从我的 GPS 传感器获取当前位置、航向角和速度。因此,假设速度和航向角恒定,卡尔曼滤波器应该融合当前测量和从先前位置开始的线性运动。

我的问题是选择一个有用的空间,让卡尔曼滤波器能够以良好的方式执行。

局部坐标系方法:

如果我选择一个本地坐标系(北[米],东[米]),以前的位置在原点,我将能够轻松预测新位置,但是如何将新测量值(纬度/经度)转换为我的本地坐标系统使用 wgs-84 椭球?以及如何使用 wgs-84 椭球将我在本地坐标系中的新预测转换为纬度/经度?

所以我需要两个功能:

f:=(lat_ref, lng_ref, lat, lng) -> (x,y)

g:=(lat_ref, lng_ref, x, y) -> (lat, lng) (这也可以使用Vincenty完成)

全局坐标系方法:

我找到了Vincenty-Algorithm,它根据任何椭球上的参考位置、距离和航向角计算新位置。该算法工作正常,但我看不到如何在全局坐标系中工作的卡尔曼滤波器中使用该算法。

有什么想法或建议可以解决我的一个问题吗?

4

2 回答 2

6

我浏览了许多科学论文并在维基百科上找到了答案

主要技巧是将纬度/经度/高度(llh)转换为地心地球固定(ecef),然后转换为我的本地坐标系地球/北/上(enu),反之亦然。

我发现了一些其他有趣的链接到这个主题。

于 2011-05-22T21:20:02.207 回答
0

查看 FWTOOLS,尤其是 cs2cs 和 proj... 他们可以处理从投影坐标系到地理坐标系的坐标系转换。重要的是要记住考虑任何基准变化。

于 2011-12-06T23:59:19.083 回答