根据引用资料, deviceMotion 属性仅适用于同时具有加速度计和陀螺仪的设备。这是因为它的子属性是传感器融合算法的结果,即两个信号一起评估以减少估计误差。
Emm,我的问题是 CMMotionManager 用于计算的内部实现或算法在哪里。我想要一些关于这个所谓的“传感器融合算法”的细节
流行的融合算法例如卡尔曼滤波器和衍生物,但我猜 CMMotionManager 的内部实现是基于更简单因此更快的算法。我希望根据来自加速度计和陀螺仪的传感器数据进行一些简单但足够好的数学计算,以最终计算出横滚、偏航和俯仰
最佳答案
不清楚what is actually implemented in Core Motion .
至于卡尔曼滤波器以外的滤波器:我已经为 Shimmer 2 实现了传感器融合。基于此的设备manuscript .
您可以在 Complementrary Filters 上找到这个答案也有帮助,请特别参阅 filter.pdf
出于两个原因,我不会使用滚动、俯仰和偏航:(1) it messes up the stability你的应用程序和 (2) 你 cannot use it for interpolation .
关于algorithm - DeviceMotion采用什么算法从加速度计和陀螺仪计算姿态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10646518/