SLAM数学基础(二):坐标转换

1 坐标转换矩阵

1.1 旋转矩阵

旋转矩阵描述了一个旋转过程,可以用它来表示两个坐标系之间的旋转变换。也叫方向余弦矩阵。

相关性质:

  • 旋转矩阵 $\boldsymbol{R}$ 是一个正交矩阵,且行列式为1(反之,行列式为1的正交矩阵就是一个旋转矩阵);
  • 旋转矩阵 $\boldsymbol{R}$ 的转置(也即 $\boldsymbol{R}$ 的逆,因为对于正交矩阵, $\boldsymbol{R}^{-1}=\boldsymbol{R}^T$ )刻画了一个相反的旋转;
  • 对加法不封闭,也就是说,对于任意两个旋转矩阵,按照矩阵加法定义相加,其结果不再是一个旋转矩阵;
  • 乘法封闭;

三维旋转矩阵构成了特殊正交群$\boldsymbol{SO(3)}$。后续详述。

1.2 变换矩阵

变换矩阵描述了一个欧式变换过程,包含旋转 $\boldsymbol{R}$ 和平移 $\boldsymbol{t}$ 。

为方便书写和计算,将一次欧式变换中的旋转 $\boldsymbol{R}$ 和平移 $\boldsymbol{t}$ 写成变换矩阵 $\boldsymbol{T}$ 形式,向量坐标写成齐次坐标形式。

image-20230605152752584

相关性质

  • 变换矩阵 $\boldsymbol{T}$ 中的旋转矩阵 $\boldsymbol{R}$ 如前所述,其相关性质依然具备;

  • 两次变换的叠加可表示为变换矩阵的乘法:

$$
\boldsymbol{b}=\boldsymbol{T}_1\boldsymbol{a}, \boldsymbol{c}=\boldsymbol{T}_2\boldsymbol{b},\qquad\Rightarrow \qquad\boldsymbol{c}=\boldsymbol{T}_2\boldsymbol{T}_1\boldsymbol{a},
$$

  • 对加法不封闭,也就是说,对于任意两个变换矩阵,按照矩阵加法定义相加,其结果不再是一个变换矩阵;
  • 乘法封闭;

三维空间下的变换矩阵构成了特殊欧式群$\boldsymbol{SE(3)}$。后续详述。

2 李群与李代数

2.1 何为群?

群(Group)一种集合加上一种运算的代数结构。

集合记为 $A$ ,运算记为 $\cdot{}$ ,那么群可以记作 $G=(A,\ \dot{}\ )$ 。群要求集合 $A$ 和运算 $\cdot{}$ 满足以下条件:

  • 封闭性: $\forall{}a_1,a_2\in{}A,\qquad\ a_1\cdot{}a_2\in{}A$
  • 结合律: $\forall{}a_1,a_2,a_3\in{}A,\quad(a_1\cdot{}a_2)\cdot{}a_3 =a_1\cdot{}\ (a_2\cdot{}a_3)$
  • 幺元: $\exists{}a_0\in{}A,\qquad{}s.t.;\forall{}a\in{}A,\qquad{}a_0\cdot{}a=a\cdot{}a_0=a$
  • 逆: $\forall{}a\in{}A,\qquad{}\exists{}a^{-1}\in{}A,\qquad{}s.t.;a\cdot{}a^{-1}=a$

常见的群:

  • 整数的加法 $G=(\mathbb{Z},+)$
  • 去掉0后的有理数的乘法 $G=(\mathbb{Q}\setminus0,\cdot{})$

常见的矩阵中的群:

  • 一般线性群 $GL(n)$ 指 $n\times{}n$ 的可逆矩阵,他们对矩阵乘法成群。
  • 特殊正交群 $SO(n)$ 也就是所谓的旋转矩阵群,其中$SO(2)$和$SO(3)$最为常见。
  • 特殊欧式群 $SE(n)$ 也就是前面提到的n维欧氏变换,如$SE(2)$和$SE(3)$ 。

2.2 何为李群

李群是指具有连续(光滑)性质的群。

类似整数群 $\mathbb{Z}$ 那样离散的群没有连续性质,所以不是李群。

$SO(n)$ 和 $SE(n)$ 在实数空间上是连续的。我们能够直观地想象一个刚体能够连续地在空间中运动,所以它们都是李群。

特殊正交群SO(3)

特殊欧式群SE(3)

李代数的理解

3 补充知识点

记 $\ast{}$ 是非空集合 $S$ 上的二元运算:

  • 幺元(也称单位元),当:

    $\exists{}e\in{}S,\qquad{}s.t.;\forall{}x\in{}S,\qquad{}e\ast{}x=x\ast{}e=x$ ,那么就称 $e$ 是 $(S,*)$ 的幺元。

    幺元具有不变性。

    【举例】:

    实数集合 $\mathbb{R}$ 上的加法运算中,0就是幺元;

    实数集合 $\mathbb{R}$ 上的乘法运算中,1就是幺元。

  • 零元,当:

    $\exists{}o\in{}S,\qquad{}s.t.;\forall{}x\in{}S,\qquad{}o\ast{}x=x\ast{}o=o$ ,那么就称 $o$ 是 $(S,*)$ 的零元。

    【举例】实数乘法运算中,零元就是对任意元x,都有xa=ax=a,则a为零元,因此0即为零元。

  • 逆元,当:

    $\forall{}a\in{}S,\qquad{}s.t.;\exists{}b\in{}S,\qquad{}a\ast{}b=b\ast{}a=e$ ,那么 $a$ 和 $b$ 互为逆元, $a$ 是 $b$ 的逆元,同时 $b$ 是 $a$ 的逆元。

    【举例】实数乘法运算中,互为倒数的两个数互称逆元,2和1/2互为逆元,1和其本身互为逆元;

4 SLAM数学基础*系列笔记s


高翔、张涛等著《视觉SLAM十四讲》

Donate
  • © 2023 , Monicakaa .

请我喝杯咖啡吧~

支付宝
微信