如何用加速度计和陀螺仪通过手机测量汽车的速度?

Win*_*nte 9 android accelerometer gyroscope

我想知道当前的汽车速度,并通过一条路.我有一部带加速计和陀螺仪的Android手机,它给我发了数据.这是坐标电话系统中的数据可能与汽车的坐标系统不一样.

如何将这种加速度和旋转转换为坐标系的汽车系统?

Lui*_*uis 16

您的通用问题的通用答案是no.加速度测量速度的变化,因此从加速度中获得的最佳效果是速度变化.

要获得absolute speed你必须拥有initial speed并将其添加到速度变化:

v(t) = v0 + a*t

所以,如果你有一辆汽车沿着一条直线移动,并且你的设备固定在汽车上,你可以很容易地获得速度变化(虽然测量误差会加起来并迅速导致差异)

在实践中,您将面临许多试图实施它的问题,即:

  • 您需要initial speed根据与加速度相同的参考来确定.这将需要一些测量和大量的三角测量,因为您将以不同的速率从不同的感知器获得两个值.
  • 汽车不会沿直线移动,因此您的加速参考将不断移动(更多的三角测量和微积分).
  • 如果设备在用户手中,则与汽车相关的设备移动将增加更多的计算(和累积的错误).

问候.


Vaz*_*aze 3

看起来是可以做到的。我没有 Android 特定的示例,但这个论坛有很多关于它的讨论: http: //www.edaboard.com/thread119232.html

如果您使用 Android Location 类,那就容易多了。具体来说, getSpeed() 方法应该满足您的需求:http://developer.android.com/reference/android/location/Location.html

不过,Location 类依赖于位置提供程序,因此您的应用程序将需要适当的权限。

  • 最初的请求是关于使用加速度计/陀螺仪设备来估计速度。getSpeed( ) Android API 不仅仅与这些设备相关。所以我认为你的答案超出了范围。 (3认同)