具有任意坐标系的四元数三角洲

问题描述 投票:0回答:1

我正试图围绕一些Quaternion数学,并非常感谢你的帮助!

  • 我有一个传感器融合芯片,它相对于芯片的坐标系产生方向四元数。我将这个参考轴框架称为F.它由轴X,Y和Z组成。
  • 我希望能够建立一个任意向上轴并将其值存储为相对于F的四元数。我将调用此方向四元数Qp。
  • 通过使用Qp,我想旋转帧F以产生帧F',帧F'由轴X',Y'和Z'组成
  • 在这个例子中,我选择Qp使得Z'= X,X'= Z,Y'= Y.

我现在想:

  • 采样传感器的位置四元数
  • 将此位置转换为欧拉角
  • 跟踪沿三个欧拉轴的总行程。
  • 在上面的示例中,如果我围绕轴Z'旋转,我应该看到Z euler角度相应地增大/减小。

但是,无论我到目前为止尝试过什么,我都无法获得这个结果。如果我围绕Z'轴旋转,则X euler值会发生变化(这与上面的Z'= X相对应)

我的问题是:

  • 我必须做什么数学组合才能获得这个结果?看起来简单地从我的测量位置中减去Qp应该可行,但是得到的四元数总是相对于我的原始参考系F而言。
  • 我也希望这适用于任何任意选择的Qp - 轴X',Y',Z'可能并不总是如上所述的简单替换。

如果这还不够,我会提供更多信息。感谢大家的时间!

3d coordinates orientation quaternions
1个回答
1
投票

我对这个问题有几个问题。首先,四元数指定整个态度,而只是在你提出时识别“向上”向量不会这样做。作为一种方式,您需要两个向量来定义新帧。从“向上”开始,你还需要一个。

无论如何,如果它返回四元数,它们是在芯片框架中与另一个框架相关:哪一个?这种语言看起来很笨拙,但在进行数学计算后会在清晰度上得到回报,所以写QF2p == Quaternion表示部分“p”w.r.t的方向。芯片框架什么的。四元数将矢量从芯片(F)rame变换为(p)艺术帧。 (抱歉这么迂腐)(另外,尝试使用你的下标,重命名“Qp”)。

继续:“对传感器的四元数进行采样”您的传感器产生四元数?我以为你有一个芯片计算四元数给定方向。如果你有决定取向的东西,它的输出是什么?可能是一个不同的Quat? (抱歉,困惑)。

转换Quat - > euler是微不足道的看维基百科,但要注意极性和quaternioni定义,至少有2.这是你需要帮助的地方吗?

“沿着3个欧拉轴的总行程”是好的但非传统的语言:欧拉角通常不是“轴”因为不正交,但你可以整合'em ...

重写实验:如果绕z'旋转,你应该看到psi euler角度的变化。 Euler不是矢量或轴系统,但我通常会将它们[psi,theta,phi]分别命名为z,y,x。请注意,在较小的角度,您更喜欢[dPhi,dTheta,dPsi],因此小角度方向的变化(四元数的一部分)与使其发生的角速率对齐。另外(恐怖)你可以选择无数的欧拉角序列,并且在选择我在这里列出的那些时,会有一些“标准飞机”的假设。也许重点是,如果你做了实验,没有看到你的芯片的设计表,我会猜测dPsi会移动,它是第一个欧拉角。这是第一个顺序。你如何将它与“X”联系起来? ......也许这就是错误。

“我必须做什么数学?”姿态减法是四元数乘法。你不能从字面上减去四元数。

最好的祝福。

© www.soinside.com 2019 - 2024. All rights reserved.