技术摘要:
本发明公开了一种协作机器人图形化编程系统,该系统包括人机界面、解释器以及机器人指令集;所述人机界面基于Linux操作系统的QT开发,其设有如下模块:菜单栏模块、工具栏模块、图形化编程模块、图形化接口模块、逻辑模块以及参数编辑模块;所述图形化编程模块用于对机 全部
背景技术:
目前,目前,随着科学技术的发展与人力成本的提高,越来越多的公司选择用协作 机器人代替工人工作。机器人与人交互的核心就是编程系统,现阶段,机器人语言是一种在 人与机器之间相互交换信息或者记录信息的程序语言,它与传统的高级语言相似。但是协 作机器人更多的是面向非计算机专业的用户,而且需要灵活的编程,传统的机器人语言比 较晦涩难懂,而且不利于理解掌握,所以不能广泛的满足用户的编程需求。 基于这样的背景下,研究一种直观、简单的编程系统是非常有必要的。为此,开发 一种机器人图形化编程可以大大缩短操作者的学习时间,降低协作机器人操作的准入门 槛。 如申请公布号为CN107972035A,公布日为2018.05.01的中国专利公开了一种工业 机器人指令集及其图形化处理方法。包括接收操作指令,对操作指令进行处理,生成图形按 钮,图形按钮与动作对应。但是图形化处理得比较简单,各图形化按钮之间的逻辑关系表现 得不够清楚,运动中点位信息表达的不清晰,图形化编程的界面不够直观,没有将对应指令 集进行编译处理,且没有程序检错的功能。 如申请公布号为CN105843630A,公布日为2016.08.10的中国专利公开了一种基于 机器人图形化编程开发的方法。包括基于Visual Studio 2012开发的图形化编程模块,可 视化交互式仿真环境模块搭建可视化交互式仿真环境,但是基于windows系统下开发的图 形化界面不是开源的,目前大部分的示教器基于开源的linux系统下开发,所以通用性比较 差,使用Windows系统的成本比较高。
技术实现要素:
本发明为解决公知技术中存在的技术问题而提供一种开源的且可检错的协作机 器人图形化编程系统。 本发明为解决公知技术中存在的技术问题所采取的技术方案是:一种协作机器人 图形化编程系统,包括人机界面、解释器以及机器人指令集;所述人机界面基于Linux操作 系统的QT开发,其设有如下模块:菜单栏模块、工具栏模块、图形化编程模块、图形化接口模 块、逻辑模块以及参数编辑模块;所述图形化编程模块用于对机器人指令集进行图形化处 理,其包括指令分类库以及对应指令分类库的部件库;所述图形化接口模块用于实现图元 操作、触发事件以及事件处理;所述逻辑模块用于规定各图元与函数接口之间以及各图元 之间的连接关系;所述参数编辑模块用于实现对图元的信息进行编辑及修改。 进一步地,所述指令分类库包括运动指令库、逻辑指令库、事件指令库、函数指令 库、变量指令库、输入输出指令库;所述运动指令库包括直线运动图元、关节运动图元、圆弧 运动图元和速度设置图元;所述逻辑指令库包括判断开始图元、判断结束图元、循环开始图 4 CN 111580806 A 说 明 书 2/6 页 元、循环结束图元;所述事件指令库包括等待图元、停止图元、指令跳转图元;所述函数指令 库包括新建函数图元、函数结束图元、函数跳转图元;所述变量指令库包括新建变量图元; 所述输入输出指令库包括输入输出指令图元。 进一步地,所述逻辑模块规定函数接口及对应图元的属性,其中属性包括父节点、 第一级子节点和第二级子节点;每个图元依次按照父节点、第一级子节点、第二级子节点的 顺序与一个函数接口相对应,当出现图元属性与函数接口不对应时,所述逻辑模块输出错 误信息并禁止图元的拖动或编辑。 进一步地,所述图形化接口模块包括图元操作子模块、触发事件子模块以及事件 处理子模块;其中: 所述图元操作子模块用于实现对部件库中的图元进行拖动并进行连线的操作; 所述触发事件子模块用于实现鼠标点击事件及鼠标拖动事件; 所述事件处理子模块用于用户通过外部输入来编辑移动点位信息或逻辑条件信 息。 进一步地,所述图形化接口模块通过QT中的QmouseEvent鼠标事件和QDrag拖动事 件实现,并在QmouseMoveEvent的鼠标事件启动拖动。 进一步地,所述解释器包括词法分析器、语法分析器和语义分析器。 进一步地,所述词法分析器,根据机器人语言规则,对每条指令按关键字、标识符、 常量进行划分,生成单词符号对照表,使每一个单词都有对应的标号值及属性值;所述词法 分析器创建一个类的对象来保存对应单词的编号值与属性值,用于语法分析器的调用。 进一步地,所述语法分析器采用上下文无关文法的语法规则,将词法分析器处理 后的单词编号值进行处理,将编号值存入到编号表中,利用BNF式文法形成一系列表达式, 利用这些表达式形成语法树,最后对语法树进行遍历,形成目标代码。 进一步地,所述图形化编程模块将所有的图元尺寸统一为相同尺寸,将程序编辑 区域划分为图元大小的网格,当在程序编辑区域有图元时,使图元自动寻找最近的网格区 域放置。 进一步地,还包括通信模块,所述通信模块基于TCP通讯协议,实现所述人机界面 和下位机之间的数据传输。 本发明具有的优点和积极效果是:本发明的一种基于图形化的机器人编程系统, 其具有编程简单、使用门槛低、编程效率高等特点。使用图像化编程界面可以有效提高编程 的效率,有效地降低了编程人员的编程量,也有效的提高了编程的可读性,便于编程人员对 已有程序进行修改。 本发明的人机界面基于LINUX下QT进行开发的,由于LINUX系统的开源的特点,大 大的节省了机器人厂家的成本,使用FLEX和BISON基于LINUX下C语言开发的解释器,可移植 性高,可以将本系统用于不同的机器人厂家,只需要修改机器人指令集与目标代码。 附图说明 图1是本发明的一种应用流程图; 图2是本发明的一种人机界面的显示界面图; 图3是本发明的一种开发流程图; 5 CN 111580806 A 说 明 书 3/6 页 图4是本发明的一种解释器的开发流程图。 图中:1、菜单栏;2、工具栏;3、指令库;4、编程区。