相对于iPhone坐标系的iOS CoreMotion态度

时间:2018-11-21 17:46:52

标签: ios rotation quaternions core-motion

我已经在堆栈上和整个Internet上对此主题进行了广泛的研究,但似乎找不到解决方案。很多参加讨论的人都提出了类似的问题,人们提供了答复,但我认为还没有人提供好的解决方案。

问题::使用CoreMotion报告姿态时,它们提供的用于参考系的所有4个选项的Z轴都与重力相反(垂直)。我正在开发的应用程序需要使用相对于手机坐标系的旋转数据,如下图所示: Coordinate Systems

我希望该解决方案如何工作:可以使用第一个读数来建立电话参考系,因为这样可以使我们从苹果参考系旋转到电话参考系。然后可以使用转换来计算以下所有旋转读数,以使报告的姿态相对于新参考系。

注释1:我知道使用Euler Angles(云台锁以及订购)的问题,因此希望避免使用它们。

注释2:首选使用四元数的解决方案,但使用旋转矩阵的解决方案也可以。

注意3:,许多人在其他帖子中都使用multipleByInverseOfAttitude进行了建议,如此处的苹果示例所示:(https://developer.apple.com/documentation/coremotion/getting_processed_device-motion_data/understanding_reference_frames_and_device_attitude)。但是,这似乎只会将您的第一个读数重置为0,但仍会报告所有后续读数(相对于苹果标准参考系)。

0 个答案:

没有答案