陀螺仪、运动和加速度之间的物理区别是什么?

what is the physical difference between gyro, motion, and acceleration?

我试图理解 movement/postion 陀螺仪、运动和加速度所代表的不同。 (startGyroUpdatesstartDeviceMotionUpdates 等)。

但是,经过一些研究后,我很难看出陀螺仪和运动之间的区别。 Gyro 有 x,y,z 的旋转,Motion 有 roll, pitch, yaw 的旋转...一样吗?

我需要一些东西来检测用户实际将 phone 从其原始位置移动了多远(就好像轴是你的手臂一样!)...我希望这就是运动。有人可以帮我解决这个问题,并指导我使用我想要使用的正确工具吗?

干杯。

Core motion 是一个结合了来自内部陀螺仪和加速度计的输入的框架。它是更高级别的 API,并且可能是更好的选择,除非您的应用程序特别需要原始陀螺仪或加速度计数据。

您正在考虑的

None 个选项(陀螺仪、加速度计或 Core Motion)适合计算设备在 space 中的位置。

问题是漂移。加速度计不精确,因此如果您在给定方向(例如步行)加速 phone 然后缓慢停止,则加速度计的测量结果不够准确,无法判断您是否已经停止或如果你还在轻微漂移。随着时间的推移,漂移误差会增加,以至于用加速度计计算的位置可能会偏离千米。

您需要类似 GPS 或基于手机信号塔的定位才能获得相当准确的位置信息。您还可以在已知位置设置带有 iBeacon 的系统,尽管这有其自身的局限性。