一种工业机器人编程与解析的方法与存储介质与流程

专利查询2023-8-11  120



1.本发明涉及机器人编译技术领域,特别是一种工业机器人编程与解析的方法与存储介质。


背景技术:

2.工业机器人编程语言是一种描述机器人工作方式的描述语言,是实现用户与机器人交流的重要手段。当机器人被销售到用户处时,用户需要对机器人的动作进行编译编码后,机器人才能实现机器人的运作。但是机器人的内部编程语言是由出厂厂家决定的,并不同厂家所生产的机器人的所使用的编程语言有可能不一样,这样导致了用户所学习到的编程语言有可能与机器人所使用的语言不一样,使得用户需要重新学习机器人所使用的编程语言或者需要高价请其他编程人员来对机器人进行功能编写。这样大大增加了机器人与用户的交流难度,所以一种能够提高人机交互的编译方法亟待出现。


技术实现要素:

3.针对上述缺陷,本发明的目的在于提出一种工业机器人编程与解析的方法与存储介质。
4.为达此目的,本发明采用以下技术方案:一种工业机器人编程与解析的方法,应用于工业机器人编程与解析系统,所述系统包括相互电联接的示教器与运动控制器,所述示教器用于编译或接收机器人的源码,所述运动控制器用于解析源码得到控制指令,并将控制指令发送给机器人;其中所述方法包括以下步骤:步骤s1:所述示教器编译或者获取得到源码,对源码进行分解,获取关键词与全局名词,其中关键词为含有执行动作语义的词语,全局名词为动作执行的对象;步骤s2:所述示教器根据机器人对关键词的生成顺序进行语法检查判断,若无错误,则根据源码的语言规则将关键词转化为中间码,将中间码打包入中间文件并发送至运动控制器,其中中间文件还包括全局名词及编译过程,所述编译过程为关键词的生成顺序;步骤s3:所述运动控制器接收中间文件,对中间文件内的中间码进行校验,判断中间文件的任务类型,根据任务类型将中间文件内的中间码分步保存,所述任务类型为中间文件解析后的内容种类;根据机器人的编码规则对中间码进行解析获取得到适用于机器人的控制指令并将控制指令输出至机器人处。
5.优选的,步骤s1包括如下步骤:步骤s11:示教器检测源码路径与文件名称,判断在该路径上是否有相关的文件,若有则读取文件内的源码;步骤s12:对源码内的代码进行拆分,逐个提取代码中完整的词块,按照词块的提取顺序进行保存,并判断该词块是否为关键词或全局名词,若词块为关键词则进行标记。优选的,所述步骤s12包括如下步骤:
步骤s121:对代码进行逐个字符检测,当检测到空行时,对当前空行与上一空行之间的字符按检测的顺序保存为词块;步骤s122:根据示教器编译的机器语言选择出对应的关键词表,对保存的词块按照顺序与关键词表做匹配,若词块与关键词表内某一内容相同,则标记关键词在保存顺序中的位置,若词块与关键词表内某一内容不相同,则搜索源码,判断接收的词块是否为声明的全局名词,若是则进行保存,若否则提醒编译代码出错。
6.优选的,所述步骤s2包括如下步骤:步骤s21:根据关键词之间的语法关系,将所有关键词拼接为语法树,自底向上分析语法树,检测语法树中所表达的语义是为唯一,若是则根据中间码的编写规则将语法树转化为中间码,若否则对示教器进行报警反馈;步骤s22:将中间码打包为中间文件发送至运动控制器。
7.优选的,在执行所述步骤s22前,还需执行以下步骤:对中间码中重复的信息进行删除,然后对删除后的中间码进行排列。
8.优选的,所述步骤s3包括如下步骤:步骤s31:对中间文件的文件内容校验,检验中间文件是否存在丢失,若丢失则向所述示教器发送报警信号,若无丢失,进行步骤s32;步骤s32:根据中间文件的内容对应获取中间文件的任务类型;中间文件的任务类型包括全局名词、中间码与编译过程;获取到的全局名词,将保存在运动控制器的存储器内,获取到中间码,运动控制器根据机器人的编码语言转化中间码,并根据编译过程按照、全局名词的读取顺序和语法树,将中间码与全局名词编译为机器人控制指令,将控制指令发送至机器人。
9.优选的,所述机器人还包括存储芯片,所述存储芯片用于顺序保存已经转化为控制指令的全局名词;当一个中间文件内所有全局名词被存储后,清空所述存储芯片的内存。
10.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可以实现一种工业机器人编程与解析的方法的步骤。
11.上述技术方案中的一个技术方案具有如下优点或有益效果:本技术的方法会先对示教器中输入的源码进行分解,获取到关键词,并根据该编程语言的语言规则将关键词转化为中间码。此时将全局名词以及中间码打包为中间文件发送到机器人的运动控制器内,运动控制器中对于中间码的翻译与机器人所使用的语言是一一对应的。即通过解析中间文件中的全局名词即可知道机器人的执行对象,而通过中间码的在机器人的编码规则的解析即可获取到机器人所需要执行的动作,将全局名词以及关键词按照顺序进行组合即可获取到机器人所需执行的动作。无需用户再次重新学习机器人的编程语言规则,提高了人机交互的便捷性。
附图说明
12.图1是本发明的一个实施例的工业机器人编程与解析的方法的流程图。
具体实施方式
13.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
14.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
15.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
16.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
17.如图1所示,一种工业机器人编程与解析的方法,应用于工业机器人编程与解析系统,所述系统包括相互电联接的示教器与运动控制器,所述示教器用于编译或接收机器人的源码,所述运动控制器用于解析源码得到控制指令,并将控制指令发送给机器人,其中所述方法包括以下步骤:步骤s1:所述示教器编译或者获取得到源码,对源码进行分解,获取关键词与全局名词,其中关键词为含有执行动作语义的词语,全局名词为动作执行的对象;在全局名词名词中具体可以细化为全局变量与特殊专用指令函数,全局变量用于声明多任务共用变量数据,特殊专用指令函数用于机器人动作输出对象,因均全局名词在每个语言中都能通用,就不在此做细分。
18.步骤s2:所述示教器根据机器人对关键词的生成顺序进行语法检查判断,若无错误,则根据源码的语言规则将关键词转化为中间码,将中间码打包入中间文件并发送至运动控制器,其中中间文件还包括全局名词及编译过程,所述编译过程为关键词的生成顺序;步骤s3:所述运动控制器接收中间文件,对中间文件内的中间码进行校验,判断中间文件的任务类型,根据任务类型将中间文件内的中间码分步保存,所述任务类型为中间文件解析后的内容种类;根据机器人的编码规则对中间码进行解析获取得到适用于机器人的控制指令并将控制指令输出至机器人处。
19.在工业机器人的编码中,对机器人控制起到关键作用为执行动作的词语以及执行的对象,而执行对象的名称在不同的编程语言中属于全局名词,其名称可以从一个语言沿用到另一语言中。但是执行动作的言语在不同的编程语言中会有不同的表示方法。所以本技术会先对示教器中输入的源码进行分解,获取到关键词,所述关键词即为执行动作的语言。并根据该编程语言的语言规则将关键词转化为中间码。此时将全局名词以及中间码打
包为中间文件发送到机器人的运动控制器内,运动控制器中对于中间码的翻译与机器人所使用的语言是一一对应的。即通过解析中间文件中的全局名词即可知道机器人的执行对象,而通过中间码的在机器人的编码规则的解析即可获取到机器人所需要执行的动作,将全局名词以及关键词按照顺序进行组合即可获取到机器人所需执行的动作。无需用户再次重新学习机器人的编程语言规则,提高了人机交互的便捷性。所述中间码的设置能够使机器人适应解析不同的编程语言的源码。因为中间码在机器人的运动控制器中解析是唯一的,是根据机器人所使用的语言进行解析。而源码的语言可以通过网络爬虫获取到该语言的所有执行动作的词语,在使用前需要将执行动作的词语与中间码进行规定关联即可使用。
20.优选的,步骤s1包括如下步骤:步骤s11:示教器检测源码路径与文件名称,判断在该路径上是否有相关的文件,若有则读取文件内的源码;步骤s12:对源码内的代码进行拆分,逐个提取代码中完整的词块,按照词块的提取顺序进行保存,并判断该词块是否为关键词或全局名词,若词块为关键词则进行标记。
21.当从本地电脑通过协议将源码传输给示教器后,示教器会根据传输协议获取源码的文件名称以及文件地址,通过文件地址找到本地电脑中的文件夹,然后在根据文件名称获取到源码。获取到的源码会对其进行逐个拆分,判断单个词块的含义,确认词块是关键词还是全局名词。若是关键词则对其进行标记,方便后续制备中间文件时将标记的词块转化为中间码。
22.优选的,所述步骤s12包括如下步骤:步骤s121:对代码进行逐个字符检测,当检测到空行时,对当前空行与上一空行之间的字符按检测的顺序保存为词块;步骤s122:根据示教器编译的机器语言选择出对应的关键词表,对保存的词块按照顺序与关键词表做匹配,若词块与关键词表内某一内容相同,则标记关键词在保存顺序中的位置,若词块与关键词表内某一内容不相同,则搜索源码,判断接收的词块是否为声明的全局名词,若是则进行保存,若否则提醒编译代码出错。
23.在编写的代码的规则中,每一个词块之间会通过空行来隔开,所以在检测词块时只需要检测到空行即可判断该词块已经被输入完成。通过识别两个空行即可获取到两个空行之间的词块。而词块的具体含义不同,故需要对词块进行进一步的筛选,判断所述词块的类型。所述关键词表可以通过与源码所使用的语言进行对应的。而获取关键词表的方式可以通过网络爬虫得到。通过将词块与关键词表进行对照即可判断所述词块是否为关键词。判断为关键词后将其进行标记并保存,方便后续中间码的转换。而非关键词的词块后会与源码的所有词块进行对照,判断是否有重复出现或者在源码中是否有被声明。若有,则可以判断为全局名词,也需要对其进行保存。
24.优选的,所述步骤s2包括如下步骤:步骤s21:根据关键词之间的语法关系,将所有关键词拼接为语法树,自底向上分析语法树,检测语法树中所表达的语义是为唯一,若是则根据中间码的编写规则将语法树转化为中间码,若否则对示教器进行报警反馈;步骤s22:将中间码打包为中间文件发送至运动控制器。
25.在编程的过程中,除了关键词外,关键词之间的语义配合分析机器人动作的关键,例如在java的循环语句中会有do、while、do-while的配合形成循环。所以要判断关键词之间的语法关系,而这个语法关系可以通过关键词的识别顺序,再顺序对照源码的编程规则的语法,即可获取到关键词之间的语法关系,并根据关键词检测的语法关系拼接为语法树,通过语法树可以知道关键词执行动作的逻辑顺序。在后期运动控制器的解析中动作的逻辑顺序尤其重要。在生成语法树后,需要对语法树进行分析从树形结构的底部向上进行分析,因为底部是最具体的要素,从最具体的要素来理解和运算,这样运算出语法树中每一句话的整体意思是什么。同时生产语法树时,需要将某些关键词的文法进行搭配,例如选择语句需要搭配选择的全局名词、循环语句则需要搭配循环结束的条件。
26.关键词表中的词块与中间码有唯一的对应关系,将词块按照关键词表与中间码的对应关系转化为中间码,将语法树转化为编译过程。随后将的中间码、编译过程以及全局名词进行打包为中间文件并发送至机器人处,进行解析。
27.优选的,在执行所述步骤s22前,还需执行以下步骤:对中间码中重复的信息进行删除,然后对删除后的中间码进行排列。优化中间码,包括删除重复信息,删除运行不可达指令,删除声明而为调用的变量。以达到降低代码运行所需消耗。
28.此做法是为了对中间码进行优化,减少数据冗余,避免在解析中间码时执行过多不必要的重复步骤。
29.优选的,所述步骤s3包括如下步骤:步骤s31:对中间文件的文件内容校验,检验中间文件是否存在丢失,若丢失则向所述示教器发送报警信号,若无丢失,进行步骤s32;步骤s32:根据中间文件的内容对应获取中间文件的任务类型;中间文件的任务类型包括全局名词、中间码与编译过程;获取到的全局名词,将保存在运动控制器的存储器内,获取到中间码,运动控制器根据机器人的编码语言转化中间码,并根据编译过程、全局名词的读取顺序和语法树,将中间码与全局名词编译为机器人控制指令,将控制指令发送至机器人。
30.因为出厂时,厂家是知道该机器人使用时什么语言进行编译的,所以可以在机器人的运动控制器内预先写入中间码与机器人语言的对应关系。在接收到中间文件后,运动控制器对中间文件进行解析,得到中间码、全局名词及编译过程。运动控制器先将中间码进行解析,解析为机器人所使用语言的动作语句,再根据编译过程将动作语句以及全局名词进行组合成为能够控制机器人的控制指令,机器人可通过所述控制指令执行相关动作。
31.优选的,所述机器人还包括存储芯片,所述存储芯片用于顺序保存已经转化为控制指令的全局名词;当一个中间文件内所有全局名词被存储后,清空所述存储芯片的内存。
32.由于机器人在工作时有可能会存在掉电的情况,机器人的工作被迫暂停,导致机器人在使用该源码的进程丢失。为了避免机器人在上电后,重复执行控制指令,本技术设置有所述存储芯片,当已经转化为控制指令的全局名词会被顺序的保存在所述存储芯片内。当机器人掉电再上电后,重新解析中间文件,获取到全部的全局名词,由于中间文件中的全局名词也是顺序保存的,与所述存储芯片的全局名词对比后,可以发现哪些全局名词还没有被执行,然后通过编译过程与中间码处理剩余的全局名词。能够避免机器人执行重复的
动作。减少人机交互中因意外情况发生而执行的额外指令。
33.另外,当一个中间文件被全部执行后,所有的全局名词都会被存储在所述存储芯片内,为了保证在执行下一个中间文件时,不会被上一个中间文件的全局名词影响,在执行完一个中间文件的命令后,会对所述存储芯片的内存进行清空重置。
34.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可以实现所述的一种工业机器人编程与解析的方法步骤。
35.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
36.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

技术特征:
1.一种工业机器人编程与解析的方法,应用于工业机器人编程与解析系统,所述系统包括相互电联接的示教器与运动控制器,所述示教器用于编译或接收机器人的源码,所述运动控制器用于解析源码得到控制指令,并将控制指令发送给机器人,其特征在于,所述方法包括以下步骤:步骤s1:所述示教器编译或者获取得到源码,对源码进行分解,获取关键词与全局名词,其中关键词为含有执行动作语义的词语,全局名词为动作执行的对象或主语;步骤s2:所述示教器根据机器人对关键词的生成顺序进行语法检查判断,若无错误,则根据源码的语言规则将关键词转化为中间码,将中间码打包入中间文件并发送至运动控制器,其中中间文件还包括全局名词及编译过程,所述编译过程为关键词的生成顺序;步骤s3:所述运动控制器接收中间文件,对中间文件内的中间码进行校验,判断中间文件的任务类型,根据任务类型将中间文件内的中间码分步保存,所述任务类型为中间文件解析后的内容种类;根据机器人的编码规则对中间码进行解析获取得到适用于机器人的控制指令并将控制指令输出至机器人处。2.根据权利要求1所述的一种工业机器人编程与解析的方法,其特征在于,步骤s1包括如下步骤:步骤s11:示教器检测源码路径与文件名称,判断在该路径上是否有相关的文件,若有则读取文件内的源码;步骤s12:对源码内的代码进行拆分,逐个提取代码中完整的词块,按照词块的提取顺序进行保存,并判断该词块是否为关键词或全局名词,若词块为关键词则进行标记。3.根据权利要求2所述的一种工业机器人编程与解析的方法,其特征在于,所述步骤s12包括如下步骤:步骤s121:对代码进行逐个字符检测,当检测到空行时,对当前空行与上一空行之间的字符按检测的顺序保存为词块;步骤s122:根据示教器编译的机器语言选择出对应的关键词表,对保存的词块按照顺序与关键词表做匹配,若词块与关键词表内某一内容相同,则标记关键词在保存顺序中的位置,若词块与关键词表内某一内容不相同,则搜索源码,判断接收的词块是否为声明的全局名词,若是则进行保存,若否则提醒编译代码出错。4.根据权利要求2所述的一种工业机器人编程与解析的方法,其特征在于,所述步骤s2包括如下步骤:步骤s21:根据关键词之间的语法关系,将所有关键词拼接为语法树,自底向上分析语法树,检测语法树中所表达的语义是为唯一,若是则根据中间码的编写规则将语法树转化为中间码,若否则对示教器进行报警反馈;步骤s22:将中间码打包为中间文件发送至运动控制器。5.根据权利要求4所述的一种工业机器人编程与解析的方法,其特征在于,在执行所述步骤s22前,还需执行以下步骤:对中间码中重复的信息进行删除,然后对删除后的中间码进行排列。6.根据权利要求4所述的一种工业机器人编程与解析的方法,其特征在于,所述步骤s3包括如下步骤:
步骤s31:对中间文件的文件内容校验,检验中间文件是否存在丢失,若丢失则向所述示教器发送报警信号,若无丢失,进行步骤s32;步骤s32:根据中间文件的内容对应获取中间文件的任务类型;中间文件的任务类型包括全局名词、中间码与编译过程;获取到的全局名词,将保存在运动控制器的存储器内,获取到中间码,运动控制器根据机器人的编码语言转化中间码,并根据编译过程、全局名词的读取顺序和语法树,将中间码与全局名词编译为机器人控制指令,将控制指令发送至机器人。7.根据权利要求6所述的一种工业机器人编程与解析的方法,其特征在于,所述机器人还包括存储芯片,所述存储芯片用于顺序保存已经转化为控制指令的全局名词;当一个中间文件内所有全局名词被存储后,清空所述存储芯片的内存。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时可以实现如权利要求1~7任一项所述的方法步骤。

技术总结
本发明涉及机器人编译技术领域,公开了一种工业机器人编程与解析的方法与存储介质,其中方法包括以下步骤:步骤S1:示教器编译或者获取得到获取关键词与全局名词;步骤S2:示教器根据机器人对关键词的生成顺序进行语法检查判断,根据源码的语言规则将关键词转化为中间码,将中间码打包入中间文件并发送至运动控制器,步骤S3:运动控制器接收中间文件,对中间文件内的中间码进行校验,根据机器人的编码规则对中间码进行解析获取得到适用于机器人的控制指令并输出至机器人处。通过解析中间文件中的全局名词即可知道的执行对象,而通过中间码的编码规则的解析即可获取到机器人所需要执行的动作。提高了人机交互的便捷性。提高了人机交互的便捷性。提高了人机交互的便捷性。


技术研发人员:何志雄 郭杰 尹以茳
受保护的技术使用者:广东天太机器人有限公司
技术研发日:2022.02.10
技术公布日:2022/3/8

最新回复(0)