【问题标题】:Determining heading in Inertial Navigation Systems确定惯性导航系统中的航向
【发布时间】:2012-06-07 18:42:33
【问题描述】:

我有一个关于移动设备惯性导航的问题。 我正在使用 android 平板电脑进行开发,但我认为这个问题与 所有类型的硬件(即使是更好的传感器)。

开发惯性系统时最基本的问题是如何确定 载体的运动方向。 即使我们假设磁力计读数是 100% 准确的(他们显然不是!)仍然存在设备相对于用户方向的问题。

简单示例 - 如果用户向北走,但手持设备时设备的 Y 轴指向东北,(指向不同轴图片的链接:http://developer.android.com/reference/android/hardware/SensorEvent.html) 然后磁力计将指向东北。 我们如何判断用户实际走向哪条路? (如果我们同时使用磁力计和陀螺仪来确定航向,情况也是如此)

一种可能的解决方案是使用加速度计的 Y 轴和 X 轴读数。 使用 arctan(a-Y/a-X) 的方向 (例如 - 如果用户完全笔直地握住设备,那么 X 轴将不会显示任何内容......) 但由于加速度计的读数不稳定,所以没那么容易……

有谁知道真正有效的算法吗?我确信这是一个众所周知的问题,但我似乎找不到解决方案的参考...

提前致谢!

爱丽儿

【问题讨论】:

标签: android orientation accelerometer sensors inertial-navigation


【解决方案1】:

请参阅this 答案以获得一个想法:通过获取相对于地球的加速度值,然后您可以使用 atan2 函数来计算实际方向。

您提到用户拿着平板电脑,我认为它相当稳定(不像我正在研究的情况,用户不断移动手机)。然而,出于某种原因,用户可能会改变设备的方向,这可能会影响您获得的读数。

因此,如果方向发生变化,您应该call remapCoordinates() accordingly 修复您获得的读数。

注意:也可以使用getOrientation() method accordingly,第一个字段代表航向。

【讨论】:

    【解决方案2】:

    真正正确的答案是将设备放在那里一段时间,检测地球的自转,然后从中计算出真北。不幸的是,手机中的陀螺仪还不够准确......

    【讨论】:

    • 这并不能真正回答问题 - 是吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多