您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 《机器人技术与应用》第6章-机器人编程语言
机电工程学院1机电工程学院机器人技术与应用第6章机器人编程语言机电工程学院26.0机器人语言概述机器人的主要特点之一是其通用性,使机器人具有可编程能力是实现这一特点的重要手段。机器人语言是使用符号来描述机器人动作的方法,是机器人运动与控制的结合点,是实现人机通信的主要方法,是研究机器人系统的最困难、最关键问题之一。机器人编程系统的核心问题:操作运动控制问题。机器人机械系统——执行机构驱动系统控制系统感知系统基座(固定或移动)手部腕部臂部腰部电驱动装置液压驱动装置气压驱动装置处理器关节伺服控制器内部传感器外部传感器机电工程学院36.0机器人语言概述当前实用的工业机器人编程方法——直接示教和离线编程直接示教的特点它是目前大多数工业机器人的编程方式,用于示教-再现型机器人中,在机器人作业现场进行。编程过程:根据机器人作业的需要,操作者把机器人末端执行器送到目标位置,且处于相应的姿态,然后把这一位置、姿态所对应的关节角度信息记录到存储器保存。机电工程学院46.0机器人语言概述当前实用的工业机器人编程方法——直接示教和离线编程【例】直接示教的编程过程MOTOMANUP6机器人用于焊接作业时的示教编程示例机电工程学院56.0机器人语言概述当前实用的工业机器人编程方法——直接示教和离线编程直接示教的特点优点:①操作简单,易于掌握,操作者不需要具备专门知识;②不需复杂的装置和设备;③轨迹修改方便,再现过程快。缺点:①示教相对于再现所需的时间较长;②很难示教复杂的运动轨迹及准确度要求高的直线,示教轨迹的重复性差;③功能编辑困难,难以表现条件分支,无法接受传感器信息,难与其他操作或其他机器人操作同步;④对实际的机器人进行示教时,要占用机器人。机电工程学院66.0机器人语言概述当前实用的工业机器人编程方法——直接示教和离线编程离线编程及其特点离线编程是在专门的软件环境支持下,用专用或通用程序在离线情况下进行机器人轨迹规划编程的一种方法。离线编程程序通过支持软件的解释或编译产生目标程序代码,最后生成机器人路径规划数据。一些离线编程系统带有仿真功能,这使得在编程时就解决了障碍干涉和路径优化问题。这种编程方法与数控机床中编制数控加工程序非常类似。离线编程的发展方向是自动编程。机电工程学院76.1机器人编程要求与语言类型能够建立世界模型(WorldModel)①在编程时,用于描述物体在三维空间内的运动(对世界或环境建模);②编程语言存在具体的几何形式;③物体的所有运动都以相对于基坐标系的工具坐标系来描述。1.对机器人编程要求$TOOL:工具坐标系$BASE:基础坐标系机电工程学院86.1机器人编程要求与语言类型能够描述机器人的作业①对作业的描述与环境模型密切相关,其描述水平决定了编程语言的水平(自然语言输入水平最高);②目前的机器人编程语言需要给出作业顺序,由语法、词法定义输入语言来描述整个作业。能够描述机器人的运动①允许用户规定路径上的点及目标点,决定是否采用点插补运动或笛卡尔直线运动;②允许用户控制运动的速度或持续时间。1.对机器人编程要求机电工程学院96.1机器人编程要求与语言类型允许用户规定执行流程具有其他计算机编程语言的流程控制能力,例如,程序的跳转、循环、调用子程序、触发中断等。要有良好的编程环境①提高编程效率,机械手的编程常采用试探对话式,例如,在程序开发和调试过程中每次只执行一条单独语句(含有中断功能);②其他功能:文本编辑、调试及文件系统等。需要人机接口和综合传感信号①在编程和作业时,人机信息交换用于故障处理及安全,作业环境和作业内容越复杂,要求人机功能越强;②机器人语言与传感器交互,以便根据传感器信息控制程序的流程。1.对机器人编程要求机电工程学院106.1机器人编程要求与语言类型机器人语言是从70年代发展起来的,早期的机器人语言,有些是以普通计算机程序设计语言(如PASCAL、PL/I和LISP语言等)为主体,再加入一些专用的机器人控制指令而成;有些则是由数控语言改进而成。1973年,美国斯坦福人工智能实验室开发出第一个实验性的机器人编程语言——WAVE,最初目的是研究机器人学的理论问题,而不是用于执行生产任务,它具有动作描述,能配合视觉传感器进行手眼协调控制等功能。1974年,该实验室开发出了AL语言,它是一种编译型语言,可以控制多个机器人手臂协调动作,使用了力传感器,能对装配操作编程。1975年,美国IBM公司MAPLEEMILY和ML语言,用于机器人装配作业;1977年又开发出AutoPass语言。1979年,美国Unimation公司开发了VAL语言,并配置在PUMA机器人上,成为实用的机器人语言,它是一种类BASIC语言,语句结构比较简单,易于编程。机电工程学院116.1机器人编程要求与语言类型根据作业描述水平的高低分类(1)动作级编程语言(2)对象级编程语言(3)任务级编程语言2.机器人编程语言的类型机电工程学院126.1机器人编程要求与语言类型(1)动作级编程语言以机器人的运动作为描述中心,通常由使“夹手从—个位置到另一个位置”的一系列命令组成。每一个命令(指令)对应于一个动作。例如,可以定义机器人的运动序列(MOVE)的基本语句形式为:MOVETO(destination)优点:语句比较简单,易于编程;缺点:不能进行复杂的数学运算,不能接受复杂的传感器信息,仅能接受传感器的开关信号,并且和其他计算机的通信能力很差。动作级编程语言的代表:VAL语言。2.机器人编程语言的类型机电工程学院136.1机器人编程要求与语言类型(1)动作级编程语言动作级编程又可分为关节级编程和终端执行器编程两种。1)关节级编程程序给出机器人各关节位移的时间序列。这种程序可以用汇编语言、简单的编程指令实现,也可通过示教盒示教或键入示教实现。关节级编程是一种在关节坐标系中工作的初级编程方法。用于直角坐标型机器人和圆柱坐标型机器人编程还较为简便,但用于关节型机器人,即使完成简单的作业,也首先要作运动综合才能编程,整个编程过程很不方便。关节级编程得到的程序没有通用性,因为一台机器人编制的程序一般难以用到另一台机器人上。这样得到的程序也不能模块化,它的扩展也十分困难。2.机器人编程语言的类型机电工程学院146.1机器人编程要求与语言类型(1)动作级编程语言动作级编程又可分为关节级编程和终端执行器编程两种。2)终端执行器级编程是一种在作业空间内各种设定好的坐标系(如直角坐标系)里进行编程的方法。终端执行器级编程程序给出机器人终端执行器的位姿和辅助机能的时间序列,包括力觉、触觉、视觉等机能以及作业用量、作业工具的选定等。这种语言的指令由系统软件解释执行。可提供简单的条件分支,可应用于程序,并提供较强的感受处理功能和工具使用功能,这类语言有的还具有并行功能。2.机器人编程语言的类型机电工程学院156.1机器人编程要求与语言类型(2)对象级编程语言以描述操作物体之间的关系为中心的语言,即它是描述操作物体间关系使机器人动作的语言,解决了动作级语言的不足,这类语言有AML、AutoPass等。对象级语言具有以下特点:1)运动控制:具有与动作级语言类似的功能。2)处理传感器信息:可以接受比开关信号复杂的传感器信号,并可利用传感器信号进行控制、监督以及修改和更新环境模型。3)通信和数字运算:能方便地和计算机的数据文件进行通信,数字计算功能强,可以进行浮点计算。4)具有很好的扩展性:用户可以根据实际需要,扩展语言的功能,如增加指令等。2.机器人编程语言的类型机电工程学院166.1机器人编程要求与语言类型(2)对象级编程语言以近似自然语言的方式描述作业对象的状态变化、指令语句是复合语句结构,用表达式记述作业对象的位姿时序数据及作业用量、作业对象承受的力、力矩等时序数据。将这种语言编制的程序输入编译系统后,编译系统将利用有关环境、机器人几何尺寸、中断执行器、作业对象、工具等的知识库和数据库对操作过程进行仿真。【例】ATUOPASS语言。它是一种用于计算机控制下进行机械零件装配的自动编程系统,该系统面对作业对象及装配操作,而不直接面对装配机器人的运动。2.机器人编程语言的类型机电工程学院176.1机器人编程要求与语言类型(3)任务级编程语言任务级语言是比较高级的机器人语言,这类语言允许使用者对工作任务所要求达到的目标直接下命令,不需要规定机器人所做的每一个动作的细节。只要按某种原则给出最初的环境模型和最终工作状态,机器人可自动进行推理、计算,最后自动生成机器人的动作。任务级语言的概念类似于人工智能中程序自动生成的概念。任务级机器人编程系统能够自动执行许多规划任务。任务级机器人编程系统必须能把指定的工作任务翻译为执行该任务的程序。2.机器人编程语言的类型机电工程学院186.2机器人语言系统结构和基本功能1.机器人语言系统的结构示教盒机器人语言与计算机系统的通信操作系统监控状态编辑状态执行状态机器人控制柜传感器外围设备位置作业和动作显示机器人机器人语言系统功能框图机器人语言系统功能:对机器人编程和控制;与外设、传感器、机器人接口;与计算机系统的通信。机电工程学院196.2机器人语言系统结构和基本功能1.机器人语言系统的结构机器人语言操作系统包括三个基本操作状态:监控状态、编辑状态和执行状态。监控状态:用于整个系统的监督控制,操作者可以用示教盒定义机器人在空间中的位置,设置机器人的运动速度,存储和调出程序等。编辑状态:提供操作者编制或编辑程序。一般都包括:写入指令,修改或删去指令以及插入指令等。执行状态:用来执行机器人程序。在执行状态,机器人执行程序的每一条指令,都是经过调试的,不允许执行有错误的程序。与其他计算机语言类似,机器人语言程序可以编译,把机器人源程序转换成机器码,以便机器人控制柜能直接读取和执行。机电工程学院206.2机器人语言系统结构和基本功能2.机器人编程语言的基本功能任务程序员能够指挥机器人系统完成分立单一动作,此即基本程序功能。这些基本功能包括运算、决策、通信、机械手运动、工具指令以及传感器数据处理等。许多正在运行的机器人系统,只提供机械手运动和工具指令以及某些简单的传感数据处理功能。机器人语言体现出来的基本功能都是机器人系统软件支持下形成的。机电工程学院216.2机器人语言系统结构和基本功能2.机器人编程语言的基本功能(1)运算对于装有传感器的机器人所进行的最有用的运算是解析几何计算。这些运算结果能使机器人自行作出决定,在下一步把工具或夹手置于何处。用于解析几何运算的计算工具可能包括下列内容:(1)机械手正解及逆解。(2)坐标运算和位置表示,例如相对位置的构成和坐标的变化等。(3)矢量运算,例如,点积、交积、长度、单位矢量、比例尺以及矢量的线性组合等。机电工程学院226.2机器人语言系统结构和基本功能2.机器人编程语言的基本功能(2)决策机器人系统能够根据传感器输入信息作出决策,而不必执行任何运算。按照传感器数据计算得到的结果,是作出下一步该干什么这类决策的基础。这种决策能力使机器人控制系统的功能更强有力。一条简单的条件转移指令(例如检验零值)就足以执行任何决策算法。供采用的形式包括符号检验(正、负或零)、关系检验(大于、不等于等等)、布尔检验(开或关、真或假)、逻辑检验(对一个计算字进行位组检验)以及集合检验(一个集合的数、空集等)。机电工程学院236.2机器人语言系统结构和基本功能2.机器人编程语言的基本功能(3)通信机器人系统与操作人员之间的通讯能力,允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么。人和机器能够通过许多不同方式进行通讯。机器人向人提供信息的设备,按其复杂程度排列:(1)信号灯,通过发光二极管,机器人能够给出显示信号。(2)字符打印机、显示器。(3)绘图仪。(4)语言合成器或其他音响设备(铃、扬声器等)。机电工程学院246.2机器人语言系统结构和基本功能2.机器人编程语言
本文标题:《机器人技术与应用》第6章-机器人编程语言
链接地址:https://www.777doc.com/doc-4832842 .html