配色: 字号:
第七章-机器人的编程与语言
2016-05-03 | 阅:  转:  |  分享 
  
职业培训师、管理顾问:徐剑xuj2@em.tsinghua.edu.cn5.1机器人编程语言机器人语言系统功能框图5.1.1机器
人编程系统当前实用的工业机器人编程方法主要为:离线编程和示教。在调试阶段可通过示教控制盒对编译好的程序进行一步一步地执行,调试成
功后可投入正式运行。机器人语言操作系统包括三个基本操作状态:监控状态;编辑状态;执行状态。监控状态:用于整个系统的监督控制,操
作者可以用示教盒定义机器人在空间中的位置,设置机器人的运动速度,存储和调出程序等。编辑状态:提供操作者编制或编辑程序。一般都包括
:写入指令,修改或删去指令以及插入指令等。执行状态用来执行机器人程序。在执行状态,机器人执行程序的每一条指令,都是经过调试的,不
允许执行有错误的程序。和计算机语言类似,机器人语言程序可以编译,把机器人源程序转换成机器码,以便机器人控制柜能直接读取和执行。
5.1.1.1示教编程方式目前,相当数量的机器人仍采用示教编程方式。机器人示教后可以立即应用,在再现时,机器人重复示教时存入
存储器的轨迹和各种操作,如果需要,过程可以重复多次。优点:简单方便;不需要环境模型;对实际的机器人进行示教时,可以修正机械结构带
来的误差。缺点:功能编辑比较困难,难以使用传感器,难以表现条件分支,对实际的机器人进行示教时,要占用机器人。5.1.1.2
离线编程离线编程克服了在线编程的许多缺点,充分利用了计算机的功能。优点:编程时可以不用机器人,机器人可以进行其他工作;可预先优
化操作方案和运行周期时间;可将以前完成的过程或子程序结合到待编程序中去;可利用传感器探测外部信息;控制功能中可以包括现有的CAD和
CAM信息,可以预先运行程序来模拟实际动作,从而不会出现危险,利用图形仿真技术可以在屏幕上模拟机器人运动来辅助编程;对于不同的工作
目的,只需要替换部分特定的程序。缺点:所需的能补偿机器人系统误差的功能、坐标系数据仍难以得到。5.1.2机器人语言的编程要求
a)能够建立世界模型:在进行机器人编程时,需要一种描述物体在三维空间内运动的方式。所以需要给机器人及其相关物体建立一个基础坐标
系。这个坐标系与大地相连,也称“世界坐标系”。机器人工作时,为了方便起见,也建立其他坐标系,同时建立这些坐标系与基础坐标系的变换
关系。机器人编程系统应具有在各种坐标系下描述物体位姿的能力和建模能力。b)能够描述机器人的作业机器人作业的描述与其环境模型密
切相关,编程语言水平决定了描述水平。其中以自然语言输入为最高水平。现有的机器人语言需耍给出作业顺序,由语法和词法定义输入语言,并由
它描述整个作业。c)能够描述机器人的运动描述机器人需要进行的运动是机器人编程语言的基本功能之一。用户能够运用语言中的运动语句,
与路径规划器和发生器连接,允许用户规定路径上的点及目标点,决定是否采用点插补运动或笛卡儿直线运动。用户还可以控制运动速度或运动持续
时间。对于简单的运动语句,大多数编程语言具有相似的语法。不同语言间在主要运动基元上的差别是比较表面的。d)允许用户规定执行流
程同一般的计算机编程语言一样,机器人编程系统允许用户规定执行流程,包括试验和转移、循环、调用子程序以至中断等。对于许多计算机应
用,并行处理对于自动工作站是十分重要的。首先,一个工作站常常运用两台或多台机器人同时工作以减少过程周期。在单台机器人的情况,工作站
的其他设备也需要机器人控制器以并行方式控制。因此,在机器人编程语言中常常含有信号和等待等基本语句或指令,而且往往提供比较复杂的并行
执行结构。通常需要用某种传感器来监控不同的过程。然后,通过中断或登记通讯,机器人系统能够反应由传感器检测到的一些事件。有些机器人
语言提供规定这种事件的监控器。e)要有良好的编程环境如同任何计算机一样,一个好的编程环境有助于提高程序员的工作效率。机械手的程
序编制是困难的,其编程趋向于试探对话式。如果用户忙于应付连续重复的编译语言的编辑—编译—执行循环,那么其工作效率必然是低的。因此,
现在大多数机器人编程语言含有中断功能,以便能够在程序开发和调试过程中每次只执行一条单独语句。典型的编程支撑和文件系统也是需要的。
根据机器人编程特点,其支撑软件应具有下列功能:在线修改和立即重新启动;传感器的输出和程序追踪;仿真。f)需要人机接口和综合传感信
号在编程和作业过程中,应便于人与机器人之间进行信息交换,以便在运动出现故障时能及时处理,确保安全。而且,随着作业环境和作业内容复
杂程度的增加,需要有功能强大的人机接口。机器人语言的一个极其重要的部分是与传感器的相互作用。语言系统应能提供一般的决策结构。以便
根据传感器的信息来控制程序的流程。在机器人编程中,传感器的类型一般分为三类:位置检测;力觉和触觉;视觉。如何对传感器的信息进行综
合,各种机器人语言都有它自己的句法。5.1.3机器人编程语言的类型1973年,美国斯坦福人工智能实验室研究和开发了第一种机器
人语言:WAVE语言,它具有动作描述,能配合视觉传感器进行手眼协调控制等功能。1974年,在WAVE语言的基础上开发了AL语言,
它是一种编译形式的语言,可以控制多台机器人协调动作。1979年,美国Unimation公司开发了VAL语言,并配置在PUMA机器
人上,成为使用的机器人语言,它是一种类BASIC语言,语句结构比较简单,易于编程。美国IBM公司的ML语言,用于机器人装配作业。
AML语言用于IBM机器人控制。机器人语言尽管有很多分类方法,但根据作业描述水平的高低,通常可分为三级:1)动作级,2)对象级;
3)任务级。5.1.3.1动作级编程语言:动作级语言是以机器人的运动作为描述中心,通常由
使夹手从—个位置到另一个位置的一系列命令组成。动作级语言的每一个命令(指令)对应于一个动作。如可以定义机器人的运动序列(MOVE)
,基本语句形式为:MOVETO动作级语言的语句比较简单,易于编程。其缺点是不能进行复杂的数学运算,不能接受复杂的传感器信息,
仅能接受传感器的开关信号,并且和其他计算机的通信能力很差。动作级编程又可分为关节级编程和终端执行器编程两种关节级编程
关节级编程程序给出机器人各关节位移的时间序列。这种程序可以用汇编语言、简单的编程指令实现,也可通过示教盒示教或键入示教实现。关节
级编程是一种在关节坐标系中工作的初级编程方法。用于直角坐标型机器人和圆柱坐标型机器人编程还较为简便,但用于关节型机器人,即使完成简
单的作业,也首先要作运动综合才能编程,整个编程过程很不方便。关节级编程得到的程序没有通用性,因为一台机器人编制的程序一般难以用到另
一台机器人上。这样得到的程序也不能模块化,它的扩展也十分困难。终端执行器级编程终端执行器级编程是一种在作业空间内各种设
定好的坐标系里编程的编程方法。终端执行器级编程程序给出机器人终端执行器的位姿和辅助机能的时间序列,包括力觉、触觉、视觉等机能以及作
业用量、作业工具的选定等。这种语言的指令由系统软件解释执行。可提供简单的条件分支,可应用于程序,并提供较强的感受处理功能和工具使用
功能,这类语言有的还具有并行功能。这种语言的基本特点是:1)各关节的求逆变换由系统软件支持进行;2)数据实时处理且导前于执行阶段
;3)使用方便,占内存较少;4)指令语句有运动指令语言、运算指令语句、输入输出和管理语句等5.1.3.2对象级编程语言对象级
语言解决了动作级语言的不足,它是描述操作物体间关系使机器人动作的语言,即是以描述操作物体之间的关系为中心的语言,它具有以下特点:
(1)运动控制:具有与动作级语言类似的功能。(2)处理传感器信息:可以接受比开关信号复杂的传感器信号,并可利用传感器
信号进行控制、监督以及修改和更新环境模型。(3)通信和数字运算:能方便地和计算机的数据文件进行通信,数字计算功能强,可以进
行浮点计算。(4)具有很好的扩展性:用户可以根据实际需要,扩展语言的功能,如增加指令等。作业对象级编程语言以近似自然语言
的方式描述作业对象的状态变化、指令语句是复合语句结构,用表达式记述作业对象的位姿时序数据及作业用量、作业对象承受的力、力矩等时序数
据。将这种语言编制的程序输入编译系统后,编译系统将利用有关环境、机器人几何尺寸、中断执行器、作业对象、工具等的知识库和数据库对操
作过程进行仿真。这种语言的代表是IBM公司在70年代后期针对装配机器人开发出的ATUOPASS语言。它是一种用于计算机控制下进行
机械零件装配的自动编程系统,该系统面对作业对象及装配操作而不直接面对装配机器人的运动。5.1.3.3任务级编程语言任务级语
言是比较高级的机器人语言,这类语言允许使用者对工作任务所要求达到的目标直接下命令,不需要规定机器人所做的每一个动作的细节。只要按某
种原则给出最初的环境模型和最终工作状态,机器人可自动进行推理、计算,最后自动生成机器人的动作。任务级语言的概念类似于人工智能中程
序自动生成的概念。任务级机器人编程系统能够自动执行许多规划任务。任务级机器人编程系统必须能把指定的工作任务翻译为执行该任务的程序
。5.1.4机器人语言系统结构和基本功能5.1.4.1机器人语言的特征机器人语言是在人与机器人之间的一种记录信息或交换
信息的程序语言,它提供了一种方式来解决人-机通信问题,它是一种专用语言,用符号描述机器人的动作。机器人编程语言具有一般程序计算语言
所具有的特性。机器人语言具有四方面的特征:1.实时系统2.三维空间的运动系统3.
良好的人机接口4.实际的运动系统5.1.4.2机器人语言系统的结构机器人语言实际上是一个语言系统,机器人
语言系统既包含语言本身——给出作业指示和动作指示,同时又包含处理系统——根据上述指示来控制机器人系统。机器人语言系统能够支持机器人
编程、控制,以及与外围设备、传感器和机器人接口;同时还能支持与计算机系统间的通信。5.1.4.3机器人编程语言的基本功能
这些基本功能包括运算、决策、通讯、机械手运动、工具指令以及传感器数据处理等。许多正在运行的机器人系统,只提供机械手运动和工具指令
以及某些简单的传感数据处理功能。机器人语言体现出来的基本功能都是机器人系统软件支持形成的。运算对于装有传感器的机器人所进行的
最有用的运算是解析几何计算。这些运算结果能使机器人自行作出决定,在下一步把工具或夹手置于何处。用于解析几何运算的计算工具可能包括下
列内容:(1)机械手解答及逆解答。(2)坐标运算和位置表示,例如,相对位置的构成和坐标的变化等。(3
)矢量运算,例如,点积、交积、长度、单位矢量、比例尺以及矢量的线性组合等决策机器人系统能够根据传感器输入信息作出决策,而不必执
行任何运算。按照传感器数据计算得到的结果,是作出下一步该干什么这类决策的基础。这种决策能力使机器人控制系统的功能更强有力。一条简单
的条件转移指令(例如检验零值)就足以执行任何决策算法。供采用的形式包括符号检验(正、负或零)、关系检验(大于、不等于等等)、布尔
检验(开或关、真或假)、逻辑检验(对一个计算字进行位组检验)以及集合检验(一个集合的数、空集等)。通讯机器人系统与操作人员之
间的通讯能力,允许机器人要求操作人员提供信息、告诉操作者下一步该干什么,以及让操作者知道机器人打算干什么。人和机器能够通过许多不同
方式进行通讯。机器人向人提供信息的设备,按其复杂程度排列:(1)信号灯,通过发光二极管,机器人能够给出显示信号。
(2)字符打印机、显示器。(3)绘图仪。(4)语言合成器或其他音响设备(铃、扬声器等)。输入设备包括:按钮、乒
乓开关、旋钮和指压开关数字或字母数字键盘光笔、光标指示器和数字变换板远距离操纵主控装置,如悬挂式操作台等。光学字符阅读机
机械手运动采用计算机之后,极大地提高了机械手的工作能力,包括:(1)使复杂得多的运动顺序成为可能。(2)使运
用传感器控制机械手运动成为可能。(3)能够独立存储工具位置,而与机械手的设计以及刻度系数无关。用与机械手形状元关的坐标
来表示工具位置是更先进的方法,而且(除X-Y-Z机械手外)需要用一台计算机对解答进行计算。在笛卡儿空间内插入工具位置能使工具端点沿
着路径跟随轨迹平滑运动。引入一个参考坐标系,用以描述工具位置,然后让该坐标系运动。这对许多情况是很方便的。工具指令一个工具控制
指令通常是由闭合某个开关或继电器而开始触发的,而继电器又可能把电源接通或断开,以直接控制工具运动,或者送出一个小功率信号给电子控制
器,让后者去控制工具。直接控制是最简单的方法,而且对控制系统的要求也较少。可以用传感器来感受工具运动及其功能的执行情况。当采用工
具功能控制器时,对机器人主控制器来说就可能对机器人进行比较复杂的控制。采用单独控制系统能够使工具功能控制与机器人控制协调一致地工作
。这种控制方法已被成功地用于飞机机架的钻孔和铣削加工。传感数据处理用于机械手控制的通用计算机只有与传感器连接起来,才能发挥其全
部效用传感数据处理是许多机器人程序编制的十分重要而又复杂的组成部分。当采用触觉、听觉或视觉传感器时,更是如此。例如,当应用视觉传
感器获取视觉特征数据、辨识物体和进行机器人定位时,对视觉数据的处理往往是极其大量的和费时的。5.1.4.4机器人语言指令集
移动插补功能:直线、圆弧插补环境定义功能数据结构及其运算功能程序控制功能:跳转运行或转入循环数值运算功能:四则运算、关系
运算输入、输出和中断功能文件管理功能其他功能:工具变换、基本坐标设置和初始值设置,作业条件的设置等5.1.5常用的机器人
编程语言5.1.5.1VAL语言1979年美国Unimation公司推出的VAL语言。VAL语言是在Basic语言的基础
上扩展的机器人语言,它具有Basic式的结构,在此基础上添加了一批机器人编程指令和VAL监控操作系统。此操作系统包括用户交联、编辑
和磁盘管理等部分。VAL语言可连续实时运算,迅速实现复杂的运动控制。VAL语言适用于机器人两级控制系统,VAL语言目前主要用在各
种类型的PUMA机器人以及UNIMATE2000和UNIMATE4000系列机器人上。VAL语言的主要特点编程方法和全部指
令可用于多种计算机控制的机器人;指令简明,指令语句有指令字及数据组成,实时及离线编程均可应用;指令及功能均可扩展,可用于装配线
及制造过程控制;可调用子程序组成复杂操作控制;可连续实时计算,迅速实现复杂运动控制,能连续产生机器人控制指令,同时实现人机交互
。VAL语言的指令VAL语言的指令可分为两类:程序指令和监控指令程序指令1)运动指令:描述基本运动的指令MO
VE(loc)关节插补MOVES(loc)笛卡尔直线运动例如:在
运动中进行手爪的控制MOVETPI,75意思是从目前位置到PI点的关节插补运动,并在运动过程手爪打开7
5mm。相应的直线插补运动为:MOVESTPI,75VAL语言具有接近点和退避点的自动生成功能,如:APPRO(
loc)(dist)表示终端从当前位置以关节插补方式移动到与目标点(loc)在Z方向上相隔一定距离的(dist)处。DE
PART(dist)表示终端从当前位置以关节插补形式在Z方向移动一段距离(dist)。相应的直线插补方式为:APPROS和
DEPARTS2)手爪控制指令:OPEN和CLOSE分别使手爪全部张开和闭合,并且在机器人下个运动过程中执行。而OPEN
I和CLOSEI表示立即执行,执行完后,在转下一个指令。3)程序控制指令:GOTO(label)无条件转移GOS
UB调子程序4)位姿控制指令:在VAL语言中,有专门的指令用以控制机器人的位态
,如:RIGHTY右手;LEFTY左手;ABOVE上肘;ELOW下肘;5)赋值指
令HERE(loc)把当前位置赋给定位变量SET(trans1)=(trans2)
把变量2的值赋给变量1监控指令:共六种1)定义位置、姿态:POINT,DPOINT2)程序编辑3)列表指
令4)存储指令5)控制程序指令:ABORT,DO6)系统状态控制程序示例:将物体从位置1(PICK位置)搬运至位置Ⅱ
(PLACE位置)EDITDEMO启动编辑状态PROGRAMDEMOVA
L响应1?OPEN下一步手张开2?APPROPICK50运
动至距PICK位置50mm处3?SPEED30下一步降至30%满速4?MOVE
PICK运动至PICK位置5?CLOSEⅠ闭合手6?
DEPART70沿闭合手方向后退70mm7?APPROSPLACE75沿直线运动
至距离PLACE位置75mm处8?SPEED20下一步降至20%满速9?MOVESPLACE
沿直线运动至PLACE位置10?OPENⅠ在下一步之前手张开11?DEPART50
自PLACE位置后退50mm12?E退出编译状态返回监控状态5.1.
5.2SIGLA语言SIGLA是20世纪70年代后期意大利OLIVETTI公司研制的一种简单的非文本型语言,用于对直角坐标式的
SIGMA型装配机器人作数字控制。SIGLA类语言有多个指令字,它的主要特点是为用户提供定义机器人任务的能力在SIGMA型机器人
上,装配任务常由若干子任务组成,为了完成对于任务的描述及将子任务进行相应的组合,SIGLA设计了32个指令定义字。要求这些指令定义
字能够:(1)描述各种子任务;(2)将各子任务组合起来成为可执行的任务。5.1.5.3IML语言IML(Intera
ctiveManipulatorLanguage)语言是日本九州大学开发的一种对话性好、简单易学、面向应用的机器人语言。它和V
AL等语言一样,是一种着眼于末端执行器教作进行编程的动作级语言。用户可以使用IML语言给出机器人的工作点、操作路线,或给出目标物
体的位置、姿态,直接操纵机器人。除此之外,IML语言还有如下一些特征:(1)描述往返操作可以不用循环语句;(2
)可以直接在工作坐标系内使用;(3)能把要示教的轨迹(末端执行器位姿矢量的变化)定义成指令,加入到语言中;所示教的数据还
可以用力控制方式再现出来。5.1.5.4AL语言AL语言是1974年由美国斯坦福大学开发的功能比较完善的动作级机器人语言,它
还兼有对象级语言的某些特征,适合于装配作业的描述。AL语言原设计用于具有传感器反馈的多台机器人并行或协同控制的编程。它具有ALG
OL和PASCAL语言的特点,可以编译成机器语言在实时控制机上执行。还具有实时编程语言的同步操作、条件操作的等结构,还支持现场建模
。完整的AL系统硬件应包括后台计算机、控制计算机和多台在线微型计算机。5.1.5.5安川工业机器人用语言由安川株式会社开
发的专门针对安川工业机器人使用的一种语言,编程较简单,属于动作级编程中的终端实行器编程。需要通过机器人在每一点时六个轴的坐标进行
描述来控制机器人的运动位置和姿态。而对于点与点之间的运动采用插补方式,插补的形式较简单,分为直线插补、圆弧插补和抛物线插补三种。
5.1.5.6机器人语言的有关问题实际模型和内部模型的误差机器人语言系统的一个特点是在计算机中建立起机器人环境模
型,因此要做到内部模型和实际模型完全一致是非常困难的。两个模型间的差异,常会导致机器人工作时不能到位,以及发生碰撞等问
题。程序前后衔接的敏感性在机器人语言编程时,单独调试能可靠工作的小程序段,放在大程序中执行时往往失效,这是由于机器人语
言编程时,受机器人的位姿和运动速度的影响比较大。机器人程序对初始条件,程序的前后语句有很大的依赖性。在调试
机器人程序时,比较稳妥的方法是让机器人缓慢地运动,这样可以在机器人运动出现失误(如碰撞)时,能够及时地停止运动,避免发生危险。因为
机器人控制系统在高速情况下会产生较大的伺服误差。误差的探测与校正在实际环境条件下,当物体因为某种原因没有精确地处在规定
的位置上,就会使一些运动失效。因此必须对这些误差进行探测和校正。为了检测误差,机器人程序必须包括一些直观的测试。
通常只对最有可能失效的语句进行直观的检查。一旦检测出误差,就要对误差进行校正。误差校正可以依靠编程来实现,或者依靠
用户进行人工干预,也可以二者结合进行综合校正。5.2机器人离线编程机器人编程技术正在迅速发展.已成为机器人技术向智能化发展的
关键技术之一。尤其令人注目的是机器人离线编程(off-lineprogramming)系统。两种机器人编程的比较:5.2.1
机器人离线编程的特点和主要内容早期的机器人主要应用于大批量生产,如自动线上的点焊、喷涂等,因而编程所花费的时间相对比较少,示
教编程可以满足这些机器人作业的要求。随着机器人应用范围的扩大和所完成任务复杂程度的提高,在中小批量生产中,用示教方式编程就很难满足
要求。机器人离线编程系统是机器人编程语言的拓广,它利用计算机图形学的成果,建立起机器人及其工作环境的三维几何模型,然后对机器人所
要完成的任务进行离线规划和编程,并对编程结果进行动态图形仿真。最后将满足要求的编程结果传到机器人控制柜,使机器人完成指定的作业任务
。5.2.1.1离线编程的优点(1)可减少机器人非工作时间,当对下一个任务进行编程时,机器人仍可在生产线上工作。(2)使编
程者远离危险的工作环境。(3)使用范围广,可以对各种机器人进行编程。(4)便于和CAD/CAM系统结合,做到CAD/CAM/机器人
一体化。(5)可使用高级计算机编程语言对复杂任务进行编程。(6)便于修改机器人程序。离线编程系统可看做动作级和对象级语言图形方式
的延伸,是把动作级和对象级语言发展到任务级语言所必须经过的阶段。从这点来看离线编程系统是研制任务级编程系统一个很重要的基础。它对于
提高机器人的使用效率和工作质量,提高机器人的柔性和机器人的应用水平都有重要的意义。工业机器人离线编程系统的一个重要特点是能够和C
AD/CAM建立联系,能够利用CAD、数据库的数据。对于一个简单的机器人作业,几乎可以直接利用CAD对零件的描述来实现编程。5
.2.1.2离线编程系统的主要内容设计离线编程系统应考虑以下几方面的内容:(1)机器人工作过程的知识(2)机器人和工作环
境三维实体模型(3)机器人几何学、运动学和动力学知识(4)基于图形显示和可进行机器人运动图形仿真的软件系统(5)轨迹规划和检
查算法(6)传感器的接口和仿真(7)通讯功能(8)用户接口,提供有效的人机界面,便于人工干预和进行系统的操作5.2.2
机器人离线编程系统的基本组成它主要由用户接口、机器人系统三维几何建模、运动学计算、轨迹规划、动力学仿真、并行操作、传感器仿真、通
信接口和误差校正9部分组成。5.2.2.1用户接口离线编程系统的一个关键问题是能否方便地产生出机器人编程系统的环境,便于人
机交互。工业机器人一般提供两个用户接口:一个用于示教编程,另一个用于语言编程。示教编程可以用示教盒直接编制机器人程序。语言编程则是
用机器人语言编制程序,使机器人完成给定的任务。目前这两种方式已广泛地应用于工业机器人。离线编程系统框图作为机器人语言的发展,离
线编程系统把机器人语言作为用户接口的一部分,用机器人语言对机器人运动程序进行修改和编辑。用户接口的语言部分具有机器人语言类似的功能
,因此在离线编程系统中需要仔细设计。另外用户接口的一个重要部分,是对机器人系统进行图形编辑。为便于操作,用户接口—般设计成交互式
。一个好的用户接口,可帮助用户方便地进行整个系统的构型和编程操作。5.2.2.2机器人系统的三维几何建模目前用于机器人系统
的构型主要有以下三种方式:(1)结构立体几何表示:(2)扫描变换表示,(3)边界表示。机器人离线编程系统的核心技术是机器人及其工
作单元的图形描述。构造工作单元中的机器人、夹具、零件和工具的三维几何模型,最好采用零件和工具的CAD模型,直接从CAD系统获得,使
CAD数据共享。正因为从设计到制造的这种CAD集成愈来愈急需,所以离线编程系统应包括CAD构型子系统或把离线编程系统本身作为CAD
系统的一部分。若把离线编程系统作为单独的系统,则必须具有适当的接口来实现构型与外部CAD系统的转换。5.2.2.3运动学计算
运动学计算分运动学正解和运动学反解两部分。正解是给出机器人运动参数和关节变量,计算机器人末端位姿;反解则是由给定的末端位姿计
算相应的关节变量值。在离线编程系统中,应具有自动生成运动学正解和反解的功能。5.2.2.4轨迹规划离线编程系统除了对机
器人静态位置进行运动学计算外,还应该对机器人在工作空间的运动轨迹进行仿真。由于不同的机器人厂家所采用的轨迹规划算法差别很大,离线编
程系统应对机器人控制柜中所采用的算法进行仿真。机器人的运动轨迹分为两种类型:自由移动(仅由初始状态和目标状态定义)和依赖于轨迹的
约束运动。约束运动受到路径约束,受到运动学和动力学约束,而自由移动没有约束条件。轨迹规划器采用轨迹规划算法,如关节空间的插补、笛
卡儿空间的插补计算等。同时,为了发挥离线编程系统的优点,轨迹规划器还应具备可达空间的计算,碰撞的检测等功能。5.2.2.5动
力学仿真当机器人跟踪期望的运动轨迹时,如果所产生的误差在允许范围内,则离线编程系统可以只从运动学的角度进行轨迹规划,而不考虑机器
人的动力学特性。但是,如果机器人工作在高速和重负载的情况下,则必须考虑动力学特性,以防止产生比较大的误差。快速有效地建立动力学
模型是机器人实时控制及仿真的主要任务之一,从计算机软件设计的观点看,动力学模型的建立可分为三类:数字法、符号法和解析(数字—符号)
法。5.2.2.6并行操作离线编程系统应能对多个装置进行仿真。并行操作是在同一时刻对多个装置工作进行仿真的技术。进行并行
操作以提供对不同装置工作过程进行仿真的环境。在执行过程中,首先对每一装置分配并联和串联存储器。如果可以分配几个不同处理器共一个并
联存储器,则可使用并行处理,否则应该在各存储器中交换执行情况,并控制各工作装置的运动程序的执行时间。由于一些装置与其他装置是串联工
作的,并且并联工作装置也可能以不同的采样周期工作,因此常需使用装置检查器,以便对各运动装置工作进行仿真。5.2.2.7传感器
的仿真在离线编程系统中,对传感器进行构型以及能对装有传感器的机器人的误差校正进行仿真是很重要的。传感器主要分局部的和全局的两类
,局部传感器有力觉、触觉和接近觉等传感器,全局传感器有视觉等传感器。传感器功能可以通过几何图形仿真获取信息。传感器的仿真主要涉及到几何模型间干涉(相交)检验问题。5.2.2.8通讯接口在离线编程系统中通讯接口起着联结软件系统和机器人控制柜的桥梁作用。利用通讯接口,可以把仿真系统所生成的机器人运动程序转换成机器人控制柜可以接受的代码。离线编程系统实用化的一个主要问题是缺乏标谁的通讯接口。标准通讯接口的功能是可以将机器人仿真程序转化成各种机器人控制柜可接受的格式。为了解决这个问题,一种办法是选择一种较为通用的机器人语言,然后通过对该语言加工(后置处理),使其转换成机器人控制柜可接受的语言。另外一种办法是将离线编程的结果转换成机器人可接受的代码,这种方法需要一种翻译系统,以快速生成机器人运动程序代码。5.2.2.9误差的校正离线编程系统中的仿真模型(理想模型)和实际机器人模型存在有误差,产生误差的原因很多。目前误差校正的方法主要有两种:一是用基准点方法,即在工作空间内选择一些基准点(一般不少于三点),这些基准点具有比较高的位置度,由离线编程系统规划使机器人运动到这些基准点,通过两者之间的差异形成误差补偿函数。二是利用传感器(力觉或视觉等)形成反馈,在离线编程系统所提供机器人位置的基础上,局部精确定位靠传感器来完成。第一种方法主要用于精度要求不太高的场合(如喷涂),第二种方法用于较高精度的场合(如装配)。结构框图机器人编程语言机器人离线编程机器人的主要特点之一是其通用性,使机器人具有可编程能力是实现这一特点的重要手段。机器人编程必然涉及到机器人语言,机器人语言是使用符号来描述机器人动作的方法。它通过对机器人动作的描述,使机器人按照编程者的意图进行各种操作。机器人语言的产生和发展是与机器人技术的发展以及计算机编程语言的发展紧密相关的。编程系统的核心问题是机器人操作运动控制问题。
献花(0)
+1
(本文系huyop09首藏)