根据参考资料, deviceMotion属性仅适用于同时具有加速度计和陀螺仪的设备。这是因为其子属性是传感器融合算法的结果,即两个信号一起被评估以便减少估计误差。
嗯,我的问题是CMMotionManager用于进行计算的内部实现或算法。我想要一些关于这个所谓的“传感器融合算法”的细节
流行的融合算法例如是卡尔曼滤波器和衍生物,但我猜CMMotionManager的内部实现基于更简单且更快的算法。我希望对来自加速度计和陀螺仪的传感器数据进行一些简单但足够好的数学计算,以最终计算滚转,偏航和俯仰
答案 0 :(得分:0)
目前尚不清楚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。