对于一个变换矩阵 或者 , 它的形式表示两个含义:
- 从 到 的变换
- 在 的位姿表示,或者说 在 的投影
例如从经由 ... 连续变换至坐标系,记作:
具体举例可以考虑常见的眼在手上的物体定位过程:
已知物体在相机下检测到的位姿 , 此时刻相机在机器人 下的位姿 , 那么物体在机器人base下的位姿即为 ,
当然在实践中可能相机的位姿也是用相机的外参()计算出来的:
实践上,例如在python中,可以直接将数学符号 用 snake_case 记为 ee_tf_tip
,如果各个 tf 都是 ndarray, 可以写成base_tf_obj=base_tf_cam @ cam_tf_obj
将一组向量转换到其它坐标系下表示
已知一组在坐标系 下表示的向量 , 其中
按列排列记作 :
按行排列记作 :
如果要将这组向量变换到坐标系,需要通过:{}^{w_n}V = {}^{w_n}T_{w_0} {}^{w_0}V
或者H_{w_n} = H_{w_0} {}^{w_0}T_
矩阵的右乘表示此变换绕自身坐标系进行,矩阵的左乘表示此变换绕世界坐标系(固定坐标系)进行。所隐含的平移和旋转,等效于在右乘时先施加平移后施加旋转,可以从公式中看出:\begin{align}
\begin{bmatrix}
I & d\
0 & 1
\end{bmatrix}
\begin{bmatrix}
R & 0\
0 & 1
\end{bmatrix}
&=
\begin{bmatrix}
R & d\
0 & 1
\end{bmatrix}
\
\begin{bmatrix}
R & 0\
0 & 1
\end{bmatrix}
\begin{bmatrix}
I & d\
0 & 1
\end{bmatrix}
&=
\begin{bmatrix}
R & Rd\
0 & 1
\end{bmatrix}
\end
欧拉角所表示的旋转,分为内旋和外旋。内旋是绕旋转坐标系自身的连续旋转,一般用大写字母表示,等价于连续右乘。外旋是绕世界坐标系的连续旋转,一般用小写字母表示,等价于连续左乘。