我正在努力使用 android 磁力计和陀螺仪传感器

I'm struggling using android magnetometer and Gyroscope Sensors

我正在创建一个支持 GPS 的导游 android 移动应用程序,我决定使用加速度计和磁场传感器。

我知道我可以使用旋转矩阵来找到用户的方向。这 post 有助于我理解这些值的含义。 Convert magnetic field X, Y, Z values from device into global reference frame

但是我似乎无法获得旋转矩阵,getRotationMatrix(float I,float R, float gravity, float accel) 方法具有 return 类型的布尔值,它不是 float[] return值我need/expected。其次,I 和 R 参数是否应该为空浮点数组?

澄清一下,我想得到 2 个矩阵,旋转和倾斜。我有来自 (accelerometer/gyroscope) 和磁力计的 x、y、z 值。

谁能帮我解决这个具体问题,我将不胜感激!

任何 theoretical/further 解释旋转矩阵的每个值对应的内容以及如何使用它们来计算用户与磁北的比较,我们将不胜感激!

非常感谢所有帮助! 如果这有助于人们理解我的问题,我可以 post 编写代码

补充一下,我正在接收旋转矩阵。 这是我的价值观 enter image description here xyzorientation 是加速度值 磁场是环境磁场值 Ro 是旋转矩阵,我应该得到所有这些 0 值吗?当我得到这些值时,我的 phone 是静止的。

感谢所有帮助。这些值是正确的吗?

读取 docs 结果在发送的参数内,发送空数组,如果方法 returns 为真,它们将被填充。

This 我之前写的答案应该可以帮助您解决其他一些问题,以帮助您理解坐标系和传感器值的解释。

Here 是很好的资源,其中包含传感器管理器返回的滚动、俯仰和偏航值的详细说明。