1机器人规划的基本概念1关节空间法2直角坐标空间法3轨迹的实时生成4路径的描述5机器人的轨迹规划与生成26.1.1机器人规划的基本概念所谓机器人的规划(P1anning),指的是——机器人根据自身的任务,求得完成这一任务的解决方案的过程。这里所说的任务,具有广义的概念,既可以指机器人要完成的某一具体任务,也可以是机器人的某个动作,比如手部或关节的某个规定的运动等。任务规划(Taskplanning),它完成总体任务的分解。动作规划(MotionP1anning),把实现每一个子任务的过程分解为一系列具体的动作。轨迹规划(Handtrajectoryplanning),为了实现每一个动作,需要对手部的运动轨迹进行必要的规定。关节轨迹规划(Jointtrajectoryplanning),为了使手部实现预定的运动,就要知道各关节的运动规律。3取一个杯子找到水壶打开水壶把水倒入杯中把水送给主人给主人倒一杯水提起水壶到杯口上方把水壶倾斜把水壶竖直把水壶放回原处手部从A点移到B点关节从A点移到B点智能机器人的规划层次6.1.1机器人规划的基本概念4上述例子可以看出,机器人的规划是分层次的,从高层的任务规划,动作规划到手部轨迹规划和关节轨迹规划,最后才是底层的控制(见图)。在上述例子中,我们没有讨论力的问题,实际上,对有些机器人来说,力的大小也是要控制的,这时,除了手部或关节的轨迹规划,还要进行手部和关节输出力的规划。智能化程度越高,规划的层次越多,操作就越简单。对工业机器人来说,高层的任务规划和动作规划一般是依赖人来完成的。而且一般的工业机器人也不具备力的反馈,所以,工业机器人通常只具有轨迹规划的和底层的控制功能。6.1.1机器人规划的基本概念5工业机器人的轨迹规划轨迹规划器摄像机图像分析器力传感器操作臂运动学操作臂动力学机器人控制器任务规划器环境任务规划器qd(t)F(t)x(t)q(t))(t{xk}压缩的数据I(k,e)6轨迹规划的目的是——将操作人员输入的简单的任务描述变为详细的运动轨迹描述。例如,对一般的工业机器人来说,操作员可能只输入机械手末端的目标位置和方位,而规划的任务便是要确定出达到目标的关节轨迹的形状、运动的时间和速度等。这里所说的轨迹是指随时间变化的位置、速度和加速度。6.1.1机器人规划的基本概念7简言之,机器人的工作过程,就是通过规划,将要求的任务变为期望的运动和力,由控制环节根据期望的运动和力的信号,产生相应的控制作用,以使机器人输出实际的运动和力,从而完成期望的任务。这一过程表述如下图所示。这里,机器人实际运动的情况通常还要反馈给规划级和控制级,以便对规划和控制的结果做出适当的修正。人机接口规划控制机器人本体要求的任务期望的运动和力实际的运动和力控制作用机器人的工作原理示意图6.1.1机器人规划的基本概念8上图中,要求的任务由操作人员输入给机器人,为了使机器人操作方便、使用简单,必须允许操作人员给出尽量简单的描述。上图中,期望的运动和力是进行机器人控制所必需的输入量,它们是机械手末端在每一个时刻的位姿和速度,对于绝大多数情况,还要求给出每一时刻期望的关节位移和速度,有些控制方法还要求给出期望的加速度等。6.1.1机器人规划的基本概念9常见的机器人作业有三种:•点位作业(PTP=point-to-pointmotion)•直线作业(ContinuousPath,CP)控制•连续路径作业(continuous-pathmotion),或者称为轮廓运动(contourmotion)。6.1.2机器人规划作业分类10点位控制6.1.2机器人规划作业分类11直线控制6.1.2机器人规划作业分类12轮廓(ContinuousPath,CP)控制6.1.2机器人规划作业分类13操作臂最常用的轨迹规划方法有两种:轨迹规划既可以在关节空间也可以在直角空间中进行。第一种是要求对于选定的轨迹结点(插值点)上的位姿、速度和加速度给出一组显式约束(例如连续性和光滑程度等),轨迹规划器从一类函数(例如n次多项式)选取参数化轨迹,对结点进行插值,并满足约束条件。第二种方法要求给出运动路径的解析式。6.1.3机器人规划方法14对于PTP控制:通常只给出机械手末端的起点和终点,有时也给出一些中间经过点,所有这些点统称为路径点。应注意这里所说的“点”不仅包括机械手末端的位置,而且包括方位,因此描述一个点通常需要6个量。通常希望机械手末端的运动是光滑的,即它具有连续的一阶导数,有时甚至要求具有连续的二阶导数。不平滑的运动容易造成机构的磨损和破坏,甚至可能激发机械手的振动。因此规划的任务便是要根据给定的路径点规划出通过这些点的光滑的运动轨迹。6.1.3机器人规划的方法15对于CP控制:机械手末端的运动轨迹是根据任务的需要给定的,但是它也必须按照一定的采样间隔,通过逆运动学计算,将其变换到关节空间,然后在关节空间中寻找光滑函数来拟合这些离散点.最后,还有在机器人的计算机内部如何表示轨迹,以及如何实时地生成轨迹的问题。6.1.3机器人规划的方法16关节空间法首先将在工具空间中期望的路径点,通过逆运动学计算,得到期望的关节位置,然后在关节空间内,给每个关节找到一个经过中间点到达目的终点的光滑函数,同时使得每个关节到达中间点和终点的时间相同,这样便可保证机械手工具能够到达期望的直角坐标位置。这里只要求各个关节在路径点之间的时间相同,而各个关节的光滑函数的确定则是互相独立的。6.2关节空间法17下面具体介绍在关节空间内常用的两种规划方法1)三次多项式函数插值考虑机械手末端在一定时间内从初始位置和方位移动到目标位置和方位的问题。利用逆运动学计算,可以首先求出一组起始和终了的关节位置.现在的问题是求出一组通过起点和终点的光滑函数。满足这个条件的光滑函数可以有许多条,如下图所示:单个关节的不同轨迹曲线ttf0fq0q)(tq6.2关节空间法1800q0fqt00qqffqtq显然,这些光滑函数必须满足以下条件:同时若要求在起点和终点的速度为零,即:那么可以选择如下的三次多项式:230123qtaatatat作为所要求的光滑函数。式4-3中有4个待定系数,而该式需满足式4-1和4-2的4个约束条件,因此可以唯一地解出这些系数:(4-3)(4-2)(4-1)6.2关节空间法19(4-4)001202303032ffffaqaaqqtaqqt6.2关节空间法20例:设机械手的某个关节的起始关节角θ0=150,并且机械手原来是静止的。要求在3秒钟内平滑地运动到θf=750时停下来(即要求在终端时速度为零)。规划出满足上述条件的平滑运动的轨迹,并画出关节角位置、角速度及角加速度随时间变化的曲线。解:根据所给约束条件,直接代入式(4-4),可得:a0=15,a1=0,a2=20,a3=-4.44所求关节角的位置函数为:2315204.44ttt对上式求导,可以得到角速度和角加速度24013.334026.66ttttt(4-5)(4-6)(4-7)6.2关节空间法21根据式(4-5)~(4-7)可画出它们随时间的变化曲线如下图所示。由图看出,速度曲线为一抛物线,加速度则为一直线。利用三次多项式规划出的关节角的运动轨迹6.2关节空间法t/st031575θt/st031530θ.t/s0340-40θ..222)抛物线连接的线性函数插值前面介绍了利用三次多项式函数插值的规划方法。另外一种常用方法是线性函数插值法,即用一条直线将起点与终点连接起来。但是,简单的线性函数插值将使得关节的运动速度在起点和终点处不连续,它也意味着需要产生无穷大的加速度,这显然是不希望的。因此可以考虑在起点和终点处,用抛物线与直线连接起来,在抛物线段内,使用恒定的加速度来平滑地改变速度,从而使得整个运动轨迹的位置和速度是连续的。6.2关节空间法23线性函数插值图利用抛物线过渡的线性函数插值图6.2关节空间法24前面介绍的在关节空间内的规划,可以保证运动轨迹经过给定的路径点。但是在直角坐标空间,路径点之间的轨迹形状往往是十分复杂的,它取决于机械手的运动学机构特性。在有些情况下,对机械手末端的轨迹形状也有一定要求,如要求它在两点之间走一条直线,或者沿着一个圆弧运动以绕过障碍物等。这时便需要在直角坐标空间内规划机械手的运动轨迹.直角坐标空间的路径点,指的是机械手末端的工具坐标相对于基坐标的位置和姿态.每一个点由6个量组成,其中3个量描述位置,另外3个量描述姿态。在直角坐标空间内规划的方法主要有:线性函数插值法和圆弧插值法。6.3直角坐标空间法25前面轨迹规划的任务,是根据给定的路径点规划出运动轨迹的所有参数。例如,在用三次多项式函数插值时,便是产生出多项式系数a0,a1,a2,a3从而得到整个轨迹的运动方程:230123iiiiqtaatatat2123232326iiiiiqtaatatqtaat对上式求导,可以得到速度和加速度6.4轨迹的实时生成26前面讨论了在给定路径点的情况下如何规划出运动轨迹的问题。但是还有一个如何描述路径点并以合适的方式输入给机器人的问题。最常用的方法便是利用机器人语言。用户将要求实现的动作编成相应的应用程序,其中有相应的语句用来描述轨迹规划,并通过相应的控制作用来实现期望的运动。6.4路径的描述27THANKYOU