【问题标题】:Difference between Sensor.TYPE_ROTATION_VECTOR and getOrientation by combining TYPE_ACCELEROMETER and TYPE_MAGNETIC_FIELDSensor.TYPE_ROTATION_VECTOR 和 getOrientation 的区别在于 TYPE_ACCELEROMETER 和 TYPE_MAGNETIC_FIELD 的组合
【发布时间】:2016-05-30 17:40:10
【问题描述】:

我正在开发一个应用程序,它可以根据手机的实际位置控制遥控车。

因为 TYPE_ORIENTATION 已被 Android 弃用(有人知道它究竟为什么被弃用吗?)我正在使用(Magnetic_Field 和 Accelerometer)的 RotationMatrix 来获取目前工作正常的手机方向。

但在我的研究过程中,我遇到了 Sensor.TYPE_ROTATION_VECTOR 来获取方向。这有什么好处或推荐使用什么方法?

谢谢

【问题讨论】:

    标签: android orientation android-sensors type-accelerators


    【解决方案1】:

    TYPE_ROTATION_VECTOR 通过操作系统级软件将多个传感器融合在一起。这是一个很好的教程,解释了这些差异,以及代码示例和作者的发现:https://www.journal.deviantdev.com/android-compass-azimuth-calculating/

    我注意到,在我的 Nexus 5X 上,方位角(罗盘方向)有时会变得不准确。但是,如果我去其他地方,比如谷歌地图,它也会显示不正确的指南针方向。所以这似乎是设备、传感器或两者都有问题。

    TYPE_ROTATION_VECTOR 确实提供了一些很好的值平滑,然后如果你想要额外的平滑,你可以添加一个低通滤波器。祝你好运!

    【讨论】:

    • 太棒了!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2014-01-28
    • 1970-01-01
    • 2012-08-06
    • 2021-06-14
    • 1970-01-01
    相关资源
    最近更新 更多