【发布时间】:2015-06-24 21:56:11
【问题描述】:
我想从 Android 应用程序测量移动的汽车行驶的距离。距离通常在(0-60 米)之间。如何使用 Android 设备上的传感器计算距离。
谢谢。
【问题讨论】:
标签: android accelerometer android-sensors gyroscope compass
我想从 Android 应用程序测量移动的汽车行驶的距离。距离通常在(0-60 米)之间。如何使用 Android 设备上的传感器计算距离。
谢谢。
【问题讨论】:
标签: android accelerometer android-sensors gyroscope compass
您最好的选择是 GPS。获取起点和终点的位置并使用 Location.distanceTo。
如果您的意思是您也想尝试计算何时开始和停止 - 我会寻找一个显着的加速事件并与这些时间的 GPS 位置相关联。
如果您的意思是根本不想使用 GPS,请立即放弃。传感器噪音太大,无法尝试使用加速度方程求解。
【讨论】:
您可以(尝试)整合加速度计值,但正如 Gabe Sechan 所说,这几乎是没有希望的。如果您花一些时间分析您的加速度计并手动校准它(我的意思是通过您测量的偏差和缩放误差进行补偿),您可以减少误差,但您仍然会遇到一个(显着)增长的误差,这个误差会变得更快时间。
附带说明,如果您不断转动(例如,在螺旋坡道中),您可以直接从陀螺仪和加速度计的组合中获得速度(基本上结合向心运动方程“a = v^2 / r”和角速度“v = w * r”得到“v^2 = a^2 / w^2”)。我已经尝试在 Android 设备上执行此操作,只要角速度“w”足够高,返回的值就非常一致且相当准确(并且误差不会像集成加速度数据时那样随时间呈指数增长两次)。
【讨论】: