四元数的运动量



我从一个头部跟踪器中做了一些记录,该跟踪器提供了四元数的4个值,这些值保存在csv中(每行是一组四元数加上时间戳)。我需要计算整个记录中头部移动了多少。这是一个实验所需要的,我想看看在一个条件下,与另一个条件相比,头部的移动是更多还是更少。

为每个记录获得单个数量的最佳方法是什么?我有一些建议,但我不知道它们是否合适:

建议1)我计算每个四元数值的导数绝对值的累积和,然后我将这四个总和加起来得到一个单一的值

建议2)我计算范数导数绝对值的累积和

听起来你只是想要一个粗略估计的总角度运动作为一个单一的值。一种方法是假设四元数样本之间的最小旋转角度然后把这些角度加起来。例如,假设两个连续的四元数样本分别是q1和q2。然后计算四元数乘以q = q1 * inv(q2),这一步的三角角是2*acos(abs(qw))。每一步都这样做,并把所有的角加起来。

最新更新