我进行了搜索,但是没有找到答案。在解释Android加速度计值时,如何将这些值转换为手机在X/Y/Z轴上的实际运动?
我希望这有意义 - 我只是无法准确地理解我们如何摆脱重力?我们需要吗?
我想,如果我们取加速度计返回的三维向量的大小,它应该是9.8或更大,然后我们减去重力以获得实际的加速度大小。但是由于手机的运动和重力方向分布在所有三个轴上,加速度计事件返回的向量是否不准确...
请帮忙!
谢谢
我进行了搜索,但是没有找到答案。在解释Android加速度计值时,如何将这些值转换为手机在X/Y/Z轴上的实际运动?
我希望这有意义 - 我只是无法准确地理解我们如何摆脱重力?我们需要吗?
我想,如果我们取加速度计返回的三维向量的大小,它应该是9.8或更大,然后我们减去重力以获得实际的加速度大小。但是由于手机的运动和重力方向分布在所有三个轴上,加速度计事件返回的向量是否不准确...
请帮忙!
谢谢
声明:我不了解任何Android具体信息,这也可能是手机特定的。我只是从物理学背景出发。
您需要将加速度集成到速度中,并将速度集成到位移(位置)中。
您将遭受积分漂移。每次集成时,都会引入一个积分常数。多个积分会增加这种误差。
您还需要担心角加速度。 即。当手持设备旋转但仍保持在同一物理位置时会发生什么?
有方法可以帮助减少这些误差来源。
如果有多个加速计,您可以比较它们,以尝试确定任何角度分量。
如果有陀螺仪,您可以使用陀螺仪来帮助消除角度分量。
如果指南针足够精确,则可以尝试至少取消水平平面中的分量。
GPS可用于尝试消除位移积分误差。 当GPS显示您已经停止时,请将积分常数归零。
您需要开始查看数值积分和滤波算法。 没有硬件加速,这可能会非常耗费计算资源。
此时,您真的需要开始思考,您的问题是否真的需要精确的位移测量? GPS位移是否足够?您是否可以仅使用加速度来达到相同的结果?
你应该尝试阅读以下内容: