Hamilton 与 JPL 四元数表达方式

四元数的表示方法

四元数的表示方法有很多种,这里有四个最基本的选项:

(1)实部的位置


实部是放在第一位还是放在最后一位
在这里插入图片描述

(2)虚部定义


四元数虚部的定义
在这里插入图片描述
这一项对应于是选择左手系还是选择右手系。选择左右手系的意义是,给定一个旋转轴u,以及旋转角度 θ \theta θ,如果是右手系,那么 q r i g h t { u θ } q_{right}\{u\theta\} qright{uθ}表示采用右手规则旋转的四元数,同时 q l e f t { u θ } q_{left}\{u\theta\} qleft{uθ}表示采用左手规则旋转的四元数。
在这里插入图片描述

(3)旋转操作符


旋转操作符表示的是旋转坐标系还是旋转向量

(4)旋转坐标系时的转换方向——global-to-local or local-to-global


关于global和local分别指什么,下面会提。
在这里插入图片描述

从以上的这些选项中我们可以得到12中不同的表示方式,但是由于某些历史的原因,组中保留下来的并在使用的表示方法有Hamilton、STS、JPL、ISS以及ESA。许多工作并没有明确地说明他们使用了那种表示方法,因此往往容易让人迷惑。
不同的表示方法之间是不兼容的。其中最常用到的两种方法分别是HamiltonJPL,这两种方法的特性总结在下表中:
在这里插入图片描述
JPL在航空领域用的更多一些,而Hamilton在其他工程领域用的更多,比如机器人,但是这也不是绝对的。诸如Eigen,ROS,Google Ceres以及许多由于Kalman滤波中采用到了IMU进行位姿估计的文献中都采用了Hamilton表示方法。而JPL表示方法在的应用相对较少一些,至少在机器人领域是这样。

Hamilton和JPL的比较

我们根据上文中提到的四个基本选项分别对Hamilton和JPL进行比较

(1)实部的位置

Hamilton和JPL最显著的一个区别就是实部的位置,Hamilton的实部位置在前,而JPL的实部位置在后。但是在实际上,一些工作虽然采用了Hamilton的表示方法但是依旧把实部放在了四元数的最后边,比如Eigen。

(2)虚部定义

Hamilton的虚部定义如下:
在这里插入图片描述
JPL的虚部定义如下:
在这里插入图片描述
有趣的是,这些微小的变化保留了四元数乘法的基本性质,但是在数学上,最明显的结果就是导致了如下乘法公式中叉积项之前的符号的改变:
在这里插入图片描述
上式为Hamilton表示法下的四元数相乘表达式。
JPL形式下需要将叉乘前的符号变为负号。

(3)旋转操作符

在进行旋转操作的时候,我们可以直接将向量进行旋转,我们称之为主动式(active)
在这里插入图片描述
另外一种方法是考虑向量不动,而旋转坐标系,我们称之为被动式(passive)。
在这里插入图片描述
其中, A \mathcal{A} A B \mathcal{B} B分别是两个不同的直接坐标系, x A , x_\mathcal{A}, xA x B x_\mathcal{B} xB分别是向量x在不同坐标系下的表示。主动式和被动式之间的转化方法为:
在这里插入图片描述
Hamilton和JPL都使用被动式旋转。

(4)旋转坐标系时的转换方向——global-to-local or local-to-global

给定两个直角坐标系 G , L \mathcal{G},\mathcal{L} GL,我们将两个坐标系分别定义为全局坐标系局部坐标系。(也可以称为世界坐标系体坐标系)全局和局部的定义是相对的,也就是说全局是相对于局而言的,反之亦然。我们定义 q L G q_\mathcal{L}^\mathcal{G} qLG,是从局部坐标系转换到全局坐标系的四元数:
在这里插入图片描述
Hamilton采用local-to-gobal的表示方法作为其默认的四元数表示法,然而JPL采用global-to-local作为其默认的表示方法:
在这里插入图片描述
其中有关于 q J P L q_{JPL} qJPL q H a m i l t o n q_{Hamilton} qHamilton的转化可能没有那么重要,但是值得说明的一点是,我们不能简单地将两种表示方法划等号。在一些文献中如果没有明显地说明采用的是那种表示方法,非常有可能让我们产生困惑,因为两种表示方法代表了两个不同的转化方向。

参考文献
《Quaternion kinematics for the error-state Kalman filter》

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值