机器人轨迹规划-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《机器人轨迹规划-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 轨迹 规划 课件
- 资源描述:
-
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)路径控路径控制制不插补不插补关节插补关节插补(平滑平滑)空间插补空间插补点位控点位控制制PTP(1)各轴独
19、立各轴独立快速到达。快速到达。(2)各关节最各关节最大加速度限制大加速度限制(1)各轴协调运动定时插补。各轴协调运动定时插补。(2)各关节最大加速度限制各关节最大加速度限制连续路连续路径径控制控制CP(1)在空间插补点间进行关节定在空间插补点间进行关节定时插补。时插补。(2)用关节的低阶多项式拟合空用关节的低阶多项式拟合空间直线使各轴协调运动。间直线使各轴协调运动。(3)各关节最大加速度限制各关节最大加速度限制(1)直线、圆弧、曲直线、圆弧、曲线等距插补。线等距插补。(2)起停线速度、线起停线速度、线加速度给定,各关节加速度给定,各关节速度、加速度限制速度、加速度限制二、二、机器人轨迹控制过程
20、机器人轨迹控制过程图图4.3 机器人轨迹控制过程机器人轨迹控制过程 机器人的基本操作方式是示教机器人的基本操作方式是示教-再现,即首先教机器人如何做,机器再现,即首先教机器人如何做,机器人记住了这个过程,于是它可以根据需要重复这个动作。操作过程中,人记住了这个过程,于是它可以根据需要重复这个动作。操作过程中,不可能把空间轨迹的所有点都示教一遍使机器人记住,这样太繁琐,也不可能把空间轨迹的所有点都示教一遍使机器人记住,这样太繁琐,也浪费很多计算机内存。实际上,对于有规律的轨迹,仅示教几个特征点,浪费很多计算机内存。实际上,对于有规律的轨迹,仅示教几个特征点,计算机就能利用插补算法获得中间点的坐标
21、,如直线需要示教两点,圆计算机就能利用插补算法获得中间点的坐标,如直线需要示教两点,圆弧需要示教三点,通过机器人逆向运动学算法由这些点的坐标求出机器弧需要示教三点,通过机器人逆向运动学算法由这些点的坐标求出机器人各关节的位置和角度人各关节的位置和角度(1,n),然后由后面的角位置闭环控制系统,然后由后面的角位置闭环控制系统实现要求的轨迹上的一点。继续插补并重复上述过程,从而实现要求的实现要求的轨迹上的一点。继续插补并重复上述过程,从而实现要求的轨迹。轨迹。4.3 机器人轨迹插值计算机器人轨迹插值计算一、一、直线插补直线插补 空间直线插补是在已知该直线始末两点的位置和姿态的空间直线插补是在已知该
22、直线始末两点的位置和姿态的条件下,求各轨迹中间点条件下,求各轨迹中间点(插补点插补点)的位置和姿态。的位置和姿态。已知直线始末两点的坐标值已知直线始末两点的坐标值P0(X0,Y0,Z0)、Pe(Xe,Ye,Ze)及及姿态,其中姿态,其中P0、Pe是相对于基坐标系的位置。这些已知的位置和是相对于基坐标系的位置。这些已知的位置和姿态通常是通过示教方式得到的。设姿态通常是通过示教方式得到的。设v为要求的沿直线运动的速度;为要求的沿直线运动的速度;ts为插补时间间隔。为插补时间间隔。直线长度直线长度 222e0e0e0LXXYYZZ 直线插补和圆弧插补是机器人系统中的基本插补算法。对于直线插补和圆弧插
23、补是机器人系统中的基本插补算法。对于非直线和圆弧轨迹,可用直线或圆弧逼近,以实现这些轨迹。非直线和圆弧轨迹,可用直线或圆弧逼近,以实现这些轨迹。ts间隔内行程间隔内行程d=vts;插补总步数插补总步数N为为L/d+1的整数部分;的整数部分;各轴增量:各轴增量:e0e0e0/XXXNYYYNZZZN各插补点坐标值:各插补点坐标值:111iiiiiiXXi XYYi YZZi Z 式中:式中:i=0,1,2,N。可见,两个插补点之间的距离正比于要求的运动速度,只有插补点之间可见,两个插补点之间的距离正比于要求的运动速度,只有插补点之间的距离足够小,才能满足一定的轨迹控制精度要求。的距离足够小,才能
24、满足一定的轨迹控制精度要求。机器人控制系统易于实现定时插补,例如采用定时中断方式每隔机器人控制系统易于实现定时插补,例如采用定时中断方式每隔ts中断中断一次进行一次插补,计算一次逆向运动学,输出一个给定值。由于一次进行一次插补,计算一次逆向运动学,输出一个给定值。由于ts仅为仅为几毫秒,机器人沿着要求轨迹的速度一般不会很高,且机器人总的运动精几毫秒,机器人沿着要求轨迹的速度一般不会很高,且机器人总的运动精度不高,故大多数工业机器人采用定时插补方式。度不高,故大多数工业机器人采用定时插补方式。二、圆弧插补二、圆弧插补 1.平面圆弧插补平面圆弧插补 平面圆弧是指圆弧平面与基坐标系的三大平面之一重平
25、面圆弧是指圆弧平面与基坐标系的三大平面之一重合,以合,以XOY平面圆弧为例。已知不在一条直线上的三平面圆弧为例。已知不在一条直线上的三点点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/2a
展开阅读全文