Bläddra i källkod

[docs]:齐次坐标变换

sangxin 3 år sedan
förälder
incheckning
9b888885a0
1 ändrade filer med 87 tillägg och 1 borttagningar
  1. 87 1
      docs/chapt7/7.3.1齐次坐标变换.md

+ 87 - 1
docs/chapt7/7.3.1齐次坐标变换.md

@@ -1,5 +1,91 @@
 
-将旋转矩阵和位置矢量合成齐次矩阵
+# 7.3.1 齐次坐标变换
+
+前面几节中,小鱼带你一起学习了使用TF进行坐标的变换,也带你通过旋转和平移求解了下坐标的变换关系,但计算的过程中旋转和平移是分开计算的,那有没有一种方法,可以让旋转矩阵和平移向量合并到同一个矩阵里呢?
+
+答案是有的,我们可以将$3*3$的旋转矩阵和$3*1$的平移矩阵进行组合,并添加一行(0,0,0,1)使其变成一个$4*4$的方阵,其组合方式如下:
+
+有旋转矩阵
+$$
+R = \begin{bmatrix}{r_{11}}&{r_{12}}&{r_{13}}\\{r_{21}}&{r_{22}}&{r_{23}}\\{r_{31}}&{r_{32}}&{r_{33}}\\\end{bmatrix} \tag{旋转矩阵}
+$$
+平移矩阵
+$$
+P= \begin{bmatrix}{x}\\{y}\\{z}\\\end{bmatrix}  \tag{平移矩阵}
+$$
+
+
+合并成齐次变换矩阵
+$$
+T = \begin{bmatrix}{r_{11}}&{r_{12}}&{r_{13}}&{x}
+\\{r_{21}}&{r_{22}}&{r_{23}}&{y}
+\\{r_{31}}&{r_{32}}&{r_{33}}&{z}
+\\0&0&0&1
+\\\end{bmatrix} 
+\tag{齐次矩阵}
+$$
+
+
+为什么要这样写,我们可以简单的推导一下,矩阵是支持分块运算的,我们将上面的矩阵进行分块
+$$
+T = \begin{bmatrix}{R}&{P}
+\\0&1\\\end{bmatrix} \tag{齐次矩阵}
+$$
+假设$^A_BT$表示A坐标系到B坐标的齐次变换,B坐标系下的点C坐标为$^B_CP$,求C在A坐标系下的坐标$^A_CP$
+
+我们将$^A_BT$乘$^B_CP$上,可得
+$$
+^A_CP= 
+\begin{bmatrix}{^A_BR}&{^A_BP}\\0&1\\\end{bmatrix}
+\begin{bmatrix}{^B_CP}\\1\\\end{bmatrix} 
+= {^A_BR}{^B_CP}+^A_BP
+$$
+根据前面学习的平移+旋转复合坐标变换公式,正确的结果如下
+$$
+^A_CP = {^A_BR}{^B_CP}+^A_BP
+$$
+你会发现,两者最终结果完全相同,也就是说,我们的平移加旋转复合变换,可以直接用齐次变换矩阵代替。
+
+
+
+## 1.齐次变换矩阵特性
+
+接着我们来探索一下齐次变换矩阵的一些特性
+
+### 2.1.齐次变换矩阵的符号表示
+
+一般使用H或者T来表示齐次变换矩阵,矩阵的左上角标明参考坐标系,矩阵左下角标定目标坐标系,比如$^A_BT$表示A坐标系到B坐标系的变换关系(平移+旋转)
+
+### 2.2.齐次变换矩阵的逆的几何含义
+
+就像矩阵的逆一样,齐次变换矩阵也有逆,其的逆也有对应的几何含义,比如
+
+比如$^A_BT$表示A坐标系到B坐标系的变换关系
+
+那么
+
+$^A_BT$的逆$^A_BT^{-1}=^B_AT$表示B坐标系到A坐标系的变换关系
+
+### 2.3.齐次变换矩阵的乘法的几何含义
+
+#### 3.3.1齐次矩阵与平移向量相乘
+
+齐次矩阵与平移向量相乘,即可求出某个向量在另一坐标系下的表示,上面例子中即是如此。
+
+#### 3.3.2齐次矩阵与齐次矩阵相乘
+
+齐次矩阵与齐次矩阵相乘,可以转换不同坐标系之间的关系,比如:
+$$
+^A_BT^B_CT=^A_CT
+$$
+比如当我们有一个六自由度的机械臂,知道每两个相邻关节之间的关系,那么就可以通过其次矩阵相乘的方法求出,关节6在关节0下的位置和姿态:
+$$
+^0_1T^1_2T^2_3T^3_4T^4_5T^5_6T=^0_6T
+$$
+
+## 3.练习
+
+练习小鱼放到了下一节了,毕竟不希望大家用手来算~
 
 
 --------------