android - 如何检测相对于移动方向的手机方向

标签 android algorithm android-sensors

问题:考虑安装在车辆中的 Android 设备。我们想用加速度计测量各种东西。这些测量值应该相对于车辆的坐标系。因此,我们需要弄清楚设备是如何相对于车辆定向的。简单的解决方案是在启动后平均“早期”加速度,但我担心司机做的第一件事就是离开 parking 场或左转上路,从而描述一条曲线。让用户上路后开始测量是可行的,但如果此时没有加速度怎么办?

问题:有人可以建议一种策略或算法来合理判断手机相对于车辆的朝向吗?指向解决类似问题的某个 FOSS 源的指针会更好。

注意事项:

  • 我不想为此使用 GPS,因为这会使用户的操作变得复杂。
  • 我们可以与用户互动,例如要求用户在开始前开始测量。

最佳答案

加速度计本身无法为您的目的提供足够的信息,我敢说:作用在设备上的矢量,除了车辆加速度之外,还包括车辆本身的振动、道路倾斜度、刹车和转弯时的向心力。

由于所有这些力,来自传感器的数据量在手机上聚合是不切实际的,因此移动平均数或其他累积方法不会给出哪怕是模糊的精确结果。

此外,即使您使用可用的最高传感器速率,传感器采样时间之间也会丢失大量加速度数据。

建议:使用 GPS 或网络定位信息,生成移动平均线以说明微小偏差,然后使用结果。

关于android - 如何检测相对于移动方向的手机方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6544622/

相关文章:

Java:如何为每个 RecyclerView 项目制作自己的总数计数器?

android - 我得到 executionexception 和大堆错误

android - 除了使用 Google 的应用内计费之外,还有其他方法可以避免发布私有(private)信息吗?

c++ - 如何在C++中创建可变尺寸的网格?

python - 使用 NetworkX 的社区检测算法

java - 如何以固定速率从 Android 运动传感器记录数据

android - 如何使用 JobScheduler 从后台应用程序获取步数

java - 无法写入文件 - 为什么?

C 值数组,指针段错误

android - 传感器_延迟_游戏 : how much is it?