gpt4 book ai didi

android - Roll Pitch 和 Yaw 相互依赖

转载 作者:行者123 更新时间:2023-11-28 23:32:28 28 4
gpt4 key购买 nike

我正在使用 this我希望在其中找到给定 reference frame 的偏航旋转度数库。 .

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

我在查看滚动时也注意到 - 当以滚动方式旋转它时似乎给出了正确的值 - 稍微倾斜倾斜会突然显着改变值。

给定的值是否彼此隔离 - 从给定引用系旋转?


请注意,该库使用四元数 - 因此不应该存在万向节锁定问题 - 或者它是否只是以度数表示旋转(使用欧拉角)?

Here是源代码


编辑:我修改了react-native-sensors给我 iOS 上的 CMDeviceMotions 态度(滚动、俯仰、偏航)。他们给了我彼此独立的轮换 - 这解决了问题。

最佳答案

Gimbal lock是使用欧拉角(即偏航、俯仰、滚动或任何其他组合)的旋转表示的固有属性。虽然您正确地认为四元数不会遇到此问题,但将它们转换为欧拉角表示却会遇到此问题。

如果您想继续使用欧拉角来表示旋转,实践中经常使用的“解决方案”是从偏航-俯仰-滚动 (x-y-z) 表示切换到在您的坐标中效果更好的不同组合系统-看看the wiki page您可以尝试组合。这本质上只是将万向节锁置于不同的角度组合,但对于具有明确定义的值范围的实际应用,这通常足以避免问题。

根据您的用例,更“正确”的解决方案可能是完全切换到四元数表示,这完全避免了问题。

关于android - Roll Pitch 和 Yaw 相互依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56005107/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com