综合技术
直播中

邢钊楚

7年用户 183经验值
私信 关注
[问答]

请问我用四元数转欧拉角造成的这些问题该怎么解决?

我用四元数转欧拉角的时候出现了一些问题。我是按偏航,俯仰,横滚的顺序解算的,动作是三个轴依次转360°。根据四元数转欧拉角的公式,俯仰角会被限制在±90°的范围里面。当超出这个范围的时候,另外两个角会转180°来补偿俯仰角的旋转。
但是问题就在这个位置,从下图中可以看出,在俯仰超出90°范围的时候,横滚角不只是到了180°,而且还出现了一个从负178°到正179°最后回到负179°跳变,真的很神奇,理论上不应该出现这个跳变的。
然后在俯仰角从-90°往正走的时候,偏航角也出现了类似的跳变。可以看到左边的四元数部分是没有跳变的。

下图为俯仰一直转360°的图,可以看到在俯仰超过正负90°的时候,这个跳变有的时候会有,有的时候又看不到,有的时候还会出现得非常频繁,有的时候有没有大佬分析一下,这个跳变是怎么造成的?有没有什么办法避免?

回帖(3)

何朝燕

2019-6-26 08:35:55
帮顶
举报

wuwyw

2020-5-23 10:22:30
我也遇到了这个问题,请问您后面怎么解决的 ,能提供下思路吗
举报

李工

2020-7-2 11:34:06
请问您的Pitch最大到了多少角度。我的现在最大85度
举报

更多回帖

发帖
×
20
完善资料,
赚取积分