我想要测量加速度(向前和横向分别)使用android智能手机设备,以便能够分析驾驶行为/风格。
我的做法如下:
1.调整坐标系统
校准(无运动/第一次运动):当汽车静止时,我会用Sensor.TYPE_GRAVITY计算重力的大小,并将其直接旋转到z轴(假设平面向下)。这样,俯仰和滚动角应该接近于零,并且等于汽车相对于世界的角度。
在此之后,我将开始与汽车直接向前移动,以获得使用Sensor.TYPE_ACCELEROMETER的第一个运动指示,并将这个量值直接旋转到x轴(指向前方)。这样,偏航角应该等于车辆的航向相对于世界。
更新方向(驾驶时):在驱动时能够保持坐标系对齐,我将使用Sensor.TYPE_GRAVITY来维护系统的滚动和俯仰。


其中,A_x,y,z是重力的加速度。
通常,偏航角通过Sensor.ROTATION_VECTOR或Sensor.MAGNETIC_FIELD来保持。然而,不使用它们的原因是因为我也将在电动汽车中使用该应用程序。发动机产生的大量伏特和安培大概会使这些传感器值的准确性受到影响。因此,我所知道的最好的选择(虽然不是最优的)是使用GPS航向来保持偏航角。
2.测量
通过应用上述所有旋转,应该可以保持智能手机和车辆的坐标系统之间的对齐,因此,给我纯向前和横向加速度值的x轴和y轴。
问题:
发布于 2016-12-19 04:29:30
关于寻找加速度,如果你可以访问GPS的源代码,你不能通过计算距离GPS的距离/时间来找到前进的运动吗?
如果目标是找到驾驶行为和风格,我可以想象收集一个大数据集,然后使用k均值聚类算法对数据进行排序,然后进行lstmRNN (做出预测)可能是另一种方法。(虽然这要求您拥有来自一个大集合的数据,但我不知道这是否可能,我也不知道您希望在数据集中包含哪些因素)。
不过听起来是个有趣的问题。
https://stackoverflow.com/questions/36628284
复制相似问题