gpt4 book ai didi

rotation - 如何将 2 个四元数旋转回起始位置,然后计算相对旋转?

转载 作者:行者123 更新时间:2023-12-04 20:06:29 24 4
gpt4 key购买 nike

我有 2 个 IMU(惯性测量单元),我想计算它们的相对旋转。不幸的是,IMU 的输出给了我相对于全局的两个四元数(我假设这就是四元数的工作方式)。但是,我需要测量一个传感器相对于另一个传感器的旋转。一直以来,这两个传感器都从其初始方向在全局轴上旋转。

例如:我将一个传感器连接到胸部,另一个连接到 ARM 。两个传感器都针对全局轴进行校准。如果我保持这个方向,我可以很好地计算旋转。但是,当我将我的 body 旋转到不同的方向(向右 90 度)并执行相同的运动时,传感器围绕其局部轴旋转但输出相对于全局轴的四元数(输出围绕传感器 y 轴的旋转)作为绕 x 全局轴的旋转)。

无论我的方向如何(躺下,朝左,朝右,朝前或朝后),我都希望相同的运动产生相同的四元数(从而显示相同的旋转)

基本上,我想让一个传感器成为旋转“引用”轴,我想测量另一个传感器相对于引用传感器(旋转引用轴)的旋转变化。

最佳答案

从一个 Q1 到另一个 Q2 帧的转换很简单,就像

Q1intoQ2 = q1.inversed() * q2;
// check it, q2 = q1 * Q1intoQ2 == q1 * q1.inversed() * q2 == q2

关于rotation - 如何将 2 个四元数旋转回起始位置,然后计算相对旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25149231/

24 4 0