我正在努力将Quaternion数学知识笼罩起来,非常感谢您的帮助!
我希望能够建立一个任意的上轴并将其值存储为相对于 F 的四元数。我将这个方向四元数称为 Qp 。
通过使用 Qp ,我想旋转框架 F 以产生框架 F',该框架由轴组成 X',Y',和 Z'
我现在要:
但是,无论到目前为止我尝试了什么,我都无法获得此结果。如果我绕着 Z'轴旋转,则X欧拉值将发生变化(这与上面的 Z'= X 对应)
我的问题是:
如果这不是足够的信息,我将提供更多。谢谢大家的宝贵时间!
答案 0 :(得分:1)
这个问题我有几个问题。首先,四元数指定了整个姿态,而您所建议的只是识别“向上”向量并不能做到这一点。作为一种方法,您需要两个向量来定义新帧。从“上”开始,您还需要一个。
无论如何,如果它返回四元数,则它们属于芯片框架,而与其他框架无关:哪个?这种语言似乎很固步自封,但是稍后在进行数学运算时会很清楚地得到回报,因此请写QF2p ==四元数表示部分“ p”的方向。芯片框架之类的。四元数将向量从码片(F)帧转换为(p)art帧。 (对不起,太学究了)(此外,尝试使用您的下标,重命名“ Qp”)。
继续:“采样传感器的四元数”您的传感器产生四元数吗?我以为您有一个可以计算给定方向的四元数的芯片。如果您有确定方向的东西,它的输出是什么?可能是另一种Quat? (对不起,很困惑)。
转换Quat-> euler很琐碎,请参阅Wikipedia,但要注意极性和四元数的定义,至少有2个。这是您需要帮助的地方吗?
“沿3个欧拉轴的总行程”是一种很好的语言,但它是非常规的语言:欧拉角通常不是“轴”,因为它不是正交的,但是您可以将它们集成在一起。
重写实验:如果绕z'旋转,则应该看到psi欧拉角发生变化。欧拉不是矢量或轴系,但我通常会分别将它们分别定为z,y,x的[psi,theta,phi]。请注意,在较小的角度中,您更喜欢[dPhi,dTheta,dPsi],因此较小的角度方向变化(四元数的一部分)与使其发生的角速率对齐。同样(恐怖),您可以选择无数的欧拉角序列,并且在选择我在此处列出的飞机时有一些“标准飞机”的假设。也许关键是,如果您在没有看到芯片设计表的情况下进行了实验,我猜想dPsi将会移动,那将是第一个Euler角。这是顺序中的第一个。您如何将其与“ X”关联? ...也许是错误的。
“我必须做什么数学?”态度减法是四元数乘法。您不能从字面上减去四元数。
最诚挚的问候。