HALCON高级篇:3D坐标之对偶四元数

对偶四元数

单位对偶四元数,刚性3D转换,螺旋

相比于单位四元数,其能够描述3D转换,一个单位对偶四元数则是相对于描述3D刚性转换的3D位姿和3D齐次转换矩阵的另一种描述。相比于12个元素的转换矩阵,具有8个元素的对偶四元数则是一个更加紧凑的描述。类似于转换矩阵,对偶四元数可以很容易的被组合去连接多个转换。还有,它们允许在2个3D刚性转换之间有一个平滑的差值和3D线的有限转换。

对偶四元数的介绍

一个对偶四元数

HALCON高级篇:3D坐标之对偶四元数

由两个四元数

HALCON高级篇:3D坐标之对偶四元数

HALCON高级篇:3D坐标之对偶四元数

组成,其中

HALCON高级篇:3D坐标之对偶四元数

是实部,

HALCON高级篇:3D坐标之对偶四元数

是个对偶部,

HALCON高级篇:3D坐标之对偶四元数

是一个对偶单位数。每一个四元数

HALCON高级篇:3D坐标之对偶四元数

由一个标量

HALCON高级篇:3D坐标之对偶四元数

和向量

HALCON高级篇:3D坐标之对偶四元数

组成,其中

HALCON高级篇:3D坐标之对偶四元数

是四元数向量空间的基元素。

用HALCON来描述对偶四元数

在HALCON中,一个对偶四元数用一个8个值得元组

HALCON高级篇:3D坐标之对偶四元数

来描述,其中

HALCON高级篇:3D坐标之对偶四元数

HALCON高级篇:3D坐标之对偶四元数

是实部的标量和向量部分,

HALCON高级篇:3D坐标之对偶四元数

HALCON高级篇:3D坐标之对偶四元数

是对偶部的标量和向量部。

每一个3D刚性转换可以用一个螺旋来描述(见图1和图2)。

HALCON高级篇:3D坐标之对偶四元数

图1: a)被一个旋转和一个平移定义的3D刚性转换… b)用 一个螺旋来描述


HALCON高级篇:3D坐标之对偶四元数

图2: 螺旋轴的动量M

完全描述螺旋的参数是:

  • 螺旋角度
  • 螺旋平移
  • 螺旋轴的方向,其中
  • 螺旋轴的动量,其中

一个螺旋是由L和M给出的螺旋轴旋转角度

HALCON高级篇:3D坐标之对偶四元数

和沿着此轴平移d来组成的。螺旋轴的位置用相对于坐标系统的原点的动量来定义。M是一个垂直于螺旋轴L和垂直于原点到螺旋轴上点

HALCON高级篇:3D坐标之对偶四元数

向量的一个向量,其可以通过向量积

HALCON高级篇:3D坐标之对偶四元数

来被计算。

因此,M是一个由螺旋轴和原点张成的平面的标准向量。值得注意的是

HALCON高级篇:3D坐标之对偶四元数

是螺旋轴

HALCON高级篇:3D坐标之对偶四元数

上距离坐标系统原点最短距离的点。一个单位对偶四元数的元素是有关于3D刚性转换的螺旋参数:

HALCON高级篇:3D坐标之对偶四元数

注意的是,

HALCON高级篇:3D坐标之对偶四元数

和-

HALCON高级篇:3D坐标之对偶四元数

描述的是相同的3D刚性转换,还有一个单位对偶四元数的反转是其共轭。

HALCON算子

  • Pose_to_dual_quat将3D位姿转化为单位对偶四元数
  • Dual_quat_to_pose将对偶四元数转化为3D位姿
  • Dual_quat_compose将两个对偶四元数相乘
  • Dual_quat_to_screw将单位对偶四元数转化为螺旋
  • Screw_to_dual_quat将螺旋转化为对偶四元数
  • Dual_quat_to_hom_mat3d将单位对偶四元数转化为齐次转换矩阵
  • Dual_quat_conjugate共轭一个对偶四元数
  • Serialize_dual_quat序列化一个对偶四元数
  • Deserialize_dual_quat反序列化一个被序列化的对偶四元数



分享到:


相關文章: