公开/公告号CN106737676A
专利类型发明专利
公开/公告日2017-05-31
原文格式PDF
申请/专利权人 南京埃斯顿机器人工程有限公司;
申请/专利号CN201611233352.7
申请日2016-12-28
分类号B25J9/16(20060101);
代理机构32237 江苏圣典律师事务所;
代理人程化铭
地址 211106 江苏省南京市江宁经济开发区燕湖路178号
入库时间 2023-06-19 02:27:27
法律状态公告日
法律状态信息
法律状态
2019-05-17
专利权的转移 IPC(主分类):B25J9/16 登记生效日:20190428 变更前: 变更后: 申请日:20161228
专利申请权、专利权的转移
2019-03-15
授权
授权
2017-08-01
著录事项变更 IPC(主分类):B25J9/16 变更前: 变更后: 申请日:20161228
著录事项变更
2017-06-23
实质审查的生效 IPC(主分类):B25J9/16 申请日:20161228
实质审查的生效
2017-05-31
公开
公开
技术领域
本发明涉及工业机器人编程系统,尤其涉及一种基于脚本可二次开发的工业机器人编程系统。
背景技术
工业机器人是集机械、电子、控制、计算机、传感器、人工智能等多学科先进技术于一体的自动化装备。在发达国家中,工业机器人自动化生产线成套设备已成为自动化装备的主流。
在工业机器人发展早期,一般只能执行固定的程序,专用性强,且无法扩展。随着工业自动化中对柔性作业的需求的增加,这种机器人已经很难满足现代工业生产的要求,于是,用于机器人编程的机器人语言应运而生。如今,机器人语言已经成为机器人数控系统中的一个不可或缺的部分,机器人的作业在很大程度上都依靠用机器人语言编制的程序来完成。在工业机器人的发展过程中,机器人语言也不断地发展和完善。
作为人机交互的重要接口和机器人实现其智能化的重要方式,机器人语言的重要性已经日益凸显出来。和计算机语言用符号表示计算机进行的操作类似,机器人语言也用符号来描述机器人的动作,使机器人能按照编程者的意图完成各种复杂的动作和操作。机器人编程语言不仅涉及到机器人技术,也和计算机编程语言密切相关,因此,它们的发展是相辅相成的。
随着机器人技术的不断发展,机器人语言也不断地向前推进,其功能不断扩展,使用上也更加容易理解和上手。现在应用比较广泛的且有代表性的工业机器人编程语言是ABB公司开发的RAPID语言。它是一种英文编程语言,所包含的指令可以移动机器人、设置输出、读取输入、还能实现决策、重复其它指令、构造程序、与系统操作员交流等功能,是有较强功能的机器人语言。
机器人编程系统作为机器人控制系统的一部分,国外一直处于垄断地位,国外厂商的控制系统及其控制终端一般只对自己品牌的机器人有一定的兼容性,其独有的设备配件和高昂的维修费用让国内相关产业耗费了大量的人力与财力。中国发明专利“工业机器人的编程系统和方法”(申请号为201210432301.2)公开了一种通用工业机器人编程系统和方法,但是没有对可二次开发的机器人编程系统给出解决方案。郭显金在硕士学位论文“工业机器人编程语言的设计与实现”中提出了一套工业机器人编程语言,使对机器人的编程变得简单而高效,但该方法仅针对MOTORMAN SK6机器人控制系统作为研究对象,不具备可二次开发指令集的功能即根据需求编制专属的指令集来满足在具体应用中的需要。
发明内容
本发明公开了一种基于脚本可二次开发的工业机器人编程系统,解决了可以二次开发指令集的问题。
为实现上述发明目的,本发明采取的技术方案是:
一种基于脚本可二次开发的工业机器人编程系统,包括以下步骤:
步骤1:定义系统配置数据,在系统配置脚本文件中定义基本的数据类型和指令集。
所述基本的数据类型包括:int型、bool型、real型、APOS型、CPOS型、TOOL型、USERCOOR型。
所述指令集包括:
a、运动指令MovJ、MovL、MovC
b、IO指令SetDO、SetAO、WaiDI、WaitAI
c、等待延时指令Wait
d、流程控制指令IF、ELSE、ENDIF、WHILE、ENDWHILE、CALL、GOTO、LABEL、RUN、KILL
e、表达式指令。
步骤2:在用户配置脚本文件中定义二次开发的指令集和数据类型,该二次开发指令和数据类型运用了基于脚本可二次开发模块,该模块能根据用户需求自定义指令和数据,用户自定义的指令是由第一步中系统指令集的组合,用户自定义的数据类型是由第一步中系统基本数据类型的组合。
步骤3:通过手持示教盒进行机器人编程,实现机器人的运动控制。
所述基于脚本可二次开发模块,包括配置脚本文件管理模块、工程及程序管理模块、程序变量管理模块、程序指令管理模块。
配置脚本文件管理模块,用来读取系统配置和用户配置脚本文件,将读取出来的数据进行解析,将解析后的数据类型和指令集数据填充到结构体中,再将结构体数据通过以太网发送给示教盒,示教盒获取到配置文件数据后加载到工程及程序管理模块的界面。
工程及程序管理模块,用来进行对程序工程和文件进行管理,对工程和程序进行新建、删除、复制、粘贴、导入;如果是导入工程和程序,控制器就会读取工程下面程序数据和程序指令文件,将读取的程序数据和指令填充结构体传给示教盒,示教盒进入程序指令管理模块编辑界面。
所述程序指令管理模块,用来进行指令的显示、新建、修改、删除、复制、粘贴、注释;显示系统支持的指令类型及每类中的指令列表该数据由配置脚本管理模块获得。
示教盒上切换到获取变量界面,进行变量管理模块处理,该模块按层级获取变量列表及变量值,一共三层:全局变量、工程局部变量、程序局部变量;变量新建、修改、删除、复制、粘贴;显示系统支持的变量种类及每类中的变量类型列表;显示指定变量的组成细节,即变量各字段的名称和值。
本发明的解析方法采用脚本方式可以二次开发用户需求的指令集,这使得该编程语言具有高度的灵活性,能根据自己的需要编制专属的指令集来满足在具体应用中的需要。该二次开发功能的优点在于不需要为了开发新指令而重新编写代码进行烧写程序从而减少很大的开发工作量。
附图说明
图1是本发明方法的系统框图。
图2是机器人程序指令的执行流程图。
图3是基于脚本可二次开发模块中配置文件管理模块的处理流程图。
图4是基于脚本可二次开发模块中工程及程序管理模块的处理流程图。
图5是基于脚本可二次开发模块中程序变量管理模块的处理流程图。
图6是基于脚本可二次开发模块中程序指令管理模块的处理流程图。
图7和图8是系统配置脚本文件示例和用户自定义配置脚本文件示例图。
图9是工程文件结构图。
图10是数据文件示例图。
图11是程序指令文件示例图。
图12是二次开发指令示例图。
具体实施方式
下面结合附图和具体实施方式,对本发明作进一步详细说明。
本发明处理的对象是工业机器人中基于脚本的可二次开发编程系统,如图12所示,现要二次开发一条指令MovX,具体流程如下:
第一步:定义系统配置数据,如图7所示在系统配置脚本文件中制定基本的数据类型(int型、bool型、real型、APOS型、CPOS型、TOOL型、USERCOOR型)和指令集包括运动指令(MovJ,MovL,MovC)、IO指令(SetDO,SetAO,WaiDI,WaitAI)、等待延时指令(Wait)、流程控制指令(IF,ELSE,ENDIF,WHILE,ENDWHILE,CALL,GOTO,LABEL,RUN,KILL,表达式指令);
第二步:定义用户自定义配置数据,如图8所示,在用户配置脚本文件中定义用户自定义数据类型(ABC型和DEF型),自定义指令MovX,该指令调用了基本运动指令MovJ和IO指令SetDO来实现。
定义完成系统配置文件和用户配置文件之后,经过配置脚本文件管理模块数据处理后通过以太网发给示教盒进行显示,工作流程图如图3所示。
示教盒获取到配置文件数据后加载到工程及程序管理界面,进行工程及程序管理部分。
工程文件结构图如图9所示,工作流程图如图4所示,依次执行以下步骤:
第一步:操作示教盒,下发命令给控制器。
第二步:示教盒上点击新建工程命令,就在磁盘上新建该工程名的文件夹,并在文件夹内新建工程局部变量的数据文件。
第三步:示教盒上点击新建程序命令,就先找到该程序对应的工程,在该工程文件夹内新建该程序的数据文件和执行文件。
第四步:示教盒上点击导入程序按钮,导入第三步中新建的程序进入程序指令管理界面。
进入程序指令界面后,工作流程图如图6所示,依次执行以下步骤:
第一步:操作示教盒,下发命令给控制器。
第二步:示教盒上点击新建指令命令,示教盒上就会显示配置文件里面定义的所有指令,包括用户自己定义的指令MovX,控制器就先在当前工程下找到该指令文件,然后重新打开文件,插入一条新指令MovX,再重新写入到磁盘中;示教盒上就会多显示一条MovX指令。
指令新建完成之后,就可以开始进行程序指令的执行,工作流程图如图2,执行步骤如下:
第一步:在示教盒上设置程序指针,使得程序从第一行指令开始执行。
第二步:控制器获取指令行号,从该行加载执行指令。
第三步:判断该行是否是流程控制指令(IF,ELSE,WHILE,GOTO等指令),如果是就执行流程控制修改指令行号,程序指针将进行跳转。
第四步:如果该行不是流程控制指令(IF,ELSE,WHILE,GOTO等指令),就在脚本中执行该条指令。
第五步:如果该行指令执行成功,判断是否是单步模式,如果不是就继续判断是否到达文件尾,如果不是就跳转到第五步继续执行,如果是就跳转到下一步。
第六步:执行结束。
通过以上的方法步骤,就可以完成二次开发指令,该指令实现了机器人运动和设置IO的功能,将该文本写入到配置文件中,系统重新上电加载,在示教盒上就可以看到该条指令(MovX),运行该条指令可以看到机器人实现了运动和设置IO的功能。
本发明中机器人的控制指令和数据都是基于脚本进行编写,使得指令集可根据用户需求进行编制,具有很大的灵活性,不需要为了开发新指令而重新编写代码进行烧写程序;减少了很大的开发工作量。
机译: 用于工业机器人的基于剪刀原理的多轴平行杆系统,其中剪刀的端点和脚点与基准板内的驱动器相交于驱动导向轴
机译: 一种基于脚的量产鞋底的方法及量脚的装置
机译: 一种基于加速度计的测量值监视和限制工业机器人速度的方法