我想使用安卓智能手机设备测量加速度(分别向前和横向),以便能够分析驾驶行为/风格。
我的方法如下:
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 轴上给出纯正向和横向加速度值。
问题:
- 这种方法适用还是我错过了一些重要的东西?
- 有没有更简单/替代的方法?