刚体运动位姿变换推导

下面公式中上标表示为基于某系,下标表示当前系。设k为第k时刻,R为旋转3*3,P为平移3*1,T表示旋转和平移。设k时刻刚体在世界坐标系下的位姿(包括旋转和平移)表示为 T k w T^w_{k} Tkw,刚体运动后k+1时刻位姿态表示为$T^w_{k+1} $
如图
刚体运动位姿变换推导_第1张图片

位姿变换推导

T k + 1 w = T k w ∗ T k + 1 k T^w_{k+1} = T^w_{k}*T^{k}_{k+1} \\ Tk+1w=TkwTk+1k
分解如下
T k w = [ R k w P k w 0 1 ] T k + 1 k = [ R k + 1 k P k + 1 k 0 1 ] R k + 1 w = R k w ∗ R k + 1 k P k + 1 w = P k w + R k w ∗ P k + 1 k T^w_{k}=\begin{bmatrix} R^w_{k}& P^w_{k}\\ 0& 1 \end{bmatrix}\\ T^k_{k+1}=\begin{bmatrix} R^k_{k+1}& P^k_{k+1}\\ 0& 1 \end{bmatrix}\\ R^w_{k+1}=R^w_{k}*R^k_{k+1}\\ P^w_{k+1}=P^w_k+R^w_{k}*P^k_{k+1}\\ Tkw=[Rkw0Pkw1]Tk+1k=[Rk+1k0Pk+1k1]Rk+1w=RkwRk+1kPk+1w=Pkw+RkwPk+1k

T k w T^w_{k} Tkw的逆推导
T k w ∗ ( T k w ) − 1 = E [ R k w P k w 0 1 ] ∗ [ ( R k w ) − 1 − ( R k w ) − 1 ∗ P k w 0 1 ] = E T^w_{k}*(T^w_{k})^{-1}=E\\ \begin{bmatrix} R^w_{k}& P^w_{k}\\ 0& 1 \end{bmatrix}*\begin{bmatrix} (R^w_{k})^{-1}& -(R^w_{k})^{-1}*P^w_{k}\\ 0& 1 \end{bmatrix}=E Tkw(Tkw)1=E[Rkw0Pkw1][(Rkw)10(Rkw)1Pkw1]=E

中左边矩阵第一行乘以右边矩阵的第二列为0
( R k w ) ∗ ( − ( R k w ) − 1 ∗ P k w ) + P k w = 0 (R^w_{k})*(-(R^w_{k})^{-1}*P^w_{k})+P^w_{k}=0 (Rkw)((Rkw)1Pkw)+Pkw=0
所以
( T k w ) − 1 = T w k = [ ( R k w ) − 1 − ( R k w ) − 1 ∗ P k w 0 1 ] P w k = − ( R k w ) − 1 ∗ P k w = - R w k ∗ P k w (T^w_{k})^{-1}=T^k_{w}=\begin{bmatrix} (R^w_{k})^{-1}& -(R^w_{k})^{-1}*P^w_{k}\\ 0& 1 \end{bmatrix}\\ P^k_{w}=-(R^w_{k})^{-1}*P^w_{k}=-R^k_{w}*P^w_{k} (Tkw)1=Twk=[(Rkw)10(Rkw)1Pkw1]Pwk=(Rkw)1Pkw=RwkPkw

你可能感兴趣的:(SLAM基础工具及算法)