gpt4 book ai didi

android - 如何使用设备的方向传感器向上或向下查找?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:09:26 26 4
gpt4 key购买 nike

我一直在尝试在 android 上找到向上(或向下,这并不难找到,只需乘以 -1),但没有好的解决方案。我需要一个指向与加速度计使用的坐标系相同的坐标系的矢量。这样,我将能够:

  • 消除重力对加速度计输出施加的力
  • 判断设备是否在垂直方向晃动。

重力传感器:首先,我想到了使用重力传感器,这本来是最简单的解决方案。但!我的设备没有重力传感器...

磁场传感器:因此,我想到使用磁场传感器在两个不同的位置找到指向北方但方向相同的两个矢量,在我计算出两者的叉积之后向量来尝试找到一个向上或向下的向量。它没有用(或者看起来好像没有用)。

带加速度计的磁场:然后,我想做叉积,但这次是用磁场传感器提供的矢量和加速度计提供的矢量。我找不到方法,因为当用户加速时,由于重力的原因,加速度计指向下方一点。

所以,我得出的结论是,我需要使用方向传感器来这样做,或者只依赖于低通滤波器....

简单地说,如果我有这些传感器,我如何确定加速度计使用的坐标系中向上的矢量是什么:

  • 方向
  • 加速度计
  • 磁场

最佳答案

很遗憾,您的问题并不是特别简单。我对 Android API 不够熟悉,也许如果你环顾四周,你会发现一些试图将重力加速度与外部设备加速度隔离开来的东西(我知道有传感器融合算法可以在一定程度上成功地做到这一点) .

问题的核心是重力加速度和设备上的局部加速度无法区分(没有重力传感器这样的东西)。加速度计只是记录作用在设备上的总加速度,它是所有加速度的总和。分离重力矢量并非微不足道,但我看到的方法主要涉及使用陀螺仪,因为磁力计太不准确并且包含太多延迟。

相反,我建议您假设设备上的局部力可以忽略不计,因此您的加速度是重力矢量。或者如您所提到的那样,使用低通滤波器,这对于大多数目的来说就足够了(并且是为了传感器融合和增强现实的目的定义 DOWN 的常用方法)。

祝一切顺利!

关于android - 如何使用设备的方向传感器向上或向下查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20894858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com