美文网首页slam
Lie group & Lie algebra

Lie group & Lie algebra

作者: LF8313 | 来源:发表于2018-08-15 22:05 被阅读0次

Reference:


基础概念

外积 (外积的方向垂直于两个向量)

\mathbf{a}\times\mathbf{b}=\left\| \begin{matrix} \mathbf{i}& \mathbf{j}& \mathbf{k} \\ a_1 & a_2& a_3\\ b_1 & b_2& b_3 \end{matrix} \right\|=\left[ \begin{matrix} a_2b_3-a_3b_2 \\ a_3b_1-a_1b_3 \\ a_1b_2-a_2b_1 \end{matrix} \right]=\left[ \begin{matrix} 0 & -a_3& a_2\\ a_3 & 0& -a_1\\ -a_2 & a_1& 0 \end{matrix} \right]\mathbf{b}
即有
\mathbf{a}\times\mathbf{b}=\left[ \begin{matrix} 0 & -a_3& a_2\\ a_3 & 0& -a_1\\ -a_2 & a_1& 0 \end{matrix} \right]\mathbf{b}= \mathbf{a}^{\wedge}\mathbf{b}
这里的\wedge反对称符号,提供了一个向量到矩阵(反对称矩阵,Skew-symmetric)的对应关系。

1、旋转矩阵

坐标[a_1, a_2, a_3]^T 旋转成[a_1', a_2', a_3']^T
于是有
\left[ \begin{matrix} e_1, e_2, e_3 \end{matrix} \right] \left[ \begin{matrix} a_1 \\ a_2 \\ a_3 \end{matrix} \right] = \left[ \begin{matrix} e_1', e_2', e_3' \end{matrix} \right] \left[ \begin{matrix} a_1' \\ a_2' \\ a_3' \end{matrix} \right]
进一步,有
\left[ \begin{matrix} a_1 \\ a_2 \\ a_3 \end{matrix} \right] = \left[ \begin{matrix} e_1^{T}e_1'&e_1^{T}e_2'&e_1^{T}e_3'\\ e_2^{T}e_1'&e_2^{T}e_2'&e_2^{T}e_3'\\ e_3^{T}e_1'&e_3^{T}e_2'&e_3^{T}e_3' \end{matrix} \right] \left[ \begin{matrix} a_1' \\ a_2' \\ a_3' \end{matrix} \right] \triangleq \mathbf{R}\mathbf{a}'
这里的\mathbf{R}就称为旋转矩阵(且为正交阵)。

特殊正交群(SOG, Special Orthogonal Group)

SO(n)=\{\mathbf{R}\in\mathbb{R}^{n\times n}|\mathbf{R}\mathbf{R}^T=\mathbf{I}, det(\mathbf{R})=1\}

考虑带平移的旋转:
\mathbf{a'}=\mathbf{T}\mathbf{a}+\mathbf{t}
引入齐次坐标,则有
\left[ \begin{matrix} \mathbf{a'} \\ 1 \end{matrix} \right] = \left[ \begin{matrix} \mathbf{R} & \mathbf{t}\\ \mathbf{0^T} &1 \end{matrix} \right] \left[ \begin{matrix} \mathbf{a} \\ 1 \end{matrix} \right] \triangleq \mathbf{T}\left[ \begin{matrix} \mathbf{a} \\ 1 \end{matrix} \right]
这里\mathbf{T}为变换矩阵,也是正交阵。

特殊欧式群(SEG, Special Euclidean Group)

SE(3)=\left\{\mathbf{T}=\left[ \begin{matrix} \mathbf{R} & \mathbf{t}\\ \mathbf{0^T} &1 \end{matrix} \right]\in\mathbb{R}^{4\times 4}|\mathcal{R}\in SO(3), \mathbf{t}\in\mathbb{R}^3\right\}

2、旋转向量与欧拉角

任何旋转可以由一个旋转轴\mathbf{n}和一个旋转角\mathbf{\theta}来刻画。
于是考虑用一个向量与旋转轴一致,而长度等于旋转角,这个向量就是旋转向量,只需要一个三维向量表示即可,该向量也是后面会提到的李代数

罗德里格斯公式(Rodrigues's Formula)

旋转向量\rightarrow旋转矩阵
\mathbf{R}=\cos\theta\mathbf{I}+(1-\cos\theta)\mathbf{n}\mathbf{n}^T+\sin{\theta}\mathbf{n}^{\wedge}
其中\wedge为反对称符号。
\begin{align} \mathbf{tr}(\mathbf{R})&=\cos\theta\mathbf{tr}(\mathbf{I})+(1-\cos\theta)\mathbf{tr}(\mathbf{n}\mathbf{n}^T)+\sin{\theta}\mathbf{tr}(\mathbf{n}^{\wedge})\\ &=3\cos\theta+(1-\cos\theta)\\ &=1+2\cos\theta \end{align}
p.s. 其中用到了反对称矩阵Trace为0。

于是有,
\theta = \arccos{\left(\frac{\mathbf{tr(R)}-1}{2}\right)}

因为\mathbf{n}是旋转轴,则
\mathbf{R}\mathbf{n}=\mathbf{n}
即转轴\mathbf{n}是旋转矩阵\mathbf{R}特征值为1对应的特征向量。

比起旋转向量,欧拉角(三个轴的旋转参数)会更加直观,不过会遇到万向锁的问题。且不适合插值和迭代。

3、四元数

旋转矩阵用9个量描述3个自由度,但是具有冗余性;欧拉角和旋转向量虽然紧凑,但是具有奇异性。

复数的乘法表示了复平面上的旋转。
四元数\mathbf{q}是一种扩展的复数。紧凑没有奇异性。
\mathbf{q}=q_0+q_1i+q_2j+q_3k
且满足
\begin{aligned} & i^2 =j^2=k^2=-1\\ &ij=k, ji=-k\\ &jk=i,kj=-i\\ &ki=j, ik=-j \end{aligned}

简记为:\mathbf{q}=[\mathbf{s}, \mathbf{v}]

进一步,用单位四元数(可以表示三维空间任意旋转)。
假设某个旋转是绕单位向量\mathbf{n}=[n_x, n_y, n_z]进行了\theta的旋转,则这个旋转的四元数可以表示为:
\mathbf{q}=[\cos(\frac{\theta}{2}), n_x \sin(\frac{\theta}{2}), n_y \sin(\frac{\theta}{2}), n_z \sin(\frac{\theta}{2})]

反之,也可以从单位四元数求对应的旋转轴和夹角:
\begin{aligned} &\theta=2\arccos q_0\\ &[n_x, n_y, n_z]^T=[q_1, q_2, q_3]^T/sin{\frac{\theta}{2}} \end{aligned}
注意到\theta每加2\pi\mathbf{q}就变成-\mathbf{q}。即每个旋转可以由两个互为相反数的四元数表示。

P.S. 四元数的逆为
\mathbf{q}^{-1}=\mathbf{q}^{\star}/\|\mathbf{q}\|^2
其中,\mathbf{q}^{\star}为四元数共轭,虚部取相反数。\mathbf{q}^{-1}\mathbf{q}=\mathbf{q}\mathbf{q}^{-1}=\mathbf{1}

四元数表示旋转

设一个三维点\mathbf{p}=[x, y, z]\in\mathbb{R}^3以及一个由轴角\mathbf{n}, \theta指定的旋转,令得到的\mathbf{p}'=\mathbf{R}\mathbf{p}

将三维空间点用一个虚四元数表示
\mathbf{p}=[0, x, y, z]=[0, \mathbf{v}]
则将这个点按\mathbf{n}旋转,有对应这个旋转的四元数:
\mathbf{q}=[\cos(\frac{\theta}{2}), n_x \sin(\frac{\theta}{2}), n_y \sin(\frac{\theta}{2}), n_z \sin(\frac{\theta}{2})]
可以验证,旋转后得到
\mathbf{p}'=\mathbf{q}\mathbf{p}\mathbf{q}^{-1}
旋转后的\mathbf{p}'也为纯虚四元数,三个虚部分量即为旋转后的3D点。

四元数&旋转矩阵

\mathbf{q}=q_0+q_1i+q_2j+q_3k对应的旋转矩阵\mathbf{R}\mathbf{R}=\left[\begin{matrix} 1-2q_2^2-2q_3^2& 2q_1q_2-2q_0q_3 & 2q_1q_3+2q_0q_2\\ 2q_1q_2+2q_0q_3 & 1-2q_1^2-2q_3^2 & 2q_2q_3-2q_0q_1\\ 2q_1q_3-2q_0q_2 & 2q_2q_3+2q_0q_1 & 1-2q_1^22q_2^2 \end{matrix}\right]

假设矩阵\mathbf{R}={m_{ij}}, i,j\in[1, 2, 3],则四元数为
q_0\! = \!\frac{\sqrt{\mathbf{tr}(\mathbf(R))\!+\!1}}{2},q_1\!=\!\frac{m_{32}\!-\!m_{23}}{4q_0},q_2\!=\!\frac{m_{13}\!-\!m_{31}}{4q_0},\ \ q_3\!=\!\frac{m_{21}\!-\!m_{12}}{4q_0}

小结


  • 特殊正交群(SOG, Special Orthogonal Group)
    SO(n)=\{\mathbf{R}\in\mathbb{R}^{n\times n}|\mathbf{R}\mathbf{R}^T=\mathbf{I}, det(\mathbf{R})=1\}
  • 特殊欧式群(SEG, Special Euclidean Group)
    SE(3)=\left\{\mathbf{T}=\left[ \begin{matrix} \mathbf{R} & \mathbf{t}\\ \mathbf{0^T} &1 \end{matrix} \right]\in\mathbb{R}^{4\times 4}|\mathcal{R}\in SO(3), \mathbf{t}\in\mathbb{R}^3\right\}

李代数

考虑旋转矩阵\mathbf{R},且满足
\mathbf{R}\mathbf{R}^T=\mathbf{I}
进一步假设\mathbf{R}为随时间的旋转\mathbf{R}(t).
\mathbf{R}(t)\mathbf{R}(t)^T=\mathbf{I}
关于时间求导:
\dot{\mathbf{R}}(t)\mathbf{R}(t)^T+\mathbf{R}(t)\dot{\mathbf{R}}(t)^T=0

\dot{\mathbf{R}}(t)\mathbf{R}(t)^T=-\left(\dot{\mathbf{R}}(t)\mathbf{R}(t)^T\right)^T
可以看出\dot{\mathbf{R}}(t)\mathbf{R}(t)^T是一个反对称矩阵。于是可以找到反对称的三维向量\phi(t)满足
\dot{\mathbf{R}}(t)\mathbf{R}(t)^T=\phi(t)^{\wedge}
右乘\mathbf{R}(t),有
\dot{\mathbf{R}}(t)=\phi(t)^{\wedge}\mathbf{R}(t)=\left[ \begin{matrix} 0 & -\phi_3 & \phi_2\\ \phi_3 & 0 & -\phi_1\\ -\phi_2 & \phi_1 & 0 \end{matrix}\right]
t_0=0, 且\mathbf{R}(0)=\mathbf{I},做泰勒展开即有
\mathbf{R}(t)\approx\mathbf{R}(t_0)+\dot{\mathbf{R}}(t)(t-t_0)=\mathbf{I}+\phi(t)^{\wedge}(t)
由其可知\phi反应了\mathbf{R}的导数性质,故称它在SO(3)原点附近的正切空间上。
即有\dot{\mathbf{R}}(t)=\phi_0^{\wedge}\mathbf{R}(t), 且初始条件为\mathbf{R}(0)=\mathbf{I}, 即可解微分方程得:
\mathbf{R}(t)=exp(\phi_0^{\wedge}t)

  • 结论:给定某个时刻的\mathbf{R},我们就能求得一个\phi,它描述了\mathbf{R}在局部的导数关系。
  • 这里的\phi实际上是一种李代数\mathcal{so}(3)

\mathcal{so}(3)的元素是三维向量或者三维反对称矩阵:
\mathcal{so}(3)=\{\phi\in\mathbb{R}^3, \mathbf{\Phi}=\phi^\in\mathbb{R}^{3\times3}\} 它与SO(3)的关系由指数映射给定:\mathbf{R}=exp(\phi^{\wedge})

\mathcal{se}(3)=\left\{\mathbf{\xi}=\left[\mathbf{ \begin{matrix} \mathbf{\rho} \\ \mathbf{\phi} \end{matrix}}\right]\in\mathbb{R}^6, \mathbf{\rho}\in\mathbb{R}^3, \mathbf{\phi}\in\mathcal{so}^3, \mathbf{\xi}^{\wedge} = \left[\begin{matrix} \mathbf{\phi}^{\wedge}&\mathbf{\rho} \\ \mathbf{0}^T & 0 \end{matrix}\right]\in\mathbb{R}^{4\times4}\right\}

推导

exp(\mathbf{\phi}^{\wedge})=\sum_{n=0}^\infty{\frac{1}{n!}(\mathbf{\phi}^{\wedge})^n}这里的\phi是三维向量,令它的模长和方向为\theta\mathbf{a}。令\mathbf{a}为长度为1的方向向量,则有\phi=\theta\mathbf{a}
通过推导可得exp(\mathbf{\phi}^{\wedge})=\cos\theta\mathbf{I}+(1-\cos\theta)\mathbf{a}\mathbf{a}^T+\sin{\theta}\mathbf{a}^{\wedge}

相关文章

  • Lie group & Lie algebra

    Reference: 《视觉SLAM十四讲》 http://www.cs.toronto.edu/~gwtaylo...

  • Lie Algebra

    The commutation relation of Lie Algebra with thespecific ...

  • Lie group 实践

    代码实践 【一】旋转矩阵 --> 欧拉角 https://blog.csdn.net/u012423865/art...

  • English

    lie lay lain lie with=due to

  • EXID 《L.I.E》

    EXID 《L.I.E》 LIE LIE LIE LIE EH EH 一吧没 带切 额滴 妍啦尅 掐吗嫩 有加 东...

  • A White Lie is still a lie

    最近一段时间在看个美剧“lie to me",是以研究微表情为切入点,从而判断出个体是否在说谎。当然作为电视剧,肯...

  • Lie to Me,Lie to You

    我们都习惯了掩饰, 尤其习惯了心安理得找个理由跟自己和身边的人过意不去。 那只是一个邪恶的念头, 拽着绳头的两端,...

  • I Want A Beautiful Lie

    I want a beautiful lie a lie strange like the staying up ...

  • Luna and the Lie - Zapata, Maria

    下载地址:Luna and the Lie mobiLuna and the Lie epubLuna and t...

  • lie

    秘密是不能用来分享的 可以分享给你的那都是故事 而故事只是穿着真实外衣的谎言 谎言是美丽的 这个美丽又是非常脆弱的...

网友评论

    本文标题:Lie group & Lie algebra

    本文链接:https://www.haomeiwen.com/subject/bmswbftx.html