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

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

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

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

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

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


慕标琳琳
浏览 867回答 3
3回答

慕哥6287543

陀螺仪和加速度计还不够。通过对线性加速度进行两次积分可以得到位置,但是误差是可怕的。在实践中是没有用的。这是(Google Tech Talk)在23:20 的解释。我强烈推荐这部影片。至于室内定位,我发现这些很有用:使用Sigma-Point Kalman平滑器的基于RSSI的室内定位和跟踪装有鞋子的惯性传感器的行人跟踪使用单个加速度计增强计步器的性能我不知道这些方法将如何在现实生活的应用程序中执行,或者如何将它们变成一个不错的Android应用程序。类似的问题是计算建筑物内的距离。

ITMISS

要从某个参考点开始跟踪室内位置,仅陀螺仪和加速度计是不够的。使用加速度计可以计算速度,使用陀螺仪可以获取移动设备的方向,但是要计算室内位置还需要移动方向,因此在这种情况下,您需要使用磁传感器。这种方法称为“航位推算”方法,将所有3个传感器组合在一起以获得合适的室内位置非常复杂。卡尔曼滤波器可让您平滑测量并过滤一些噪声,但这不是计算室内位置的方法。如果要获得室内位置,可以尝试使用iBeacon方法和Trilateration方法,有些库(如该库)已经具有此功能,因此您可以尝试从此类库中研究此方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android