论文:六自由度机械臂轨迹规划研究,马强
机器人一些关于数学基础的知识,简单的说一下:
-
向量
在机器人中,向量的含义并不是算算数那样子,而是在空间的本质含义。
向量叉乘:a×b = |a|*|b|*sin(theta)
应用:确定坐标系,比如在空间中有3个点,可以根据这3个点确定这个坐标系。
构建坐标系,得到单位方向向量,确定向量方向,比如,我知道了一个向量模长,知道了法向量,那么我就知道了这个向量在3维空间中的具体位姿。
注意:这个在做几何运动学分析时,常用,比如坐标系的建立,坐标系的转换等等。主要是坐标系建立,确定关节位置。
向量点乘:a·b = |a|*|b|*cos(theta)
应用:求角度,利用cos的公式进行求解向量之间的角度。
求投影长度,向量点乘可以表示为一个向量对于坐标系的xyz的坐标,比如,一个向量从原点出发,任意方向进行延长,但是知道这个向量对于xyz的角度,那么就可以知道向量的终点的坐标。
还有左右定则,右:大拇指是z轴方向,四指往里窝的方向是x->y的方向。
-
刚体位姿描述,位姿包括:位置+姿态(方位)
位置:
用一个简要的语言来说,在三维空间中关于基坐标系(大地坐标系)的xyz矢量,也称位置矢量,用3*1矩阵来表示为:
姿态(方位):
简单来说,三维空间中为了确定点P在B坐标系下的准确位置所提出来的,也就是说点P在A坐标系下的位置可以准确的确定,如何确定在B坐标系下的准确位置?用坐标系【B】的三个单位矢量x,y,z相当于坐标系【A】的方向余弦组成的3*3矩阵。
ARB被称为旋转矩阵,换一话说是B坐标系相对于A坐标系的旋转,这里运用到实物上可能会有一些混淆。B相对于A:换一句人说是,从A怎么到达B的。比如A坐标是通过绕x轴旋转90度到达B的,也就是ARB,还需要注意的一定是:
左乘-相对坐标系(相对就是上面的解释)与右乘-固定坐标系(比如就靠基(大地)坐标系),注意乘法的顺序。ARB * P 与 P*ARB 在机器人学中代表着不同的含义。
单位矢量:模长为1的矢量,单位矢量的方向是确定的,与原始矢量的方向一致。
方向余弦:方向余弦是指一个向量与坐标轴正方向之间夹角的余弦值,比如:坐标系【B】的x轴对于坐标系【A】轴的xyz的方向,均可以利用余弦的方式进行表示。但是后面出来的绕x轴的旋转矩阵不是说方向余弦呢,怎么出来了sin函数呢,这里我们需要注意的一点是cos和sin可以互换的,比如:cos150 = -sin30。也就能理解为什么会出现sin的函数了。
之后这个R矩阵是一个正交矩阵,虽然有9个元素,但是通过正交矩阵的性质(6个约束条件),就剩3个是独立的。
位姿:
点p在坐标系【A】的位置+姿态,已知是p在B坐标系的xyz坐标。
注意一点,也可以进行拆开,即:
-
坐标变换 :平移,旋转,复合
平移:
某一点p在B坐标系是已知的,B相对于A的位置矢量是已知的APB,那么点p在A坐标系的位置矢量为:
旋转:
某一点p在B坐标系是已知的,B相对于A的位置矢量是已知的ARB,那么点p在A坐标系的方向矢量为:
复合变换:
也就是平移加旋转
-
串联的DH参数,正逆解
这一部分,网上资源很多,这里不详细展开,我贴上当初学习的笔记。
需要注意的一点是:改进和标准DH参数,本质上就是坐标系的建立不同。还有一个就是像这种都是一个杆一个杆迭代上去的,并不是一步到位的。 书上的通用坐标系变换并不是这个,这个是比如坐标系2相对与坐标系1,只有一个。
正解:
逆解:
逆解有多种方式,根据需要进行使用,比如几何法,代数法,数值法等等。书中的例子很多,《机器人导论》等书籍。
流程:
驱动空间:电机运行的弧度/角度(0-360)(电机是旋转的,一般来说不超过一周运行)
注:程序中使用的是弧度制,并非角度制。1弧度约等于57.3度。
关节空间:通过计算让电机运行多少角度的集合,在关节坐标系中。
操作空间:在笛卡尔坐标系(大地,基座标)下的,运动位置(末端点的位姿)
-
雅可比矩阵
是一种映射关系,比如末端执行器(手爪)和各个关节执行器运行弧度/角度(电机)他们之间线速度和角速度关系,用矩阵J来表示。资源很多,不细说了。
以上是对机器人动力学知识之前的总结,接下来回到此篇论文,本篇论文的重点是其轨迹规划思路