初识SLAM到认识李群学习笔记

本文为学习高翔、张涛等著的《视觉SLAM十四讲》的学习笔记,通过研究视觉SLAM,从三维空间刚体运动引出群论和李代数。

1. 初识SLAM

单目相机以二维的形式记录了三维的世界,缺少场景的深度维度,没有直观的距离感,也就是相机与物体间的距离无法获得。
而双目相机和深度相机,可以通过两个相机之间的距离(基线),以及大量的计算才能估计出距离,有了空间感。

在这里插入图片描述

在视觉SLAM中,前端和计算机视觉研究领域更为相关,比如图像的特征提取与匹配等,后端则主要是滤波与非线性优化算法。

后端优化与回环监测

度量地图
度量地图强调精确的表示地图中物体的位置关系,通常用稀疏(Sparse)与稠密(dense)对其分类。
在二维度量地图中体现为许多个小格子(Grid),而在三维度量地图中则体现为许多小方块(Voxel)。通常,一个小块含有占据、空闲、未知三种状态,以表达该格内是否有物体。

机器人运动SLAM数学描述:

  • 运动轨迹:机器人连续运动离散化,变成离散时刻 t = 1 , . . . , K t=1,...,K t=1,...,K当中发生的事情。在每个时刻,用 x x x表示机器人自身位置。于是时刻位置记为 x 1 , . . . , x K x_{1},...,x_{K} x1,...,xK,构成了机器人的轨迹。
  • 地图路标:假设地图由路标组成,每个时刻观测到一部分路标有 N N N个,用 y 1 , . . . , y 2 y_{1},...,y_{2} y1,...,y2表示。
  1. 运动:我们分析从 k − 1 k-1 k1时刻到 k k k时刻,机器人的位置 x x x是如何变化的。
    x k = f ( x j − 1 , u k , w k ) x_{k} = f(x_{j-1},u_{k},w_{k}) xk=f(xj1,uk,wk) (2.1)
    这里, u k u_{k} uk是运动传感器的读数或输入, w k w_{k} wk是该过程中的噪声。

  2. 观测:假设机器人在 k k k时刻于 x k x_{k} xk处探测到某个路标 y j y_{j} yj
    z k , j = h ( y j , x k , v k , j ) z_{k,j} = h(y_{j},x_{k},v_{k,j}) zk,j=h(yj,xk,vk,j) (2.2)
    这里, v k , j v_{k,j} vk,j是这次观测的噪声。

2. 三维空间刚体运动

2.2. 点与向量、坐标系

点是空间中的基本元素,没有长度、体积,两个点连接起来就构成了向量,向量也可以看做从一个点到另一个点的一个箭头。当我们指定向量所在的三维空间的某个坐标系时,才可以谈论该向量在此坐标系下的坐标。

用线性代数描述,三维空间中的某个点的坐标用 R 3 \mathbb{R}^3 R3来表述。假设在这个线性空间内,我们找到该空间的一组基 ( e 1 , e 2 , e 3 ) (e_{1},e_{2},e_{3}) (e1,e2,e3),那么,任意向量 a a a在这组基下就有一个坐标:
a = [ e 1 , e 2 , e 3 ] [ a 1 a 2 a 3 ] = a 1 e 1 + a 2 e 2 + a 3 e 3 a = [e_{1},e_{2},e_{3}]\begin{bmatrix}a_{1}\\ a_{2}\\ a_{3}\end{bmatrix} = a_{1}e_{1}+a_{2}e_{2}+a_{3}e_{3} a=[e1,e2,e3]a1a2a3=a1e1+a2e2+a3e3

这里 ( a 1 , a 2 , a 3 ) T (a_{1},a_{2},a_{3})^T (a1,a2,a3)T称为 a a a在此基下的坐标。

坐标系通常由3个正交的坐标轴组成(也可以非正交)。例如,当给定 x x x y y y轴时, z z z轴就可以通过右手(或左手)法则由 x × y x \times y x×y定义出来。

关于向量内积、外积:
a . b = ∣ a ∣ ∣ b ∣ c o s ( a , b ) a.b=|a||b|cos(a,b) a.b=abcos(a,b)
a × b = ∥ e 1 e 2 e 3 a 1 a 2 a 3 b 1 b 2 b 3 ∥ = [ a 2 b 3 − a 3 b 2 a 3 b 1 − a 1 b 3 a 1 b 2 − a 2 b 1 ] = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] b = d e f a ∧ b a \times b = \begin{Vmatrix}e_{1} & e_{2} & e_{3}\\ a_{1} & a_{2} & a_{3}\\ b_{1} & b_{2} & b_{3} \end{Vmatrix} = \begin{bmatrix}a_{2}b_{3}-a_{3}b_{2}\\ a_{3}b_{1}-a_{1}b_{3}\\ a_{1}b_{2}-a_{2}b_{1}\end{bmatrix} = \begin{bmatrix}0 & -a_{3} & a_{2}\\ a_{3} & 0 & -a_{1}\\ -a_{2} & a_{1} & 0\end{bmatrix} b \overset{\underset{\mathrm{def}}{}}{=} a^{\wedge }b a×b=e1a1b1e2a2b2e3a3b3=a2b3a3b2a3b1a1b3a1b2a2b1=0a3a2a30a1a2a10b=defab

对于外积运算,我们引入 ∧ ^{\wedge} 符号,把 a a a写成一个矩阵,事实上是个反对称矩阵,将 ∧ ^{\wedge} 符号记成反对称矩阵。

a ∧ = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] a^{\wedge } = \begin{bmatrix}0 & -a_{3} & a_{2}\\ a_{3} & 0 & -a_{1}\\ -a_{2} & a_{1} & 0\end{bmatrix} a=0a3a2a30a1a2a10

2.2. 坐标系变换与刚体运行

在实际机器人场景中,相机是一个移动坐标系 x c , y c , z c x_{c},y_{c},z_{c} xc,yc,zc,机器人运动系统被定义为惯性坐标系(或者叫世界坐标系) x w , y w , z w x_{w},y_{w},z_{w} xw,yw,zw
在这里插入图片描述

例如相机视野中的向量 p p p,在相机移动坐标系下坐标为 p c p_{c} pc,从世界坐标系看为 p w p_{w} pw,如何转换呢?需要一个矩阵 T T T

两个坐标系之间的运动由一个旋转加上一个平移组成,这种运行称为刚体运动。坐标做旋转和平移变换,称为欧式变换

我们再假设某个单位正交基经过变换转变成 ( e 1 ′ , e 2 ′ , e 3 ′ ) (e_{1}{'},e_{2}{'},e_{3}{'}) (e1,e2,e3)。而对于同一个向量 a a a(没有随坐标系而变),在两个坐标系下的坐标分别为 [ a 1 , a 2 , a 3 ] T [a_{1}, a_{2},a_{3}]^{T} [a1,a2,a3]T [ a 1 ′ , a 2 ′ , a 3 ′ ] T [a_{1}{'}, a_{2}{'},a_{3}{'}]^{T} [a1,a2,a3]T

[ e 1 , e 2 , e 3 ] [ a 1 a 2 a 3 ] = [ e 1 ′ , e 2 ′ , e 3 ′ ] [ a 1 ′ a 2 ′ a 3 ′ ] [e_{1},e_{2},e_{3}]\begin{bmatrix}a_{1}\\ a_{2}\\ a_{3}\end{bmatrix} = [e_{1}{'},e_{2}{'},e_{3}{'}]\begin{bmatrix}a_{1}{'}\\ a_{2}{'}\\ a_{3}{'}\end{bmatrix} [e1,e2,e3]a1a2a3=[e1,e2,e3]a1a2a3

上述等式两边同时左乘 [ e 1 T e 2 T e 3 T ] \begin{bmatrix}e_{1}^{T}\\ e_{2}^{T}\\ e_{3}^{T}\end{bmatrix} e1Te2Te3T,那么变换为:

[ a 1 a 2 a 3 ] = [ e 1 T e 1 ′ e 1 T e 2 ′ e 1 T e 2 ′ e 2 T e 1 ′ e 2 T e 2 ′ e 2 T e 2 ′ e 3 T e 1 ′ e 3 T e 2 ′ e 3 T e 2 ′ ] [ a 1 ′ a 2 ′ a 3 ′ ] = d e f R a ′ \begin{bmatrix}a_{1}\\ a_{2}\\ a_{3}\end{bmatrix} = \begin{bmatrix} e_{1}^{T}e_{1}{'} & e_{1}^{T}e_{2}{'} & e_{1}^{T}e_{2}{'}\\ e_{2}^{T}e_{1}{'} & e_{2}^{T}e_{2}{'} & e_{2}^{T}e_{2}{'}\\ e_{3}^{T}e_{1}{'} & e_{3}^{T}e_{2}{'} & e_{3}^{T}e_{2}{'} \end{bmatrix} \begin{bmatrix}a_{1}{'}\\ a_{2}{'}\\ a_{3}{'}\end{bmatrix} \overset{\underset{\mathrm{def}}{}}{=} Ra{'} a1a2a3=e1Te1e2Te1e3Te1e1Te2e2Te2e3Te2e1Te2e2Te2e3Te2a1a2a3=defRa

把中间的矩阵拿出来,定义为一个矩阵 R R R。这个矩阵由两组基之间的内积组成,刻画了旋转前后同一向量的坐标变换关系。只要旋转一样,这个矩阵就是一样的。因此称为旋转矩阵

R = [ e 1 T e 1 ′ e 1 T e 2 ′ e 1 T e 2 ′ e 2 T e 1 ′ e 2 T e 2 ′ e 2 T e 2 ′ e 3 T e 1 ′ e 3 T e 2 ′ e 3 T e 2 ′ ] R =\begin{bmatrix} e_{1}^{T}e_{1}{'} & e_{1}^{T}e_{2}{'} & e_{1}^{T}e_{2}{'}\\ e_{2}^{T}e_{1}{'} & e_{2}^{T}e_{2}{'} & e_{2}^{T}e_{2}{'}\\ e_{3}^{T}e_{1}{'} & e_{3}^{T}e_{2}{'} & e_{3}^{T}e_{2}{'} \end{bmatrix} R=e1Te1e2Te1e3Te1e1Te2e2Te2e3Te2e1Te2e2Te2e3Te2

同时,该矩阵各个分量是两个坐标系基的内积,由于基向量的长度为1,所以实际上是各基向量夹角的余弦值。

A A A是一个 n n n阶方阵, A т A^{т} Aт A A A的转置。如果有 A т A = E A^{т}A=E AтA=E(单位阵),即 A т A^{т} Aт等于 A A A的逆,则称 A A A正交矩阵

旋转矩阵约束,必须是一个正交矩阵。反之,行列式为1的正交矩阵也是一个旋转矩阵。所以,可以将 n n n维旋转矩阵的集合定义如下:

S O ( n ) = { R ∈ R n × n ∣ R R T = I , d e t ( R ) = 1 } SO(n) = \left \{ R \in \mathbb{R}^{n \times n} | R R^{T} = I ,det(R) = 1 \right \} SO(n)={RRn×nRRT=I,det(R)=1}

其中, S O ( n ) SO(n) SO(n)特殊正交群 S O ( 3 ) SO(3) SO(3)是指三维空间的旋转。

欧式变换描述为:
旋转:
a ′ = R − 1 a = R T a a{'} = R^{-1}a = R^{T}a a=R1a=RTa
加上平移:
a ′ = R a + t a{'} = Ra + t a=Ra+t

则,实际上述相机例子的变换为:

p w = R w c p c + t w c p_{w} = R_{wc}p_{c} + t_{wc} pw=Rwcpc+twc

其中, R w c R_{wc} Rwc是指“把相机移动坐标系 c c c”变换到世界坐标系 w w w中。(由于向量乘在这个矩阵的右边,它的下标是从右读到左)

这种三维变换在多次变换的情况下,比较啰嗦,通过数学技巧,在一个三维向量的末尾添加1,将变成四位向量,称为齐次坐标。

[ a ′ 1 ] = [ R t 0 T 1 ] [ a 1 ] = d e f T [ a 1 ] \begin{bmatrix}a'\\ 1\end{bmatrix}=\begin{bmatrix}R & t\\ 0^{T} & 1\end{bmatrix}\begin{bmatrix}a\\ 1\end{bmatrix}\overset{\underset{\mathrm{def}}{}}{=} T\begin{bmatrix}a\\ 1\end{bmatrix} [a1]=[R0Tt1][a1]=defT[a1]

我们用 a ~ \tilde{a} a~表示 a a a的齐次坐标,则两次变换叠加有较好的表现形式:
b ~ = T 1 a ~ , c ~ = T 2 b ~ ⇒ c ~ = T 2 T 1 a ~ \tilde{b} = T_{1}\tilde{a} , \tilde{c}=T_{2}\tilde{b} \Rightarrow \tilde{c} = T_{2}T_{1}\tilde{a} b~=T1a~,c~=T2b~c~=T2T1a~

这样的符号还是挺麻烦的,我们在不引起歧义的情况下,可以写成: b = T a b=Ta b=Ta

关于变换矩阵 T T T,其左上角为旋转矩阵,右侧为平移向量,左下角为 0 0 0向量,右下角为1。这种矩阵称为特殊欧式矩阵:

S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 } ∣ R ∈ S O ( 3 ) , t ∈ R 4 SE(3)=\left \{ T= \begin{bmatrix}R & t\\ 0^{T} & 1\end{bmatrix} \in \mathbb{R}^{4 \times 4} \right \} | R \in SO(3) , t \in \mathbb{R}^{4} SE(3)={T=[R0Tt1]R4×4}RSO(3),tR4

S O ( 3 ) SO(3) SO(3)一样,求解该矩阵的逆表示一个方向的变换:
T − 1 = [ R T − R T t 0 T 1 ] T^{-1} = \begin{bmatrix}R^{T} & -R^{T}t\\ 0^{T} & 1\end{bmatrix} T1=[RT0TRTt1]

2.3. 旋转向量和欧拉角

旋转矩阵表达旋转有两个缺点:

  • S O ( 3 ) SO(3) SO(3)的旋转矩阵有9个量,但一次选择只用了3个自由度,变换矩阵有16个量表达6个自由度,有没有更紧凑的方式;
  • 旋转矩阵必须是正交矩阵的约束,且行列式为1,求解困难。

因此,我们用一个三维向量表达旋转,用一个六维向量变大变换。事实上,任意旋转都可以用一个旋转轴和一个旋转角来表达。同样,变换矩阵则使用一个旋转向量和一个平移向量表达一次变换,这时的变量维数正好是六维。

从旋转向量到旋转矩阵的转换过程由罗德里格斯公式表明:

R = c o s θ I + ( 1 − c o s θ ) n n T + s i n θ n ∧ R=cos \theta I + (1 - cos \theta)nn^{T} + sin \theta n^{\wedge} R=cosθI+(1cosθ)nnT+sinθn

因此:
θ = a r c c o s t r ( R ) − 1 2 \theta = arccos \frac{tr(R)-1}{2} θ=arccos2tr(R)1

t r ( ) tr() tr()是指求迹(trace),即是求矩阵的对角线元素之和。

欧拉角定义了一种直观的方式描述旋转——用3个分离的转角,分解成3次绕 Z Y X ZYX ZYX的分别旋转。

Z Y X ZYX ZYX转角相当于把任意旋转分解以下3个轴的转角:

  • 绕物体的 Z Z Z轴旋转,得到偏航角yaw。
  • 绕旋转之后的 Y Y Y轴旋转,得到俯仰角pitch。
  • 绕旋转之后的 X X X轴旋转,得到滚转角roll。

最后,可以用 [ r , p , y ] T [r,p,y]^{T} [r,p,y]T三维向量描述任意旋转。

2.4. 四元素

四元素是一种扩展复数,一个四元数 q q q拥有一个实部和3个虚部,本质上是一种扩展复数,描述3维的量,用四元数

q = q 0 + q 1 i + q 2 j + q 3 k q = q_{0} + q_{1}i+q_{2}j+q_{3}k q=q0+q1i+q2j+q3k

{ i 2 = j 2 = k 2 = − 1 i j = k , j i = − k j k = i , k j = − i k i = j , i k = − j \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. i2=j2=k2=1ij=k,ji=kjk=i,kj=iki=j,ik=j
如果把 i , j , k i,j,k i,j,k看作三个坐标轴,那么他们与自己的乘法和复数一样,相互之间的乘法和外积一样。有时,可以用一个标量和一个向量表达四元数:
q = [ s , v ] T , s = q 0 ∈ R , v = [ q 1 , q 2 , q 3 ] T ∈ R 3 q=[s,v]^{T} , s= q_{0} \in \mathbb{R}, v=[q_{1},q_{2},q_{3}]^{T} \in \mathbb{R}^{3} q=[s,v]T,s=q0R,v=[q1,q2,q3]TR3

从四元数到旋转矩阵的变换关系:

R = v v T + s 2 I + 2 s v ∧ + ( v ∧ ) 2 R = vv^{T} + s^{2}I +2sv^{\wedge} + (v^{\wedge})^{2} R=vvT+s2I+2sv+(v)2

最后,四元数到旋转向量的转换公式如下:

{ θ = 2 a r c c o s q 0 [ n x , n y , n z ] T = [ q 1 , q 2 , q 3 ] T s i n θ 2 \left \{\begin{matrix} \theta = 2arccos q_{0} \\ [n_{x},n_{y},n_{z}]^{T} = \frac {[q_{1},q_{2},q_{3}]^{T}}{sin \frac{\theta}{2}} \end{matrix}\right. {θ=2arccosq0[nx,ny,nz]T=sin2θ[q1,q2,q3]T

2.5. 其他几种变换方式

相似变换:
T S = [ s R t 0 T 1 ] T_{S}=\begin{bmatrix} sR &t \\ 0^{T} & 1 \end{bmatrix} TS=[sR0Tt1]

3. 李群与李代数基础

三维旋转矩阵构成了特殊正交群 S O ( 3 ) SO(3) SO(3)

S O ( 3 ) = { R ∈ R 3 × 3 ∣ R R T = I , d e t ( R ) = 1 } SO(3) = \left \{ R \in \mathbb{R}^{3 \times 3} | R R^{T} = I ,det(R) = 1 \right \} SO(3)={RR3×3RRT=I,det(R)=1}

变换矩阵构成了特殊欧氏群 S E ( 3 ) SE(3) SE(3)

S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 } ∣ R ∈ S O ( 3 ) , t ∈ R 4 SE(3)=\left \{ T= \begin{bmatrix}R & t\\ 0^{T} & 1\end{bmatrix} \in \mathbb{R}^{4 \times 4} \right \} | R \in SO(3) , t \in \mathbb{R}^{4} SE(3)={T=[R0Tt1]R4×4}RSO(3),tR4

旋转矩阵、变换矩阵对加法是不封闭的,对乘法是封闭的。

R 1 R 2 ∈ S O ( 3 ) , T 1 T 2 ∈ S E ( 3 ) R_{1}R_{2} \in SO(3) , T_{1}T_{2} \in SE(3) R1R2SO(3),T1T2SE(3)

对于这种只有一个(良好的)运算的集合,我们称之为群。

3.1. 群

群就是对称性,是一种集合加上一种运算的代数结构。集合记作 A A A,运算记作 . . .,则群记作 G = ( A , . ) G=(A,.) G=(A,.)。群要求运算满足以下4个条件:

  • 封闭性: ∀ a 1 , a 2 ∈ A , a 1 . a 2 ∈ A \forall a_{1},a_{2} \in A,a_{1}.a_{2} \in A a1,a2A,a1.a2A
  • 结合律: ∀ a 1 , a 2 , a 3 ∈ A , ( a 1 . a 2 ) . a 3 = a 1 . ( a 2 . a 3 ) \forall a_{1},a_{2},a_{3} \in A,(a_{1}.a_{2}).a_{3} = a_{1}.(a_{2}.a_{3}) a1,a2,a3A,(a1.a2).a3=a1.(a2.a3)
  • 幺元: ∃ ∈ A , s . t . ∀ a ∈ A , a 0 . a = a . a 0 = a \exists \in A,s.t. \forall a \in A,a_{0}.a = a.a_{0} = a A,s.t.aA,a0.a=a.a0=a
  • 逆: ∀ ∈ A , ∃ a − 1 ∈ A , s . t . a . a − 1 = a 0 \forall \in A, \exists a^{-1} \in A, s.t. a.a^{-1} = a_{0} A,a1A,s.t.a.a1=a0

其中, s . t . s.t. s.t.表示约束条件。

矩阵中常见的群有:

  • 一般线性群 G L ( n ) GL(n) GL(n) n × n n \times n n×n的可逆矩阵,它们对矩阵乘法成群。
  • 特殊正交群 S O ( n ) SO(n) SO(n) 就是旋转矩阵群,其中 S O ( 2 ) SO(2) SO(2) S O ( 3 ) SO(3) SO(3)最为常见。
  • 特殊欧式群 S E ( n ) SE(n) SE(n) 就是 n n n维欧氏变换,如 S E ( 2 ) SE(2) SE(2) S E ( 3 ) SE(3) SE(3)

李群是指具有连续(光滑)性质的群, S O ( n ) SO(n) SO(n) S E ( n ) SE(n) SE(n)在实数空间上是连续的,可以直观想象一个刚体能够连续地在空间中运动。

∀ \forall 表示所有,全部意思,Any的倒写。

3.2. 李代数的引出

我们说, R R R是某个相机的旋转,它会随着时间连续地变换,即为时间的函数: R ( t ) R(t) R(t)。其旋转矩阵,有:

R ( t ) R ( t ) T = I R(t)R(t)^{T} = I R(t)R(t)T=I

我们对时间求导,经过推导,找到一个三维向量 ϕ ( t ) ∈ R 3 \phi(t) \in \mathbb{R}^{3} ϕ(t)R3,使之有:

R ˙ ( t ) R ( t ) T = ϕ ( t ) ∧ \dot{R}(t)R(t)^{T} = \phi(t)^{\wedge} R˙(t)R(t)T=ϕ(t)

等式两边同乘 R ( t ) R(t) R(t),由于 R R R为正交矩阵。

R ˙ ( t ) = ϕ ( t ) ∧ R ( t ) \dot{R}(t) = \phi(t)^{\wedge}R(t) R˙(t)=ϕ(t)R(t)

我们根据导数的定义,把 R ( t ) R(t) R(t) t = 0 t=0 t=0附近进行一阶泰勒展开:

R ( t ) ≈ R ( t 0 ) + R ˙ ( t 0 ) ( t − t 0 ) = I + ϕ ( t 0 ) ∧ ( t ) R(t) \approx R(t_{0}) + \dot{R}(t_{0})(t-t_{0}) \\ =I + \phi(t_{0})^{\wedge(t)} R(t)R(t0)+R˙(t0)(tt0)=I+ϕ(t0)(t)

我们看到 ϕ \phi ϕ反映了 R R R的导数性质。同时在 t 0 t_{0} t0附近,设 ϕ \phi ϕ保持为常数 ϕ ( t 0 ) = ϕ 0 \phi(t_{0})=\phi_{0} ϕ(t0)=ϕ0

上式是一个关于 R R R微分方程,而且有初始值 R ( 0 ) = I R(0)=I R(0)=I,解得:

R ( t ) = e x p ( ϕ 0 ∧ t ) R(t) = exp(\phi_{0}^{\wedge}t) R(t)=exp(ϕ0t)

旋转矩阵 R R R与另一个反对称矩阵 ϕ 0 ∧ t \phi_{0}^{\wedge}t ϕ0t通过指数关系发生关联:

  • ϕ \phi ϕ是对应到 S O ( 3 ) SO(3) SO(3)上的李代数 s o ( 3 ) so(3) so(3)
  • 李群与李代数间的指数/对数映射。

3.3. 李代数

每个李群都对应一种李代数。每个李群都有李代数,李代数描述了李群的局部性质。

  • 李代数 s o ( 3 ) so(3) so(3)

s o ( 3 ) = { ϕ ∈ R 3 , Φ = ϕ ∧ ∈ R 3 } so(3) = \left \{\phi \in \mathbb{R}^{3}, \Phi = \phi^{\wedge} \in \mathbb{R}^{3} \right \} so(3)={ϕR3,Φ=ϕR3}

s o ( 3 ) so(3) so(3)是一个由三维向量组成的集合,每个向量对应一个反对称矩阵,可以用于表达旋转矩阵的导数。

R ( t ) = e x p ( ϕ 0 ∧ t ) R(t) = exp(\phi_{0}^{\wedge}t) R(t)=exp(ϕ0t)

  • 李代数 s e ( 3 ) se(3) se(3)

s e ( 3 ) = { ξ = [ ρ ϕ ] ∈ R 6 , ρ ∈ R 3 , ϕ ∈ s o ( 3 ) , ξ ∧ = [ ϕ ∧ ρ 0 T 0 ] ∈ R 4 × 4 } se(3) = \left\{ \xi = \begin{bmatrix}\rho \\ \phi\end{bmatrix} \in \mathbb{R}^{6},\rho \in \mathbb{R}^{3},\phi \in so(3), \xi^{\wedge} = \begin{bmatrix} \phi^{\wedge}& \rho \\ 0^{T} & 0 \end{bmatrix} \in \mathbb{R}^{4 \times 4} \right\} se(3)={ξ=[ρϕ]R6,ρR3,ϕso(3),ξ=[ϕ0Tρ0]R4×4}

简单地把 s e ( 3 ) se(3) se(3)理解成“由一个平移加上一个 s o ( 3 ) 元 素 构 成 的 向 量 so(3)元素构成的向量 so(3)”。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页