1.一种协作机器人图形化编程系统,其特征在于,包括人机界面、解释器以及机器人指令集;所述人机界面基于linux操作系统的qt开发,其设有如下模块:菜单栏模块、工具栏模块、图形化编程模块、图形化接口模块、逻辑模块以及参数编辑模块;所述图形化编程模块用于对机器人指令集进行图形化处理,其包括指令分类库以及对应指令分类库的部件库;所述图形化接口模块用于实现图元操作、触发事件以及事件处理;所述逻辑模块用于规定各图元与函数接口之间以及各图元之间的连接关系;所述参数编辑模块用于实现对图元的信息进行编辑及修改。
2.根据权利要求1所述的协作机器人图形化编程系统,其特征在于,所述指令分类库包括运动指令库、逻辑指令库、事件指令库、函数指令库、变量指令库、输入输出指令库;所述运动指令库包括直线运动图元、关节运动图元、圆弧运动图元和速度设置图元;所述逻辑指令库包括判断开始图元、判断结束图元、循环开始图元、循环结束图元;所述事件指令库包括等待图元、停止图元、指令跳转图元;所述函数指令库包括新建函数图元、函数结束图元、函数跳转图元;所述变量指令库包括新建变量图元;所述输入输出指令库包括输入输出指令图元。
3.根据权利要求1所述的协作机器人图形化编程系统,其特征在于,所述逻辑模块规定函数接口及对应图元的属性,其中属性包括父节点、第一级子节点和第二级子节点;每个图元依次按照父节点、第一级子节点、第二级子节点的顺序与一个函数接口相对应,当出现图元属性与函数接口不对应时,所述逻辑模块输出错误信息并禁止图元的拖动或编辑。
4.根据权利要求1所述的协作机器人图形化编程系统,其特征在于,所述图形化接口模块包括图元操作子模块、触发事件子模块以及事件处理子模块;其中:
所述图元操作子模块用于实现对部件库中的图元进行拖动并进行连线的操作;
所述触发事件子模块用于实现鼠标点击事件及鼠标拖动事件;
所述事件处理子模块用于用户通过外部输入来编辑移动点位信息或逻辑条件信息。
5.根据权利要求4所述的协作机器人图形化编程系统,其特征在于,所述图形化接口模块通过qt中的qmouseevent鼠标事件和qdrag拖动事件实现,并在qmousemoveevent的鼠标事件启动拖动。
6.根据权利要求1所述的协作机器人图形化编程系统,其特征在于,所述解释器包括词法分析器、语法分析器和语义分析器。
7.根据权利要求6所述的协作机器人图形化编程系统,其特征在于,所述词法分析器,根据机器人语言规则,对每条指令按关键字、标识符、常量进行划分,生成单词符号对照表,使每一个单词都有对应的标号值及属性值;所述词法分析器创建一个类的对象来保存对应单词的编号值与属性值,用于语法分析器的调用。
8.根据权利要求6所述的协作机器人图形化编程系统,其特征在于,所述语法分析器采用上下文无关文法的语法规则,将词法分析器处理后的单词编号值进行处理,将编号值存入到编号表中,利用bnf式文法形成一系列表达式,利用这些表达式形成语法树,最后对语法树进行遍历,形成目标代码。
9.根据权利要求1所述的协作机器人图形化编程系统,其特征在于,所述图形化编程模块将所有的图元尺寸统一为相同尺寸,将程序编辑区域划分为图元大小的网格,当在程序编辑区域有图元时,使图元自动寻找最近的网格区域放置。
10.根据权利要求1所述的协作机器人图形化编程系统,其特征在于,还包括通信模块,所述通信模块基于tcp通讯协议,实现所述人机界面和下位机之间的数据传输。