我进行了搜索,但是找不到答案.解释android加速度计值时,如何将这些值沿X / Y / Z轴转换为现实世界中的电话转换?
我希望这是有道理的-我只是无法确切掌握如何摆脱重力?我们需要吗?
我在考虑是否要使用加速度计返回的3D矢量的大小-等于9.8或更大,然后减去重力以获得实际的加速度大小.但是由于手机重力方向分布在所有3个轴上,因此加速度计事件返回的矢量会不准确…
请帮忙!
谢谢
解决方法:
免责声明:我不知道任何Android细节,它可能也针对手机.我只是从物理学背景讲.
您将需要将加速度与速度集成,并将速度与位移(位置)集成.
您将遭受积分漂移的困扰.每次集成时,都会引入一个集成常数.多次集成使此错误更加严重.
您还需要担心角加速度.
即.旋转听筒但保持在相同的物理位置会发生什么?
有多种方法可以减少这些错误源.
如果有多个加速度计,可以将它们进行比较,以尝试确定任何角度分量.
如果有陀螺仪,则可以使用陀螺仪来消除角度分量.
如果指南针足够准确,则可以尝试至少取消水平面中的分量.
GPS可用于尝试消除位移积分误差.
当GPS指示您停止时,将积分常数清零.
您将需要开始研究数值积分和滤波算法.
没有硬件加速,这可能在计算上很昂贵.
在这一点上,您真的真的需要开始问自己,您的问题真的需要精确的位移测量吗? GPS位移足够吗?仅加速就能达到相同的结果吗?
您应该尝试阅读以下内容:
http://en.wikipedia.org/wiki/Inertial_navigation_system
总结以上是内存溢出为你收集整理的java-解释android加速度计值以获取沿真实世界中的轴的电话平移全部内容,希望文章能够帮你解决java-解释android加速度计值以获取沿真实世界中的轴的电话平移所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)