Java 使用智能手机传感器检测驾驶风格

Java 使用智能手机传感器检测驾驶风格,java,android,android-sensors,inertial-navigation,Java,Android,Android Sensors,Inertial Navigation,我想使用android智能手机设备测量加速度(分别为向前和横向),以便能够分析驾驶行为/风格 我的做法如下: 1.对齐坐标系 校准(无运动/第一运动): 当汽车静止时,我会使用传感器计算重力的大小。键入_gravity并将其直接旋转到z轴(假设平面向下)。这样,俯仰和滚动角度应接近零,并等于汽车相对于世界的角度 在这之后,我将开始与汽车一起向前移动,使用传感器获取第一个运动指示。键入_加速计,并将该幅度直接旋转到x轴(指向前方)。这样,横摆角应等于车辆相对于世界的航向 更新方向(驾驶时): 为了

我想使用android智能手机设备测量加速度(分别为向前和横向),以便能够分析驾驶行为/风格

我的做法如下:

1.对齐坐标系 校准(无运动/第一运动): 当汽车静止时,我会使用
传感器计算重力的大小。键入_gravity
并将其直接旋转到z轴(假设平面向下)。这样,俯仰滚动角度应接近零,并等于汽车相对于世界的角度

在这之后,我将开始与汽车一起向前移动,使用
传感器获取第一个运动指示。键入_加速计
,并将该幅度直接旋转到x轴(指向前方)。这样,横摆角应等于车辆相对于世界的航向

更新方向(驾驶时): 为了能够在驾驶时保持坐标系对齐,我将使用
传感器。键入_GRAVITY
通过

其中A_x,y,z是重力加速度

通常,偏航角将通过传感器、旋转矢量或传感器、磁场来维持。但是,不使用它们的原因是因为我也将在电动汽车中使用该应用程序。发动机产生的大量电压和电流可能会影响这些传感器值的准确性。因此,我所知道的最佳替代方案(尽管不是最佳方案)是使用GPS航向来保持偏航角

2.测量 通过应用上述所有旋转,应该可以保持智能手机和车辆坐标系之间的对齐,从而提供x轴和y轴上的纯向前和横向加速度值

问题:
  • 这种方法是否适用,或者我是否遗漏了一些关键的东西
  • 是否有更简单/替代的方法

关于查找加速度,如果您可以访问GPS的源代码,您是否可以通过计算距离/时间来查找前进运动

如果目标是找到驾驶行为和风格,我可以想象收集一个大数据集,然后使用k均值聚类算法对数据进行排序,然后使用LSTMRN(进行预测)可能是另一种方法。(虽然这要求您拥有来自大型数据集的数据,但我不知道这是否可行,也不知道您希望在数据集中包含哪些因素)


听起来是个有趣的问题。

我更改了标题,让人们确切地知道我想要归档的内容,并希望得到一些建议。