《第六章-机器人的轨迹规划、生成与控制技术讲课资料》由会员分享,可在线阅读,更多相关《第六章-机器人的轨迹规划、生成与控制技术讲课资料(94页珍藏版)》请在金锄头文库上搜索。
1、1 机器人工程及应用 2 工业机器人系统组成 4 4 1机器人的轨迹规划与生成 4 1 1机器人规划的基本概念4 1 2关节空间法4 1 3直角坐标空间法4 1 4轨迹的实时生成4 1 5路径的描述 5 4 1 1机器人规划的基本概念 所谓机器人的规划 P1anning 指的是 机器人根据自身的任务 求得完成这一任务的解决方案的过程 这里所说的任务 具有广义的概念 既可以指机器人要完成的某一具体任务 也可以是机器人的某个动作 比如手部或关节的某个规定的运动等 6 为说明机器人规划的概念 我们举下面的例子 在一些老龄化比较严重的国家 开发了各种各样的机器人专门用于伺候老人 这些机器人有不少是采用
2、声控的方式 比如主人用声音命令机器人 给我倒一杯开水 我们先不考虑机器人是如何识别人的自然语言 而是着重分析一下机器人在得到这样一个命今后 如何来完成主人交给的任务 7 首先 机器人应该把任务进行分解 把主人交代的任务分解成为 取一个杯子 找到水壶 打开瓶塞 把水倒人杯中 把水送给主人 等一系列子任务 这一层次的规划称为任务规划 Taskplanning 它完成总体任务的分解 然后再针对每一个子任务进行进一步的规划 以 把水倒入杯中 这一子任务为例 可以进一步分解成为 把水壶提到杯口上方 把水壶倾斜倒水入杯 把水壶竖直 把水壶放回原处 等一系列动作 这一层次的规划称为动作规划 MotionP1
3、anning 它把实现每一个子任务的过程分解为一系列具体的动作 为了实现每一个动作 需要对手部的运动轨迹进行必要的规定 这是手部轨迹规划 Handtrajectoryplanning 为了使手部实现预定的运动 就要知道各关节的运动规律 这是关节轨迹规划 Jointtrajectoryplanning 最后才是关节的运动控制 Motioncontrol 8 上述例子可以看出 机器人的规划是分层次的 从高层的任务规划 动作规划到手部轨迹规划和关节轨迹规划 最后才是底层的控制 见图 在上述例子中 我们没有讨论力的问题 实际上 对有些机器人来说 力的大小也是要控制的 这时 除了手部或关节的轨迹规划 还
4、要进行手部和关节输出力的规划 智能化程度越高 规划的层次越多 操作就越简单 对工业机器人来说 高层的任务规划和动作规划一般是依赖人来完成的 而且一般的工业机器人也不具备力的反馈 所以 工业机器人通常只具有轨迹规划的和底层的控制功能 9 取一个杯子 找到水壶 打开水壶 把水倒入杯中 把水送给主人 给主人倒一杯水 提起水壶到杯口上方 把水壶倾斜 把水壶竖直 把水壶放回原处 手部从A点移到B点 关节从A点移到B点 图智能机器人的规划层次 10 轨迹规划的目的是 将操作人员输入的简单的任务描述变为详细的运动轨迹描述 例如 对一般的工业机器人来说 操作员可能只输入机械手末端的目标位置和方位 而规划的任务
5、便是要确定出达到目标的关节轨迹的形状 运动的时间和速度等 这里所说的轨迹是指随时间变化的位置 速度和加速度 11 简言之 机器人的工作过程 就是通过规划 将要求的任务变为期望的运动和力 由控制环节根据期望的运动和力的信号 产生相应的控制作用 以使机器人输出实际的运动和力 从而完成期望的任务 这一过程表述如下图所示 这里 机器人实际运动的情况通常还要反馈给规划级和控制级 以便对规划和控制的结果做出适当的修正 图机器人的工作原理示意图 12 上图中 要求的任务由操作人员输入给机器人 为了使机器人操作方便 使用简单 必须允许操作人员给出尽量简单的描述 上图中 期望的运动和力是进行机器人控制所必需的输
6、入量 它们是机械手末端在每一个时刻的位姿和速度 对于绝大多数情况 还要求给出每一时刻期望的关节位移和速度 有些控制方法还要求给出期望的加速度等 13 对于PTP控制 通常只给出机械手末端的起点和终点 有时也给出一些中间经过点 所有这些点统称为路径点 应注意这里所说的 点 不仅包括机械手末端的位置 而且包括方位 因此描述一个点通常需要6个量 通常希望机械手末端的运动是光滑的 即它具有连续的一阶导数 有时甚至要求具有连续的二阶导数 不平滑的运动容易造成机构的磨损和破坏 甚至可能激发机械手的振动 因此规划的任务便是要根据给定的路径点规划出通过这些点的光滑的运动轨迹 14 对于CP控制 机械手末端的运
7、动轨迹是根据任务的需要给定的 但是它也必须按照一定的采样间隔 通过逆运动学计算 将其变换到关节空间 然后在关节空间中寻找光滑函数来拟合这些离散点 最后 还有在机器人的计算机内部如何表示轨迹 以及如何实时地生成轨迹的问题 15 轨迹规划问题又可以分为关节空间的轨迹规划和直角空间的轨迹规划 4 1 2关节空间法关节空间法首先将在工具空间中期望的路径点 通过逆运动学计算 得到期望的关节位置 然后在关节空间内 给每个关节找到一个经过中间点到达目的终点的光滑函数 同时使得每个关节到达中间点和终点的时间相同 这样便可保证机械手工具能够到达期望的直角坐标位置 这里只要求各个关节在路径点之间的时间相同 而各个
8、关节的光滑函数的确定则是互相独立的 16 下面具体介绍在关节空间内常用的两种规划方法1 三次多项式函数插值考虑机械手末端在一定时间内从初始位置和方位移动到目标位置和方位的问题 利用逆运动学计算 可以首先求出一组起始和终了的关节位置 现在的问题是求出一组通过起点和终点的光滑函数 满足这个条件的光滑函数可以有许多条 如下图所示 17 显然 这些光滑函数必须满足以下条件 同时若要求在起点和终点的速度为零 即 那么可以选择如下的三次多项式 作为所要求的光滑函数 式4 3中有4个待定系数 而该式需满足式4 1和4 2的4个约束条件 因此可以唯一地解出这些系数 4 3 4 2 4 1 18 4 4 19
9、例 设机械手的某个关节的起始关节角 0 150 并且机械手原来是静止的 要求在3秒钟内平滑地运动到 f 750时停下来 即要求在终端时速度为零 规划出满足上述条件的平滑运动的轨迹 并画出关节角位置 角速度及角加速度随时间变化的曲线 解 根据所给约束条件 直接代入式 4 4 可得 a0 15 a1 0 a2 20 a3 4 44所求关节角的位置函数为 对上式求导 可以得到角速度和角加速度 4 5 4 6 4 7 20 根据式 4 5 4 7 可画出它们随时间的变化曲线如下图所示 由图看出 速度曲线为一抛物线 加速度则为一直线 利用三次多项式规划出的关节角的运动轨迹 21 2 抛物线连接的线性函数
10、插值前面介绍了利用三次多项式函数插值的规划方法 另外一种常用方法是线性函数插值法 即用一条直线将起点与终点连接起来 但是 简单的线性函数插值将使得关节的运动速度在起点和终点处不连续 它也意味着需要产生无穷大的加速度 这显然是不希望的 因此可以考虑在起点和终点处 用抛物线与直线连接起来 在抛物线段内 使用恒定的加速度来平滑地改变速度 从而使得整个运动轨迹的位置和速度是连续的 22 线性函数插值图 利用抛物线过渡的线性函数插值图 23 4 1 3直角坐标空间法 前面介绍的在关节空间内的规划 可以保证运动轨迹经过给定的路径点 但是在直角坐标空间 路径点之间的轨迹形状往往是十分复杂的 它取决于机械手的
11、运动学机构特性 在有些情况下 对机械手末端的轨迹形状也有一定要求 如要求它在两点之间走一条直线 或者沿着一个圆弧运动以绕过障碍物等 这时便需要在直角坐标空间内规划机械手的运动轨迹 直角坐标空间的路径点 指的是机械手末端的工具坐标相对于基坐标的位置和姿态 每一个点由6个量组成 其中3个量描述位置 另外3个量描述姿态 在直角坐标空间内规划的方法主要有 线性函数插值法和圆弧插值法 24 4 1 4轨迹的实时生成前面轨迹规划的任务 是根据给定的路径点规划出运动轨迹的所有参数 例如 在用三次多项式函数插值时 便是产生出多项式系数a0 a1 a2 a3从而得到整个轨迹的运动方程 对上式求导 可以得到速度和
12、加速度 25 4 1 5路径的描述前面讨论了在给定路径点的情况下如何规划出运动轨迹的问题 但是还有一个如何描述路径点并以合适的方式输入给机器人的问题 最常用的方法便是利用机器人语言 用户将要求实现的动作编成相应的应用程序 其中有相应的语句用来描述轨迹规划 并通过相应的控制作用来实现期望的运动 26 4 2机器人控制综述 机器人控制的基本目的 告诉机器人要做什么 机器人接受命令 并形成作业的控制策略 保证正确完成作业 通报作业完成情况 27 机器人控制系统的特点 1 机器人有若干个关节 典型工业业机器人有5至6个关节 每个关节由一个伺服系统控制 多个关节的运动要求各个伺服系统协同工作 2 机器人
13、的工作任务是要求操作机的末端执行器进行空间点位运动或轨迹运动 对机器人运动的控制 需要进行复杂的坐标变换运算 以及矩阵函数的逆运算 3 机器人的数学模型是一个多变量 非线性和变参数的复杂模型 各变量之间还存在着耦合 因此机器人的控制中经常使用前馈 补偿 解耦 自适应等复杂控制技术 4 较高级的机器人要求对环境条件 控制指令进行测定和分析 采用计算机建立庞大的信息库 用人工智能的方法进行控制 决策 管理和操作 按照给定的要求自动选择最佳控制规律 28 机器人控制系统的功能 1 伺服控制功能该功能主要是指机器人的运动控制 实现机器人各关节的位置 速度 加速度等的控制 2 运算功能机器人运动学的正运
14、算和逆运算是其中最基本的部分 对于具有连续轨迹控制功能的机器人来说 还需要有直角坐标轨迹插补功能和一些必要的函数运算功能 在一些高速度 高精度的机器人控制系统当中 系统往往还要完成机器人动力学模型和复杂控制算法等运算功能 3 系统的管理功能 方便的人机交互功能 具有对外部环境 包括作业条件 的检测和感觉功能 系统的监控与故障诊断功能 29 机器人控制的特点 机器人的控制问题是与其运动学和动力学问题密切相关从控制观点看 机器人系统代表冗余的 多变量和本质上非线性的控制系统 同时又是复杂的耦合动态系统 每个控制任务本身就是一个动力学任务 在实际研究中 往往把机器人控制系统简化为若干个低阶子系统来描
15、述 30 机器人控制方法的分类 根据不同的分类方法 机器人控制方式可以有不同的分类 下图是一种常用的分类方法 从总体上 机器人的控制方式可以分为动作控制方式和示教控制方式 按照被控对象来分 可以分为位置控制 速度控制 加速度控制 力控制 力矩控制 力和位置混合控制等等 无论是位置控制或速度控制 从伺服反馈信号的形式来看 又可以分为基于关节空间的伺服控制和基于作业空间 手部坐标 的伺服控制 31 32 33 举例 关节伺服控制这是以关节位置或关节轨迹为目标值的控制形式 下图给出了关节伺服系统的构成 若目标值以关节位移给出 则如下图所示 各关节可以独立构成伺服系统 十分简单 第i轴 第i轴 目标值
16、 轨迹 生成 第i关节伺服系统 34 4 3机器人控制系统的一般构成从前面关于服务机器人的规划过程的介绍中可知 对于一个具有高度智能的机器人 它的控制实际上包含了 任务规划 动作规划 轨迹规划 和基于规模的 伺服控制 等多个层次 如下图所示 机器人首先要通过人机接口获取操作者的指令 指令的形式可以是人的自然语言 或者是由人发出的专用的指令语言 用在大部分服务机器人上 也可以是通过示教工具输入的示教指令 如一般的示教控制机器人 或者键盘输人的机器人指令语言以及计算机程序指令 加大部分工业机器人 然后机器人对控制命令进行解释理解 把操作者的命令分解为机器人可以实现的 任务 这是任务规划 机器人针对各个任务进行动作分解 这是动作规划 为了实现机器人的一系列动作 应该对机器人每个关节的运动进行设计 这是机器人的轨迹规划 最底层是关节运动的伺服控制 35 36 机器人控制系统的硬件构成 1 37 机器人控制系统的硬件构成 2 38 PUMA560机器人控制系统 39 机器人控制系统的功能 组成 基本功能构成 记忆功能 存储作业顺序 运动路径 运动方式 运动速度和与生产工艺有关的信息 示教功能 离