背景:我的目标是弄清楚手机的倾斜角度,例如对于向后倾斜手机暗示"踩油门的游戏"向左/向右倾斜意味着左右转动方向盘。
我正在关注不同Android传感器之间传感器融合的this talk。
基于谈话的结尾,似乎我可以使用旋转矩阵中的"向量来确定我指向的方向"。
问题:那么,他们是否意味着获得这些角度的正确方法是"Using the Rotation Vector Sensor"/TYPE_ROTATION_VECTOR?
如果是,我现在的具体问题是:设备使用传感器TYPE_ROTATION_VECTOR
需要哪些传感器?我的猜测是初始值的加速度计加上用于校正的陀螺仪(加上可选的罗盘用于额外校正)?
额外信用问题:我可以在任何地方找到符合该条件的设备列表吗?和/或是否有人建议使用具有所需传感器的超便宜设备?
答案 0 :(得分:3)
简答:
旋转矢量传感器:加速度计,陀螺仪和地磁场。
游戏旋转矢量传感器:加速度计和陀螺仪。
地磁旋转矢量传感器:加速度计和地磁场。
答案很长:
根据传感器文档,旋转矢量传感器使用加速度计,陀螺仪和地磁场都进行绝对旋转校准。
他们还提供了游戏旋转矢量传感器和地磁旋转矢量传感器,它们非常相似,但不同并且经常用于其他目的。
游戏旋转矢量传感器仅使用陀螺仪进行校准,更好地测量相对旋转,不受磁场变化的影响。
地磁旋转矢量传感器使用磁力计代替陀螺仪进行校准,因此降低了功耗。它建议在后台使用,并与批处理一起使用。
现在,大多数设备都有9轴IMU,其中包括加速度计,陀螺仪和磁力计x 3轴。所以你应该没问题使用那个传感器。唯一的问题是,可能有些设备没有提供上述“软件传感器”实现,因此您可能需要自己进行传感器融合。
希望这有帮助!