【问题标题】:How to get orientation of android from gyrsocope sensor events?如何从陀螺仪传感器事件中获取 android 的方向?
【发布时间】:2011-03-13 15:51:20
【问题描述】:
我在 Nexus S 上使用 android 2.3 并希望从陀螺仪传感器事件中获取方向。由于陀螺仪提供角速度,如何使用它来获取设备方向?
还有什么方法可以在没有重力矢量的情况下获得手机轴上的纯线性加速度。我从线性加速度传感器事件中预料到了这一点,但刚刚找到了一篇文章并为当前仅使用加速度计的传感器引用了 android 源代码。
那么,将两种硬件的读数结合起来以获得没有重力夹杂物的纯加速度的最佳方法是什么?
谢谢。
【问题讨论】:
标签:
android
orientation
sensors
android-sdk-2.3
gyroscope
【解决方案1】:
为什么你特别想使用陀螺仪来获取方向,在后来的 [2.2+] API 中提供的 getOrientation() 或 getRotation() 应该是一种更简单的方法。在任何情况下,陀螺仪只对检测角度方向的变化有用,所以它不能告诉你哪条路是向上的,如果这就是你所说的“方向”。
但是你可以从角速度得到角度的近似变化,就像你从线速度得到位置变化一样:角度变化 = 时间间隔 x 角速度。
重力是equivalent 的加速度,因此除了“手机内部”之外,无法区分它们,您只需要按照文档中描述的方式将其减去即可。