工业机器人编程语言的设计与实现

上传人:n**** 文档编号:41738628 上传时间:2018-05-30 格式:PDF 页数:69 大小:1.26MB
返回 下载 相关 举报
工业机器人编程语言的设计与实现_第1页
第1页 / 共69页
工业机器人编程语言的设计与实现_第2页
第2页 / 共69页
工业机器人编程语言的设计与实现_第3页
第3页 / 共69页
工业机器人编程语言的设计与实现_第4页
第4页 / 共69页
工业机器人编程语言的设计与实现_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《工业机器人编程语言的设计与实现》由会员分享,可在线阅读,更多相关《工业机器人编程语言的设计与实现(69页珍藏版)》请在金锄头文库上搜索。

1、 分 类分 类 号号 学号学号 M201070466 学校代码学校代码 10487 密级密级 硕士学位论文硕士学位论文 工业机器人编程语言的设计与实现工业机器人编程语言的设计与实现 学 位 申 请 人 : 郭 显 金 学 科 专 业: 机械电子工程 指 导 教 师: 叶伯生 副教授 答 辩 日 期: 2013 年 1 月 15 日 华中 科技 大学 硕 士学 位论华中 科技 大学 硕 士学 位论 文文 II A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Engi

2、neering The design and implementation of industrial robot programming language Candidate : Guo Xianjin Major : Mechanical P2 UF: 0, UT: 1POS: 885.000 -256.385 -8.400 0.000 180.000 80.713 ; P3 UF: 0, UT: 0POS: 970.850 0.000 50.000 0.000 180.000 80.713 ;1:J P1 50% FINE 2:J P2 10% CNT0 3:J P3 50% FINE

3、4: PR1=P1 5: PR2=P2 6: PR3=P3 图图 2 2- -5 5 机器人程序格式机器人程序格式 华中 科技 大学 硕 士学 位论华中 科技 大学 硕 士学 位论 文文 15 如图所示,程序以字符串标识开始,而后以字符串标识程序中各的位置点,程序段则以标识开始并以标识结束。程序应严格按照此格式编写。由于本机器人控制系统采用指令字以“选择题式”输入的方式编程,并不需要用户手工输入各个指令,程序的格式是由编辑器软件设定的,因此严格的程序格式和用户方便简易的编程方式之间并没有影响。 2.42.4 编程方式设计编程方式设计 本机器人使用手持盒示教编程,手持盒示意图如图 2-所示。 图

4、图 2 2- -6 6 机器人手持盒示意图机器人手持盒示意图 手持盒设计有“上” 、 “下” 、 “左” 、 “右”方向键、窗口切换按键、 “确定” 、“取消”按键、三个轴选择键、一个运动模式切换键、运动控制滚轮和控制程序运行的“运行” 、 “暂停” 、 “单步向前”和“单步向后”等按键。 对于非运动指令,使用手持盒上的按键调出各指令,再按下“确定”按键,所选指令即可显示在程序编辑区,而后通过修改指令中的参数即可完成非运动指令的编辑。 华中 科技 大学 硕 士学 位论华中 科技 大学 硕 士学 位论 文文 16 对于运动指令,除了要像非运动指令一样添加指令,一般还需要示手动示教机器人的位置,即

5、必须要有一个特定的具体位置点和指令中的位置名相关联。此时需要利用机器人的手动控制功能使机器人运动到目标位置。 机器人手持盒提供三个轴选择键、一个轴或运动模式切换键和一个运动控制滚轮来共同完成手动控制机器人运动的功能。其中轴切换键和运动模式切换键是复用的,当只按下这个键时,就在当前的运动模式下切换运动轴,如关节运动模式下的J1、J2、J3 轴和 J4、J5、J6 之间互相切换;而当这个键按下同时滚动运动控制滚轮时,即在运动模式之间切换,如在关节坐标系和直角坐标系下运动的互相切换。运动控制滚轮用于控制机器人的运动,向上拨动即是正向运动,向下拨动即是负向运动,用拨动的幅度控制运动速度。 示教关节运动

6、时,把机器人运动模式切换至关节坐标系下,此时三个轴选择键分别代表 J1、J2、J3 这前三个决定机器人末端位置的轴或 J4、J5、J6 这前三个决定机器人末端姿态的轴,通过轴切换键可在两者间进行切换。轴选择键和运动控制滚轮同时按下即可控制机器人某一轴的运动,比如在关节坐标系下按下 J1 键的同时向上拨动运动控制滚轮,机器人的第一轴即正向运动,波动的幅度越大,运动速度越快。使用轴选择键、轴切换键和运动控制滚轮可使机器人运动到关节空间内的任一可达位姿。 示教直线运动和圆弧运动时,把机器人运动模式切换至直角坐标系下,此时三个轴选择键分别代表直角坐标系下的位置或姿态,通过轴切换键可在两者间进行切换。轴

7、选择键和运动控制滚轮同时按下即可控制机器人直角坐标系下某一轴的运动,如在直角坐标系下按下 I 键的同时向上拨动运动控制滚轮,机器人末端 TCP 中心点即沿 X 轴方向正向运动,拨动的幅度越大,运动速度越快。使用轴选择键、轴切换键和运动控制滚轮可使机器人运动到直角空间内的任一可达位姿。 示教运动指令时,在界面上调出相应的运动指令,选择后,填写好速度参数,再将机器人手动操作移动到目标位置,记下此时位置点即可。 可见,本文设计的编程方式使用方便,可让用户简单而高效地编写机器人程序。 华中 科技 大学 硕 士学 位论华中 科技 大学 硕 士学 位论 文文 17 2.52.5 机器人语言系统设计机器人语

8、言系统设计 2.5.12.5.1 机器人控制系统总体结机器人控制系统总体结构构 本课题的内容是 MOTORMAN SK6 工业机器人的控制系统开发的一部分,因此有必要介绍一下机器人控制系统的整体结构。 此机器人控制系统能完成工业机器人控制所需要的各种要求,主要包括:机器人手动操作、示教编程、程序试运行和程序自动再现、I/O 控制、寄存器管理、系统配置、报警与事件、人机界面、力控制与机器视觉、多机器协作与机器人弧焊等功能。 该工业机器人控制系统采用上下位机结构,上位机为手持操作盒,操作者通过手持盒完成对机器人的控制功能并实现人机交互;下位机为工业个人计算机 IPC,它两端分别连接手持操作盒和机器

9、人控制柜,通过与上位机和机器人控制柜的交互可完成运动控制、逻辑控制、插补运算、程序解释等功能。上下位机之间采用以太网通讯。上下位机软件结构如图 2-所示: 下 位 机 控 制 器网 络 功 能运动控制逻辑控制插补运算上 位 机 手 持 盒网 络网 络 功 能人机交互文件管理程序编辑代码解释图图 2 2- -7 7 机器人控制系统软件结构机器人控制系统软件结构 其中,上位机的硬件平台为 ARM9,软件平台为 wince4.0;下位机硬件平台为工业 IPC,软件平台为 Linux2.6.2;上下位机通过 RJ45 网络连接进行数据传输。 本文研究的是机器人控制系统中涉及编程语言的部分,主要是程序编

10、辑和代码解释两大模块。 2.5.22.5.2 机器人编程语言系统设计机器人编程语言系统设计 华中 科技 大学 硕 士学 位论华中 科技 大学 硕 士学 位论 文文 18 在机器人编程语言系统中,操作者通过示教编程的方法输入源程序,由解释器经过词法分析、语法分析和语义分析,最后生成目标代码输入控制器,执行程序。图 2-为机器人语言系统结构图。 机 器 人 源 程 序文本编辑示教生成 空间点编辑器词法分析语法分析语义分析目标代码 生成符 号 表错 误 处 理解释器轨迹 规划 和 插补 计算执 行 机 构图图 2 2- -8 8 机器人语言系统结构图机器人语言系统结构图 与一般的程序设计语言不同,机

11、器人程序一般通过“选择题式”的方式来输入,即程序编辑器提供各种类型的指令以供选择,被选择的指令语句自动输入程序编辑框并显示在程序界面上,只需修改语句中的参数即可完成程序的编制。因为机器人编程所用的手持盒一般不能像电脑一样提供如键盘一样的强大的输入设备,而机器人语言的指令一般是固定的而且数量有限,用这种编程方法既使程序的输入极为方便,又避免了各种指令格式上的错误。机器人程序里的位姿点则用示教的方式来记录,即在手动模式下把机器人移动到目标位姿点,再记录下当前位姿。 机器人源程序输入完成后,经网络发给下位机的解释器。解释器经过词法分析、语法分析和语义分析,生成目标代码,交由控制器进行轨迹规划及插补计

12、算,最后由执行机构执行程序。 2.5.32.5.3 目标指令设计目标指令设计 机器人目标指令是源程序经解释器解释后的数据,这些数据可直接输入运动控制模块进行机器人的运动控制。它一般以数据结构的形式存在,数据结构名即指令名,其中的数据是目标指令的参数。 华中 科技 大学 硕 士学 位论华中 科技 大学 硕 士学 位论 文文 19 目标指令是由编程语言指令映射得到的。例如:对于关节运动指令“J P1 100% FINE” ,其中包含了指令字“J”和目标点 P1、倍率 100%和定位路径三项参数,它可以用目标指令 MotionCmd 来表示,此数据类型的定义如下: 运动指令: typedef str

13、uct unsigned short _nType; /运动指令类型: 关节、直线、圆弧 SPosition _thePosData3; /位置数据:直线(起点、终点) ;圆弧(起点、中间点、终点) double _lfSpeed; /进给速度 (mm/sec) double _lfEndErr; /定位类型: FINE CNT. MotionCmd; 可见,此数据类型中有包含运动指令、位置数据、运动速度和定位类型的数据项,插补器读取这些这些数据即可完成 J P1 100% FINE 的动作。 按照同样的原理并结合机器人控制系统的实际情况,则可以设计出其它目标指令。本系统部分具体的目标指令及指

14、令数据结构如表 2-1 所示: 表表 2 2- -1 1 部分目标指令及其数据结构定义部分目标指令及其数据结构定义 指令名称 指令解释 指令数据结构定义 Timer 程序计时器 typedef struct unsigned char _nState; /TIMER_ON: 启 动 ; TIMER_OFF:关闭; TIMER_OVERFLOW:溢出 unsigned long _lTimerCnt; /计时器(毫秒) Timer; Register 寄存器 typedef struct double _lfV alue; /值 unsigned char _sCommentCOMMENT_LE

15、N; /注释 华中 科技 大学 硕 士学 位论华中 科技 大学 硕 士学 位论 文文 20 Register; Position 位置数据 typedef struct unsigned long _lAddr; /位置变量号 unsigned char _nInit; /位置数据是否初始化 unsigned char _nType; /坐标系类型:关节坐标、世界坐标、用户坐标、工具坐标 unsigned char _nWorkpCSNo; /工件坐标系序号 unsigned char _nToolCSNo; /工具坐标系序号 double _lfPosDataJOINT_AXS_NUM; /坐标系位置,由_nType 决定其类型 char _sCommentCOMMENT_LEN; /注释 Position; ProgAlarm 程序报警 typedef struct char _sProgNamePROG_NAME_LEN; /程序名 unsigned long _lTextRow; /程序行 unsigned int _

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号