对偶四元数
单位对偶四元数,刚性3D转换,螺旋
相比于单位四元数,其能够描述3D转换,一个单位对偶四元数则是相对于描述3D刚性转换的3D位姿和3D齐次转换矩阵的另一种描述。相比于12个元素的转换矩阵,具有8个元素的对偶四元数则是一个更加紧凑的描述。类似于转换矩阵,对偶四元数可以很容易的被组合去连接多个转换。还有,它们允许在2个3D刚性转换之间有一个平滑的差值和3D线的有限转换。
对偶四元数的介绍
一个对偶四元数
![92feff07c65629c8bde2f9508ce2bc39.png](https://img-blog.csdnimg.cn/img_convert/92feff07c65629c8bde2f9508ce2bc39.png)
由两个四元数
![58ba1ff0dabc27094cd13f920a7f3120.png](https://img-blog.csdnimg.cn/img_convert/58ba1ff0dabc27094cd13f920a7f3120.png)
和
![ad0f834f1721b6c7a57c1ceedd80d20c.png](https://img-blog.csdnimg.cn/img_convert/ad0f834f1721b6c7a57c1ceedd80d20c.png)
组成,其中
![19ade4182dd853ded0a82d7700ba1d98.png](https://img-blog.csdnimg.cn/img_convert/19ade4182dd853ded0a82d7700ba1d98.png)
是实部,
![11472fb474a9d19340843db226f71436.png](https://img-blog.csdnimg.cn/img_convert/11472fb474a9d19340843db226f71436.png)
是个对偶部,
![bd1fbf0563730d81f670f9af387194dc.png](https://img-blog.csdnimg.cn/img_convert/bd1fbf0563730d81f670f9af387194dc.png)
是一个对偶单位数。每一个四元数
![8c8abfd66aee15f5eac091fa192eba15.png](https://img-blog.csdnimg.cn/img_convert/8c8abfd66aee15f5eac091fa192eba15.png)
由一个标量
![04fbcffedb8fef8bef8322ead7bc4716.png](https://img-blog.csdnimg.cn/img_convert/04fbcffedb8fef8bef8322ead7bc4716.png)
和向量
![2cd52a43509e0228f78de6f068dc6ebf.png](https://img-blog.csdnimg.cn/img_convert/2cd52a43509e0228f78de6f068dc6ebf.png)
组成,其中
![853871f936fd5d9e1c406d0c9bfb29f9.png](https://img-blog.csdnimg.cn/img_convert/853871f936fd5d9e1c406d0c9bfb29f9.png)
是四元数向量空间的基元素。
用HALCON来描述对偶四元数
在HALCON中,一个对偶四元数用一个8个值得元组
![b1ec9a3cb97a2a6eb629dd9eebd27fc6.png](https://img-blog.csdnimg.cn/img_convert/b1ec9a3cb97a2a6eb629dd9eebd27fc6.png)
来描述,其中
![e48f923f56e9c26f50979858e5e4666f.png](https://img-blog.csdnimg.cn/img_convert/e48f923f56e9c26f50979858e5e4666f.png)
和
![671fba8dab15905d56344ce37707cef6.png](https://img-blog.csdnimg.cn/img_convert/671fba8dab15905d56344ce37707cef6.png)
是实部的标量和向量部分,
![d8db2e27532d6d15d5b5f875149ed046.png](https://img-blog.csdnimg.cn/img_convert/d8db2e27532d6d15d5b5f875149ed046.png)
和
![e85786435ed372bff594c41c77302cd7.png](https://img-blog.csdnimg.cn/img_convert/e85786435ed372bff594c41c77302cd7.png)
是对偶部的标量和向量部。
每一个3D刚性转换可以用一个螺旋来描述(见图1和图2)。
![f2694a290d8233c74bc99f6719fd8af7.png](https://img-blog.csdnimg.cn/img_convert/f2694a290d8233c74bc99f6719fd8af7.png)
图1: a)被一个旋转和一个平移定义的3D刚性转换… b)用 一个螺旋来描述
![95a1e63a8942c92418516475960c50d0.png](https://img-blog.csdnimg.cn/img_convert/95a1e63a8942c92418516475960c50d0.png)
图2: 螺旋轴的动量M
完全描述螺旋的参数是:
- 螺旋角度
- 螺旋平移
- 螺旋轴的方向,其中
- 螺旋轴的动量,其中
一个螺旋是由L和M给出的螺旋轴旋转角度
![6164ec65faa0d2e01bfc8072ea32e6a5.png](https://img-blog.csdnimg.cn/img_convert/6164ec65faa0d2e01bfc8072ea32e6a5.png)
和沿着此轴平移d来组成的。螺旋轴的位置用相对于坐标系统的原点的动量来定义。M是一个垂直于螺旋轴L和垂直于原点到螺旋轴上点
![cfaff95e13ca55360bcb47b3b8661a37.png](https://img-blog.csdnimg.cn/img_convert/cfaff95e13ca55360bcb47b3b8661a37.png)
向量的一个向量,其可以通过向量积
![42b4bc92a2c1178a7ce55bc1ad0534a1.png](https://img-blog.csdnimg.cn/img_convert/42b4bc92a2c1178a7ce55bc1ad0534a1.png)
来被计算。
因此,M是一个由螺旋轴和原点张成的平面的标准向量。值得注意的是
![1118315ef1bc229af1f84aa3b57ec7a7.png](https://img-blog.csdnimg.cn/img_convert/1118315ef1bc229af1f84aa3b57ec7a7.png)
是螺旋轴
![076c71ba5649fb9fa2fc18388ab3b435.png](https://img-blog.csdnimg.cn/img_convert/076c71ba5649fb9fa2fc18388ab3b435.png)
上距离坐标系统原点最短距离的点。一个单位对偶四元数的元素是有关于3D刚性转换的螺旋参数:
![07b030db06ef5b063a9e97f52efd9bc0.png](https://img-blog.csdnimg.cn/img_convert/07b030db06ef5b063a9e97f52efd9bc0.png)
注意的是,
![459c091c32597229197a748f864bd821.png](https://img-blog.csdnimg.cn/img_convert/459c091c32597229197a748f864bd821.png)
和-
![459c091c32597229197a748f864bd821.png](https://img-blog.csdnimg.cn/img_convert/459c091c32597229197a748f864bd821.png)
描述的是相同的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反序列化一个被序列化的对偶四元数