#学习笔记 #运动学基础 #坐标转换

主要内容

就是机器人的运动学基础知识,包括:

  • 机器人运动学是啥
  • 手爪坐标的变换
  • 连杆连接表示法
  • 机器人的雅可比矩阵

机器人运动学基础知识

机器人正运动学

机器人运动学的内容就是描述手爪位置与关节变量的关系

![[image-20221204182927247.png]]

其中手爪位置为$$\mathbf{r}={x \choose y} \tag{1}$$
关节的变量为$$\mathbf{\theta}={\theta_1 \choose{\theta_2}} \tag{2}$$
由图可知,其x,y的值与$\theta$之间的关系
$$
\left{
\begin{array}{c}
x=l_1\cos\theta_1+l_2\cos(\theta_1+\theta_2)\
y=l_1\sin\theta_1+l_2\sin(\theta_1+\theta_2)
\end{array}
\right.
$$
也可以表示为
$$
\mathbf{r}=f(\mathbf{\theta})
$$
也就是提供夹爪旋转角度参数来计算出夹爪的具体位置,这种被称为正运动学

机器人的逆运动学

与正运动学正好相反,逆运动学是提供夹爪在空间当中的位置,反向计算出夹爪的角度

由图可以得出
$$
\left{
\begin{array}{c}
\theta_2=\pi-\alpha\
\alpha=\arccos[\frac{-(x^2+y^2)+l_1^2+l_2^2}{2l_1l_2}]\
\theta_1=\arctan(\frac{y}{x})-\arctan\frac{l_1\sin\theta_2}{l_1+l_2\cos\theta_2}
\end{array}
\right.
$$
也可以表示为
$$
\mathbf{\theta}=f^{-1}(\mathbf{r})
$$
需要注意的是,逆运动学所得到的解并不唯一,例如图中的情形,能实现相同效果的夹角角度有两种

机器人位姿与关节变量

表示方法


在图中

  • $\Sigma_1$为基准坐标系
  • $\Sigma_2$为手爪坐标系
    手爪的位置和姿态可以表示为
  • $^{1}\mathbf{p_2}$由$O_1$指向$O_2$的位置矢量,3行一列
  • $^{1}\mathbf{R_2}$由$\Sigma_1$看$\Sigma_2$的姿态变换矩阵(旋转变换矩阵),3行3列
    假设Sigma2坐标系的单位矢量在Sigma1当中的表示为1R2
    $$^{1}\mathbf{R}_2=[^{1}\mathbf{e}_x\ ^{1}\mathbf{e}_y\ ^{1}\mathbf{e}_z]$$

姿态变换矩阵


P点在两个坐标当中的表示
$$
^{1}\mathbf{p}={^{1}p_x \choose{^{1}p_y}}
$$
$$
^{2}\mathbf{p}={^{2}p_x \choose{^{2}p_y}}
$$
两个点的坐标进行转化
$$
\left.
\begin{array}{c}
^{2}\mathbf{p}_x=^{1}\mathbf{e_x}^{T}\ ^{1}\mathbf{p}\
^{2}\mathbf{p}_y=^{1}\mathbf{e_y}^{T}\ ^{1}\mathbf{p}\
\end{array}
\right}

$$
$$
^{2}\mathbf{p}={^{2}\mathbf{p}_x \choose{^{2}\mathbf{p}_y}}={^{1}\mathbf{e}_x \choose{^{1}\mathbf{e}_y}}^{1}\mathbf{p}=^{2}\mathbf{R}_1\ ^{1}\mathbf{p}
$$
${^{1}\mathbf{e}_x \choose{^{1}\mathbf{e}_y}}$为$\Sigma_1$当中描述的$\Sigma_2$的$x,y$单位矢量
在式当中,$^{2}\mathbf{R}_1$被称为姿态变换矩阵,也就是旋转变换矩阵,该矩阵为正交矩阵

正交矩阵的性质$M^{-1}=M^{T}$

下面将二维的扩展到三维

设$^{2}\mathbf{P}$点的坐标
$$
^{2}\mathbf{P}=
\left(
\begin{matrix}
1\
0\
0
\end{matrix}
\right)
$$

$$^{1}\mathbf{p}=
\left(
\begin{matrix}
\cos\theta\
\sin\theta\
0
\end{matrix}
\right)
$$
得到姿态变换矩阵
$$
^{1}\mathbf{P}=\left(
\begin{matrix}
\cos\theta&-\sin\theta&0\
\sin\theta&\cos\theta&0\
0&0&1
\end{matrix}
\right)\cdot^{2}\mathbf{P}
$$
$$
^{1}\mathbf{R}_2=\left(
\begin{matrix}
\cos\theta&-\sin\theta&0\
\sin\theta&\cos\theta&0\
0&0&1
\end{matrix}
\right)
$$
由于这个矩阵是$O-x_1y_1z_1$与$O-x_2y_2z_2$之间绕着z轴旋转的变换,所以可以表示为$\mathbf{R}_Z(\theta)$
由之前所得到的姿态变换矩阵是正交矩阵,可以推出绕$x,y$轴旋转的姿态变换矩阵

  • 绕$z$轴旋转

$$
\left(
\begin{matrix}
\cos\theta&-\sin\theta&0\
\sin\theta&\cos\theta&0\
0&0&1\
\end{matrix}
\right)
$$

  • 绕$x$轴旋转

$$
\left(
\begin{matrix}
1&0&0\
0&\cos\theta&-\sin\theta\
0&\sin\theta&\cos\theta\
\end{matrix}
\right)
$$

  • 绕$y$轴旋转

$$
\left(
\begin{matrix}
\cos\theta&0&-\sin\theta\
0&1&0\
\sin\theta&0&\cos\theta\
\end{matrix}
\right)
$$

姿态变换矩阵的特性
$$
\mathbf{R}{*}(\theta)\mathbf{R}{}(\theta)^T=\left(
\begin{matrix}
1&0&0\
0&1&0\
0&0&1\
\end{matrix}
\right)
$$其中
代表着xyz当中的任意一种