MATLAB李群,VIO学习之一——视觉SLAM中李群李代数与四元数总结

本文总结了SLAM中旋转变换的三种表示方式:旋转向量、旋转矩阵和四元数。通过李群李代数与四元数的转换,介绍了旋转向量与旋转矩阵、旋转向量与四元数、旋转矩阵与四元数之间的相互转换。同时,讨论了李群李代数的性质,包括指数与对数映射、BCH公式及其在旋转矩阵求导中的应用。此外,还概述了四元数的基本运算和性质。
摘要由CSDN通过智能技术生成

在SLAM中经常会用到李群李代数与四元数来表示旋转变换,这些数学公式往往需要推导来推导去,分分钟搞到头都大了。但在SLAM中往往用到其中那么几个固定的性质,所以是没有必要对这些数学基础作过多深入的研究,只需要记住其中一些常用的公式及性质即可。因此,本人在这里对这些数学基础作一个简单的总结,以便日后在工程中使用。

旋转的表示方式

SLAM中,往往会使用三种方式来表达空间中的旋转变换,分别为:旋转向量、旋转矩阵、四元数。

旋转向量

旋转向量可以非常直观地表示空间中的一个旋转变换:假设空间中有一单位向量$\mathbf{n}$,以$\mathbf{n}$为转轴且旋转方向与$\mathbf{n}$相同,旋转的角度为$\theta$。可以将上述旋转变换记为“角轴”的组合形式:$$,也可以组合成变通向量的形式:$\mathbf{\phi}=\theta \mathbf{n}$.

旋转矩阵

旋转矩阵$\mathbf{R}{AB}$可以表示一个物体由姿态$A$旋转变换到姿态$B$的过程,若将$A$与$B$视为一个坐标系,则$\mathbf{R}{BA}$ 可以表示坐标系$A$在坐标系$B$中的姿态。设$W$为世界坐标系,物体由姿态$\mathbf{R}{WA}$转换到姿态$\mathbf{R}{WB}$可以用$\mathbf{R}{AB}$来表示,即:$\mathbf{R}{WB} = \mathbf{R}{WA} \mathbf{R}{AB}$. 如果坐标关系非常明确,则可以直接将下标去掉,直接记为$\mathbf{R}$. 其中$\mathbf{R}$为单位正交阵,其具有如下性质:

$\mathbf{R}$的行(列)均为单位向量且两两正交;

$\mathrm{det}(\mathbf{R})=1$;

$\mathbf{R}^{-1} = \mathbf{R}^\mathrm{T}$

四元数

四元数可以定义为: $$ \mathbf{q} = w+xi+yj+zk $$

其中$i,j,k$ 分别为四元数的三个虚部,这三个虚部满足如下性质: $$ \left{\begin{matrix} i^2 + j^2 + k^2 = 1\ ij=k, ji=-k \ jk=i, kj=-i \ ki=j, ik=-j \end{matrix}\right. $$

四元数还可以表示为 $$ \mathbf{q} = [w,x,y,z]^\mathrm{T} $$

$$ \mathbf{q} = [s,\mathbf{v}], \mathbf{v} = [x,y,z]^\mathrm{T} \in \mathbb{R}^3 $$

我们可以使用单位四元数来表示空间任意的旋转变换,其中符合条件$w^2+x^2+y^2+z^2=1$的四元数为单位四元数。

三种方式之间转换

上述三种数学工具都可以表示空间中的旋转,他们其实是等价的,可以进行相互转换。

旋转向量 $\leftrightarrow$ 旋转矩阵

设旋转向量为$\mathbf{\phi}=\theta \mathbf{n}$,与之等价的旋转矩阵为$\mathbf{R}$,两者之间的转换可以使用罗德里格斯公式来实现,即 $$ \mathbf{R} = \cos \theta \mathbf{I} + (1 - \cos \t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值