1、背景

 同样一个旋转矩阵R,分别用Matlab与Eigen中的函数实现旋转矩阵到四元数,发现其结果有差异(本质是相同的):

     R:0 -0.277762 0.96065-1 0 00 -0.96065 -0.2777622、

Matlab的结果:

     rotm2quat(R)或 quat = quaternion(R', "rotmat", "frame")

  或 quat = quaternion(R, "rotmat", "point") 结果为: 0.4249,-0.5652,0.5652,-0.42493、


Eigen的结果:

    Eigen::Quaterniond Q(R) 结果为: -0.424923, 0.565191, -0.565191, 0.424923


结论:

         Eigen与Matlab的结果,整体差了一个负号,而一个四元数与其乘以一个负号,转成旋转矩阵是相同的。

    即四元数整体乘以-1,其表示的旋转是相同的。

    即: Q == -Q,即一个四元数乘以: -1  仍然等于自身!





标签: none

评论已关闭