SLAM从入门到放弃:SLAM十四讲第三章习题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012348774/article/details/83588897

以下均为简单笔记,如有错误,请多多指教。

  1. 验证旋转矩阵是正交矩阵。
    证:如公式(3.5)所示
    R = [ e 1 T e 2 T e 3 T ] [ e 1 e 2 e 3 ] R= \begin{bmatrix} e_1^T \\ e_2^T \\ e_3^T \end{bmatrix} \begin{bmatrix} e_1^{'} e_2^{'} e_3^{'} \end{bmatrix}
    考虑到
    [ e 1 T e 2 T e 3 T ] [ e 1 T e 2 T e 3 T ] = I , [ e 1 e 2 e 3 ] [ e 1 T e 2 T e 3 T ] = I \begin{bmatrix} e_1^T \\ e_2^T \\ e_3^T \end{bmatrix} \begin{bmatrix} e_1^T e_2^T e_3^T \end{bmatrix}=I, \begin{bmatrix} e_1^{'} e_2^{'} e_3^{'} \end{bmatrix} \begin{bmatrix} e_1^{'T} e_2^{'T} e_3^{'T} \end{bmatrix}=I
    则不难发现 R R T = R T R = I RR^T=R^TR=I
  2. 寻找罗德里格斯公式的推导过程并加以理解。
    证:
    在这里插入图片描述
    如上图(图片来源 Computer Vision: Algorithm and Application)所示假定旋转轴为 n ^ \hat{n} θ \theta 为旋转角度, v , u v,u 为旋转前后的变量,即 u = R v u=Rv ,证明
    R = c o s θ I + ( 1 c o s θ ) n n T + s i n θ n 3.14 R=cos\theta I+(1-cos\theta)nn^T+sin\theta n^{\land}(见公式3.14)
    首先不难发现,
    v = n ^ ( n ^ v ) = n ^ n ^ T v v_{||}=\hat{n}(\hat{n}\bullet v)=\hat{n}\hat{n}^Tv

    v = v v = ( I n ^ n ^ T ) v v_{\perp}=v-v_{||}=(I-\hat{n}\hat{n}^T)v
    进一步可以得到
    v × = n ^ × v = n v v_{\times}=\hat{n} \times v = n^{\land} v
    于此同时,
    u = c o s θ v + s i n θ v × u_{\perp} = cos\theta v_{\perp} + sin\theta v_{\times}
    又因为(原因是 u , v u,v 都是单位向量)
    u = v u_{||} = v_{||}
    整理上述所有公式可以得到:
    u = u + u = c o s θ v + s i n θ v × + v u = u_{\perp} + u_{||} = cos\theta v_{\perp} + sin\theta v_{\times} + v_{||}
    整理后得到
    u = c o s θ ( I n ^ n ^ T ) v + s i n θ n v + n ^ n ^ T v = ( c o s θ I + ( 1 c o s θ ) n ^ n ^ T + s i n θ n ) v u = cos\theta (I-\hat{n}\hat{n}^T)v + sin\theta n^{\land} v + \hat{n}\hat{n}^Tv = ( cos\theta I + (1-cos\theta)\hat{n}\hat{n}^T+sin\theta n^{\land})v
    得证。
  3. 验证四元数旋转某个点后,结果是一个虚四元数,所有仍然对应到一个三维空间点。
    证:
    记点 p = [ 0 , v ] p=[0,v] ,四元数为 q = [ c o s θ 2 , n s i n θ 2 ] q=[cos\frac{\theta}{2},nsin\frac{\theta}{2}] ,则 q 1 = [ c o s θ 2 , n s i n θ 2 ] q^{-1}=[cos\frac{\theta}{2},-nsin\frac{\theta}{2}]
    首先计算
    q p = [ c o s θ 2 0 s i n θ 2 n T v , c o s θ 2 v + s i n θ 2 n × v ] qp=[cos\frac{\theta}{2}*0-sin\frac{\theta}{2}n^Tv,cos\frac{\theta}{2}v+sin\frac{\theta}{2}n_{\times}v]
    然后计算 ( q p ) q 1 (qp)q^{-1} 的实部:
    s i n θ 2 n T v c o s θ 2 ( c o s θ 2 v + s i n θ 2 n × v ) T ( n s i n θ 2 ) -sin\frac{\theta}{2}n^Tv*cos\frac{\theta}{2}-(cos\frac{\theta}{2}v+sin\frac{\theta}{2}n_{\times}v)^T*(-nsin\frac{\theta}{2})
    由于 n × n_{\times} 是反对称矩阵,即 n × T = n × n_{\times}^T=-n_{\times} ;并且明显可知 n × n = 0 n_{\times}n=0
    s i n θ 2 c o s θ 2 n T v + s i n θ 2 c o s θ 2 v T n + s i n θ 2 s i n θ 2 v T n × n -sin\frac{\theta}{2}cos\frac{\theta}{2}n^Tv+sin\frac{\theta}{2}cos\frac{\theta}{2}v^Tn+sin\frac{\theta}{2}sin\frac{\theta}{2}v^Tn_{\times}n
    上式在此简化后可得到,由于 v T n v^Tn v T n v^Tn 都是标量,因此 n T v = v T n n^Tv=v^Tn
    s i n θ 2 c o s θ 2 ( v T n v T n ) = 0 sin\frac{\theta}{2}cos\frac{\theta}{2}(v^Tn-v^Tn)=0
    得证。

猜你喜欢

转载自blog.csdn.net/u012348774/article/details/83588897
今日推荐