关于R[w]R‘=[Rw]的证明

在机器人的学习过程中,经常会遇到R[w]R^T=[Rw]这个定理,其中R\in SO(3),w\in R^{3\times1},且

[w]= \begin{bmatrix} 0 & -w_z &w_y \\ w_z& 0 & -w_x\\ -w_y& w_x & 0 \end{bmatrix}

但书中很少有给出证明过程,下面用两种方法给出证明过程:

  • 证明一:

从几何的角度进行推导,在下面的式子中u\in R^{3\times1},且用到了性质[w]\cdot u=w\times u,从而有:

R[w]R^T=[Rw]

\Leftrightarrow R[w]=[Rw]\cdot R

\Leftrightarrow R[w]\cdot u=[Rw]\cdot Ru

\Leftrightarrow R\cdot w\times u=(Rw)\times(Ru)

根据向量叉乘具有旋转不变性,也就是对任意的w,u\in R^{3\times1},有

R (w\times u)=(Rw)\times(Ru)

  • 证明二:

准备工作:

  • 首先我们假定R^T=\begin{bmatrix} r_1 & r_2 &r_3 \end{bmatrix},则R=\begin{bmatrix} r_1^T & r_2^T & r_3^T \end{bmatrix}^T
  • 考虑到R\in SO(3),满足RR^T=R^TR=I,从而有以下等式成立:

r_i^Tr_j= \left\{\begin{matrix} 0,i\neq j\\ 1,i=j \end{matrix}\right.

  • 因为a\cdot (b \times c)的物理意义是由三维空间中的向量a,b,c组成的平行六面体的体积,同时也是行列式\begin{vmatrix} a_x& a_y &a_z \\ b_x& b_y & b_z\\ c_x& c_y & c_z \end{vmatrix}的值。所以由det(R)=1,我们可以得到:

r_1^T(r_2 \times r_3) = r_2^T(r_3 \times r_1)= r_3^T(r_1 \times r_2 )=det(R)=1

\Rightarrow \left\{\begin{matrix} r_1 = r_2 \times r_3\\ r_2 = r_3 \times r_1\\ r_3=r_1 \times r_2 \end{matrix}\right.

  • 向量的混合积a\cdot (b \times c)=b\cdot (c \times a)=c\cdot (a \times b)

下面我们开始证明:

R[w]R^T=R\begin{pmatrix} w \times r_1 & w \times r_2& w \times r_3 \end{pmatrix}

=\begin{pmatrix} r_1^T(w \times r_1) & r_1^T(w \times r_2) &r_1^T(w \times r_3) \\ r_2^T(w \times r_1) & r_2^T(w \times r_2) &r_2^T(w \times r_3)\\ r_3^T(w \times r_1) & r_3^T(w \times r_2) &r_3^T(w \times r_3) \end{pmatrix}

=\begin{pmatrix} 0 & -r_3^Tw & r_2^Tw\\ r_3^Tw& 0& -r_1^Tw\\ -r_2^Tw& r_1^Tw& 0 \end{pmatrix}

=[Rw]​​​​​​​

你可能感兴趣的:(机器人)