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

时间:2011-09-21 12:45:49

标签: android location position accelerometer gyroscope

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

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

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

我已经阅读了一些关于“kalman过滤器”的互联网文章,经过一些研究后我发现过滤器对我来说非常复杂/太多了)特别是在java for Android(cpu杀手)中编码

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

5 个答案:

答案 0 :(得分:64)

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

通过将线性加速度积分两次得到位置,但错误很可怕。它在实践中毫无用处。

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

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

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

类似的问题是Calculating distance within a building

答案 1 :(得分:7)

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

答案 2 :(得分:1)

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

祝你的申请好运!

答案 3 :(得分:1)

我认为回答这个问题为时已晚,但现在,有一种称为iBeacon技术的好解决方案。

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

答案 4 :(得分:1)

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