如何通过电话与加速度计和陀螺仪测量汽车的速度?(How to measure the speed o

2019-07-03 16:01发布

我想知道汽车的当前速度,并进行传递路径。 我有一个Android手机与加速度计和陀螺仪差我来的数据。 这是在手机系统坐标可能会不一样,汽车的coordiante系统中的数据。

我怎样才能改变这种加速度和旋转协调的车载系统?

Answer 1:

您的通用问题的通用的答案是no 。 加速度测量的速度的变化,所以你可以加得到最好的,是速度的变化。

为了获得absolute speed ,你就必须有initial speed ,并把它添加到速度的变化:

v(t) = v0 + a*t

所以,如果你有一辆车沿直线移动,并且您的设备被固定在车上,你可以得到伊斯利变化的速度(虽然测量的误差将增加并迅速导致差异)

在实践中,你将面对很多问题想实现它,分别是:

  • 你需要的initial speed被确定的基础上,参照相同的加速度。 这将需要一些测量和大量trignometry的,因为你会以不同的速率会从不同的sensores两个值。
  • 这款车将不会在一条直线上移动,所以你的加速引用会不断移动(更大量trignometry和微积分的)。
  • 如果设备在用户手中,相对于汽车装置的动作会更加增加了计算(和累积误差)。

问候。



Answer 2:

你需要某种形式的外部参考(例如GPS这样的事):如果你只是整合的加速,该错误会无限期。

由于这些传感器都不够准确。 该错误会很快失控。 (链接的答案是关于位置,但同样适用于速度。)

在汽车的情况下,你是关闭与GPS更好。 如果想做些什么花哨,你可以强制从地图推导出的环境约束,也就是说,假设汽车去的道路上,而不是通过建筑物等你会发现更多关于这方面的详细信息在博士论文的第五章题为行人本地化的室内环境 。



Answer 3:

这两个不如果汽车行驶在相同的恒定速度的一段时间提供什么。 唯一的办法是GPS具有与每一个提供位置的计算速度。



Answer 4:

它看起来像它可能做到。 我没有一个Android的具体例子,但这个论坛有不少关于它的聊天: http://www.edaboard.com/thread119232.html

如果你用过Android位置类,但是这将是一个容易得多。 具体的getSpeed()方法应该给你你需要的东西: http://developer.android.com/reference/android/location/Location.html

Location类依赖于位置提供,但这样你的应用程序将需要适当的权限。



文章来源: How to measure the speed of car by phone with accelerometer and gyroscope?