android - 基于陀螺仪和加速度计的室内定位系统

标签 android location position accelerometer gyroscope

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

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

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

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

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

最佳答案

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

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

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

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

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

一个类似的问题是Calculating distance within a building .

关于android - 基于陀螺仪和加速度计的室内定位系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7499959/

相关文章:

android - Google (Play) sleep 模式下的位置服务更新间隔变化 (Android)

javascript - 如何动态更改固定位置样式 - 使用 JavaScript。设置位置名称、值

android - 无法设置开机重复闹钟

javascript - 使用 window.document.href 时如何不重定向

java - 调整可绘制问题的大小(未传递引用?)

android - requestLocationUpdates不调用locationCallback

css - 定位 DIV 标签时的困难

javascript - 从固定定位的 float 元素计算 "left"和 "top"值

java - 最近更新后无法使用按钮打开带有 LOCK_MODE_LOCKED_CLOSED 的抽屉

Android Rest客户端给出内部服务器错误500的错误(使用改造的okhttp和gson)