机器人控制技术_第1页
机器人控制技术_第2页
机器人控制技术_第3页
机器人控制技术_第4页
机器人控制技术_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人控制技术课件第一页,共一百二十八页,编辑于2023年,星期日1.1引言1.1.1机器人控制特点1.1.2机器人控制方式1.1.3机器人控制功能1.1.4机器人控制系统第二页,共一百二十八页,编辑于2023年,星期日1.1.1机器人控制特点1、大量的运动学、动力学运算,涉及矢量、矩阵、坐标变换和微积分等运算。

2、机器人的控制不仅是非线性的,而且是多变量耦合的。

3、机器人的控制还必须解决优化、决策的问题。1.1引言第三页,共一百二十八页,编辑于2023年,星期日

机器人的控制方式主要有以下两种分类:

1、按机器人手部在空间的运动方式分:

(1)点位控制方式——PTP

点位控制又称为PTP控制,其特点是只控制机器人手部在作业空间中某些规定的离散点上的位姿。这种控制方式的主要技术指标是定位精度和运动所需的时间。常常被应用在上下料、搬运、点焊和在电路板上插接元器件等定位精度要求不高且只要求机器人在目标点处保持手部具有准确位姿的作业中。1.1.2机器人控制方式1.1引言第四页,共一百二十八页,编辑于2023年,星期日1、按机器人手部在空间的运动方式分:

(2)连续轨迹控制方式——CP

连续轨迹控制又称为CP控制,其特点是连续的控制机器人手部在作业空间中的位姿,要求其严格的按照预定的路径和速度在一定的精度范围内运动。这种控制方式的主要技术指标机器人手部位姿的轨迹跟踪精度及平稳性。通常弧焊、喷漆、去毛边和检测作业的机器人都采用这种控制方式。有的机器人在设计控制系统时,上述两种控制方式都具有,如对进行装配作业的机器人的控制等。1.1.2机器人控制方式1.1引言第五页,共一百二十八页,编辑于2023年,星期日2、按机器人控制是否带反馈分:

(1)非伺服型控制方式非伺服型控制方式是指未采用反馈环节的开环控制方式。在这种控制方式下,机器人作业时严格按照在进行作业之前预先编制的控制程序来控制机器人的动作顺序,在控制过程中没有反馈信号,不能对机器人的作业进展及作业的质量好坏进行监测,因此,这种控制方式只适用于作业相对固定、作业程序简单、运动精度要求不高的场合,它具有费用省,操作、安装、维护简单的优点。1.1.2机器人控制方式1.1引言第六页,共一百二十八页,编辑于2023年,星期日2、按机器人控制是否带反馈分:

(2)伺服型控制方式伺服型控制方式是指采用了反馈环节的闭环控制方式。这种控制方式的特点是在控制过程中采用内部传感器连续测量机器人的关节位移、速度、加速度等运动参数,并反馈到驱动单元构成闭环伺服控制。如果是适应型或智能型机器人的伺服控制,则增加了机器人用外部传感器对外界环境的检测,使机器人对外界环境的变化具有适应能力,从而构成总体闭环反馈的伺服控制方式。1.1.2机器人控制方式1.1引言第七页,共一百二十八页,编辑于2023年,星期日1、示教再现功能示教再现功能是指示教人员预先将机器人作业的各项运动参数预先教给机器人,在示教的过程中,机器人控制系统的记忆装置就将所教的操作过程自动地记录在存储器中。当需要机器人工作时,机器人的控制系统就调用存储器中存储的各项数据,使机器人再现示教过的操作过程,由此机器人即可完成要求的作业任务。机器人的示教再现功能易于实现,编程方便,在机器人的初期得到了较多的应用。

1.1.3机器人控制功能1.1引言第八页,共一百二十八页,编辑于2023年,星期日2、运动控制功能运动控制功能是指通过对机器人手部在空间的位姿、速度、加速度等项的控制,使机器人的手部按照作业的要求进行动作,最终完成给定的作业任务。它与示教再现功能的区别:在示教再现控制中,机器人手部的各项运动参数是由示教人员教给它的,其精度取决于示教人员的熟练程度。而在运动控制中,机器人手部的各项运动参数是由机器人的控制系统经过运算得来的,且在工作人员不能示教的情况下,通过编程指令仍然可以控制机器人完成给定的作业任务。1.1.3机器人控制功能1.1引言第九页,共一百二十八页,编辑于2023年,星期日

由于机器人的控制过程中涉及大量的坐标变换和插补运算以及较低层的实时控制,所以,目前的机器人控制系统在结构上大多数采用分层结构的微型计算机控制系统,通常采用的是两级计算机伺服控制系统。伺服驱动人机对话内部传感器通信一级(上位机)微型计算机数学运算数据存储二级(下位机)单片机运动控制器驱动装置关节运动手的运动外部传感器局部反馈全局反馈1.1.4机器人控制系统1.1引言第十页,共一百二十八页,编辑于2023年,星期日

机器人控制系统具体的工作过程是:主控计算机接到工作人员输入的作业指令后,首先分析解释指令,确定手的运动参数,然后进行运动学、动力学和插补运算,最后得出机器人各个关节的协调运动参数。这些参数经过通信线路输出到伺服控制级作为各个关节伺服控制系统的给定信号。关节驱动器将此信号D/A转换后驱动各个关节产生协调运动,并通过传感器将各个关节的运动输出信号反馈回伺服控制级计算机形成局部闭环控制,从而更加精确的控制机器人手部在空间的运动(作业任务要求的)。在控制过程中,工作人员可直接监视机器人的运动状态,也可从显示器等输出装置上得到有关机器人运动的信息。1.1.4机器人控制系统1.1引言第十一页,共一百二十八页,编辑于2023年,星期日

机器人控制系统的组成1、硬件1.1.4机器人控制系统1.1引言第十二页,共一百二十八页,编辑于2023年,星期日

机器人控制系统的组成1、硬件——单片机应用

1.1.4机器人控制系统1.1引言第十三页,共一百二十八页,编辑于2023年,星期日

机器人控制系统的组成1、硬件——运动控制器介绍运动控制器核心由ADSP2181数字信号处理器及其外围部件组成,可以实现高性能的控制计算,同步控制多个运动轴,实现多轴协调运动。应用领域包括机器人、数控机床等。1.1.4机器人控制系统1.1引言第十四页,共一百二十八页,编辑于2023年,星期日

机器人控制系统的组成1、硬件——运动控制器介绍运动控制器以PC为主机,提供标准的ISA、PCI及通用的串口总线和数字I/O接口。运动控制器提供高级语言函数库和Windows动态连接库,可以实现复杂的控制功能。用户能够将这些控制函数与自己控制系统所需的数据处理、界面显示、用户接口等应用程序模块集成在一起,建造符合特定应用要求的控制系统,以适应各种应用领域的要求。1.1.4机器人控制系统1.1引言第十五页,共一百二十八页,编辑于2023年,星期日

机器人控制系统的组成1、硬件——运动控制器应用

1.1引言1.1.4机器人控制系统第十六页,共一百二十八页,编辑于2023年,星期日

机器人控制系统的组成2、软件1.1.4机器人控制系统1.1引言第十七页,共一百二十八页,编辑于2023年,星期日控制过程:示教人员将机器人作业任务中要求手的运动预先教给机器人,在示教的过程中,机器人控制系统就将关节运动状态参数记忆存储在存储器中。当需要机器人工作时,机器人的控制系统就调用存储器中存储的各项数据,驱动关节运动,使机器人再现示教过的手的运动,由此完成要求的作业任务。

作业任务手的运动关节产生运动关节运动参数控制系统驱动装置关节产生运动示教记忆再现驱动反馈1.2示教再现控制第十八页,共一百二十八页,编辑于2023年,星期日1.2示教再现控制1.2.1示教方式1.2.2记忆过程第十九页,共一百二十八页,编辑于2023年,星期日1.2.1示教方式机器人示教的方式种类繁多,总的可以分为集中示教方式和分离示教方式。

1、集中示教方式将机器人手部在空间的位姿、速度、动作顺序等参数同时进行示教的方式,示教一次即可生成关节运动的伺服指令。2、分离示教方式将机器人手部在空间的位姿、速度、动作顺序等参数分开单独进行示教的方式,一般需要示教多次才可生成关节运动的伺服指令,但其效果要好于集中示教方式。

1.2示教再现控制第二十页,共一百二十八页,编辑于2023年,星期日1.2.1示教方式当对用点位(PTP)控制的点焊、搬运机器人进行示教时,可以分开编制程序,且能进行编辑、修改等工作,但是机器人手部在作曲线运动而且位置精度要求较高时,示教点数就会较多,示教时间就会拉长,且在每一个示教点处都要停止和启动,因此就很难进行速度的控制。1.2示教再现控制第二十一页,共一百二十八页,编辑于2023年,星期日1.2.1示教方式当对用连续轨迹(CP)控制的弧焊、喷漆机器人进行示教时,示教操作一旦开始就不能中途停止,必须不中断的连续进行到底,且在示教途中很难进行局部的修改。示教时,可以是手把手示教,也可通过示教盒示教。1.2示教再现控制第二十二页,共一百二十八页,编辑于2023年,星期日19六月20231.2.2记忆过程示教关节产生运动变换装置控制系统传感装置存储器检测转换保存

在示教的过程中,机器人关节运动状态的变化被传感器检测到,经过转换,再通过变换装置送入控制系统,控制系统就将这些数据保存在存储器中,作为再现示教过的手的运动时所需要的关节运动参数数据。

1.2示教再现控制第二十三页,共一百二十八页,编辑于2023年,星期日示教关节产生运动变换装置控制系统传感装置存储器检测转换保存1、记忆速度取决于传感器的检测速度、变换装置的转换速度和控制系统存储器的存储速度。2、记忆容量取决于控制系统存储器的容量。

1.2.2记忆过程1.2示教再现控制第二十四页,共一百二十八页,编辑于2023年,星期日

机器人的运动控制是指机器人手部在空间从一点移动到另一点的过程中或沿某一轨迹运动时,对其位姿、速度和加速度等运动参数的控制。由机器人运动学可知,机器人手部的运动是由各个关节的运动引起的,所以控制机器人手部的运动实际上是通过控制机器人各个关节的运动实现的。1.3运动控制第二十五页,共一百二十八页,编辑于2023年,星期日控制过程:根据机器人作业任务中要求的手的运动,通过运动学逆解和数学插补运算得到机器人各个关节运动的位移、速度和加速度,再根据动力学正解得到各个关节的驱动力(矩)。机器人控制系统根据运算得到的关节运动状态参数控制驱动装置,驱动各个关节产生运动,从而合成手在空间的运动,由此完成要求的作业任务。

驱动动力学正解运动学逆解作业任务手的运动关节位移、速度、加速度关节驱动力(矩)驱动装置关节产生运动控制系统反馈1.3运动控制第二十六页,共一百二十八页,编辑于2023年,星期日控制步骤:

第一步:关节运动伺服指令的生成,即将机器人手部在空间的位姿变化转换为关节变量随时间按某一规律变化的函数。这一步一般可离线完成。

第二步:关节运动的伺服控制,即采用一定的控制算法跟踪执行第一步所生成的关节运动伺服指令,这是在线完成的。第一步第二步驱动动力学正解运动学逆解作业任务手的运动关节位移、速度、加速度关节驱动力(矩)驱动装置关节产生运动控制系统反馈1.3运动控制第二十七页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成1.3.2关节运动的伺服控制1.3.3机器人语言1.3运动控制第二十八页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成1、轨迹规划机器人关节运动伺服指令的轨迹规划生成方法是指根据作业任务要求的机器人手部在空间的位姿、速度等运动参数的变化,通过机器人运动学方程的求解和各种插补运算等数学方法最终生成相应的关节运动伺服指令。*示教再现控制生产方法——示教生成

1.3运动控制第二十九页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程在对机器人进行轨迹规划时,首先要对机器人的作业任务进行描述,得到机器人手部在空间的位姿变化,然后根据机器人运动学方程及其逆解并通过适当的插补运算求出机器人各个关节的位移、速度等运动参数的变化,再通过动力学运算最终生成机器人关节运动所需的伺服指令。PTP下的轨迹规划是在关节坐标空间进行。CP下的轨迹规划是在直角坐标空间进行。

1.3运动控制第三十页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划步骤:第一步:由手的位姿得到对应关节的位移;第二步:不同点对应关节位移之间的运动规划;第三步:由关节运动变化计算关节驱动力(矩)。1.3运动控制第三十一页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第一步:已知机器人起点和终点的位姿得到机器人对应的关节变量的取值。

机器人运动学逆解实现方法1.3运动控制第三十二页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值问题:起点的变量取值如何变化到终点的变量取值?t01.3运动控制第三十三页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值分析:起点的变量取值如何变化到终点的变量取值?若按线性变化,则有:t0t001.3运动控制第三十四页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值分析:起点的变量取值如何变化到终点的变量取值?若加速度无冲击,则有:t0t001.3运动控制第三十五页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算设起点到终点的位移变化规律为:则速度为:1.3运动控制第三十六页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算关节运动需要满足的约束条件可表示为

:位移约束速度约束1.3运动控制第三十七页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算由此可得有关系数的4个线性方程为:1.3运动控制第三十八页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算求解该方程组即可得:

1.3运动控制第三十九页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值A、三次多项式插值运算将其代入下式:可得该关节变量随时间的变化规律。此函数表达式适用于关节起始点和终止点速度为零的运动情况。1.3运动控制第四十页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算如果要求在路径点处的加速度连续,则可用两条三次曲线在路径点处连接起来,拼凑成所需要的运动轨迹,这时路径点处的速度不仅要连续,而且加速度也要连续。ACBt01t021.3运动控制第四十一页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算设A点到C点的关节变量变化为:设C点到B点的关节变量变化为:ACBt10t201.3运动控制第四十二页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算三点处的位移约束方程:

1.3运动控制第四十三页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算起点和终点处的速度约束方程:中间点处的速度和加速度约束方程:

1.3运动控制第四十四页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算联立上述8个线性方程,若令,则方程组的解为:

1.3运动控制第四十五页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值B、多点的三次多项式插值运算将其代入以下两式:可得两段曲线,将其拼接起来,就是该关节变量随时间的变化规律。1.3运动控制第四十六页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算设起点到终点的位移变化规律为:则速度和加速度为:1.3运动控制第四十七页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算约束条件线性方程组为:1.3运动控制第四十八页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算求解该方程组即可得:

1.3运动控制第四十九页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第二步:已知机器人起点和终点的关节变量取值C、五次多项式插值运算将其代入下式:可得该关节变量随时间的变化规律,此函数表达式可适用于已知关节起始点和终止点速度、加速度的运动情况。1.3运动控制第五十页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划第三步:已知机器人关节的运动速度和加速度由此可得关节的驱动力(矩)。1.3运动控制机器人动力学正解实现方法第五十一页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(1)PTP下的轨迹规划在关节坐标空间进行轨迹规划时,要注意关节运动时加速度的突变引起的刚性冲击,严重时可使机器人产生较大的振动,而且在关节坐标空间内规划的直线只表示它是某个关节变量的线性函数,当所有关节变量都规划为直线时,并不代表机器人手部在直角坐标空间中的路径就是直线。

关节坐标空间的轨迹规划是直角坐标空间轨迹规划的基础。

1.3运动控制第五十二页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划步骤:第一步:连续轨迹离散化。第二步:PTP下的轨迹规划。

AB1234567891.3运动控制第五十三页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化解决问题:离散点处的位置和姿态。

AB1234567891.3运动控制第五十四页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算对于机器人手部在空间的位置变化,用时间的参数方程可表示为:

AB1234567891.3运动控制第五十五页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算为了保证离散后的路径点均匀连续且便于控制,一般利用弧长公式:可将时间转换为弧长的函数:AB1234567891.3运动控制第五十六页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算假设起点所对应的弧长为,则路径就可表示为以弧长为参数的方程:AB1234567891.3运动控制第五十七页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算将整个路径以适当的弧长单位等分为n段,则任一点处的位置为:AB1234567891.3运动控制第五十八页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化A:离散点处的位置计算由此可得任意点处的位置为:AB1234567891.3运动控制第五十九页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算设整个路径的起始点A和终止点B的姿态矩阵为:

AB123456789

1.3运动控制第六十页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算若将机器人的手部姿态化成绕三个坐标轴的旋转变换,即先绕轴x旋转α角度,再绕轴y旋转β角度,最后绕轴z旋转θ角度,由坐标变换左乘原则得:AB1234567891.3运动控制第六十一页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算已知AB1234567891.3运动控制第六十二页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算当给定R的值,则有:AB1234567891.3运动控制第六十三页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算根据以上计算公式,由路径两个端点A、B的姿态矩阵即可得机器人手部在整个路径上绕三个坐标轴的旋转角度变化为:AB1234567891.3运动控制第六十四页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算由作业任务的要求可将其用时间t的参数方程表示为:AB1234567891.3运动控制第六十五页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算同样利用弧长公式将时间化为弧长的函数,并以等间隔弧长等分整个路径,则任一离散点处绕三个坐标轴的旋转角度为:AB1234567891.3运动控制第六十六页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化B:离散点处的姿态计算由此可得任一离散点处的位姿为:AB1234567891.3运动控制第六十七页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第一步:连续轨迹离散化根据以上计算,最终可得离散点n处的位姿为:AB1234567891.3运动控制第六十八页,共一百二十八页,编辑于2023年,星期日1.3.1关节运动伺服指令的生成2、轨迹规划的实现过程(2)CP下的轨迹规划第二步:PTP下的轨迹规划有了各个离散点处的位姿,就可以用PTP下的轨迹规划实现方法,从而完成CP下的轨迹规划。至此,在直角坐标空间中两点之间连续路径的轨迹规划就全部完成了。AB1234567891.3运动控制第六十九页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制多关节的工业机器人控制系统往往可以分解成若干个带耦合的单关节控制系统。如果耦合是弱耦合,则每个关节的控制可近似为独立的,看成是每个关节由一个简单的伺服系统单独驱动。1.3运动控制第七十页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制机器人关节运动的伺服指令生成以后,就要采用一定的控制算法对关节的运动进行伺服控制,常用的控制方法有以下几种:

1、基于前馈和反馈的计算力矩的控制方法注意:前馈指的是加速度,反馈指的是速度和位移。已知多自由度机器人的动力学模型为:且各项均可精确计算。1.3运动控制第七十一页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法具有前馈补偿的闭环伺服系统的性能取决于本体和控制对象的动力学模型的估算准确性。当得不到准确的动力学模型或是环境变动超出系统反馈补偿范围时,控制性能就会改变。1.3运动控制第七十二页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法选取控制规律为:式中,——关节控制的输入力(矩)向量;——关节速度误差反馈系数; ——关节位置误差反馈系数;——希望跟踪的关节速度和位移;——实际的关节速度和位移。1.3运动控制第七十三页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法假定选取,则有:由于惯性矩阵可逆,所以可得误差微分方程为:式中,——关节位移误差;分别为关节速度和加速度的误差。只要选取合适的和值,就可使关节变量的各项误差渐趋于零。1.3运动控制第七十四页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制1、基于前馈和反馈的计算力矩的控制方法这种控制方法是基于关节变量加速度的前馈和速度、位移误差的反馈以及对耦合力项和重力项的补偿而实现的,其考虑的主要是位移和速度的误差对惯性力项的影响,所以适合于低速、重载的机器人。它的缺点是计算的工作量大,且控制的精度主要依赖于机器人动力学模型的精确度。1.3运动控制第七十五页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制2、线性多变量控制方法线性多变量控制方法是利用机器人在工作点p0附近的线性模型工作的。对任一多自由度机器人,其在工作点处的初始关节控制力(矩)向量与该点处对应的关节位移、速度和加速度之间的动力学模型为:1.3运动控制第七十六页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制2、线性多变量控制方法当机器人在工作点处有一微小扰动时,上述动力学模型就变为:式中,——关节控制输入力(矩)的微小变化;——关节位移的微小变化;——关节速度的微小变化;——关节加速度的微小变化。

1.3运动控制第七十七页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制2、线性多变量控制方法在工作点附近应用台劳级数将和展开,并忽略展开式中及的二阶及二阶以上的各次高阶项,且假定它们足够小,则上式可改写为:

1.3运动控制第七十八页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制2、线性多变量控制方法若令则得:该式即为机器人在工作点附近的增量线性定常模型。

1.3运动控制第七十九页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制2、线性多变量控制方法若再令、、则得:对耦合线性定常微分方程应用以下的反馈控制律:式中,

——关节位移误差;——关节速度误差;

——反馈的关节速度和位移;——设定的关节速度和位移。1.3运动控制第八十页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制2、线性多变量控制方法对控制律两边求拉普拉氏变换可得则其传递函数为:由此可以看出,线性多变量控制选用的是一个比例微分(PD)控制器,其考虑的主要是位移和速度的误差对耦合力项和重力项的影响,所以适合于高速、轻载机器人的控制。

1.3运动控制第八十一页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制3、自适应控制自适应控制就是指机器人根据传感器对外界环境和对象物的感知,利用人工智能中的各种学习、推理和决策技术,对外界信息进行准确处理,然后对自己行为作出自主决策以自动地完成任务的控制方式。

1.3运动控制第八十二页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制3、自适应控制理想自适应控制是在基于模型控制的基础上,增添自适应控制规律,不断观测机器人各个关节的状态和伺服误差,驱动自适应算法,重新调整或更新非线性模型参数,直至伺服误差消失为止。由此可见,这种控制方法对机器人控制系统的动态性能具有自我调整功能,并且可以达到全局的稳定。

1.3运动控制第八十三页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制4、自学习控制自学习控制是近年来提出的一种智能控制方法,它可利用结构简单的控制器实现高精度的控制。目前人们提出的自学习控制方案主要有:迭代自学习控制重复自学习控制。

1.3运动控制第八十四页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制4、自学习控制迭代自学习控制:迭代自学习控制是以数学模型模仿人类在每次操作均在规定的时间内结束,且在期望值给定的条件下重复进行一件同样的工作为基本思路,若每次操作开始时系统的初始值已知,每次输出值可测,则输出与输入的误差信号就可作为下一次的控制输入,用简单的迭代律更新存入存储装置的控制输入,从而改善系统在输入作用下的输出,直至获得期望的控制结果。

1.3运动控制第八十五页,共一百二十八页,编辑于2023年,星期日1.3.2关节运动的伺服控制4、自学习控制重复自学习控制:重复自学习控制同样适用于进行重复操作的机器人,但它与迭代自学习控制不同,它不是简单的生成期望的前馈控制信号,而是利用“内模原理”,在稳定的闭环系统内设置一个可以产生与参考输入同周期的内部模型,从而使系统实现对外周期信号的跟踪。

1.3运动控制第八十六页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言世界上最早开展机器人语言研究的是美国斯坦福大学、麻省理工学院以及英国的一些大学,他们在20世纪60年代初期就着手这方面的工作。1973年斯坦福大学人工智能研究室研制出实用的WAVE语言,这是第一个机器人语言。WAVE语言具有动作的描述、力和接触的控制,配合视觉系统可以完成手眼协调编程。

1.3运动控制第八十七页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言之后斯坦福大学人工智能研究室在WAVE语言的基础上,又开发出了AL语言。AL语言不仅能用来描述机器人手爪的操作,而且还能记忆作业环境以及环境内各个对象物之间的相对位置,可以用来控制多台机器人协调工作。

1.3运动控制第八十八页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言美国IBM公司在机器人语言研究上作了很多工作,也取得过不少成果。该公司在20世纪70年代中期开发了应用于直角坐标机器人上的EMILY和ML语言,能用于机器人的装配作业。此后又研制出用于装配机器人的AUTOPASS语言,这是一种比较高级的机器人语言,它可以对几何模型类任务进行半自动编程。在1982年,IBM公司又推出了AML语言,目前,AML语言已作为商业化产品用于IBM机器人的控制。

1.3运动控制第八十九页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言

1979年,美国Unimation公司推出了VAL语言,主要用于PUMA和Unimate等系列的机器人上,是一种比较成功的机器人语言。VAL语言是在BASIC语言的基础上扩展的机器人语言,它具有BASIC语言的结构,比较简单,易于编程,为工业机器人所适用。1984年该公司推出VAL-Ⅱ语言,它是在VAL语言的基础上,增加开发利用传感器信息进行运动控制和数据处理以及通讯等功能。现在VAL语言已经升级为V++语言,性能得到了更大的提高。

1.3运动控制第九十页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言

20世纪80年代初,美国Automatix公司开发了RAIL语言,它能利用视觉传感器信息,进行检测零件作业。同期,麦道公司研制出了MCL语言,它是在数控语言APT基础上发展起来的机器人语言。MCL语言应用于由机床及机器人组成的柔性加工单元的编程,其功能较强。

1.3运动控制第九十一页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言到目前为止,国内外尚无通用的机器人语言,虽然现有的品种繁多,仅在美、日、西欧实用的机器人语言就至少有数十种。但即使这样,新的机器人语言还不断出现。究其原因,就在于目前开发的机器人语言绝大多数是根据专用机器人而单独开发的,存在着通用性差的问题。

1.3运动控制第九十二页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言有的国家正尝试在数控机床通用语言的基础上,形成统一的机器人语言,但由于机器人控制不仅要考虑机器人本身的运动,还要考虑机器人与配套设备间的协调通讯以及多个机器人之间的协调工作,因而技术难度非常大,目前尚处于研究探索阶段。

1.3运动控制第九十三页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言1、机器人语言的特点(1)机器人语言描述的内容主要是机器人的作业动作、工作环境、操作内容、工艺和过程。(2)机器人语言逐渐向结构简明、概念统一和容易扩展等方向发展。(3)机器人语言越来越接近自然语言,并且具有良好的对话性。

1.3运动控制第九十四页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言2、机器人语言的分类(1)根据机器人语言对作业任务描述水平的高低可分为动作级、对象级和任务级三大类。①动作级动作级的机器人语言是以机器人手部的运动作为作业描述的中心,将机器人作业任务中的每一步动作都用命令语句来表述,每一条语句对应于一个机器人动作。若动作的目的是移动某一物体,基本运动语句形式为:

MOVETO〈目的地〉这一级语言的典型代表是VAL语言。

1.3运动控制第九十五页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言2、机器人语言的分类②对象级对象级的机器人语言是以近似自然语言的方式,按照作业对象的状态变化来进行程序设计,是以描述操作物体之间关系为中心的语言。由操作者给出作业本身的顺序过程的描述及环境模型的描述,机器人即可自行决定如何动作。这种语言可以利用传感器信息来修改、更新环境的描述和模型,也可以利用传感器信息进行控制、测试和监督。这一级语言的代表是AUTOPASS语言。

1.3运动控制第九十六页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言2、机器人语言的分类③任务级在任务级语言环境下,使用者只要按某种原则给出作业起始状态和作业目标状态,机器人语言系统即可利用已有的环境信息和知识库、数据库自动进行推理、计算,最后自动生成机器人详细的动作、顺序和相应数据。因此,这类语言必须具有判断环境、描述环境的能力,同时,也必须有自动完成许多规划任务的能力。这一级语言现仍处于基础研究阶段,还有许多问题没有解决。

1.3运动控制第九十七页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言2、机器人语言的分类(2)根据机器人语言的实际应用水平可分为动作指示语言和作业指示语言两大类。

①动作指示语言机器人的动作指示语言是直接表述机器人臂部、腕部、手部等动作控制的语言系统,它相当于上面所述的动作级机器人语言。

1.3运动控制第九十八页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言2、机器人语言的分类(2)根据机器人语言的实际应用水平可分为动作指示语言和作业指示语言两大类。

②作业指示语言机器人的作业指示语言是仅表述机器人(如装配机器人)的某种操作过程的语言系统,它相当于上面所述的对象级机器人语言。

1.3运动控制第九十九页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言3、机器人语言的处理过程当用机器人语言编写的程序对机器人进行控制时,它的处理过程主要有以下几个方面:

(1)分析程序分析程序要分析的对象是工作人员用机器人语言编写的作业程序。分析程序首先进行语法检查,并将程序中的错误指示出来。此外,分析程序还能对数据的维数和形式进行检查。一旦消除了所有的语法错误,作业程序就可以进行下一步的处理。

1.3运动控制第一百页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言3、机器人语言的处理过程(2)编译程序编译程序就是对作业程序的语义进行检查,它能检验有没有发出对存取不可能地址的移动命令和有没有使机器人手部过高速度的移动等。编译程序还要进行一些轨迹计算,即在编译作业程序时模拟机器人手部的位置和各个变量的值,跟踪其与坐标系相结合的状态,然后根据这个值进行轨迹计算,最后得到轨迹数据。编译程序还可将作业程序变换成实行解释程序可以解释的代码。

1.3运动控制第一百零一页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言3、机器人语言的处理过程(3)实时解释程序实时解释程序是将编译程序生成的代码实时解释并执行。实现动作结合时,将必要的轨迹数据给予伺服模块,通过状态监视模块监视它的动作。(4)伺服模块伺服模块的作用是根据轨迹数据,通过关节位移和速度等所组成的反馈控制系统来实现被指定的运动。

1.3运动控制第一百零二页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言3、机器人语言的处理过程(5)状态监视模块状态监视模块的作用是处理各种传感器的反馈信号,抽出必要的信息交给实行解释程序。以上只是机器人语言处理系统的梗概,完整的系统还应包括生成作业程序的编辑程序、排除错误的调试程序和输出环境数据的示教系统程序等。

1.3运动控制第一百零三页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言

1979年美国Unimation公司推出的VAL语言,是在BASIC语言的基础上扩展的机器人语言,它具有BASlC语言的结构,在此基础上添加了机器人编程指令和VAL监控操作系统。操作系统包括用户交联、编辑和磁盘管理等部分。VAL语言适用于机器人两级控制系统,上级机是LSI—11/23小型计算机,机器人各关节则由6503微处理器控制。上级机还可以和用户终端、示教盒、I/O模块和机器视觉模块等交联。

1.3运动控制第一百零四页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言VAL语言在调试过程中可以和BASIC语言以及6503汇编语言联合使用。VAL语言目前主要用在各种类型的PUMA机器人以及UNIMATE2000、UNIMATE4000系列机器人上。在VAL语言中,机器人终端位置和姿态用齐次变换表征。当精度要求较高时,可以用精确点的数据表征终端位置和姿态。

1.3运动控制第一百零五页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言VAL语言指令分为二类:程序指令和监控指令。(1)程序指令①运动指令

MOVE<loc>关节插补运动。

MOVES<Ioc>苗卡尔直线运动。

1.3运动控制第一百零六页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(1)程序指令①运动指令可以在运动过程中进行手爪的控制,如

MOVEPI,75该指令产生从目前位置到PI点的关节插补运动,并在运动过程中,手爪打开75mm。相应的笛卡尔直线插补运动指令为:

MOVESPI,75

1.3运动控制第一百零七页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(1)程序指令①运动指令

APPRO<loc><dist>表示终端从当前位置以关节插补方式移动到与目标点<loc>在z轴方向上相隔一定距离的<dist>处。

APPROS<loc><dist>含意同APPRO,但终端移动方式为直线运动。

DEPART<dist>或DEPARTS<dist>表示终端从当前位置以关节插补形式(或直线运动)在z轴方向移动移动一段距离<dist>。

1.3运动控制第一百零八页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(1)程序指令②手爪控制指令OPEN,CLOSE分别使手爪全部张开和全部闭合,并且在机器人下个运动过程中执行。

OPENI,CLOSEI

表示立即执行,执行完后,再转下一个指令。

GRASP使手爪立即闭合,并检查最后的开启量是否满足给定的要求。

1.3运动控制第一百零九页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(1)程序指令③程序控制指令

GOTO<lable>无条件转移指令。

GOSUB<programe>子程序调用指令。④位姿控制指令

RIGHTY右手;LEFTY左手;

ABOVE上肘;BELOW下肘;

FLIP上腕;NOFLIP下腕。

1.3运动控制第一百一十页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(1)程序指令⑤赋值指令

HERE<loc>

把当前的位置赋给定位变量。

SET<trans1>=<trans2>

把变量2的值给1。⑥控制方式指令

COARSE[ALWAYS]

在伺服控制中允许较大的误差。

FIWD[ALWAYS]在伺服控制中允许比较小的误差。

1.3运动控制第一百一十一页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(2)监控指令①定义位置、姿态

POINT终端位置、姿态的齐次变换或以关节位置表征的精确点赋值。

DPOINT取消已赋值。

BASE机器人基准坐标系位置。

TOOI工具终端相对于工具支承端面的位置、姿态赋值。

1.3运动控制第一百一十二页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(2)监控指令②程序编辑指令

EDIT编辑指令进入编辑状态后,可使用各种编辑指令字。③列表指令

DIRECTORY显示存储器中的全部用户程序名。

LISTP显示用户的全部程序。

LISTL显示位置变量值。

1.3运动控制第一百一十三页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(2)监控指令④存储指令

STOREP在磁盘文件内,存储指定程序。

LOADP将文件中的程序送入内存。⑤控制程序指令

ABORT紧急停止。

DO执行单指令。

EXECUTE按给定次数执行用户程序。

NEXT控制程序单步执行。

1.3运动控制第一百一十四页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言(2)监控指令⑥系统状态控制

STATUS显示机器人状态。

FREE显示当前未使用的存储容量。

ZERO清除全部用户程序和定义的位置。

1.3运动控制第一百一十五页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言VAL语言编程举例任务要求:将工件从传送线上拿到加工位置。设程序名为WORK。①进入编辑状态键入:·EDITWORK·PROGRAMWORK

1.3运动控制第一百一十六页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言VAL语言编程举例②输入源程序1?OPEN打开手指,同时亦向下步;2?APPRO

TAKE,40以关节插补运动移至TAKE点40mm处停下;3?SPEED30速度降为标准速度的30%;4?MOVE

TAKE!以关节插补运动移至TAKE点,“!”表示手指位置成为TAKE点;5?CLOSEI手指闭合,抓住工件。“I”表示动作结束后才执行下一步;

1.3运动控制第一百一十七页,共一百二十八页,编辑于2023年,星期日1.3.3机器人语言4、VAL语言VAL语言编程举例②输入源程序6?DEPART80以关节插补运动,沿坐标z轴后退离开TAKE点至

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论