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

对偶四元数

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

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

对偶四元数的介绍

一个对偶四元数

由两个四元数

组成,其中

是实部,

是个对偶部,

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

由一个标量

和向量

组成,其中

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

用HALCON来描述对偶四元数

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

来描述,其中

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

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

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

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


图2: 螺旋轴的动量M

完全描述螺旋的参数是:

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

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

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

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

来被计算。

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

是螺旋轴

上距离坐标系统原点最短距离的点。一个单位对偶四元数的元素是有关于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反序列化一个被序列化的对偶四元数