#学习笔记 #机器人模块 #机器人理论 #机器人运动学 #空间描述与坐标变换

用于坐标系间点的映射的通用数学表达式被称为算子,包括点的平移算子、矢量旋转算子和平移加旋转的算子。在本节会对已给出的数学描述进行解释说明。

平移算子


在空间当中对一个点沿着一个已知的矢量方向移动一定的距离,通过一个矢量 $^AQ$ 来提供平移的信息,包括方向以及距离,所以对点 $^AP_{1}$ 通过 $^AQ$ 来进行平移得到 $^AP_{2}$,计算如下:
$$
^AP_{2}=^AP_{1}+^AQ
$$
用矩阵算子来写出平移变换,有:
$$
^AP_{2}=D_{Q}(q)^AP_{1}
$$
其中,$q$ 是沿着矢量 $\hat{Q}$ 方向平移的数量,是有符号的。算子 $D_{Q}$ 可以被看成是一个特殊的齐次变换:
$$
D_{Q}(q)=\begin{pmatrix}
1 & 0 & 0 &q_{x} \
0&1 &0 & q_{y} \
0&0 &1 & q_{z}\
0& 0 &0 &1
\end{pmatrix}
$$
其中 $q_{x}\ q_{y}\ q_{z}$ 为平移矢量 $Q$ 的分量,并且 $q=\sqrt{ q_{x}^2+q_{y}^2+q_{z}^2 }$。

与前两节不同的是,这里的变换操作是在同一个坐标系内发生的

旋转算子

旋转矩阵可以用旋转算子来定义,它将一个矢量 $^AP_{1}$ 用旋转 $R$ 变换为一个新的矢量 $^AP_{2}$,因此可以写作:
$$
^AP_{2}=R^AP_{1}
$$
和之前平移的类似

注意这里和上一节的 [[2-2 坐标映射#坐标旋转]]的公式类似,但是解释完全不同,这里只涉及到一个坐标系

同样以算子来写出旋转的变换:
$$
^AP_{2}=R_{K}(\theta)^AP_{1}
$$
上式中,$R_{K}(\theta)$ 是一个旋转算子,这个表示绕着 $\hat{K}$ 轴旋转 $\theta$ 角度。可以将这个算子来写成齐次变换矩阵,其中位置矢量的部分的分量都为零,表示如下:
$$
R_{z}(\theta)=\begin{pmatrix}
\cos\theta&-\sin\theta &0 &0 \
\sin\theta&\cos\theta &0 & 0 \
0& 0 & 1 & 0 \
0& 0 & 0 & 1
\end{pmatrix}
$$
上面的是绕着 $\hat{Z}$ 轴旋转 $\theta$ 角度的算子,同样下面列出绕着 $x$ 轴和 $y$ 轴的情况:
$$
R_{x}(\theta)=\begin{pmatrix}
1 & 0 & 0 \
0&\cos\theta & -\sin\theta \
0 & \sin\theta & \cos\theta
\end{pmatrix}
$$
$$
R_{y}(\theta)=\begin{pmatrix}
\cos\theta & 0 & \sin\theta \
0 & 1 & 0 \
-\sin\theta & 0 & \cos\theta
\end{pmatrix}
$$

例 2.3-旋转算子的应用


已知
$$
^AP_{1}=\begin{pmatrix}
0 \
2 \
0
\end{pmatrix}
$$
图中给出矢量 $^AP_{1}$,计算出绕着 $\hat{Z}$ 旋转 30°得到的新的矢量 $^AP_{2}$

写出绕着矢量 $\hat{Z}$ 轴旋转 30 度的旋转矩阵

$$
R_{z}(30)=\begin{pmatrix}
\cos30°&-\sin30° &0 \
\sin30°&\cos30° &0 \
0& 0 & 1 \

\end{pmatrix}=\begin{pmatrix}
\frac{\sqrt{ 3 }}{2} & -\frac{1}{2} & 0 \
\frac{1}{2} & \frac{\sqrt{ 3 }}{2} & 0 \
0 & 0 & 1
\end{pmatrix}
$$

求得 $^AP_{2}$

$$
^AP_{2}=R_{z}(30)^AP_{1}=\begin{pmatrix}
\frac{\sqrt{ 3 }}{2} & -\frac{1}{2} & 0 \
\frac{1}{2} & \frac{\sqrt{ 3 }}{2} & 0 \
0 & 0 & 1
\end{pmatrix}\begin{pmatrix}
0 \
2 \
0
\end{pmatrix}=\begin{pmatrix}
-1 \
\sqrt{ 3 } \
0
\end{pmatrix}
$$

这个式子在数学本质上是和 [[2-2 坐标映射#例题 2.1-关于坐标旋转变换的例题]]相同的。注意,如果定义出的 $^B_{A}R$,那么在本例题当中应该应用的是 $R$ 的逆。矢量向前旋转等同于坐标系向后旋转

还有就是这里旋转的角度是 30 度,正和负是通过右手定则来确定的

变换算子

算子 $T$ 将矢量 $^AP_{1}$ 平移并旋转得到一个新的矢量:
$$
^AP_{2}=T^AP_{2}
$$
和旋转的情况一样,这个式子的数学意义和 [[2-2 坐标映射#一般变换]]当中提到的数学意义是相同的,只是解释不同

例 2.4-变换算子的例题


给出 $^AP_1$,将其绕着 $\hat{Z}$ 旋转 30 度,然后沿着 $\hat{X}{A}$ 平移 10,再沿着 $\hat{Y}{A}$ 平移 5
已知
$$
^AP_{1}=\begin{pmatrix}
3 \
7 \
0
\end{pmatrix}
$$
求 $^AP_{2}$

求出平移和旋转的算子T

$$
T=\begin{pmatrix}
\cos 30 & -\sin 30 & 0 & 10 \
\sin 30 & \cos 30 & 0 & 5 \
0 & 0 & 1 & 0 \
0 & 0 & 0 & 1
\end{pmatrix}=
\begin{pmatrix}
\frac{\sqrt{ 3 }}{2} & -\frac{1}{2} & 0 & 10 \
\frac{1}{2} & \frac{\sqrt{ 3 }}{2} & 0 & 5 \
0 & 0 & 1 & 0 \
0 & 0 & 0 & 1
\end{pmatrix}
$$

求出 $^AP_{2}$

$$
^AP_{2}=T^AP_{1}=\begin{pmatrix}
\frac{\sqrt{ 3 }}{2} & -\frac{1}{2} & 0 & 10 \
\frac{1}{2} & \frac{\sqrt{ 3 }}{2} & 0 & 5 \
0 & 0 & 1 & 0 \
0 & 0 & 0 & 1
\end{pmatrix}
\begin{pmatrix}
3 \
7 \
0 \
1
\end{pmatrix}
$$

总结

上面几节介绍了平移的概念,然后介绍旋转,最后介绍带平移和旋转的一般情况。
然后引入了齐次变换矩阵,这个是一个包括着姿态和位置信息的 4×4 矩阵。
对于齐次变换矩阵的三种解释:

  • 描述位姿:$^A_{B}T$ 表示相对于坐标系{A}的坐标系{B}。特别地,$^A_{B}R$ 的各列定义{B}主轴方向的单位矢量,$^AP_{BORG}$ 确定了{B}的原点。
  • 表示变换矩阵:$^A_{B}T$ 是映射 $^BP \rightarrow ^AP$
  • 表示变换算子:$T$ 将 $^AP_{1}$ 变换为 $^AP_{2}$