一 说在前头

最近在学习《机器人学导论》(‘Introduction to ROBOTICS’-JOHN CRAIG),文章内容为学习过程中的摘抄或者感悟,方便今后查阅。
例如有一组应用于京东无人仓库的分拣生产线的 KUKA 机器人,由许多关节组成。应用于京东无人仓库的分拣生产线的 KUKA 机器人
如果我们要控制机械臂运动到指定位置,那么精确地控制每个关节电机的角度就是必须的,有很多传感器可以用于电机角度的测量,常用的有陀螺仪,使用陀螺仪可以得到所测量物体在Roll、Pitch、Yaw轴上的角度,利用三个轴的角度我们可以得到所测量物体在空间中的姿态,从而给控制系统提供采集到的数据,完成机械臂的控制。
接下来,将讨论位置、姿态等从机器人学角度上的解释。

二 描述

1 位置描述

在这里插入图片描述
在机器人学上,如何描述一个物体B与另一个物体A之间的空间位置关系(即如何定位物体)?
我们假设B是一个质点,A为参考点,从而在A点上建立一个坐标系,就可以用一个3X1的位置矢量给B定位。
在这里插入图片描述
其中,AP的左上标A表示的是该矢量基于A坐标系,我们可以认为,AP矢量可以代表B在空间里相对于A的位置关系。

2 姿态描述

上面我们介绍了位置矢量,可以简单的理解为B到A相对位置。我们假设B是一个末端执行器,如下图所示,为一款二指夹爪(Robotiq-85 gripper)的三视图。
在这里插入图片描述
如果我们要控制机械臂去夹取一个目标物体,就需要转动夹爪等运动,那么夹爪在空间上的朝向等状态就会发生变化。那么,在机器人学上,如何描述一个物体B在空间里相对于物体A的姿态?
在这里插入图片描述
同理,我们只要得出坐标系{B}相对于坐标系{A}的描述就可以表示出物体的姿态。

点的位置可以用矢量描述,物体的姿态可以用固定在物体上的坐标系来描述,用矩阵来表示。

X B ^ \hat{X_B} XB^ Y B ^ \hat{Y_B} YB^ Z B ^ \hat{Z_B} ZB^用来表示坐标系{B}主轴方向的单位矢量。
A X B ^ \hat{^AX_B} AXB^ A Y B ^ \hat{^AY_B} AYB^ A Z B ^ \hat{^AZ_B} AZB^表示相对于坐标系{A}的单位矢量。
从而我们可以得到一个旋转矩阵(rotation matrix),表示{B}相对于{A}的描述。
在这里插入图片描述
该如何去理解这个矩阵呢?下面我们再看另一种描述方法。
在这里插入图片描述
即矩阵中的各个分量都用单位矢量的点积来表示了。矩阵中的第一列
在这里插入图片描述
表示的是坐标轴{B}的主轴X单位矢量在{A}中的表达。
旋转矩阵的列是{B}的单位矢量在{A}中的表达;旋转矩阵的行是{A}的单位矢量在{B}中的表达。
在这里插入图片描述
因此,ABR为坐标系{A}相对于{B}的描述,各列的模均为1,且旋转矩阵的逆矩阵等于它的转置,所以它是一个正交矩阵。

3 位姿描述

我们常常讲的位姿就是位置和姿态的组合体,所以它由4个矢量组成。
ABR和APBORG来描述位姿{B},其中APBORG是确定位姿{B}的原点的位置矢量:
在这里插入图片描述

总之,一个参考系可以用一个坐标系相对于另一坐标系的关系来描述。参考系包括了位置和姿态两个概念,大多数情况下被认为是这两个概念的结合。位置可由一个参考系表示,这个参考系中的旋转矩阵是单位阵,并且这个参考系中的位置矢量确定了被描述点的位置。同样,如果参考系中的位置矢量是零矢量,那么它表示的就是姿态。

三 映射

物体在空间里会发生平移和旋转等运动,那么坐标也会发生平移和旋转等。

1 坐标平移

在这里插入图片描述
如上图所示,{B}是在{A}的基础上发生了平移,在空间中有一点相对于{B}的位置矢量是BP,那么该点相对于{A}的位置矢量AP表示如下:
在这里插入图片描述

2 坐标旋转

在这里插入图片描述

如上图所示,{B}是在{A}的基础上旋转得到的,已知空间中的一个矢量相对于{B}的定义,那么该矢量相对于{A}的描述可以如下得到:
在这里插入图片描述

3 一般变换

若一个坐标系同时包含了坐标平移和坐标旋转,图解如下:
在这里插入图片描述
可以得到
在这里插入图片描述
并且可以有
在这里插入图片描述
其中,4X4的矩阵被称为齐次变换矩阵,该形式便于后续的公式推导。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐