algorithm - DeviceMotion采用什么算法从加速度计和陀螺仪计算姿态?

标签 algorithm accelerometer gyroscope core-motion kalman-filter

根据引用资料, 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/

相关文章:

algorithm - 两个数组的就地合并

android - "Shake"app随时响应

android - 使用地理定位 api cordova/phonegap 查找距离、速度和加速度

ios - SWIFT:iPhone 被握住或放在 table 上 “upwards”

ios - 如何使用 iPhone 计算划艇的划水频率?

algorithm - 过滤陀螺仪数据的自适应算法

algorithm - 在无序列表的多个子范围内查找中位数

c++ - 生成不是彼此镜像的排列

c++ - 如何将有向图(邻接表)传递给 Dijkstra 算法 boost 以找到最短路径?

android - 如何在按钮的 onClick 方法中注册传感器监听器?