我想知道当前的汽车速度并通过一条路径。我有一部带加速计和陀螺仪的Android手机,它给我发了数据。这是坐标电话系统中的数据,可能与汽车的坐标系统不一样。
如何将此加速度和旋转转换为汽车坐标系?
答案 0 :(得分:16)
您的通用问题的通用答案是no
。加速度测量速度的变化,因此从加速度中获得的最佳值是速度变化。
要获得absolute speed
,您必须拥有initial speed
并将其添加到速度更改中:
v(t) = v0 + a*t
所以,如果你有一辆汽车沿直线移动,而你的设备固定在汽车上,你可以轻松地改变速度(虽然测量误差会加起来并迅速导致差异)
在实践中,您将面临许多试图实施它的问题,即:
initial speed
。这需要一些测量和大量的三角测量,因为你可以从不同的感知器获得不同速率的两个值。问候。
答案 1 :(得分:4)
您需要某种外部参考(例如GPS就是这样的事情):如果只是整合加速度,错误将无限期地发生。
因为these sensors are not accurate enough.错误很快就会失控。 (链接的答案是关于位置,但速度也是如此。)
如果是汽车,最好使用GPS。如果想做一些奇特的事情,你可以强制执行从地图推导出的环境约束,也就是说,假设汽车在道路上行驶而不是通过建筑物等。你可以在博士论文的第5章找到更多细节。题为Pedestrian Localisation for Indoor Environments。
答案 2 :(得分:3)
如果汽车以相同的恒定速度行驶一段时间,两者都不会提供任何东西。唯一的方法是GPS,它在每个位置都有计算速度。
答案 3 :(得分:2)
看起来可以做到。我没有Android特定示例,但此论坛有很多关于它的聊天:http://www.edaboard.com/thread119232.html
如果您使用Android Location类会更容易。具体来说,getSpeed()方法应该为您提供所需的内容:http://developer.android.com/reference/android/location/Location.html
Location类依赖于位置提供程序,因此您的应用程序将需要适当的权限。