我正在开发一个 Android 应用程序来跟踪室内位置。我的手机是使用两个传感器的 Google Nexus S,第一个是加速度计,第二个是陀螺仪。
我的想法是,从起始引用点(已知的 GPS 位置)开始,使用 2 个传感器(用于运动的加速度计和用于方向的陀螺仪)在移动时跟踪手机。并在用户前往时显示在 map 上。
但问题是我不知道如何结合这两个传感器给我一个实际位置?
我在互联网上阅读了一些关于“卡尔曼滤波器”的文章,经过更多研究后,我发现该过滤器非常复杂/对我来说太多了)尤其是在 Java 中为 Android 编写代码(CPU killer )
有人可以和我分享一下使用陀螺仪和加速度计的室内定位系统的经验吗?
最佳答案
陀螺仪和加速度计是不够的。
您可以通过两次积分线性加速度来获得位置,但 错误非常可怕。在实践中是没有用的。
这里是 an explanation by (Google Tech Talk) 23:20。我强烈推荐这个视频。
至于室内定位,我发现这些很有用:
- RSSI-Based Indoor Localization and Tracking Using Sigma-Point Kalman Smoothers
- Pedestrian Tracking with Shoe-Mounted Inertial Sensors
- Enhancing the Performance of Pedometers Using a Single Accelerometer
我不知道这些方法在实际应用程序中的表现如何,也不知道如何将它们变成一个不错的 Android 应用程序。
一个类似的问题是Calculating distance within a building .
关于android - 基于陀螺仪和加速度计的室内定位系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7499959/