文档库 最新最全的文档下载
当前位置:文档库 › motoman机器人示教编程方法

motoman机器人示教编程方法

motoman机器人示教编程方法
motoman机器人示教编程方法

机器人示教编程方法

张爱红 张秋菊

江南大学机械工程学院,江苏无锡 214000

摘要:针对工业机器人,本文介绍了不同的示教编程方法并且分析了机器人语言系统的构成,最后阐述了用于MO TOMAN

工业机器人的在线示教编程方法及其虚拟示教编程方法。关键词:机器人;示教;再现中图分类号:TP242 文献标识码:A 文章编号:1001-2265(2003)04-0047-03

Programming method for robot teaching

ZHAN G Aihong ZHAN G Qiuju

Abstract :In this paper ,several different programming methods for robot teaching ,classification and composing about robot lan 2guage system as well as the teaching method used in MO TOMAN industrial robot are described.K ey w ords :robot ;teach ;

play

图1 位姿示教框图

1 引言

用机器人代替人进行作业时,必须预先对机器人发出指示,规定机器人进行应该完成的动作和作业的具体内容。这个过程就称为对机器人的示教或对机器人的编程。对机器人的示教有不同的方法,要想让机器人实现人们所期望的动作,必须赋予机器人各种信息,首先是机器人动作顺序的信息及外部设备的协调信息;其次是与机器人工作时的附加条件信息;再次是机器人的位置和姿态信息。前两个方面很大程度上是与机器人要完成的工作以及相关的工艺要求有关,位置和姿态的示教通常是机器人示教的重点。

2 示教的分类

目前机器人位姿的示教大致有两种方式:直接示教和离线示教,而随着计算机虚拟现实技术的快速发展,出现了虚拟示教编程系统。位姿示教框图见图1。

2.1 直接示教

所谓直接示教,就是指我们通常所说的手把手示教,由人直

接搬动机器人的手臂对机器人进行示教,如示教盒示教或操作杆示教等。在这种示教中,为了示教方便以及获取信息的快捷而准确,操作者可以选择在不同坐标系下示教,例如,可以选择在关节坐标系(Joint Coordinates )、直角坐标系(Rectangular Co 2ordinates )以及工具坐标系(Tool Coordinates )或用户坐标系(Us 2er Coordinates )下进行示教。2.2 离线示教

离线示教与直接示教不同,操作者不对实际作业的机器人直接进行示教,而是脱离实际作业环境生成示教数据,间接地对机器人进行示教。在离线示教法(离线编程)中,通过使用计算

机内存储的机器人模型(CAD 模型),不要求机器人实际产生运动,便能在示教结果的基础上对机器人的运动进行仿真,从而确定示教内容是否恰当及机器人是否按人们期望的方式运动。2.3 虚拟示教编程

直接示教面向作业环境,相对来说比较简单直接、适用于批量生产场合,而离线编程则充分利用计算机图形学的研究成果,建立机器人及其环境物模型,然后利用计算机可视化编程语言Visual C ++(或Visual Basic )进行作业离线规划、仿真,但是它在作业描述上不能简单直接,对使用者来说要求较高。而虚拟示教编程充分利用了上述两种示教方法的优点,也就是借助于虚拟现实系统中的人机交互装置(例如:数据手套、游戏操纵杆、力觉笔杆等)操作计算机屏幕上的虚拟机器人动作,利用应用程序界面记录示教点位姿、动作指令并生成作业文件(3.JBI ),最后下载到机器人控制器后,完成机器人的示教。

3 机器人语言分类及其语言系统的构成

3.1 机器人语言分类

上述示教方法的实现都离不开机器人语言的掌握。目前,人们一般按照作业描述水平的高低将机器人语言分为三类:动作级、对象级和任务级。其中动作级语言是以机器人的运动作为描述中心,由一系列命令组成,一般一个命令对应一个动作,语言简单,易于编程,缺点是不能进行复杂的数学运算。而对象级语言是以描写操作物之间的关系为中心的语言。相比较而言任务级是比较高级的机器人语言,这类语言允许使用者对工作任务要求达到的目标直接下命令,不需要规定机器人所做的每一个动作的细节。只要按某种原则给出最初的环境模型和最终的工作状态,机器人可自动进行推理计算,最后生成机器人的动作。3.2 机器人语言系统的组成

机器人语言系统构成如图2所示。

从模块化的思想考虑,机器人语言系统主要包括以下几种模块:

(1)主控程序模块

●对来自示教盒/面板的请求给予相应的服务。

7

42003年第4期

图2 

机器人语言系统构成

图3 MO TOMAN 机器人示教系统的组成

●任务的调度安排。

(2)运动学模块

此模块是机器人运动的关键,包括机器人运动学的正、反解以及路径规划,完成机器人的关节、直线、圆弧插补功能。

(3)外设控制模块

实现对机器人系统有关的外围设备的控制。(4)通信模块

支持主机和示教盒、PLC 及伺服单元的通信。(5)管理模块

提供方便的机器人语言示教环境;支持对示教程序的示教、编辑(插入、删除、拷贝)、装入、存储等操作;完成系统各功能之间的切换。

(6)机器人语言解释器模块对机器人语言的示教程序进行编译、扫描及语言法检查,最后解释执行。

(7)示教模块

利用示教盒来改变操作机末端执行器的位置和姿态。(8)报警模块

对出错信息的处理及响应。

4 机器人指令的功能分析

机器人指令从功能可以概括为如下几种:运动控制功能、环境定义功能、运算功能、程序控制功能、输入、输出功能等。

运动控制功能是其中非常重要的一项功能,机器人运动轨迹的控制方式有两种:CP 控制方式和PTP 控制方式。无论采用哪一种控制方式,目前工业机器人语言大多数以动作顺序为中心,通过使用示教这一功能,省略了作业环境内容的位置姿态的计算。具体而言对机器人运动控制的功能可分为:1)运动速度设定2)轨迹插补方式(分为:关节插补、直线插补以及圆弧插补)3)动作定时4)定位精度的设定以及5)手爪、焊枪等工具的控制等。除此之外还包括工具变换、基本坐标设置和初始值的设置、作业条件的设置等功能,这些功能的实现往往在具体的程序编制中体现。

5 MOT OMAN 工业机器人示教

5.1 在线示教的实现

(1)示教系统的组成

本系统主要由6自由度机械手(SV3X )、机器人控制柜(XRC )、示教盒、上位计算机和输入装置组成。控制柜与机械手、微机、示教盒间均通过电缆连接,输入装置(游戏操纵杆)连接到了微机的并行端口L PT (或声卡接口)上,如图3所示。

(2)示教系统的设置

示教前的系统设置包括:1)零位标定2)特殊点设置3)控

制器时钟设置4)干涉区域设置5)操作原点设置6)工具参数标定7)用户坐标设置8)文件初始化等。限于篇幅,本文只介绍机器人的“零位标定”:首先利用示教盒切换到管理模式(Man 2age Mode )下,按照操作顺序选取[TOP MENU ]、接着选取[ROBO T]菜单的[HOME POSITION ]子菜单,然后将机器人移动到零位,选取所有的轴(ALL ROBO T AXIS ),实现零位标定(注:零位也就是关节脉冲为零的位置,作为以后输入脉冲的基准),其他设置方法与此类似。

(3)示教程序的输入NOP

MOVJ VJ =10.00TIMER T =1.00DOU T O T #(1)ON MOVL P000V =276TIMER T =1.00DOU T O T #(1)ON CALL JOB :TEST END

示教前,需要打开控制器再现面板上的伺服电源、选取示教模式,同时点亮示教盒上的示教锁。登录示教作业名后,系统自动为程序加上两行语句:“NOP ”、“END ”以作为程序的开始和结束标志。按住示教盒背面的三位开关当伺服电源停止闪烁时,在某一坐标系下(可以从关节、直角、工具或用户坐标系中选取)移动机械手至某一位姿后输入示教指令,编辑指令参数,回车,此时系统将记录当前位姿参数,以便回放再现时调用。MO 2TOMAN 机器人采用的编程语言为INFORMII ,属于动作级编

程语言(参见“机器人示教指令程序”

),具有上文介绍的机器人语言指令功能。不同类型的机器人指令仅在指令的具体表述上有差异。MOVJ 、MOVL 描述了回放时的轨迹插补方式:前者指关节插补、后者指直线插补。TIMER 描述了定时时间,通过调用“DOU T O T #(1)ON/OFF ”实现工具的开关,CALL 语句则

8

4 组合机床与自动化加工技术

可以调用其他的作业程序。示教完成后,需要关闭示教盒上的示教锁,并切换至再现模式,回放前,同样需要打开伺服电源,最后启动回放示教过程。

5.2 虚拟示教方法

目前随着计算机性能的提高,虚拟现实技术的发展[1],微机虚拟示教已成为现实。OPEN G L图形生成技术[6,7]、V ISUAL C++可视化编程语言[8]是实现机器人建模、建立人机交互界面的重要手段。市面上流形的带有力反馈的游戏操纵杆可以实现逼真的示教输入操作。

(1)Open G L开发技术基础

1)在Windows98/N T中使用Open G L时,必须保证在系统的/system目录下应该有opengl32.dll和glu32.dll两个动态连接库,它是Open G L程序运行的基础。另外在VC++的L IB目录下包含opengl.lib、glu32.lib库文件,Include目录下包含gl.h、glu.h、glaux.h头文件,这些头文件提供了对Open G L函数的声明。2)绘图前必须首先设置像素格式,包含Open G L设备绘图界面的属性,如颜色模式、颜色位数、缓存类型以及模板缓存位数等。3、在调用Open G L函数前,需要创建图形操作描述表,接着启用图形操作描述表,在不删除该操作描述表前,可以调用任意Open G L函数进行图形图像处理。

(2)机器人屏幕图像的生成过程

机器人屏幕图像的生成过程需要经过以下四步:1)物体建模:在Open G L中使用点、线、多边形、图像和位图等图元和数学描述来合成机器人的几何框架,这一步是产生Open G L图像的基础。2)视点设置和物体变换:首先在三维空间中放置物体,其中包括视点和视角的设置,用于控制物体的显示角度;然后就可以对物体做相应的变换,例如:旋转、平移、放大和缩小等。3)计算物体颜色:例如物体表面材质、纹理以及光照条件等,物体的最终颜色由这几部分计算得到。4)屏幕光栅化:把物体形状和颜色信息转换成屏幕像素值。

(3)游戏杆编程

微软公司在Windows98/N T操作系统基础上推出的Direc2 tX图形加速程序和开发工具包提供了对媒体硬件设备的直接存取能力以及对多媒体的支持。Direct Input属于DirectX的组件之一,它提供了对游戏操纵杆和其他输入设备(如键盘、鼠标等)的访问。Direct Input由三个对象组成:Direct Input、Direct In2 putDevice和Direct Input E ffect。Direct Input是一个高层对象,通过Direct Input对象可以对相关的输入设备进行初始化和查找。Direct Input对象最终用来创建低层的Direct InputDevice对象。Direct InputDevice对象是与物理输入设备(游戏杆)的接口,包括收集、设置设备状态信息,并用来创建力反馈设备Direct Input2 E ffect对象。而Direct Input E ffect对象封装能够在力反馈设备上″播放″的简单效果,提供启动、停止和设置力反馈效果等功能。将此功能用在机器人虚拟示教过程中,可以产生强列的虚拟现实和震撼力。

(4)示教指令的解释

在线示教过程中示教指令,诸如:MOVJ、MOVL、MOVC、TIMER、DOU T等,由图2中所示的机器人语言解释器负责解释、编译,虚拟示教系统的上述指令,类似地也由一段解释代码的程序来执行,尤其前三个指令,均属于轨迹规划方面的指令。反应在回放时,机器人在示教点间走的中间路线:直线、圆弧或者按照关节插补方式运动。由于篇幅所限,本文不作介绍,读者可以参阅相关资料[4,5]。

(5)示教界面设计

利用Visual C++编程时,我们采用了基于MFC的C++编程方式,通过ClassWizard类向导、AppWizard应用程序向导的配合编程缩短了编程时间。其中消息响应机制、不同类对API接口函数的封装以及类的继承性,使得编程难度大为降低。

在示教界面的设计上,可以采用多种资源方式:对话框、菜单、工具条等来实现,属于常规操作。编程时重点要解决好不同类成员变量间的数据交换、操纵杆的输入输出、文件的读写操作等。其中文件读写可以完成示教关键点的位姿记录、文件名操作、回放再现以及生成机器人作业文件(3.JBI)等。利用定时操作函数Set Timer(U IN T nIDEvent,U IN T nElapse)或用多线程技术编程可以实现对操纵杆输入数据的定时采样及其对操作者实施实时力反馈。

6 结束语

本文较全面地介绍了工业机器人不同的示教方法以及机器人语言系统分类和构成,最终提出了用于MO TOMAN工业机器人的两种示教方法。通过本文的分析,我们不但可以认识到传统示教编程的特点,而且在此基础接触到更为先进的机器人示教方法,随着“虚拟示教编程方法”的进一步完善,它将如″虚拟数控系统″一样逐步取代传统的示教编程方法,这样既可以节省大量的财力物力,又具有安全、高效的特点,因而具有广泛的市场前景。

[参考文献]

[1]赵春霞,Y.F.Li,王树国等.虚拟现实的发展及在机器人系

统中的应用研究.机器人,1999,21(5):395~400

[2]Y ASNAC XRC INSTRUCTIONS.Y ASK AWA EL ECTRIC

CORPORA TION,1999

[3]Y ASNAC XRC OPERA TOR’S MANUAL.Y ASK AWA

EL ECTRIC CORPORA TION,1999

[4]马香峰等.工业机器人的操作机设计.北京:冶金工业出版

社,1996

[5]龚振邦等.机器人机械设计.北京:电子工业出版社,1995

[6]邓炜,贾林,王军安.Open G L视类及其在三维图形开发中的

应用.现代计算机,2000(8)

[7]尚游、陈岩涛.Open G L图形程序设计指南.北京:中国水利

水电出版社,2001

[8]李明柱等.Visual C++最新编程实践与技巧.北京:北京航

空航天大学出版社,2000

收稿日期:2002-10-24

作者简介:张爱红(1971-),男,江苏省盐城市人,江南大学机械工程学院硕士研究生。

(编辑 江复)

94

2003年第4期

相关文档