机器人控制技术课件.ppt
1.1 引言1.2 示教再现控制1.3 运动控制 习题,1.1 引言,机器人控制特点 机器人控制方式 机器人控制功能 机器人控制系统,机器人控制特点,1、大量的运动学、动力学运算,涉及矢量、矩阵、坐标变换和微积分等运算。2、机器人的控制不仅是非线性的,而且是多变量 耦合的。3、机器人的控制还必须解决优化、决策的问题。,1.1 引言,机器人的控制方式主要有以下两种分类:1、按机器人手部在空间的运动方式分:(1)点位控制方式PTP 点位控制又称为PTP控制,其特点是只控制机器人手部在作业空间中某些规定的离散点上的位姿。这种控制方式的主要技术指标是定位精度和运动所需的时间。常常被应用在上下料、搬运、点焊和在电路板上插接元器件等定位精度要求不高且只要求机器人在目标点处保持手部具有准确位姿的作业中。,机器人控制方式,1.1 引言,1、按机器人手部在空间的运动方式分:(2)连续轨迹控制方式CP 连续轨迹控制又称为CP控制,其特点是连续的控制机器人手部在作业空间中的位姿,要求其严格的按照预定的路径和速度在一定的精度范围内运动。这种控制方式的主要技术指标机器人手部位姿的轨迹跟踪精度及平稳性。通常弧焊、喷漆、去毛边和检测作业的机器人都采用这种控制方式。有的机器人在设计控制系统时,上述两种控制方式都具有,如对进行装配作业的机器人的控制等。,机器人控制方式,1.1 引言,2、按机器人控制是否带反馈分:(1)非伺服型控制方式 非伺服型控制方式是指未采用反馈环节的开环控制方式。在这种控制方式下,机器人作业时严格按照在进行作业之前预先编制的控制程序来控制机器人的动作顺序,在控制过程中没有反馈信号,不能对机器人的作业进展及作业的质量好坏进行监测,因此,这种控制方式只适用于作业相对固定、作业程序简单、运动精度要求不高的场合,它具有费用省,操作、安装、维护简单的优点。,机器人控制方式,1.1 引言,2、按机器人控制是否带反馈分:(2)伺服型控制方式 伺服型控制方式是指采用了反馈环节的闭环控制方式。这种控制方式的特点是在控制过程中采用内部传感器连续测量机器人的关节位移、速度、加速度等运动参数,并反馈到驱动单元构成闭环伺服控制。如果是适应型或智能型机器人的伺服控制,则增加了机器人用外部传感器对外界环境的检测,使机器人对外界环境的变化具有适应能力,从而构成总体闭环反馈的伺服控制方式。,机器人控制方式,1.1 引言,1、示教再现功能 示教再现功能是指示教人员预先将机器人作业的各项运动参数预先教给机器人,在示教的过程中,机器人控制系统的记忆装置就将所教的操作过程自动地记录在存储器中。当需要机器人工作时,机器人的控制系统就调用存储器中存储的各项数据,使机器人再现示教过的操作过程,由此机器人即可完成要求的作业任务。机器人的示教再现功能易于实现,编程方便,在机器人的初期得到了较多的应用。,机器人控制功能,1.1 引言,2、运动控制功能 运动控制功能是指通过对机器人手部在空间的位姿、速度、加速度等项的控制,使机器人的手部按照作业的要求进行动作,最终完成给定的作业任务。它与示教再现功能的区别:在示教再现控制中,机器人手部的各项运动参数是由示教人员教给它的,其精度取决于示教人员的熟练程度。而在运动控制中,机器人手部的各项运动参数是由机器人的控制系统经过运算得来的,且在工作人员不能示教的情况下,通过编程指令仍然可以控制机器人完成给定的作业任务。,机器人控制功能,1.1 引言,由于机器人的控制过程中涉及大量的坐标变换和插补运算以及较低层的实时控制,所以,目前的机器人控制系统在结构上大多数采用分层结构的微型计算机控制系统,通常采用的是两级计算机伺服控制系统。,机器人控制系统,1.1 引言,机器人控制系统具体的工作过程是:主控计算机接到工作人员输入的作业指令后,首先分析解释指令,确定手的运动参数,然后进行运动学、动力学和插补运算,最后得出机器人各个关节的协调运动参数。这些参数经过通信线路输出到伺服控制级作为各个关节伺服控制系统的给定信号。关节驱动器将此信号D/A转换后驱动各个关节产生协调运动,并通过传感器将各个关节的运动输出信号反馈回伺服控制级计算机形成局部闭环控制,从而更加精确的控制机器人手部在空间的运动(作业任务要求的)。在控制过程中,工作人员可直接监视机器人的运动 状态,也可从显示器等输出装置上得到有关机器人运动 的信息。,机器人控制系统,1.1 引言,机器人控制系统的组成1、硬件,机器人控制系统,1.1 引言,机器人控制系统的组成1、硬件单片机应用,机器人控制系统,1.1 引言,机器人控制系统的组成1、硬件运动控制器介绍 运动控制器核心由 ADSP2181 数字信号处理器及其外围部件组成,可以实现高性能的控制计算,同步控制多个运动轴,实现多轴协调运动。应用领域包括机器人、数控机床等。,机器人控制系统,1.1 引言,机器人控制系统的组成1、硬件运动控制器介绍 运动控制器以 PC 为主机,提供标准的 ISA、PCI 及通用的串口总线和数字I/O接口。运动控制器提供高级语言函数库和 Windows 动态连接库,可以实现复杂的控制功能。用户能够将这些控制函数与自己控制系统所需的数据处理、界面显示、用户接口等应用程序模块集成在一起,建造符合特定应用要求的控制系统,以适应各种应用领域的要求。,机器人控制系统,1.1 引言,机器人控制系统的组成1、硬件运动控制器应用,1.1 引言,机器人控制系统,机器人控制系统的组成2、软件,机器人控制系统,1.1 引言,控制过程:示教人员将机器人作业任务中要求手的运动预先教给机器人,在示教的过程中,机器人控制系统就将关节运动状态参数记忆存储在存储器中。当需要机器人工作时,机器人的控制系统就调用存储器中存储的各项数据,驱动关节运动,使机器人再现示教过的手的运动,由此完成要求的作业任务。,1.2 示教再现控制,1.2 示教再现控制,示教方式 记忆过程,示教方式 机器人示教的方式种类繁多,总的可以分为集中示教方式和分离示教方式。1、集中示教方式 将机器人手部在空间的位姿、速度、动作顺序等参数同时进行示教的方式,示教一次即可生成关节运动的伺服指令。2、分离示教方式 将机器人手部在空间的位姿、速度、动作顺序等参数分开单独进行示教的方式,一般需要示教多次才可生成关节运动的伺服指令,但其效果要好于集中示教方式。,1.2 示教再现控制,示教方式 当对用点位(PTP)控制的点焊、搬运机器人进行示教时,可以分开编制程序,且能进行编辑、修改等工作,但是机器人手部在作曲线运动而且位置精度要求较高时,示教点数就会较多,示教时间就会拉长,且在每一个示教点处都要停止和启动,因此就很难进行速度的控制。,1.2 示教再现控制,示教方式 当对用连续轨迹(CP)控制的弧焊、喷漆机器人进行示教时,示教操作一旦开始就不能中途停止,必须不中断的连续进行到底,且在示教途中很难进行局部的修改。示教时,可以是手把手示教,也可通过示教盒示教。,1.2 示教再现控制,2023年8月17日星期四,记忆过程,在示教的过程中,机器人关节运动状态的变化被传感器检测到,经过转换,再通过变换装置送入控制系统,控制系统就将这些数据保存在存储器中,作为再现示教过的手的运动时所需要的关节运动参数数据。,1.2 示教再现控制,1、记忆速度 取决于传感器的检测速度、变换装置的转换速度和控制系统存储器的存储速度。2、记忆容量 取决于控制系统存储器的容量。,记忆过程,1.2 示教再现控制,机器人的运动控制是指机器人手部在空间从一点移动到另一点的过程中或沿某一轨迹运动时,对其位姿、速度和加速度等运动参数的控制。由机器人运动学可知,机器人手部的运动是由各个关节的运动引起的,所以控制机器人手部的运动实际上是通过控制机器人各个关节的运动实现的。,1.3 运动控制,控制过程:根据机器人作业任务中要求的手的运动,通过运动学逆解和数学插补运算得到机器人各个关节运动的位移、速度和加速度,再根据动力学正解得到各个关节的驱动力(矩)。机器人控制系统根据运算得到的关节运动状态参数控制驱动装置,驱动各个关节产生运动,从而合成手在空间的运动,由此完成要求的作业任务。,1.3 运动控制,控制步骤:第一步:关节运动伺服指令的生成,即将机器人手部在空间的位姿变化转换为关节变量随时间按某一规律变化的函数。这一步一般可离线完成。第二步:关节运动的伺服控制,即采用一定的控制算法跟踪执行第一步所生成的关节运动伺服指令,这是在线完成的。,1.3 运动控制,关节运动伺服指令的生成 关节运动的伺服控制1.3.3 机器人语言,1.3 运动控制,关节运动伺服指令的生成1、轨迹规划 机器人关节运动伺服指令的轨迹规划生成方法是指根据作业任务要求的机器人手部在空间的位姿、速度等运动参数的变化,通过机器人运动学方程的求解和各种插补运算等数学方法最终生成相应的关节运动伺服指令。*示教再现控制生产方法示教生成,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程 在对机器人进行轨迹规划时,首先要对机器人的作业任务进行描述,得到机器人手部在空间的位姿变化,然后根据机器人运动学方程及其逆解并通过适当的插补运算求出机器人各个关节的位移、速度等运动参数的变化,再通过动力学运算最终生成机器人关节运动所需的伺服指令。PTP下的轨迹规划是在关节坐标空间进行。CP下的轨迹规划是在直角坐标空间进行。,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划步骤:第一步:由手的位姿得到对应关节的位移;第二步:不同点对应关节位移之间的运动规划;第三步:由关节运动变化计算关节驱动力(矩)。,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第一步:已知机器人起点和终点的位姿得到机器人对应的关节变量的取值。机器人运动学逆解,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值问题:起点的变量取值如何变化到终点的变量取值?,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点 的关节变量取值分析:起点的变量取值如何变化到终点的变量取值?若按线性变化,则有:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点 的关节变量取值分析:起点的变量取值如何变化到终点的变量取值?若加速度无冲击,则有:,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算 设起点到终点的位移变化规律为:则速度为:,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算 关节运动需要满足的约束条件可表示为:位移约束速度约束,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算 由此可得有关系数 的4个线性方程为:,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算 求解该方程组即可得:,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算 将其代入下式:可得该关节变量随时间的变化规律。此函数表达式适用于关节起始点和终止点速度为零的运动情况。,1.3 运动控制,关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算 如果要求在路径点处的加速度连续,则可用两条三次曲线在路径点处连接起来,拼凑成所需要的运动轨迹,这时路径点处的速度不仅要连续,而且加速度也要连续。,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算 设A点到C点的关节变量变化为:设 C点到B点的关节变量变化为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算 三点处的位移约束方程:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算 起点和终点处的速度约束方程:中间点处的速度和加速度约束方程:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和 终点的关节变量取值B、多点的三次多项式插值运算 联立上述8个线性方程,若令,则方程组的解为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算 将其代入以下两式:可得两段曲线,将其拼接起来,就是该关节变量随时间的变化规律。,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算 设起点到终点的位移变化规律为:则速度和加速度为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算 约束条件线性方程组为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算 求解该方程组即可得:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算 将其代入下式:可得该关节变量随时间的变化规律,此函数表达式可适用于已知关节起始点和终止点速度、加速度的运动情况。,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第三步:已知机器人关节的运动速度和加速度 由此可得关节的驱动力(矩)。,1.3 运动控制,机器人动力学正解,实现方法,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划 在关节坐标空间进行轨迹规划时,要注意关节运动时加速度的突变引起的刚性冲击,严重时可使机器人产生较大的振动,而且在关节坐标空间内规划的直线只表示它是某个关节变量的线性函数,当所有关节变量都规划为直线时,并不代表机器人手部在直角坐标空间中的路径就是直线。关节坐标空间的轨迹规划是直角坐标空间轨迹规划的基础。,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划步骤:第一步:连续轨迹离散化。第二步:PTP下的轨迹规划。,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化解决问题:离散点处的位置和姿态。,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算 对于机器人手部在空间的位置变化,用时间的参数方程可表示为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算 为了保证离散后的路径点均匀连续且便于控制,一般利用弧长公式:可将时间转换为弧长的函数:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算 假设起点所对应的弧长为,则路径就可表示为以弧长为参数的方程:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算 将整个路径以适当的弧长单位 等分为n段,则任一点处的位置为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算 由此可得任意点处的位置为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算设整个路径的起始点A和终止点B的姿态矩阵为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算 若将机器人的手部姿态化成绕三个坐标轴的旋转变换,即先绕轴x旋转角度,再绕轴y旋转角度,最后绕轴z旋转角度,由坐标变换左乘原则得:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算 已知,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算 当给定R的值,则有:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算 根据以上计算公式,由路径两个端点A、B的姿态矩阵即可得机器人手部在整个路径上绕三个坐标轴的旋转角度变化为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算 由作业任务的要求可将其用时间t的参数方程表示为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算 同样利用弧长公式将时间化为弧长的函数,并以等间隔弧长等分整个路径,则任一离散点处绕三个坐标轴的旋转角度为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算 由此可得任一离散点处的位姿为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化 根据以上计算,最终可得离散点n处的位姿为:,1.3 运动控制,1.3.1 关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第二步:PTP下的轨迹规划 有了各个离散点处的位姿,就可以用PTP下的轨迹规划实现方法,从而完成CP下的轨迹规划。至此,在直角坐标空间中两点之间连续路径的轨迹规划就全部完成了。,1.3 运动控制,1.3.2 关节运动的伺服控制 多关节的工业机器人控制系统往往可以分解成若干个带耦合的单关节控制系统。如果耦合是弱耦合,则每个关节的控制可近似为独立的,看成是每个关节由一个简单的伺服系统单独驱动。,1.3 运动控制,1.3.2 关节运动的伺服控制 机器人关节运动的伺服指令生成以后,就要采用一定的控制算法对关节的运动进行伺服控制,常用的控制方法有以下几种:1、基于前馈和反馈的计算力矩的控制方法注意:前馈指的是加速度,反馈指的是速度和位移。已知多自由度机器人的动力学模型为:且各项 均可精确计算。,1.3 运动控制,1.3.2 关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法 具有前馈补偿的闭环伺服系统的性能取决于本体和控制对象的动力学模型的估算准确性。当得不到准确的动力学模型或是环境变动超出系统反馈补偿范围时,控制性能就会改变。,1.3 运动控制,1.3.2 关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法 选取控制规律为:式中,关节控制的输入力(矩)向量;关节速度误差反馈系数;关节位置误差反馈系数;希望跟踪的关节速度和位移;实际的关节速度和位移。,1.3 运动控制,1.3.2 关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法 假定选取,则有:由于惯性矩阵 可逆,所以可得误差微分方程为:式中,关节位移误差;分别为关节速度和加速度的误差。只要选取合适的 和 值,就可使关节变量的各项误差渐趋于零。,1.3 运动控制,1.3.2 关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法 这种控制方法是基于关节变量加速度的前馈和速度、位移误差的反馈以及对耦合力项和重力项的补偿而实现的,其考虑的主要是位移和速度的误差对惯性力项的影响,所以适合于低速、重载的机器人。它的缺点是计算 的工作量大,且控制的精度主要依赖于机器人动力学模型的精确度。,1.3 运动控制,1.3.2 关节运动的伺服控制2、线性多变量控制方法 线性多变量控制方法是利用机器人在工作点p0附近的线性模型工作的。对任一多自由度机器人,其在工作点处的初始关节控制力(矩)向量与该点处对应的关节位移、速度和加速度之间的动力学模型为:,1.3 运动控制,1.3.2 关节运动的伺服控制2、线性多变量控制方法 当机器人在工作点处有一微小扰动时,上述动力学模型就变为:式中,关节控制输入力(矩)的微小变化;关节位移的微小变化;关节速度的微小变化;关节加速度的微小变化。,1.3 运动控制,1.3.2 关节运动的伺服控制2、线性多变量控制方法 在工作点附近应用台劳级数将 和 展开,并忽略展开式中 及 的二阶及二阶以上的各次高阶项,且假定它们足够小,则上式可改写为:,1.3 运动控制,1.3.2 关节运动的伺服控制2、线性多变量控制方法 若令则得:该式即为机器人在工作点附近的增量线性定常模型。,1.3 运动控制,1.3.2 关节运动的伺服控制2、线性多变量控制方法 若再令、则得:对耦合线性定常微分方程应用以下的反馈控制律:式中,关节位移误差;关节速度误差;,反馈的关节速度和位移;,设定的关节速度和位移。,1.3 运动控制,1.3.2 关节运动的伺服控制2、线性多变量控制方法 对控制律两边求拉普拉氏变换可得则其传递函数为:由此可以看出,线性多变量控制选用的是一个比例微分(PD)控制器,其考虑的主要是位移和速度的误差对耦合力项和重力项的影响,所以适合于高速、轻载机器人的控制。,1.3 运动控制,1.3.2 关节运动的伺服控制3、自适应控制 自适应控制就是指机器人根据传感器对外界环境和对象物的感知,利用人工智能中的各种学习、推理和决策技术,对外界信息进行准确处理,然后对自己行为作出自主决策以自动地完成任务的控制方式。,1.3 运动控制,1.3.2 关节运动的伺服控制3、自适应控制 理想自适应控制是在基于模型控制的基础上,增添自适应控制规律,不断观测机器人各个关节的状态和伺服误差,驱动自适应算法,重新调整或更新非线性模型参数,直至伺服误差消失为止。由此可见,这种控制方法对机器人控制系统的动态性能具有自我调整功能,并且可以达到全局的稳定。,1.3 运动控制,1.3.2 关节运动的伺服控制4、自学习控制 自学习控制是近年来提出的一种智能控制方法,它可利用结构简单的控制器实现高精度的控制。目前人们提出的自学习控制方案主要有:迭代自学习控制重复自学习控制。,1.3 运动控制,1.3.2 关节运动的伺服控制4、自学习控制迭代自学习控制:迭代自学习控制是以数学模型模仿人类在每次操作均在规定的时间内结束,且在期望值给定的条件下重复进行一件同样的工作为基本思路,若每次操作开始时系统的初始值已知,每次输出值可测,则输出与输入的误差信号就可作为下一次的控制输入,用简单的迭代律更新存入存储装置的控制输入,从而改善系统在输入作用下的输出,直至获得期望的控制结果。,1.3 运动控制,1.3.2 关节运动的伺服控制4、自学习控制重复自学习控制:重复自学习控制同样适用于进行重复操作的机器人,但它与迭代自学习控制不同,它不是简单的生成期望的前馈控制信号,而是利用“内模原理”,在稳定的闭环系统内设置一个可以产生与参考输入同周期的内部模型,从而使系统实现对外周期信号的跟踪。,1.3 运动控制,1.3.3 机器人语言 世界上最早开展机器人语言研究的是美国斯坦福大学、麻省理工学院以及英国的一些大学,他们在20世纪60年代初期就着手这方面的工作。1973年斯坦福大学人工智能研究室研制出实用的WAVE 语言,这是第一个机器人语言。WAVE 语言具有动作的描述、力和接触的控制,配合视觉系统可以完成手眼协调编程。,1.3 运动控制,1.3.3 机器人语言 之后斯坦福大学人工智能研究室在WAVE语言的基础上,又开发出了AL 语言。AL语言不仅能用来描述机器人手爪的操作,而且还能记忆作业环境以及环境内各个对象物之间的相对位置,可以用来控制多台机器人协调工作。,1.3 运动控制,1.3.3 机器人语言 美国 IBM 公司在机器人语言研究上作了很多工作,也取得过不少成果。该公司在20世纪70年代中期开发了应用于直角坐标机器人上的EMILY和ML语言,能用于机器人的装配作业。此后又研制出用于装配机器人的AUTOPASS 语言,这是一种比较高级的机器人语言,它可以对几何模型类任务进行半自动编程。在1982年,IBM公司又推出了AML语言,目前,AML 语言已作为商业化产品用于 IBM 机器人的控制。,1.3 运动控制,1.3.3 机器人语言 1979年,美国Unimation公司推出了VAL语言,主要用于PUMA和Unimate等系列的机器人上,是一种比较成功的机器人语言。VAL 语言是在BASIC 语言的基础上扩展的机器人语言,它具有BASIC语言的结构,比较简单,易于编程,为工业机器人所适用。1984年该公司推出VAL-语言,它是在VAL 语言的基础上,增加开发利用传感器信息进行运动控制和数据处理以及通讯等功能。现在VAL语言已经升级为V+语言,性能得到了更大的提高。,1.3 运动控制,1.3.3 机器人语言 20世纪80年代初,美国 Automatix 公司开发了 RAIL 语言,它能利用视觉传感器信息,进行检测零件作业。同期,麦道公司研制出了MCL语言,它是在数控语言APT基础上发展起来的机器人语言。MCL 语言应用于由机床及机器人组成的柔性加工单元的编程,其功能较强。,1.3 运动控制,1.3.3 机器人语言 到目前为止,国内外尚无通用的机器人语言,虽然现有的品种繁多,仅在美、日、西欧实用的机器人语言就至少有数十种。但即使这样,新的机器人语言还不断出现。究其原因,就在于目前开发的机器人语言绝大多数是根据专用机器人而单独开发的,存在着通用性差的问题。,1.3 运动控制,1.3.3 机器人语言 有的国家正尝试在数控机床通用语言的基础上,形成统一的机器人语言,但由于机器人控制不仅要考虑机器人本身的运动,还要考虑机器人与配套设备间的协调通讯以及多个机器人之间的协调工作,因而技术难度非常大,目前尚处于研究探索阶段。,1.3 运动控制,1.3.3 机器人语言1、机器人语言的特点(1)机器人语言描述的内容主要是机器人的作业动 作、工作环境、操作内容、工艺和过程。(2)机器人语言逐渐向结构简明、概念统一和容易 扩展等方向发展。(3)机器人语言越来越接近自然语言,并且具有良 好的对话性。,1.3 运动控制,1.3.3 机器人语言2、机器人语言的分类(1)根据机器人语言对作业任务描述水平的高低可 分为动作级、对象级和任务级三大类。动作级 动作级的机器人语言是以机器人手部的运动作为作业描述的中心,将机器人作业任务中的每一步动作都用命令语句来表述,每一条语句对应于一个机器人动作。若动作的目的是移动某一物体,基本运动语句形式为:MOVE TO 目的地 这一级语言的典型代表是 VAL 语言。,1.3 运动控制,1.3.3 机器人语言2、机器人语言的分类对象级 对象级的机器人语言是以近似自然语言的方式,按照作业对象的状态变化来进行程序设计,是以描述操作物体之间关系为中心的语言。由操作者给出作业本身的顺序过程的描述及环境模型的描述,机器人即可自行决定如何动作。这种语言可以利用传感器信息来修改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。这一级语言的代表是AUTOPASS语言。,1.3 运动控制,1.3.3 机器人语言2、机器人语言的分类任务级 在任务级语言环境下,使用者只要按某种原则给出作业起始状态和作业目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,最后自动生成机器人详细的动作、顺序和相应数据。因此,这类语言必须具有判断环境、描述环境的能力,同时,也必须有自动完成许多规划任务的能力。这一级语言现仍处于基础研究阶段,还有许多问题没有解决。,1.3 运动控制,1.3.3 机器人语言2、机器人语言的分类(2)根据机器人语言的实际应用水平可分为动作指示 语言和作业指示语言两大类。动作指示语言 机器人的动作指示语言是直接表述机器人臂部、腕部、手部等动作控制的语言系统,它相当于上面所述的动作级机器人语言。,1.3 运动控制,1.3.3 机器人语言2、机器人语言的分类(2)根据机器人语言的实际应用水平可分为动作指示 语言和作业指示语言两大类。作业指示语言 机器人的作业指示语言是仅表述机器人(如装配机器人)的某种操作过程的语言系统,它相当于上面所述的对象级机器人语言。,1.3 运动控制,1.3.3 机器人语言3、机器人语言的处理过程 当用机器人语言编写的程序对机器人进行控制时,它的处理过程主要有以下几个方面:(1)分析程序 分析程序要分析的对象是工作人员用机器人语言编写的作业程序。分析程序首先进行语法检查,并将程序中的错误指示出来。此外,分析程序还能对数据的维数和形式进行检查。一旦消除了所有的语法错误,作业程序就可以进行下一步的处理。,1.3 运动控制,1.3.3 机器人语言3、机器人语言的处理过程(2)编译程序 编译程序就是对作业程序的语义进行检查,它能检验有没有发出对存取不可能地址的移动命令和有没有使机器人手部过高速度的移动等。编译程序还要进行一些轨迹计算,即在编译作业程序时模拟机器人手部的位置和各个变量的值,跟踪其与坐标系相结合的状态,然后根据这个值进行轨迹计算,最后得到轨迹数据。编译程序还可将作业程序变换成实行解释程序可以解释的代码。,1.3 运动控制,1.3.3 机器人语言3、机器人语言的处理过程(3)实时解释程序 实时解释程序是将编译程序生成的代码实时解释并执行。实现动作结合时,将必要的轨迹数据给予伺服模块,通过状态监视模块监视它的动作。(4)伺服模块 伺服模块的作用是根据轨迹数据,通过关节位移和速度等所组成的反馈控制系统来实现被指定的运动。,1.3 运动控制,1.3.3 机器人语言3、机器人语言的处理过程(5)状态监视模块 状态监视模块的作用是处理各种传感器的反馈信号,抽出必要的信息交给实行解释程序。以上只是机器人语言处理系统的梗概,完整的系统还应包括生成作业程序的编辑程序、排除错误的调试程序和输出环境数据的示教系统程序等。,1.3 运动控制,1.3.3 机器人语言4、VAL语言 1979年美国Unimation公司推出的VAL语言,是在BASIC语言的基础上扩展的机器人语言,它具有BASlC语言的结构,在此基础上添加了机器人编程指令和VAL监控操作系统。操作系统包括用户交联、编辑和磁盘管理等部分。VAL语言适用于机器人两级控制系统,上级机是LSI1123小型计算机,机器人各关节则由6503微处理器控制。上级机还可以和用户终端、示教盒、I/O模块和机器视觉模块等交联。,1.3 运动控制,1.3.3 机器人语言4、VAL语言 VAL语言在调试过程中可以和BASIC语言以及6503汇编语言联合使用。VAL语言目前主要用在各种类型的PUMA机器人以及UNIMATE2000、UNIMATE 4000系列机器人上。在VAL语言中,机器人终端位置和姿态用齐次变换表征。当精度要求较高时,可以用精确点的数据表征终端位置和姿态。,1.3 运动控制,1.3.3 机器人语言4、VAL语言 VAL语言指令分为二类:程序指令和监控指令。(1)程序指令运动指令 MOVE 关节插补运动。MOVES 苗卡尔直线运动。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(1)程序指令运动指令 可以在运动过程中进行手爪的控制,如 MOVE PI,75 该指令产生从目前位置到PI点的关节插补运动,并在运动过程中,手爪打开75mm。相应的笛卡尔直线插补运动指令为:MOVES PI,75,1.3 运动控制,1.3.3 机器人语言4、VAL语言(1)程序指令运动指令 APPRO 表示终端从当前位置以关节插补方式移动到与目标点在z轴方向上相隔一定距离的处。APPROS 含意同APPRO,但终端移动方式为直线运动。DEPART 或 DEPARTS 表示终端从当前位置以关节插补形式(或直线运动)在z轴方向移动移动一段距离。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(1)程序指令手爪控制指令 OPEN,CLOSE 分别使手爪全部张开和全部闭合,并且在机器人下个运动过程中执行。OPENI,CLOSEI 表示立即执行,执行完后,再转下一个指令。GRASP 使手爪立即闭合,并检查最后的开启量是否满足给定的要求。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(1)程序指令程序控制指令 GOTO 无条件转移指令。GOSUB 子程序调用指令。位姿控制指令 RIGHTY 右手;LEFTY 左手;ABOVE 上肘;BELOW 下肘;FLIP 上腕;NOFLIP 下腕。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(1)程序指令赋值指令 HERE 把当前的位置赋给定位变量。SET 把变量2的值给1。控制方式指令 COARSEALWAYS 在伺服控制中允许较大的误差。FIWDALWAYS 在伺服控制中允许比较小的误差。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(2)监控指令定义位置、姿态 POINT 终端位置、姿态的齐次变换或以 关节位置表征的精确点赋值。DPOINT 取消已赋值。BASE 机器人基准坐标系位置。TOOI 工具终端相对于工具支承端面的位 置、姿态赋值。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(2)监控指令程序编辑指令 EDIT 编辑指令进入编辑状态后,可使用 各种编辑指令字。列表指令 DIRECTORY 显示存储器中的全部用户程序名。LISTP 显示用户的全部程序。LISTL 显示位置变量值。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(2)监控指令存储指令 STOREP 在磁盘文件内,存储指定程序。LOADP 将文件中的程序送入内存。控制程序指令 ABORT 紧急停止。DO 执行单指令。EXECUTE 按给定次数执行用户程序。NEXT 控制程序单步执行。,1.3 运动控制,1.3.3 机器人语言4、VAL语言(2)监控指令系统状态控制 STATUS 显示机器人状态。FREE 显示当前未使用的存储容量。ZERO 清除全部用户程序和定义的位置。,1.3 运动控制,1.3.3 机器人语言4、VAL语言 VAL语言编程举例 任务要求:将工件从传送线上拿到加工位置。设程序名为WORK。进入编辑状态键入:EDIT WORKPROGRAM WORK,1.3 运动控制,1.3.3 机器人语言4、VAL语言 VAL语言编程举例输入源程序1?OPEN 打开手指,同时亦向下步;2?APPRO TAKE,40 以关节插补运动移至 T