【问题标题】:Technique to measure distance from android app (between 0-60 mts)测量与安卓应用程序距离的技术(0-60 米之间)
【发布时间】:2015-06-24 21:56:11
【问题描述】:


我想从 Android 应用程序测量移动的汽车行驶的距离。距离通常在(0-60 米)之间。如何使用 Android 设备上的传感器计算距离。
谢谢。

【问题讨论】:

    标签: android accelerometer android-sensors gyroscope compass


    【解决方案1】:

    您最好的选择是 GPS。获取起点和终点的位置并使用 Location.distanceTo。

    如果您的意思是您也想尝试计算何时开始和停止 - 我会寻找一个显着的加速事件并与这些时间的 GPS 位置相关联。

    如果您的意思是根本不想使用 GPS,请立即放弃。传感器噪音太大,无法尝试使用加速度方程求解。

    【讨论】:

    • 取决于您的设备。对于军事系统,GPS 可以达到厘米范围。在电话上 - 通常在 10 米内。
    • 好的。那么,在直路上开车,GPS和加速度计是仅有的两种测距方式吗?
    【解决方案2】:

    您可以(尝试)整合加速度计值,但正如 Gabe Sechan 所说,这几乎是没有希望的。如果您花一些时间分析您的加速度计并手动校准它(我的意思是通过您测量的偏差和缩放误差进行补偿),您可以减少误差,但您仍然会遇到一个(显着)增长的误差,这个误差会变得更快时间。

    附带说明,如果您不断转动(例如,在螺旋坡道中),您可以直接从陀螺仪和加速度计的组合中获得速度(基本上结合向心运动方程“a = v^2 / r”和角速度“v = w * r”得到“v^2 = a^2 / w^2”)。我已经尝试在 Android 设备上执行此操作,只要角速度“w”足够高,返回的值就非常一致且相当准确(并且误差不会像集成加速度数据时那样随时间呈指数增长两次)。

    【讨论】:

    • 螺旋坡道的想法很有趣。没想到。您的距离方程是否会根据高度的变化进行调整(这意味着由于上升坡道,旋转 1 圈比圆周移动的距离多)?
    • 我无法确定它是否能准确处理斜坡,但我认为可以(基本上就好像你实际上是在穿过一个更大半径的圆)。无论哪种方式,除非它非常陡峭,否则不会有太大差异。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 2013-10-03
    相关资源
    最近更新 更多