机器人的编程与语言.ppt
《机器人的编程与语言.ppt》由会员分享,可在线阅读,更多相关《机器人的编程与语言.ppt(65页珍藏版)》请在三一办公上搜索。
1、1,机器人工程及应用,2,机器人编程语言机器人离线编程,第七讲:机器人的编程与语言,3,5.1 机器人编程语言,机器人的主要特点之一是其通用性,使机器人具有可编程能力是实现这一特点的重要手段。机器人编程必然涉及到机器人语言,机器人语言是使用符号来描述机器人动作的方法。它通过对机器人动作的描述,使机器人按照编程者的意图进行各种操作。机器人语言的产生和发展是与机器人技术的发展以及计算机编程语言的发展紧密相关的。编程系统的核心问题是机器人操作运动控制问题。,4,机器人语言系统功能框图,5,5.1.1 机器人编程系统,当前实用的工业机器人编程方法主要为:离线编程和示教。在调试阶段可通过示教控制盒对编译
2、好的程序进行一步一步地执行,调试成功后可投入正式运行。机器人语言操作系统包括三个基本操作状态:监控状态;编辑状态;执行状态。监控状态:用于整个系统的监督控制,操作者可以用示教盒定义机器人在空间中的位置,设置机器人的运动速度,存储和调出程序等。,6,编辑状态:提供操作者编制或编辑程序。一般都包括:写入指令,修改或删去指令以及插入指令等。执行状态用来执行机器人程序。在执行状态,机器人执行程序的每一条指令,都是经过调试的,不允许执行有错误的程序。和计算机语言类似,机器人语言程序可以编译,把机器人源程序转换成机器码,以便机器人控制柜能直接读取和执行。,7,5.1.1.1 示教编程方式,目前,相当数量的
3、机器人仍采用示教编程方式。机器人示教后可以立即应用,在再现时,机器人重复示教时存入存储器的轨迹和各种操作,如果需要,过程可以重复多次。优点:简单方便;不需要环境模型;对实际的机器人进行示教时,可以修正机械结构带来的误差。缺点:功能编辑比较困难,难以使用传感器,难以表现条件分支,对实际的机器人进行示教时,要占用机器人。,8,5.1.1.2 离线编程,离线编程克服了在线编程的许多缺点,充分利用了计算机的功能。优点:编程时可以不用机器人,机器人可以进行其他工作;可预先优化操作方案和运行周期时间;可将以前完成的过程或子程序结合到待编程序中去;可利用传感器探测外部信息;控制功能中可以包括现有的CAD和C
4、AM信息,可以预先运行程序来模拟实际动作,从而不会出现危险,利用图形仿真技术可以在屏幕上模拟机器人运动来辅助编程;对于不同的工作目的,只需要替换部分特定的程序。缺点:所需的能补偿机器人系统误差的功能、坐标系数据仍难以得到。,9,5.1.2 机器人语言的编程要求,a)能够建立世界模型:在进行机器人编程时,需要一种描述物体在三维空间内运动的方式。所以需要给机器人及其相关物体建立一个基础坐标系。这个坐标系与大地相连,也称“世界坐标系”。机器人工作时,为了方便起见,也建立其他坐标系,同时建立这些坐标系与基础坐标系的变换关系。机器人编程系统应具有在各种坐标系下描述物体位姿的能力和建模能力。,10,b)能
5、够描述机器人的作业机器人作业的描述与其环境模型密切相关,编程语言水平决定了描述水平。其中以自然语言输入为最高水平。现有的机器人语言需耍给出作业顺序,由语法和词法定义输入语言,并由它描述整个作业。,11,c)能够描述机器人的运动,描述机器人需要进行的运动是机器人编程语言的基本功能之一。用户能够运用语言中的运动语句,与路径规划器和发生器连接,允许用户规定路径上的点及目标点,决定是否采用点插补运动或笛卡儿直线运动。用户还可以控制运动速度或运动持续时间。对于简单的运动语句,大多数编程语言具有相似的语法。不同语言间在主要运动基元上的差别是比较表面的。,12,d)允许用户规定执行流程,同一般的计算机编程语
6、言一样,机器人编程系统允许用户规定执行流程,包括试验和转移、循环、调用子程序以至中断等。对于许多计算机应用,并行处理对于自动工作站是十分重要的。首先,一个工作站常常运用两台或多台机器人同时工作以减少过程周期。在单台机器人的情况,工作站的其他设备也需要机器人控制器以并行方式控制。因此,在机器人编程语言中常常含有信号和等待等基本语句或指令,而且往往提供比较复杂的并行执行结构。通常需要用某种传感器来监控不同的过程。然后,通过中断或登记通讯,机器人系统能够反应由传感器检测到的一些事件。有些机器人语言提供规定这种事件的监控器。,13,如同任何计算机一样,一个好的编程环境有助于提高程序员的工作效率。机械手
7、的程序编制是困难的,其编程趋向于试探对话式。如果用户忙于应付连续重复的编译语言的编辑编译执行循环,那么其工作效率必然是低的。因此,现在大多数机器人编程语言含有中断功能,以便能够在程序开发和调试过程中每次只执行一条单独语句。典型的编程支撑和文件系统也是需要的。根据机器人编程特点,其支撑软件应具有下列功能:在线修改和立即重新启动;传感器的输出和程序追踪;仿真。,e)要有良好的编程环境,14,f)需要人机接口和综合传感信号,在编程和作业过程中,应便于人与机器人之间进行信息交换,以便在运动出现故障时能及时处理,确保安全。而且,随着作业环境和作业内容复杂程度的增加,需要有功能强大的人机接口。机器人语言的
8、一个极其重要的部分是与传感器的相互作用。语言系统应能提供一般的决策结构。以便根据传感器的信息来控制程序的流程。在机器人编程中,传感器的类型一般分为三类:位置检测;力觉和触觉;视觉。如何对传感器的信息进行综合,各种机器人语言都有它自己的句法。,15,机器人编程语言的类型,1973年,美国斯坦福人工智能实验室研究和开发了第一种机器人语言:WAVE语言,它具有动作描述,能配合视觉传感器进行手眼协调控制等功能。1974年,在WAVE语言的基础上开发了AL语言,它是一种编译形式的语言,可以控制多台机器人协调动作。1979年,美国Unimation公司开发了VAL语言,并配置在PUMA机器人上,成为使用的
9、机器人语言,它是一种类BASIC语言,语句结构比较简单,易于编程。美国IBM公司的ML语言,用于机器人装配作业。AML语言用于IBM机器人控制。,16,机器人语言尽管有很多分类方法,但根据作业描述水平的高低,通常可分为三级:1)动作级,2)对象级;3)任务级。5.1.3.1 动作级编程语言:动作级语言是以机器人的运动作为描述中心,通常由使夹手从个位置到另一个位置的一系列命令组成。动作级语言的每一个命令(指令)对应于一个动作。如可以定义机器人的运动序列(MOVE),基本语句形式为:MOVE TO动作级语言的语句比较简单,易于编程。其缺点是不能进行复杂的数学运算,不能接受复杂的传感器信息,仅能接受
10、传感器的开关信号,并且和其他计算机的通信能力很差。,17,动作级编程又可分为关节级编程和终端执行器编程两种 关节级编程关节级编程程序给出机器人各关节位移的时间序列。这种程序可以用汇编语言、简单的编程指令实现,也可通过示教盒示教或键入示教实现。关节级编程是一种在关节坐标系中工作的初级编程方法。用于直角坐标型机器人和圆柱坐标型机器人编程还较为简便,但用于关节型机器人,即使完成简单的作业,也首先要作运动综合才能编程,整个编程过程很不方便。关节级编程得到的程序没有通用性,因为一台机器人编制的程序一般难以用到另一台机器人上。这样得到的程序也不能模块化,它的扩展也十分困难。,18,终端执行器级编程终端执行
11、器级编程是一种在作业空间内各种设定好的坐标系里编程的编程方法。终端执行器级编程程序给出机器人终端执行器的位姿和辅助机能的时间序列,包括力觉、触觉、视觉等机能以及作业用量、作业工具的选定等。这种语言的指令由系统软件解释执行。可提供简单的条件分支,可应用于程序,并提供较强的感受处理功能和工具使用功能,这类语言有的还具有并行功能。这种语言的基本特点是:1)各关节的求逆变换由系统软件支持进行;2)数据实时处理且导前于执行阶段;3)使用方便,占内存较少;4)指令语句有运动指令语言、运算指令语句、输入输出和管理语句等,19,5 对象级编程语言,对象级语言解决了动作级语言的不足,它是描述操作物体间关系使机器
12、人动作的语言,即是以描述操作物体之间的关系为中心的语言,它具有以下特点:(1)运动控制:具有与动作级语言类似的功能。(2)处理传感器信息:可以接受比开关信号复杂的传感器信号,并可利用传感器信号进行控制、监督以及修改和更新环境模型。(3)通信和数字运算:能方便地和计算机的数据文件进行通信,数字计算功能强,可以进行浮点计算。(4)具有很好的扩展性:用户可以根据实际需要,扩展语言的功能,如增加指令等。,20,作业对象级编程语言以近似自然语言的方式描述作业对象的状态变化、指令语句是复合语句结构,用表达式记述作业对象的位姿时序数据及作业用量、作业对象承受的力、力矩等时序数据。将这种语言编制的程序输入编译
13、系统后,编译系统将利用有关环境、机器人几何尺寸、中断执行器、作业对象、工具等的知识库和数据库对操作过程进行仿真。这种语言的代表是IBM公司在70年代后期针对装配机器人开发出的ATUOPASS语言。它是一种用于计算机控制下进行机械零件装配的自动编程系统,该系统面对作业对象及装配操作而不直接面对装配机器人的运动。,21,5.1.3.3 任务级编程语言,任务级语言是比较高级的机器人语言,这类语言允许使用者对工作任务所要求达到的目标直接下命令,不需要规定机器人所做的每一个动作的细节。只要按某种原则给出最初的环境模型和最终工作状态,机器人可自动进行推理、计算,最后自动生成机器人的动作。任务级语言的概念类
14、似于人工智能中程序自动生成的概念。任务级机器人编程系统能够自动执行许多规划任务。任务级机器人编程系统必须能把指定的工作任务翻译为执行该任务的程序。,22,5.1.4 机器人语言系统结构和基本功能,5.1.4.1 机器人语言的特征机器人语言是在人与机器人之间的一种记录信息或交换信息的程序语言,它提供了一种方式来解决人-机通信问题,它是一种专用语言,用符号描述机器人的动作。机器人编程语言具有一般程序计算语言所具有的特性。机器人语言具有四方面的特征:1.实时系统 2.三维空间的运动系统 3.良好的人机接口 4.实际的运动系统,23,5.1.4.2 机器人语言系统的结构机器人语言实际上是一个语言系统,
15、机器人语言系统既包含语言本身给出作业指示和动作指示,同时又包含处理系统根据上述指示来控制机器人系统。机器人语言系统能够支持机器人编程、控制,以及与外围设备、传感器和机器人接口;同时还能支持与计算机系统间的通信。,24,5.1.4.3 机器人编程语言的基本功能这些基本功能包括运算、决策、通讯、机械手运动、工具指令以及传感器数据处理等。许多正在运行的机器人系统,只提供机械手运动和工具指令以及某些简单的传感数据处理功能。机器人语言体现出来的基本功能都是机器人系统软件支持形成的。,25,运算对于装有传感器的机器人所进行的最有用的运算是解析几何计算。这些运算结果能使机器人自行作出决定,在下一步把工具或夹
16、手置于何处。用于解析几何运算的计算工具可能包括下列内容:(1)机械手解答及逆解答。(2)坐标运算和位置表示,例如,相对位置的构成和坐标的变化等。(3)矢量运算,例如,点积、交积、长度、单位矢量、比例尺以及矢量的线性组合等,26,决策,机器人系统能够根据传感器输入信息作出决策,而不必执行任何运算。按照传感器数据计算得到的结果,是作出下一步该干什么这类决策的基础。这种决策能力使机器人控制系统的功能更强有力。一条简单的条件转移指令(例如检验零值)就足以执行任何决策算法。供采用的形式包括符号检验(正、负或零)、关系检验(大于、不等于等等)、布尔检验(开或关、真或假)、逻辑检验(对一个计算字进行位组检验
17、)以及集合检验(一个集合的数、空集等)。,27,通讯,机器人系统与操作人员之间的通讯能力,允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么。人和机器能够通过许多不同方式进行通讯。机器人向人提供信息的设备,按其复杂程度排列:(1)信号灯,通过发光二极管,机器人能够给出显示信号。(2)字符打印机、显示器。(3)绘图仪。(4)语言合成器或其他音响设备(铃、扬声器等)。,28,输入设备包括:按钮、乒乓开关、旋钮和指压开关数字或字母数字键盘光笔、光标指示器和数字变换板远距离操纵主控装置,如悬挂式操作台等。光学字符阅读机,29,机械手运动,采用计算机之后,极大地提
18、高了机械手的工作能力,包括:(1)使复杂得多的运动顺序成为可能。(2)使运用传感器控制机械手运动成为可能。(3)能够独立存储工具位置,而与机械手的设计以及刻度系数无关。用与机械手形状元关的坐标来表示工具位置是更先进的方法,而且(除X-Y-Z机械手外)需要用一台计算机对解答进行计算。在笛卡儿空间内插入工具位置能使工具端点沿着路径跟随轨迹平滑运动。引入一个参考坐标系,用以描述工具位置,然后让该坐标系运动。这对许多情况是很方便的。,30,工具指令,一个工具控制指令通常是由闭合某个开关或继电器而开始触发的,而继电器又可能把电源接通或断开,以直接控制工具运动,或者送出一个小功率信号给电子控制器,让后者去
19、控制工具。直接控制是最简单的方法,而且对控制系统的要求也较少。可以用传感器来感受工具运动及其功能的执行情况。当采用工具功能控制器时,对机器人主控制器来说就可能对机器人进行比较复杂的控制。采用单独控制系统能够使工具功能控制与机器人控制协调一致地工作。这种控制方法已被成功地用于飞机机架的钻孔和铣削加工。,31,传感数据处理,用于机械手控制的通用计算机只有与传感器连接起来,才能发挥其全部效用传感数据处理是许多机器人程序编制的十分重要而又复杂的组成部分。当采用触觉、听觉或视觉传感器时,更是如此。例如,当应用视觉传感器获取视觉特征数据、辨识物体和进行机器人定位时,对视觉数据的处理往往是极其大量的和费时的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 编程 语言

链接地址:https://www.31ppt.com/p-6168546.html