【问题标题】:Indoor Positioning System based on Gyroscope and Accelerometer基于陀螺仪和加速度计的室内定位系统
【发布时间】:2011-11-21 22:23:19
【问题描述】:

我正在开发一个 Android 应用程序来跟踪室内位置。我的手机是使用两个传感器的 Google Nexus S,第一个是加速度计,第二个是陀螺仪。

我的想法是,从起始参考点(已知的 GPS 位置)开始,使用 2 个传感器(用于运动的加速度计和用于方向的陀螺仪)在移动时跟踪手机。并在用户前往时显示在地图上。

但问题是我不知道如何结合这两个传感器给我一个实际位置?

我在互联网上阅读了一些关于“卡尔曼滤波器”的文章,经过更多研究后,我发现该滤波器非常复杂/对我来说太多了)尤其是在 Java 中为 Android 编写代码(CPU 杀手)

有人可以和我分享一些关于使用陀螺仪和加速度计的室内定位系统的经验吗?

【问题讨论】:

标签: android location position accelerometer gyroscope


【解决方案1】:

陀螺仪和加速度计是不够的。

您可以通过两次积分线性加速度来获得位置,但 错误非常可怕。在实践中是没有用的。

这里是an explanation by (Google Tech Talk) 23:20。我强烈推荐这个视频。

至于室内定位,我发现这些很有用:

我不知道这些方法在实际应用程序中的表现如何,也不知道如何将它们变成一个不错的 Android 应用程序。

类似的问题是Calculating distance within a building

【讨论】:

  • 是的,我也找到了这些文件,但他们没有解释他们完成这些事情的 HOE,其中大多数文件只是在 2D 地图上的路径轨迹上取得了不错的结果。但是没有代码?没有完整的计算?
  • @ina 嗯,是的,稍微更新的答案是here
  • 我刚刚开始了这个项目。我们将进一步研究它。但是感谢视频
  • @Soren 你是对的,第一秒的错误将是“仅”8.6 厘米。我们有 a_error=[cos(1 degree)-1, sin(1 degree)]·9.8 m s^-2。然后计算0.5·a_error·t^2
  • @AvD 事实上,它是 ca。 8.5cm也是我自己计算的。视频中的公式是正确的,但它们在某处搞砸了 m 与 cm 的转换。这家伙说的是8.5米,实际上是8.5厘米。请记住,尽管此错误以 抛物线 的速度增长,所以在 10 秒内它变成了 ca。 8.5米。 :(
【解决方案2】:

我认为这是一个很棒的post 回答你的问题。这个卡尔曼滤波器结合了来自加速度计和陀螺仪的数据。希望对您有所帮助。

【讨论】:

  • Chrome 警告该链接包含恶意软件。其他地方也有相同的内容吗?
  • 感谢提醒。我更新链接。由于我发表评论时帖子运行良好,你能取消你的反对票吗? @汤姆
【解决方案3】:

有关新兴室内定位技术的其他有趣读物,请查看blog post from Qubulus。有几家初创公司和研究项目试图寻找室内 GPS 的良好替代品。尝试范围从航位推算到QR Codes,再到光脉冲,再到无线电指纹识别。看起来任何可行的解决方案都将结合多种技术(类似于大多数智能手机依赖 A-GPS,卫星信号由cell tower multilateration 辅助)。

祝你的申请好运!

【讨论】:

    【解决方案4】:

    我认为现在回答这个问题已经太晚了,但是现在,有一个很好的解决方案,叫做 iBeacon 技术。

    您可以通过智能手机扫描iBeacon 设备,并且可以从iBeacon 获取rssi。所以,你可以通过这些 rssi 来计算你的位置。

    【讨论】:

    • 不是真的,iBeacons 确实有 rssi 信息,但它不是那么准确,任何移动的物体都会并且会干扰信号,因此不那么可信。尽管如此,它仍然可以用作范围能力,因为它是在本地完成的(立即、近、远和未知)。
    • @Samuel Cortez 3 使用 RSSI,您可以获得不准确的位置,例如“您在附近的书店”。如果您需要更准确的位置,您可以使用三个或更多信标来使用三角测量。正如你所提到的, rssi 是不准确的。所以你需要使用滤波器(例如低通)来获得清晰的信号。
    • iBeacon 三边测量是一个糟糕的想法,在实践中不起作用。但是,在未能实现三边测量梦想后,您可以将 iBeacons 用作漂亮的钥匙链。 @Samuel 所说的一切都是正确的。
    • @nurettin 好吧,使用扩展卡尔曼滤波器,它在实践中有效。相信我,我曾在 iBeacon 制造公司工作。手机中的 GPS 也不准确,但是通过 GPS 芯片中的扩展卡尔曼滤波器,它可以工作。唯一的问题是人们不想要那样。而且扫描蓝牙太耗电了。
    • @StanleyKou 谢谢,我查了一下,扩展卡尔曼滤波方法确实存在,并且有论文证实它有效(三边测量无效,但圆相交方法有效)
    【解决方案5】:

    要从某个参考点开始跟踪室内位置,仅使用陀螺仪和加速度计是不够的。使用加速度计可以计算速度,使用陀螺仪可以获取移动设备的方向,但是要计算室内位置还需要有运动方向,所以这种情况下需要使用磁传感器。这种方法称为航位推算方法,将所有 3 个传感器组合起来以获得适当的室内位置是相当复杂的。卡尔曼滤波器可让您平滑测量并过滤一些噪声,但这不是计算室内位置的方法。如果您想获得室内位置,可以尝试 iBeacon 方法和 Trilateration 方法,有一些库(如this one)已经具有此功能,因此您可以尝试从此类库中研究此方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多