1 简介


2 机械臂术语


2.1 常用术语


  • 位姿:位置和姿态
  • 连杆:具体见下图
    在这里插入图片描述
  • 关节:相邻连杆间即关节,分转动关节和滑动关节
  • 关节角:转动关节,对应的位移称关节角
  • 关节偏距:滑动关节,邻杆是直线运动,对应的位移称关节偏距
  • 自由度:即独立位置变量的的数目。
  • 末端执行器:根据应用场景可为夹具、焊枪、电磁铁和其他
  • 工具坐标系:附于末端执行器上,用于描述操作臂的位置
  • 基坐标系:与操作臂固定底座相联。
  • 工作空间:机械臂所能达到的期望姿态。
  • 雅可比矩阵:关节空间速度向笛卡尔空间速度的映射。
  • 奇异点:由机构奇异性造成的。
  • 动力学:主要研究产生运动所需要的力。
  • 轨迹生成:从一个点运动到另一个点,常用方法是使每个关节按照指定的时间连续函数来运动。通常每个关节同时开始和停止才自然,轨迹生成就是准确计算出这些运动函数。
  • 笛卡尔轨迹生成:末端执行器走出一条直线等,需要将期望运动转化为一系列等效的关节运动。

2.2 机械臂运动学



运动学中,研究位置、速度、加速度和位置变量对于时间或者其他变量的高阶微分。


2.2.1 正运动学


通过给定的一组关节角的值计算工具坐标系相对于基坐标系的位置和姿态。
这个过程称为关节空间描述到笛卡尔空间描述。


2.2.2 逆运动学


通过给定的工具坐标系相对于基坐标系的位置和姿态计算所有所有可到达给定位置和姿态的关节角。
逆运动学较正运动学复杂,运动学方程是非线性的,很难得到封闭解,甚至无解。涉及解的存在性和多解问题。


3 空间描述和变换



做基于视觉的抓取时,不管是眼在手上(eye-in-hand),还是眼在手外(eye-to-hand),总是需要标定相机和执行器末端的关系的
在我们生活的三维空间中,对于刚体而言,存在着六个自由度,其中三个用来描述质心位置,而另外三个自由度用来描述整个刚体绕质心的旋转。


3.1 描述


3.1.1 位置描述



矢量表示点的位置


一旦建立坐标系,我们就能用一个3 x 1的位置矢量来对世界坐标系中的任何一点进行标定。
用3个相互正交的带有箭头的单位矢量来表示一个坐标系{A},如下:
在这里插入图片描述
在坐标系{A}下对矢量进行表示,位置矢量用一个前置的上标表明其参考的坐标系(P前的上标A),矢量的各个元素用下标x,y和z标明。
在这里插入图片描述


3.1.2 姿态描述



可用矩阵表示物体的姿态


确定末端执行器的空间位置后,还需要对姿态进行描述。假定有足够数量的关节,末端执行器可有任意的姿态。
为了描述物体的姿态,我们将在物体上固定一个坐标系并给出此坐标系相对于参考系的表达。
点的位置可用矢量描述,物体的姿态可用固定在物体上的坐标系来描述
在这里插入图片描述
描述连体坐标系{B}的一种方法是利用坐标系{A}的3个主轴单位矢量来表示。
在这里插入图片描述
3个单位矢量顺序排列组成一个3 x 3的矩阵,这个矩阵就叫做旋转矩阵,表示{B}相对于{A}的旋转。
3 x 3的矩阵中,每个标量可用每个矢量在其参考坐标系中单位方向上投影的分量来表示。
在这里插入图片描述
由两个单位矢量的点积可得二者间的余弦,故旋转矩阵的各分量常称作方向余弦。
由于旋转矩阵是利用{B}的三个主轴单位向量在{A}中的投影得到的,所以它有一些特殊性质,首先它是一个对称矩阵:
在这里插入图片描述
另一个性质,即“旋转矩阵的逆等于它的转置”。
由线性代数知:一个正交阵的逆等于它的转置。
在这里插入图片描述


3.1.3 坐标系描述


在机器人学中,位置和姿态经常成对出现,于是我们将此组合称为坐标系,4个矢量为一组,表示位置和姿态信息。
坐标系{B}在坐标系{A}中的表示如下:
在这里插入图片描述
在John J.Craig的《Introduction to Robotics: Mechanics and Control》书中有这样一句表述:“一个参考系可以用一个坐标系相对于另一个坐标系的关系来描述”。也就是说,在这里,Craig将参考系虚化为了一种关系,这与我们平时说的参考系的理解其实不太一样。“参考系包括位置和姿态两个概念,大多数情况下被认为是这两个概念的结合。位置可由一个参考系表示,这个参考系中的旋转矩阵是单位阵,并且这个参考系中的位置矢量确定了被描述点的位置。同样,如果参考系中的位置矢量是零矢量,那么它表示的就是姿态。”


3.2 映射:从坐标系到坐标系的变换


3.2.1 关于平移坐标系的映射


在这里插入图片描述
{A} 和 {B}的姿态相同,{B}不同于{A}的只是平移,即{B}相对于{A}不存在旋转。
P相对于{A}的位置可以用矢量相加表示:
在这里插入图片描述


3.2.2 关于旋转坐标系的映射


在这里插入图片描述
任意矢量的分量就是该矢量在参考系上的单位矢量方向的投影,投影是由矢量点积计算的。
在这里插入图片描述
可以将其简化为:
在这里插入图片描述
这个映射将空间中的某个点P相对于{B}的描述转换成了该点相对于{A}的描述。


3.2.3 关于一般坐标系的描述


在这里插入图片描述
一般情况下,坐标系{A}和{B},原点不重合,有一个矢量偏移。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的4 x 4矩阵被称为齐次变换矩阵。
在这里插入图片描述


3.3 算子



用于坐标系间点的映射的通用数学表达式称为算子。


3.3.1 平移算子


平移将空间中的一个点沿着一个已知的矢量方向移动一定距离。对该点的描述仅用一个坐标表示便可。
在这里插入图片描述
在这里插入图片描述
用矩阵算子写出平移变换:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.3.2 旋转算子


旋转矩阵还可以用旋转变换算子来定义。
在这里插入图片描述
矢量经某一旋转R得到的旋转矩阵与一个坐标系相对于参考坐标系经某一旋转R得到的旋转矩阵是相同的。
在这里插入图片描述
R旋转算子,下标k表示绕K轴,()中表示旋转角度数。
将该算子写成齐次变换矩阵。
在这里插入图片描述


3.3.3 变换算子


算子T将一个矢量平移并旋转得到一个新的矢量。
在这里插入图片描述
经旋转R和平移Q的齐次变换矩阵与一个坐标系相对于参考坐标系经旋转R和平移Q的齐次变换矩阵是相同的。
齐次变换阵的3个定义:
在这里插入图片描述


3.3.4 齐次变换矩阵求逆


在这里插入图片描述


3.4 变换算法


3.4.1 混合变换


如下图所示,已知,求:
在这里插入图片描述
此时我们可以列出下面的式子:
在这里插入图片描述
求得:
在这里插入图片描述


3.4.2 逆变换


假设我们已知{B}相对于{A}的变换,
在这里插入图片描述
直接写出{A}相对于{B}的变换:
在这里插入图片描述
符号表示如下:
在这里插入图片描述


3.5 变换方程


在这里插入图片描述
在这里插入图片描述
将两个表达式构造成一个变换方程:
在这里插入图片描述
解出未知变换:
在这里插入图片描述
用坐标系的图形表示法,描述实例如下:
在这里插入图片描述
解出
在这里插入图片描述


3.6 姿态的其他描述方法



一个坐标系相对于另一个坐标系的姿态的表示方法有很多种,比如:X-Y-Z固定角,Z-Y-X欧拉角,RPY角,四元数等。UR机器人里面使用的是旋转矢量法。


我们知道旋转矩阵是单位正交阵,又因为其行列式为1,所以被称为标准正交阵(非标准正交阵的行列式值为-1)。前面我们聊到旋转矩阵中有9个量,但是却只表示了3个自由度,是因为矩阵中的元素存在着6个约束:
在这里插入图片描述
这里我们假定旋转矩阵R为:
在这里插入图片描述
在这里插入图片描述
由反对称矩阵的定义知:反对称矩阵主对角线上的元全为0,位于主对角线两侧对称的元反号。所以,一个三维的反对称矩阵可以由三个参数表示:
在这里插入图片描述


3.6.1 X-Y-Z固定角坐标系


在这里插入图片描述
我们对{B}进行旋转,每次都是绕着固定坐标系{A}的轴进行旋转的,我们常将绕着X、Y、Z的旋转称为pitch、yaw、roll,也即俯仰、偏航、翻滚。将三次旋转利用旋转矩阵写出并相乘:
在这里插入图片描述
乘积为:
在这里插入图片描述


3.6.2 Z-Y-X欧拉角和Z-Y-Z欧拉角


在这种表示法中,我们每次旋转都是绕着{B}的主轴进行旋转,也就是说,并不是绕着固定坐标系{A}的轴进行旋转了:
在这里插入图片描述
在这种表示下,有:
在这里插入图片描述
关于这个式子应该怎么理解呢?我们最终的目标是求出{B}相对于{A}的旋转,对于固定角坐标系,每次旋转都是基于{A}的,因而是按照旋转次序,依次左乘;对于欧拉角则是利用中间坐标系变换,所以依次右乘。比如上面的Z-Y-X欧拉角,记{A}绕{A}的Z旋转得到{B’},然后{B’}绕{B’}的Y旋转得到{B’’},最后{B’’}绕{B’’}的X旋转得到{B},所以,我们可以写出:
在这里插入图片描述
式中的3个旋转角分别是绕着{A}的Z轴,{B’}的Y轴,{B‘’}的X轴旋转(所以相对于我们的旋转,是右乘,先乘以绕X的旋转,再乘以绕Y的旋转,最后才是绕Z的旋转),因此我们可以得出结论:X-Y-Z固定角与Z-Y-X欧拉角在同样的角度大小下,旋转所得到的最终结果是一样的,也就是说在这两种表示下,{B}相对于{A}的姿态一致。注意,这并不是巧合,是因为固定角表示下是基本旋转矩阵左乘,而欧拉角表示下是基本旋转矩阵的右乘,而恰好X-Y-Z与Z-Y-X是相反的旋转顺序,所以最终的效果就一样了。


3.6.3 等效轴角坐标系表示法


即用一个单位矢量加上一个旋转角表示旋转:
在这里插入图片描述
因为我们的单位矢量长度恒为1,所以实际上确定它只需要两个参数,加上旋转角,也即三个参数,正好确定旋转所需要的3个自由度。当旋转轴K为一般轴时,等效旋转矩阵为:
在这里插入图片描述
在这里插入图片描述
单位向量
**加粗样式**
旋转矢量表示两个坐标系之间的旋转关系,
在这里插入图片描述
旋转矢量法与等效轴角坐标系之间的关系是:Rx=θkx,Ry=θky,Rz=θkz。
可求:
在这里插入图片描述
其中, cθ=cosθ , sθ=sinθ , vθ=1−cosθ ,θ 是由右手定则确定的,即大拇指指向 r^ 的正方向。
在这里插入图片描述


3.6.4 欧拉参数


除了上面的固定角坐标系表示法、欧拉角表示法和等效轴角坐标系表示法之外,我们再介绍另一种姿态表示法,这种表示法通过四个数值来表示,称为欧拉参数。
在这里插入图片描述
我们将这四个变量平方相加,得到:
在这里插入图片描述
也即,这四个参数不是独立的,所以,仍然符合我们对于姿态的3自由度的认知。同时,由上面的式子可知,我们可以将一个姿态看作是四维空间中单位超球面上的一点,或者说,它是一个单位四元数。用这组参数表示的旋转矩阵为:
在这里插入图片描述
已知旋转矩阵求欧拉参数为:
在这里插入图片描述


3.7 自由矢量的变换


其他


  • BORG— 机械人,星际迷航电影系列中的一个宇宙种族,一只胳膊被截肢更换成机械臂

参考


1、《机器人学导论》[第三版]
2、机器人学导论(一)——空间描述和变换
3、博格人(Borg)–baike
4、机械臂——六轴机械臂构型分析与MATLAB建模
5、高中数学书PDF全集打包
6、机械臂——六轴机械臂构型分析与MATLAB建模
7、机械臂——六轴机械臂逆解
8、b站搜林沛群教授的机器人学
9、UR机器人之一:坐标系及位姿表示方法
10、等效轴角坐标系表示法
11、旋转变换(一)旋转矩阵
12、6轴机器人运动学正解,逆解1
13、齐次变换矩阵逆矩阵的快速求解方法