1、本章主要内容本章主要内容 4.1 机器人轨迹规划概述机器人轨迹规划概述 4.2 插补方式分类与轨迹控制插补方式分类与轨迹控制 4.3 机器人轨迹插补计算机器人轨迹插补计算 4.4 轨迹的实时生成轨迹的实时生成 所谓机器人的规划所谓机器人的规划(P1anning),指的是,指的是机器人机器人根据自身的任务,求得完成这一任务的解决方案的根据自身的任务,求得完成这一任务的解决方案的过程。这里所说的任务,具有广义的概念,既可以过程。这里所说的任务,具有广义的概念,既可以指机器人要完成的某一具体任务,也可以是机器人指机器人要完成的某一具体任务,也可以是机器人的某个动作,比如手部或关节的某个规定的运动等的
2、某个动作,比如手部或关节的某个规定的运动等。4.1 机器人轨迹规划概述机器人轨迹规划概述一、机器人规划的概念一、机器人规划的概念 为说明机器人规划的概念,我们举下面的例子:为说明机器人规划的概念,我们举下面的例子:在一些老龄化比较严重的国家,开发了各种各样的在一些老龄化比较严重的国家,开发了各种各样的机器人专门用于伺候老人,这些机器人有不少是采用机器人专门用于伺候老人,这些机器人有不少是采用声控的方式比如主人用声音命令机器人声控的方式比如主人用声音命令机器人“给我倒一给我倒一杯开水杯开水”,我们先不考虑机器人是如何识别人的自然,我们先不考虑机器人是如何识别人的自然语言,而是着重分析一下机器人在
3、得到这样一个命令语言,而是着重分析一下机器人在得到这样一个命令后,如何来完成主人交给的任务。后,如何来完成主人交给的任务。一、机器人规划的概念一、机器人规划的概念 首先,机器人应该把任务进行分解,把主人交代的任务分解成为首先,机器人应该把任务进行分解,把主人交代的任务分解成为“取一个杯子取一个杯子”、“找到水壶找到水壶”、“打开瓶塞打开瓶塞”、“把水倒人杯中把水倒人杯中”、“把水送给主人把水送给主人”等一系列子任务。这一层次的规划称为等一系列子任务。这一层次的规划称为(Task planning),它完成总体任务的分解。,它完成总体任务的分解。然后再针对每一个子任务进行进一步的规划。以然后再针
4、对每一个子任务进行进一步的规划。以“把水倒入杯中把水倒入杯中”这这一子任务为例,可以进一步分解成为一系列动作,这一层次的规划称为一子任务为例,可以进一步分解成为一系列动作,这一层次的规划称为,它把实现每一个子任务的过程分解为一系列具体的动作。,它把实现每一个子任务的过程分解为一系列具体的动作。取一个杯子取一个杯子 找到水壶找到水壶 打开水壶打开水壶把水倒入杯中把水倒入杯中 把水送给主人把水送给主人给主人倒一杯水给主人倒一杯水把水倒入杯中把水倒入杯中 提起水壶到杯口上方提起水壶到杯口上方 把水壶倾斜把水壶倾斜 把水壶竖直把水壶竖直 把水壶放回原处把水壶放回原处 为了实现每一个动作,需要对手部的运
5、动轨迹进行必要的规定,这为了实现每一个动作,需要对手部的运动轨迹进行必要的规定,这是手部轨迹规划是手部轨迹规划(Hand trajectory planning)。为了使手部实现预定的运动,就要知道各关节的运动规律,这是关为了使手部实现预定的运动,就要知道各关节的运动规律,这是关节轨迹规划节轨迹规划(Joint trajectory planning)。最后才是关节的运动控制最后才是关节的运动控制(Motion control)。取一个杯子取一个杯子 找到水壶找到水壶 打开水壶打开水壶把水倒入杯中把水倒入杯中 把水送给主人把水送给主人给主人倒一杯水给主人倒一杯水 提起水壶到杯口上方提起水壶到杯
6、口上方 把水壶倾斜把水壶倾斜 把水壶竖直把水壶竖直 把水壶放回原处把水壶放回原处 手部从手部从A点移到点移到B 点点 关节从关节从C点移到点移到D点点 上述例子可以看出,机器人的规划是分层次的,从高上述例子可以看出,机器人的规划是分层次的,从高层的层的任务规划任务规划,动作规划动作规划到手到手部轨迹规划部轨迹规划和和关节轨迹规划关节轨迹规划。在上述例子中,我们没有讨论力的问题,实际上,对有。在上述例子中,我们没有讨论力的问题,实际上,对有些机器人来说,力的大小也是要控制的,这时,除了手部些机器人来说,力的大小也是要控制的,这时,除了手部或关节的轨迹规划,还要进行手部和关节输出或关节的轨迹规划,
7、还要进行手部和关节输出力的规划力的规划。智能化程度越高,规划的层次越多,操作就越简单。智能化程度越高,规划的层次越多,操作就越简单。轨迹规划的目的是将操作人员输入的简单的任务描述变轨迹规划的目的是将操作人员输入的简单的任务描述变为详细的运动轨迹描述。为详细的运动轨迹描述。例如,对一般的工业机器人来说,操作员可能只输入机例如,对一般的工业机器人来说,操作员可能只输入机械手末端的目标位置和方位,而规划的任务便是要确定出达械手末端的目标位置和方位,而规划的任务便是要确定出达到目标的关节轨迹的形状、运动的时间和速度等。这里所说到目标的关节轨迹的形状、运动的时间和速度等。这里所说的轨迹是指随时间变化的位
8、置、速度和加速度。的轨迹是指随时间变化的位置、速度和加速度。简言之,机器人的工作过程,就是通过规划,将要求的任务变简言之,机器人的工作过程,就是通过规划,将要求的任务变为期望的运动和力,由控制环节根据期望的运动和力的信号,产生相为期望的运动和力,由控制环节根据期望的运动和力的信号,产生相应的控制作用,以使机器人输出实际的运动和力,从而完成期望的任应的控制作用,以使机器人输出实际的运动和力,从而完成期望的任务。如下图所示。这里,机器人实际运动的情况通常还要反馈给规划务。如下图所示。这里,机器人实际运动的情况通常还要反馈给规划级和控制级,以便对规划和控制的结果做出适当的修正。级和控制级,以便对规划
9、和控制的结果做出适当的修正。人人机机接接口口规规划划控控制制机机器器人人本本体体要求的任务要求的任务 期望的期望的运动和力运动和力 实际的实际的运动和力运动和力控制作用控制作用 要求的任务由操作人员输入给机器人,为了使机器人操作方便、使要求的任务由操作人员输入给机器人,为了使机器人操作方便、使用简单,必须允许操作人员给出尽量简单的描述。用简单,必须允许操作人员给出尽量简单的描述。期望的运动和力是进行机器人控制所必需的输入量,它们是机械手期望的运动和力是进行机器人控制所必需的输入量,它们是机械手末端在每一个时刻的位姿和速度,对于绝大多数情况,还要求给出每一末端在每一个时刻的位姿和速度,对于绝大多
10、数情况,还要求给出每一时刻期望的关节位移和速度,有些控制方法还要求给出期望的加速度等时刻期望的关节位移和速度,有些控制方法还要求给出期望的加速度等。4.1 机器人轨迹规划概述机器人轨迹规划概述轨迹规划?轨迹规划?机器人在作业空间要完成给定的任务,其手部机器人在作业空间要完成给定的任务,其手部运动必须按一定的轨迹运动必须按一定的轨迹(trajectory)进行。进行。轨迹的生成一般是先给定轨迹上的若干个点,轨迹的生成一般是先给定轨迹上的若干个点,将其经运动学反解映射到关节空间,对关节空间将其经运动学反解映射到关节空间,对关节空间中的相应点建立运动方程,然后按这些运动方程中的相应点建立运动方程,然
11、后按这些运动方程对关节进行插值,从而实现作业空间的运动要求,对关节进行插值,从而实现作业空间的运动要求,这一过程通常称为轨迹规划。这一过程通常称为轨迹规划。二、轨迹规划的一般性问题二、轨迹规划的一般性问题 工业机器人的作业可以描述成工具坐标系工业机器人的作业可以描述成工具坐标系T相相对于工件坐标系对于工件坐标系S的一系列运动。的一系列运动。图图4.1 机器人将销插入工件孔中的作业描述机器人将销插入工件孔中的作业描述 图图4.1所示的将销插入所示的将销插入工件孔中的作业,可以工件孔中的作业,可以借助工具坐标系的一系借助工具坐标系的一系列位姿列位姿Pi(i=1,2,n)来描述。来描述。二、轨迹规划
12、的一般性问题二、轨迹规划的一般性问题 用工具坐标系相对于工用工具坐标系相对于工件坐标系的运动来描述作件坐标系的运动来描述作业路径是一种通用的作业业路径是一种通用的作业描述方法。描述方法。它把作业路径描述与具它把作业路径描述与具体的机器人、手爪或工具体的机器人、手爪或工具分离开来,形成了模型化分离开来,形成了模型化的作业描述方法,从而使的作业描述方法,从而使这种描述既适用于不同的这种描述既适用于不同的机器人,也适用于在同一机器人,也适用于在同一机器人上装夹不同规格的机器人上装夹不同规格的工具。工具。图图4.2 机器人的初始状态和终止状态机器人的初始状态和终止状态 对点位作业对点位作业(pick
13、and place operation)的机器的机器人,需要描述它的起始状态和目标状态,即工人,需要描述它的起始状态和目标状态,即工具坐标系的起始值具坐标系的起始值T0,目标值,目标值Tf。在此,。在此,用用“点点”这个词表示工具坐标系的位置和姿态这个词表示工具坐标系的位置和姿态(简称位姿简称位姿)。对于另外一些作业,如弧焊和曲面加工等,不仅要规定对于另外一些作业,如弧焊和曲面加工等,不仅要规定操作臂的起始点和终止点,而且要指明两点之间的若干中操作臂的起始点和终止点,而且要指明两点之间的若干中间点间点(称路径点称路径点),必须沿特定的路径运动,必须沿特定的路径运动(路径约束路径约束)。这。这类
14、称为连续路径运动类称为连续路径运动(continuousPath motion)或轮廓运或轮廓运动动(contour motion)。在规划机器人的运动时还需要弄清楚在其路径上是否在规划机器人的运动时还需要弄清楚在其路径上是否存在障碍物存在障碍物(障碍约束障碍约束)。主要讨论连续路径的无障碍的轨迹规划方法。主要讨论连续路径的无障碍的轨迹规划方法。轨迹规划器可形象地看成为一个黑箱,其输入包括路轨迹规划器可形象地看成为一个黑箱,其输入包括路径的径的“设定设定”和和“约束约束”,输出的是操作臂末端手部的,输出的是操作臂末端手部的“位姿序列位姿序列”,表示手部在各离散时刻的中间形位。,表示手部在各离散
15、时刻的中间形位。轨迹规划既可在关节空间也可在直角空间中进行,轨迹规划既可在关节空间也可在直角空间中进行,但是所规划的轨迹函数都必须连续和平滑,使机器人但是所规划的轨迹函数都必须连续和平滑,使机器人的运动平稳,不平稳的运动将加剧机械部件的磨损,的运动平稳,不平稳的运动将加剧机械部件的磨损,并导致机器人的振动和冲击。为此,要求所选择的运并导致机器人的振动和冲击。为此,要求所选择的运动轨迹描述函数必须连续,而且它的一阶导数动轨迹描述函数必须连续,而且它的一阶导数(速度速度),有时甚至二阶导数有时甚至二阶导数(加速度加速度)也应该连续也应该连续。在关节空间进行规划时是将关节变量表示成时间的在关节空间进
16、行规划时是将关节变量表示成时间的函数,并规划它的一阶和二阶时间导数。函数,并规划它的一阶和二阶时间导数。在直角空间进行规划是指将手部位姿、速度和加速在直角空间进行规划是指将手部位姿、速度和加速度表示为时间的函数。而相应的关节位移、速度和加度表示为时间的函数。而相应的关节位移、速度和加速度由手部的信息导出。通常通过运动学反解得出关速度由手部的信息导出。通常通过运动学反解得出关节位移、用逆稚可比求出关节速度,用逆雅可比及其节位移、用逆稚可比求出关节速度,用逆雅可比及其导数求解关节加速度。导数求解关节加速度。三、轨迹的生成方式三、轨迹的生成方式 (1)示教示教-再现运动。这种运动由人手把手示教机器人
17、,再现运动。这种运动由人手把手示教机器人,定时记录各关节变量,得到沿路径运动时各关节的位移定时记录各关节变量,得到沿路径运动时各关节的位移时间函数时间函数q(t);再现时,按内存中记录的各点的值产生;再现时,按内存中记录的各点的值产生序列动作。序列动作。(2)关节空间运动。这种运动直接在关节空间里进行。关节空间运动。这种运动直接在关节空间里进行。由于动力学参数及其极限值直接在关节空间里描述,所由于动力学参数及其极限值直接在关节空间里描述,所以用这种方式求最短时间运动很方便。以用这种方式求最短时间运动很方便。(3)空间直线运动。这是一种直角空间里的运动,它便空间直线运动。这是一种直角空间里的运动
18、,它便于描述空间操作,计算量小,适宜简单的作业。于描述空间操作,计算量小,适宜简单的作业。(4)空间曲线运动。这是一种在描述空间中用明确的函空间曲线运动。这是一种在描述空间中用明确的函数表达的运动,如圆周运动、螺旋运动等数表达的运动,如圆周运动、螺旋运动等 4.2插补方式分类与轨迹控制插补方式分类与轨迹控制 一、插补方式分类一、插补方式分类点位作业(点位作业(PTP=point-to-point motion)连续路径作业(连续路径作业(CP=continuous-path motion)二、二、机器人轨迹控制过程机器人轨迹控制过程图图4.3 机器人轨迹控制过程机器人轨迹控制过程 机器人的基本
19、操作方式是示教机器人的基本操作方式是示教-再现,即首先教机器人如何做,机器再现,即首先教机器人如何做,机器人记住了这个过程,于是它可以根据需要重复这个动作。操作过程中,人记住了这个过程,于是它可以根据需要重复这个动作。操作过程中,不可能把空间轨迹的所有点都示教一遍使机器人记住,这样太繁琐,也不可能把空间轨迹的所有点都示教一遍使机器人记住,这样太繁琐,也浪费很多计算机内存。实际上,对于有规律的轨迹,仅示教几个特征点,浪费很多计算机内存。实际上,对于有规律的轨迹,仅示教几个特征点,计算机就能利用插补算法获得中间点的坐标,如直线需要示教两点,圆计算机就能利用插补算法获得中间点的坐标,如直线需要示教两
20、点,圆弧需要示教三点,通过机器人逆向运动学算法由这些点的坐标求出机器弧需要示教三点,通过机器人逆向运动学算法由这些点的坐标求出机器人各关节的位置和角度人各关节的位置和角度(1,n),然后由后面的角位置闭环控制系统,然后由后面的角位置闭环控制系统实现要求的轨迹上的一点。继续插补并重复上述过程,从而实现要求的实现要求的轨迹上的一点。继续插补并重复上述过程,从而实现要求的轨迹。轨迹。4.3 机器人轨迹插值计算机器人轨迹插值计算一、一、直线插补直线插补 空间直线插补是在已知该直线始末两点的位置和姿态的空间直线插补是在已知该直线始末两点的位置和姿态的条件下,求各轨迹中间点条件下,求各轨迹中间点(插补点插
21、补点)的位置和姿态。的位置和姿态。已知直线始末两点的坐标值已知直线始末两点的坐标值P0(X0,Y0,Z0)、Pe(Xe,Ye,Ze)及及姿态,其中姿态,其中P0、Pe是相对于基坐标系的位置。这些已知的位置和姿是相对于基坐标系的位置。这些已知的位置和姿态通常是通过示教方式得到的。设态通常是通过示教方式得到的。设v为要求的沿直线运动的速度;为要求的沿直线运动的速度;ts为插补时间间隔。为插补时间间隔。直线长度直线长度 222e0e0e0LXXYYZZ 直线插补和圆弧插补是机器人系统中的基本插补算法。对于直线插补和圆弧插补是机器人系统中的基本插补算法。对于非直线和圆弧轨迹,可用直线或圆弧逼近,以实现
22、这些轨迹。非直线和圆弧轨迹,可用直线或圆弧逼近,以实现这些轨迹。ts间隔内行程间隔内行程d=vts;插补总步数插补总步数N为为L/d+1的整数部分;的整数部分;各轴增量:各轴增量:e0e0e0/XXXNYYYNZZZN各插补点坐标值:各插补点坐标值:111iiiiiiXXi XYYi YZZi Z 式中:式中:i=0,1,2,N。可见,两个插补点之间的距离正比于要求的运动速度,只有插补点之间可见,两个插补点之间的距离正比于要求的运动速度,只有插补点之间的距离足够小,才能满足一定的轨迹控制精度要求。的距离足够小,才能满足一定的轨迹控制精度要求。机器人控制系统易于实现定时插补,例如采用定时中断方式
23、每隔机器人控制系统易于实现定时插补,例如采用定时中断方式每隔ts中断中断一次进行一次插补,计算一次逆向运动学,输出一个给定值。由于一次进行一次插补,计算一次逆向运动学,输出一个给定值。由于ts仅为仅为几毫秒,机器人沿着要求轨迹的速度一般不会很高,且机器人总的运动精几毫秒,机器人沿着要求轨迹的速度一般不会很高,且机器人总的运动精度不高,故大多数工业机器人采用定时插补方式。度不高,故大多数工业机器人采用定时插补方式。二、圆弧插补二、圆弧插补 1.平面圆弧插补平面圆弧插补 平面圆弧是指圆弧平面与基坐标系的三大平面之一重平面圆弧是指圆弧平面与基坐标系的三大平面之一重合,以合,以XOY平面圆弧为例。已知
24、不在一条直线上的三平面圆弧为例。已知不在一条直线上的三点点P1、P2、P3及这三点对应的机器人手端的姿态,如及这三点对应的机器人手端的姿态,如图图4.5及图及图4.6所示。所示。图图4.5 由已知的三点由已知的三点P1、P2、P3决定的圆弧决定的圆弧 图图4.6 圆弧插补圆弧插补 设设v为沿圆弧运动速度;为沿圆弧运动速度;ts为插补时时间隔。为插补时时间隔。(1)由由P1、P2、P3决定的圆弧半径决定的圆弧半径R。(2)总的圆心角总的圆心角=1+2,即,即222212121222223232arccos()2/2arccos()2/2XXYYRRXXYYRR(3)ts时间内角位移量时间内角位移
25、量=tsv/R (4)总插补步数总插补步数(取整数取整数)N=/+1 对对Pi+1 点的坐标,有点的坐标,有 式中:式中:Xi=R cosi;Yi=Rsini。1cos()coscossinsincossiniiiiiiXRRRXY 1sin()sincoscossincossiniiiiiiYRRRYX 由由i+1=i+可判断是否到插补终点。若可判断是否到插补终点。若i+1 ,则继,则继续插补下去;当续插补下去;当 i+1 时,则修正最后一步的步长时,则修正最后一步的步长,故平面圆弧位置插补为故平面圆弧位置插补为111cossincossiniiiiiiiiXXYYYX 2.空间圆弧插补空间
26、圆弧插补 空间圆弧是指三维空间任一平面内的圆弧。空间圆弧是指三维空间任一平面内的圆弧。空间圆弧插补可分三步来处理:空间圆弧插补可分三步来处理:(1)把三维问题转化成二维,找出圆弧所在平面。把三维问题转化成二维,找出圆弧所在平面。(2)利用二维平面插补算法求出插补点坐标利用二维平面插补算法求出插补点坐标(Xi+1,Yi+1)。(3)把该点的坐标值转变为基础坐标系下的值,如图把该点的坐标值转变为基础坐标系下的值,如图4.7所所示。示。通过不在同一直线上的三点通过不在同一直线上的三点P1、P2、P3可确定一个圆及三可确定一个圆及三点间的圆弧,其圆心为点间的圆弧,其圆心为OR,半径为半径为R,圆弧所在
27、平面与基,圆弧所在平面与基础坐标系平面的交线分别为础坐标系平面的交线分别为AB、BC、CA。建立圆弧平面插补坐标系,即把建立圆弧平面插补坐标系,即把ORXRYRZR坐标系原点与坐标系原点与圆心圆心OR重合,设重合,设ORXRYR平面为圆弧所在平面,且保持平面为圆弧所在平面,且保持ZR为外法线方向。为外法线方向。求解两坐标系的转换矩阵。求解两坐标系的转换矩阵。令令TR表示由圆弧坐标表示由圆弧坐标ORXRYRZR 至基础坐标系至基础坐标系OX0Y0Z0的转换矩阵。的转换矩阵。若若ZR轴与基础坐标系轴与基础坐标系Z0轴的夹角为轴的夹角为,XR轴与基础坐标系的夹角为轴与基础坐标系的夹角为,则可完成,则
28、可完成下述步骤:下述步骤:将将XRYRZR的原点的原点OR放到基础原点放到基础原点O上;上;绕绕ZR轴转轴转,使使X0与与XR平行;平行;再绕再绕XR轴转轴转 角,使角,使Z0与与ZR平行。平行。这三步完成了这三步完成了XRYRZR向向X0Y0Z0的转换,故的转换,故总转换矩阵应为总转换矩阵应为(,)(,)(,)cossincossincossincos coscos sin0sincos0001RRRRRRROOOOOOXYZZXXYZTTRR 欲将基础坐标系的坐标值表示在欲将基础坐标系的坐标值表示在ORXRYRZR坐标系,则要用到坐标系,则要用到TR的逆矩阵的逆矩阵 1cossin0cos
29、sinsin coscos cossinsin coscos cossinsin sincos sincossin sincos sincos0001RRRRRRRROOOOOROOOXYXYZXYZT 三、关节空间插补三、关节空间插补 路径点路径点(结点结点)通常用工具坐标系相对通常用工具坐标系相对于工件坐标系位姿来表示。为了求得在于工件坐标系位姿来表示。为了求得在关节空间形成所要求的轨迹,首先用运关节空间形成所要求的轨迹,首先用运动学反解将路径点转换成关节矢量角度动学反解将路径点转换成关节矢量角度值,然后对每个关节拟合一个光滑函数,值,然后对每个关节拟合一个光滑函数,使之从起始点开始,依次
30、通过所有路径使之从起始点开始,依次通过所有路径点,最后到达目标点。点,最后到达目标点。对于每一段路径,各个关节运动时间均对于每一段路径,各个关节运动时间均相同,这样保证所有关节同时到达路径相同,这样保证所有关节同时到达路径点和终止点,从而得到工具坐标系应有点和终止点,从而得到工具坐标系应有的位置和姿态。但是,尽管每个关节在的位置和姿态。但是,尽管每个关节在同一段路径中的运动时间相同,各个关同一段路径中的运动时间相同,各个关节函数之间却是相互独立的。节函数之间却是相互独立的。三、关节空间插补三、关节空间插补 在关节空间中进行轨迹规划,需要给在关节空间中进行轨迹规划,需要给定机器人在起始点、终止点
31、手臂的形位。定机器人在起始点、终止点手臂的形位。对关节进行插值时,应满足一系列约对关节进行插值时,应满足一系列约束条件,在满足所要求的约束条件下,束条件,在满足所要求的约束条件下,可以选取不同类型的关节插值函数生成可以选取不同类型的关节插值函数生成不同的轨迹。不同的轨迹。三、关节空间插补三、关节空间插补 1.三次多项式插值三次多项式插值 在操作臂运动的过程中,由于相应于起始在操作臂运动的过程中,由于相应于起始点的关节角度点的关节角度 0是已知的而终止点的关节角是已知的而终止点的关节角 f可以通过运动学反解得到,因此,运动轨迹可以通过运动学反解得到,因此,运动轨迹的描述,可用起始点关节角与终止点
32、关节角度的描述,可用起始点关节角与终止点关节角度的一个平滑插值函数的一个平滑插值函数 (t)来表示。来表示。(t)在在t0=0时刻的值是起始关节角度时刻的值是起始关节角度 0,终端时刻,终端时刻tf的值的值是终止关节角度是终止关节角度 f。为实现单个关节的平稳运动,轨迹为实现单个关节的平稳运动,轨迹函数函数 (t)至少需要满足四个约束条件,至少需要满足四个约束条件,即两端点位置约束和两端点速度约束。即两端点位置约束和两端点速度约束。端点位置约束是指起始位姿和终止端点位置约束是指起始位姿和终止位姿分别所对应的关节角度。位姿分别所对应的关节角度。(t)在时在时刻刻t0=0时的值是起始关节角度时的值
33、是起始关节角度 0,在终,在终端时刻端时刻tf时的值是终止关节角度时的值是终止关节角度 f,即,即1.三次多项式插值三次多项式插值 0ff0t 为满足关节运动速度的连续性要求,两外为满足关节运动速度的连续性要求,两外还有两个约束条件,即在起始点和终止点的关还有两个约束条件,即在起始点和终止点的关节速度要求。为了满足关节运动速度连续性的节速度要求。为了满足关节运动速度连续性的要求,起始点和终止点的关节速度可简单地设要求,起始点和终止点的关节速度可简单地设定为零。定为零。f000t1.三次多项式插值三次多项式插值 上面给出的四个约束条件可以惟一地确上面给出的四个约束条件可以惟一地确定一个三次多项式
34、定一个三次多项式 230123taa ta ta t运动过程中的关节速度和加速度则为运动过程中的关节速度和加速度则为 2123232326taa ta ttaa t为求得三次多项式的系数为求得三次多项式的系数a0,a1,a2和和a3,代以,代以给定的约束条件,有方程组给定的约束条件,有方程组 0023f01 f2 f3 f1212 f3 f0023aaa ta ta taaa ta t求解该方程组,可得求解该方程组,可得 0012f02f3f03f032aaatat 对于起始速度及终止速度为零的关节运动,满足连续对于起始速度及终止速度为零的关节运动,满足连续平稳运动要求的三次多项式插值函数为平
35、稳运动要求的三次多项式插值函数为230f0f023ff32()()()ttttt关节角速度和角加速度的表达式为关节角速度和角加速度的表达式为 2f0f023fff0f023ff66()()()612()()()ttttttttt这里再次指出:这组解只适用于关节起始、终止速度为零这里再次指出:这组解只适用于关节起始、终止速度为零的运动情况。的运动情况。图图4.8 三次多项式插值的关节运动轨迹三次多项式插值的关节运动轨迹 三次多项式插值的关节运动轨迹曲线如图三次多项式插值的关节运动轨迹曲线如图4.8所所示。由图可知,其速度曲线为抛物线,相应的加速示。由图可知,其速度曲线为抛物线,相应的加速度曲线为
36、直线。度曲线为直线。例:设有一台转动关节的机器人,其在执行例:设有一台转动关节的机器人,其在执行一项作业时关节运动历时一项作业时关节运动历时3 s。根据需要,其上某。根据需要,其上某一关节必须运动平稳,并具有如下作业状态:初一关节必须运动平稳,并具有如下作业状态:初始时,关节静止不动,位置始时,关节静止不动,位置0=15;运动结束时;运动结束时f=75,此时关节速度为,此时关节速度为0。试根据上述要求规。试根据上述要求规划该关节的运动。划该关节的运动。2.过路径点的三次多项式插值过路径点的三次多项式插值 一般情况下要求规划过路径点的轨迹。如图一般情况下要求规划过路径点的轨迹。如图4.9所示,所
37、示,机器人作业除在机器人作业除在A、B点有位姿要求外,在路径点点有位姿要求外,在路径点C、D也有也有位姿要求。对于这种情况,假如末端执行器在路径点停留,位姿要求。对于这种情况,假如末端执行器在路径点停留,即各路径点上速度为即各路径点上速度为0,则轨迹规划可连续直接使用前面介,则轨迹规划可连续直接使用前面介绍的三次多项式插值方法;但若末端执行器只是经过,并不绍的三次多项式插值方法;但若末端执行器只是经过,并不停留,就需要将前述方法推广。停留,就需要将前述方法推广。实际上,可以把所有路径点看作是实际上,可以把所有路径点看作是“起始点起始点”或或“终止点终止点”,求解逆运动,求解逆运动学,得到相应的
38、关节矢量值。然后确定学,得到相应的关节矢量值。然后确定所要求的三次多项式插值函数,把路径所要求的三次多项式插值函数,把路径点平滑地连接起来。但是,在这些点平滑地连接起来。但是,在这些“起起始点始点”和和“终止点终止点“的关节运动速度不的关节运动速度不再是零。再是零。设路径点上的关节速度已知,在某段路径设路径点上的关节速度已知,在某段路径上,起始点为上,起始点为0和和 ,终止点为,终止点为f和和 ,这,这时,确定三次多项式系数的方法与前所述完全时,确定三次多项式系数的方法与前所述完全一致,只是速度约束条件变为一致,只是速度约束条件变为 0ff0t0f 利用约束条件确定三次多项式系数,有下利用约束
39、条件确定三次多项式系数,有下列方程组:列方程组:0023f01 f2 f3 f12f12 f3 f23aaa ta ta taaa ta t 求解方程组,得求解方程组,得00102f00f2fff3f00f32ff32121aaatttatt 如何来确定路径点上的关节速度?如何来确定路径点上的关节速度?由上式确定的三次多项式描述了起始点和终止点具有任由上式确定的三次多项式描述了起始点和终止点具有任意给定位置和速度约束条件的运动轨迹。意给定位置和速度约束条件的运动轨迹。如何确定路径点上的关节速度?如何确定路径点上的关节速度?(1)根据工具坐标系在直角坐标空间中的)根据工具坐标系在直角坐标空间中的
40、瞬时线速度和角速度来确定每个路径点的关节瞬时线速度和角速度来确定每个路径点的关节速度。速度。该方法利用操作臂在此路径点上的逆雅可比,该方法利用操作臂在此路径点上的逆雅可比,把该点的直角坐标速度把该点的直角坐标速度“映射映射”为所要求的关为所要求的关节速度。当然,如果操作臂的某个路径点是奇节速度。当然,如果操作臂的某个路径点是奇异点,这时就不能任意设置速度值。异点,这时就不能任意设置速度值。按照该方法生成的轨迹虽然能满足用户设置按照该方法生成的轨迹虽然能满足用户设置速度的需要,但是逐点设置速度毕竟要耗费很速度的需要,但是逐点设置速度毕竟要耗费很大的工作量。大的工作量。如何确定路径点上的关节速度?
41、如何确定路径点上的关节速度?(2)在直角坐标空间或关节空间中采用适当的启发式方法,在直角坐标空间或关节空间中采用适当的启发式方法,由控制系统自动地选择路径点的速度。由控制系统自动地选择路径点的速度。图表示一种启发式选择路径点速度的方式。图中图表示一种启发式选择路径点速度的方式。图中0为起始点;为起始点;D为为终止点,终止点,A,B和和C是路径点,用细实线表示过路径点时的关节运动是路径点,用细实线表示过路径点时的关节运动速度。这里所用的启发式信息从概念到计算方法都很简单,即,假设速度。这里所用的启发式信息从概念到计算方法都很简单,即,假设用直线段把这些路径点依次连接起来,如果相邻线段的斜率在路径
42、点用直线段把这些路径点依次连接起来,如果相邻线段的斜率在路径点处改变将号,则把速度选定为零;如果相邻线段不改变符号,则选取处改变将号,则把速度选定为零;如果相邻线段不改变符号,则选取路径点两侧的线段斜率的平均值作为该点的速度。因此,根据规定的路径点两侧的线段斜率的平均值作为该点的速度。因此,根据规定的路径点,系统就能够按此规则自动生成相应的路径点速度。路径点,系统就能够按此规则自动生成相应的路径点速度。如何确定路径点上的关节速度?如何确定路径点上的关节速度?(3)为了保证每个路径点上的加速度连续,由为了保证每个路径点上的加速度连续,由控制系统按此要求自动地选择路径点的速度。控制系统按此要求自动
43、地选择路径点的速度。该方法为了保证路径点处的加速度连续,可以设法用该方法为了保证路径点处的加速度连续,可以设法用两条三次曲线在路径点处按一定规则联接起来,拼凑成两条三次曲线在路径点处按一定规则联接起来,拼凑成所要求的轨迹。所要求的轨迹。其约束条件是:联接处不仅速度连续,而且加速度也其约束条件是:联接处不仅速度连续,而且加速度也连续,下面具体地说明这种方法。连续,下面具体地说明这种方法。设所经过的路径点处的关节角度为设所经过的路径点处的关节角度为v,与该点,与该点相邻的前后两点的关节角分别为相邻的前后两点的关节角分别为0和和g。设其路径。设其路径点处的关节加速度连续。如果路径点用三次多项点处的关
44、节加速度连续。如果路径点用三次多项式连接,试确定多项式的所有系数。式连接,试确定多项式的所有系数。该机器人路径可分为该机器人路径可分为 0到到 v段及段及 v到到 g段两段,段两段,可通过由两个三次多项式组成的样条函数连接。可通过由两个三次多项式组成的样条函数连接。设从设从 0到到 v的三次多项式插值函数为的三次多项式插值函数为 23110111213taa ta ta t而从而从 v到到 g的三次多项式插值函数为的三次多项式插值函数为 23220212223taa ta ta t时间区间分别是时间区间分别是0,tf1、0,tf2;约束是:;约束是:对于第一个方程:对于第一个方程:对于第二个方
45、程:对于第二个方程:二个方程:二个方程:第一条曲线在第一条曲线在t=tf1时的速度等于第二时的速度等于第二条曲线在条曲线在t=0的速度;的速度;第一条曲线在第一条曲线在t=tf1时的加速度等于第二条时的加速度等于第二条曲线在曲线在t=0时的加速度时的加速度两个方程共有两个方程共有8个未知数:个未知数:已知条件有已知条件有8个:个:第一方程:第一方程:第二方程:第二方程:第一条曲线在第一条曲线在t=tf1时的速度等于第二条曲线在时的速度等于第二条曲线在t=0的速度;的速度;第一条曲线在第一条曲线在t=tf1时的加速度等于第二条曲线在时的加速度等于第二条曲线在t=0时的时的加速度加速度当当tf1=
46、tf2=tf时的解为:时的解为:3.高阶多项式插值高阶多项式插值 如果对于运动轨迹的要求更为严格,约束如果对于运动轨迹的要求更为严格,约束条件增多,那么三次多项式就不能满足需要,条件增多,那么三次多项式就不能满足需要,必须用更高阶的多项式对运动轨迹的路径段进必须用更高阶的多项式对运动轨迹的路径段进行插值。例如,行插值。例如,对某段路径的超始点和终止点对某段路径的超始点和终止点都有规定了关节的位置、速度和加速度要求,都有规定了关节的位置、速度和加速度要求,则要用一个五次多项式进行插值。则要用一个五次多项式进行插值。1)超始点的位置)超始点的位置0、速度、速度0、加速度、加速度0;2)终止点的位置
47、)终止点的位置f、速度、速度f、加速度、加速度f;在给定六个约束条件下,方程的解为:在给定六个约束条件下,方程的解为:五次多项式有六个系数,必须满足六个约束条件:五次多项式有六个系数,必须满足六个约束条件:六个约束条件是:六个约束条件是:002345f01 f2 f3 f4 f5 f01234f12 f3 f4 f5 f0223f23 f4 f5 f23452261220aaa ta ta ta ta taaa ta ta ta taaa ta ta t4.用抛物线过渡的线性插值用抛物线过渡的线性插值 在关节空间轨迹规划中,对于给定起始点和在关节空间轨迹规划中,对于给定起始点和终止点的情况选择
48、线性函数插值较为简单,如图终止点的情况选择线性函数插值较为简单,如图4.10所示。所示。然而,单纯线性插值会导致起始点和终止点的然而,单纯线性插值会导致起始点和终止点的关节运动速度不连续,且加速度无穷大,显然,关节运动速度不连续,且加速度无穷大,显然,在两端点会造成刚性冲击。在两端点会造成刚性冲击。为此应对线性函数插值方案进为此应对线性函数插值方案进行修正,在线性插值两端点的邻行修正,在线性插值两端点的邻域内设置一段抛物线形缓冲区段。域内设置一段抛物线形缓冲区段。由于抛物线函数对于时间的二阶由于抛物线函数对于时间的二阶导数为常数,即相应区段内的加导数为常数,即相应区段内的加速度恒定,这样保证起
49、始点和终速度恒定,这样保证起始点和终止点的速度平滑过渡,从而使整止点的速度平滑过渡,从而使整个轨迹上的位置和速度连续。线个轨迹上的位置和速度连续。线性函数与两段抛物线函数平滑地性函数与两段抛物线函数平滑地衔接在一起形成的轨迹称为带有衔接在一起形成的轨迹称为带有抛物线过渡域的线性轨迹,如图抛物线过渡域的线性轨迹,如图4.11所示。所示。为了构造这段运动轨迹,假设为了构造这段运动轨迹,假设两端的抛物线轨迹具有相同的持两端的抛物线轨迹具有相同的持续时间,具有大小相同而符号相续时间,具有大小相同而符号相反的恒加速度。对于这种路径规反的恒加速度。对于这种路径规划存在有多个解,其轨迹不惟一。划存在有多个解
50、,其轨迹不惟一。但是,每条路径都对称于时间中但是,每条路径都对称于时间中点点th和位置中点和位置中点 h。要保证路径轨迹的连续、光滑,要保证路径轨迹的连续、光滑,即要求抛物线轨迹的终点速度必即要求抛物线轨迹的终点速度必须等于线性段的速度,故有下列须等于线性段的速度,故有下列关系关系haahattt2a0a1 2t设关节从起始点到终止点的总运动时间为设关节从起始点到终止点的总运动时间为tf,则,则tf=2th,并注意到,并注意到h0f1()22afaf00tt tat 一般情况下,一般情况下,0、f、tf是已知条是已知条件,这样,可以选择相应的件,这样,可以选择相应的和和得到相应的轨迹。得到相应