我做了搜索,但找不到答案;在解释android加速度计值时,如何将这些值转换为沿X / Y / Z轴的真实世界电话转换?
我希望它有意义 - 我无法控制我们如何摆脱引力?我们需要吗?
我在考虑是否采用加速度计返回的3D矢量的大小 - 它将是9.8或更大,然后我们减去重力以获得实际的加速度大小。但是,加速度计事件返回的矢量由于手机的运动+分布在所有3个轴上的重力方向而不准确...
请帮忙!
由于
答案 0 :(得分:4)
免责声明:我不知道任何Android细节,它可能也是手机特定的。我只是从物理背景说话。
您需要将加速度与速度相结合,并将速度与位移(位置)相结合。
您将遭受整合漂移。每次集成时,都会引入集成常量。多次集成会加剧此错误。
您还需要担心角加速度。 即。手机旋转但仍保持在同一物理位置时会发生什么?
有很多方法可以帮助减少这些错误来源。
如果有多个加速度计,您可以比较它们,以尝试确定任何角度分量。
如果有陀螺仪,您可以使用陀螺仪来帮助抵消角度分量。
如果指南针足够准确,您可以尝试至少取消水平面上的组件。
GPS可用于尝试删除置换积分错误。 当GPS表示您已停止时,将积分常数归零。
您需要开始研究数值积分和过滤算法。 如果没有硬件加速,这可能在计算上很昂贵。
此时你真的需要开始问自己,你的问题真的需要精确的位移测量吗? GPS位移是否足够?只有加速才能达到相同的效果吗?
你应该尝试阅读: