滚动音高和偏航相互依存



我正在使用此库,希望从给定的参考框架找到偏航旋转。

但是,当开始测试它时,我注意到偏航以滚动和俯仰方式稍微移动设备时会发生巨大变化。将设备放在桌子上并旋转时似乎给出了正确的值。

我在看卷时也要注意 - 以滚动方式旋转时似乎给出了正确的值 - 在音高中略微移动它突然改变了价值。

给定的值不是彼此隔离的 - 从给定的参考帧旋转?


请注意,图书馆使用四元素 - 因此不应该存在饰品锁问题 - 或者仅仅以度(带有欧拉角(表示旋转而引起?

这是源代码


编辑:我修改了反应的传感器,以使我对iOS(卷,俯仰,偏航(的cmdevicemotions进行cmdevicemotions。他们给了我彼此独立的旋转 - 解决了问题。

gimbal锁是使用欧拉角(即偏航,俯仰,滚动或任何其他组合(的旋转表示的固有属性。虽然您是正确的,因为四个问题不会遭受此问题的困扰,但您将它们转换为euler角度表示。

通常在实践中使用的"解决方案",如果您想继续使用欧拉角来表示轮换,则是从偏航 - 式滚动(x-y-z(表示转变为在坐标中更有效的其他组合系统 - 查看Wiki页面以获取可以尝试的组合。从本质上讲,这只是将妇女锁置于不同角度的组合,但是对于具有明确定义的价值范围的实际应用,这通常足以避免问题。

根据您的用例,更"正确的"解决方案可能是完全切换到季度表示,这完全避免了问题。

最新更新