iOS 4+;:CMDeviceMotion时间间隔中的延迟

iOS 4+;:CMDeviceMotion时间间隔中的延迟,ios,lag,gyroscope,accelerator,core-motion,Ios,Lag,Gyroscope,Accelerator,Core Motion,我正在开发一个计算密集型应用程序,它碰巧可以监听传感器数据(加速度,但也包括角速度)。经过一对滤波器后,这些矢量被积分以跟踪位移 我注意到,与CMDeviceMotion和CMGyroData相关联的时间戳很晚,因为我的CMMotionManager的处理程序没有按照其AccelerometrUpdateInterval和gyroUpdateInterval指定的100 Hz频率启动。它大约从60赫兹开始,上下波动。这主要影响集成 在一个独立的应用程序中,同样的代码可以产生100Hz的效果 因此

我正在开发一个计算密集型应用程序,它碰巧可以监听传感器数据(加速度,但也包括角速度)。经过一对滤波器后,这些矢量被积分以跟踪位移

我注意到,与CMDeviceMotion和CMGyroData相关联的时间戳很晚,因为我的CMMotionManager的处理程序没有按照其AccelerometrUpdateInterval和gyroUpdateInterval指定的100 Hz频率启动。它大约从60赫兹开始,上下波动。这主要影响集成

在一个独立的应用程序中,同样的代码可以产生100Hz的效果

因此,大型应用程序其他模块的计算峰值似乎会使传感器更新滞后。这让我感到惊讶,因为传感器管理器本身就在一个线程上,我从文档中了解到传感器事件是由硬件触发的

我的问题是:当时间戳如上所述不可靠时,数据还能被使用吗?可以用另一个时钟来推断吗

我很困惑为什么其他线程上的大型异步计算会延迟加速器的更新

谢谢,
错误的时间戳与不准确的数据一样糟糕,因为它们对集成有相同的影响


大约50赫兹就足以跟踪方向。我想知道你是如何追踪位移的,因为你好,阿里,谢谢你的回答。你知道有没有关于iPhone/iPad加速计可靠性的规范?位移跟踪并非不可能,它只是困难、不准确和有限。我在厘米刻度上工作,在2秒内。它足够短,可以跟踪位移,误差约为10%,这对于我正在开发的应用程序来说已经足够好了。不,我还没有见过这样的规格。但我不相信数据表。到目前为止,我检查的传感器结果比他们的规格承诺的要差。如果我是你,我会亲自检查iPad的传感器。我仍然在想你们是怎么做到的,在我的地面真相实验中,我甚至在2秒钟内都难以跟踪位移。误差的主要来源是陀螺噪声,而不是加速度计。好吧,祝你好运!