使用android加速器计算设备的精确相对位置

时间:2015-04-01 03:15:54

标签: android filter 3d accelerometer sensormanager

我试图使用Android手机的内部传感器来定义用于视频游戏的3D对象。因此,我需要创建手机方向的地图以及一段时间内的相对位置。 (相对于起始位置)我尝试创建一个测试应用程序,该应用程序保持当前位置的浮动[](x,y,z)'并不断将传感器的数据添加到它。但是来自传感器的噪音使得当前位置从我用来可视化反馈的网格上缓慢摆动。我已经在线浏览了过滤器,所有的解释都让人感到困惑。无论如何要从传感器获得更清洁的输出?有没有更好的方法来跟踪手机的确切相对位置?

1 个答案:

答案 0 :(得分:1)

您无法使用典型的手机或平板电脑准确跟踪设备的位置。理论上,您可以使用设备的内部传感器来测量每个轴的加速度。从理论上讲,您可以将加速度集成一次以获得速度,然后再一次获得位置变化。因此,理论上,您应该能够计算设备相对于其起始位置的位置。但是,在实践中,事情并没有那么顺利。

设备的传感器并不完美,并且包含很小的错误。将这些小错误两次集成会将它们变成大错误。这些大错误会累积并最终使您的计算失效。

查看Project Tango,其中包含一系列精美的传感器和算法,可实现6个DOF跟踪。该设备由研究团队构建,仍在进行中,因此请记住,这是一个棘手的问题。