我想从旋转矩阵计算欧拉角以找出与该旋转相关的方向。为此,我使用MATLAB和函数rotm2eul,该函数先围绕x轴旋转,然后围绕y轴旋转,最后是z轴。
我正在使用包含1000帧信号的数据,并且对于每个帧都计算了旋转矩阵以及三个欧拉角。然而,当我查看欧拉角曲线时,如下图所示,存在一些“跳跃”。 在技巧1中,我认为它从-180º跳到180º应该是相同的。实际上,图的上部分似乎是下部分的延续。因此,在这种情况下,我认为我可以将360º减去上部分以获得该图。但我不确定如果这样做是否会篡改结果。
在技巧2中,它以与先前不同的原因进行跳跃。我认为这一定是因为与y轴相关联的角度达到90º,这应该是一个边界案例。但在这种情况下,我不知道如何更正数据或者像之前那样,如果我想更正图表是否会篡改欧拉角结果。
我正在使用包含1000帧信号的数据,并且对于每个帧都计算了旋转矩阵以及三个欧拉角。然而,当我查看欧拉角曲线时,如下图所示,存在一些“跳跃”。 在技巧1中,我认为它从-180º跳到180º应该是相同的。实际上,图的上部分似乎是下部分的延续。因此,在这种情况下,我认为我可以将360º减去上部分以获得该图。但我不确定如果这样做是否会篡改结果。
在技巧2中,它以与先前不同的原因进行跳跃。我认为这一定是因为与y轴相关联的角度达到90º,这应该是一个边界案例。但在这种情况下,我不知道如何更正数据或者像之前那样,如果我想更正图表是否会篡改欧拉角结果。
unwrap
自动调整角度以最小化跳跃,通过加上或减去 2π。但是,如果没有看到您的代码、一些示例数据和技术1和2的预期输出,就无法告诉您哪一个是“正确”的。 - craigim