机器人程序的存储及编译方法与流程

文档序号:27558749发布日期:2021-11-25 03:09阅读:247来源:国知局
机器人程序的存储及编译方法与流程

1.本发明涉及机器人技术领域,更具体的,涉及一种机器人程序的存储及编译方法。


背景技术:

2.为使机器人完成各类繁复的生产及作业要求,产生了各类程序指令,包括逻辑指令、运动指令、控制指令等,而为了优化运动、精确控制等目的,每条程序指令又扩展了多个附加参数。
3.随着机器人的应用愈加广泛,其应用背景也变得复杂,这就要求机器人的程序指令在已有的繁杂程度上又必须做到便于用户理解和操作,同时易于扩展。因此,程序指令由越来越多的部分组成,每个部分又提供了多个选项,且指令之间的关系也更加紧密。
4.若用程序指令来控制机器人,需将该指令翻译为机器可以识别的语言,这个过程就是程序解析。该过程主要分为两步,第一步是获取程序指令文件,第二步则是将其转为机器语言。对于第一步,目前采用的方法主要是将程序指令的主体及附加参数保存在文本文件中,在执行第二步的过程中,通过查找该文件,获取命令的主体及附加参数,再通过处理将其转换为机器指令。
5.由于程序指令复杂且多变,一般的文本文件无法保存指令的结构及关系,并且对于指令的存储也没有统一通用的方式,这就导致程序解析器需对每一种不同的结构及存储都执行不同的处理方式,同时若程序指令结构变更,解析器也需开发对应的方案,这就导致解析器工作效率低,且维护成本偏高。
6.同时,目前一般用于显示与用于执行的程序都是一致的,这就会带来一个问题,那就是程序中的信息为了满足显示层的完整性或者用户定制化的要求而存储了一些执行层并不必要的信息。因此,如何在显示层上满足用户定制化的需求,同时又能给到执行层必要信息是目前的一个问题。


技术实现要素:

7.本发明的目的在于克服现有技术存在的上述缺陷,提供一种机器人程序的存储及编译方法,利用可扩展标记语言(xml)的结构化,清晰表达各级标签间的嵌套关系。
8.为实现上述目的,本发明提供一种机器人程序的存储及编译方法,包括:步骤s01:接收以文本形式输入的用户程序指令和与所述用户程序指令相关的用户设置信息;步骤s02:根据xml标签规则分别拆解所述用户程序指令信息和用户设置信息,并形成采用xml表达的预程序和用户设置,所述预程序及所述用户设置共同存储形成初级程序,且所述预程序包括若干仅用于显示信息的第一子标签、若干仅用于解析信息的第二子标签及若干同时用于显示信息和用于解析信息的所述第三子标签;其中,所述预程序包括若干预信息块,各所述预信息块包括一组或多组初级控制指令的组合,所述预程序具有访问各所述预信息块的访问接口;各组所述初级控制指令具有对应的xml标签;
步骤s03:中级解析器获取所述初级程序,并根据所述xml标签规则剔除若干所述第一子标签和若干所述第三子标签所包含的仅用于显示的信息,筛选出若干所述第二子标签和若干所述第三子标签所包含的所述仅用于解析的信息,并对所述仅用于解析的信息进行标准化或简化处理,生成中级程序并存储;其中,标准化处理为对于程序指令中全部或部分参数所基于的默认标准与用户偏好配置中的所选择标准不一致时,将所述参数的内容统一为以默认标准所表达的内容;简化处理为对于有默认标准的参数,通过前述的标准化处理后,删除用户偏好配置中所选择的标准;步骤s04:高级解析器解析所述中级程序并生成高级控制指令至机器人。
9.优选地,所述第一子标签、第二子标签及第三子标签均包括对应的m个n级子标签,m及n均为大于或等于1的整数;各所述n级子标签具有对应的n级子标签名,通过所述访问接口根据各所述n级子标签名提取对应的所述第一子标签及对应的所述初级控制指令和/或所述第二子标签及对应的所述初级控制指令和/或所述第三子标签及对应的所述初级控制指令。
10.优选地,各所述n级子标签还具有对应的n级子标签属性及n级子标签内容,所述n级子标签属性包括类型属性及单位属性中的一种或两种组合;通过所述访问接口根据所述n级子标签属性提取对应的所述第一子标签及对应的所述初级控制指令或所述第二子标签及对应的所述初级控制指令或所述第三子标签及对应的所述初级控制指令后,还包括编辑所述n级子标签的n级子标签内容以编辑对应的所述初级控制指令,所述编辑包括新增、删除和修改中的一种或多种组合。
11.优选地,所述初级控制指令包括逻辑指令,所述逻辑指令具有对应的1个1级逻辑标签,所述1级逻辑标签具有对应的逻辑标签属性,所述逻辑标签属性包括逻辑判断类型,所述1级逻辑标签嵌套有m个2级逻辑标签,各所述2级逻辑标签具有对应的2级逻辑标签内容,各所述2级逻辑标签内容填充设有并列或嵌套的m个3级逻辑标签。
12.优选地,所述2级逻辑标签包括逻辑条件标签及逻辑主体标签中的一种或两种组合;所述3级逻辑标签为元素标签,所述元素标签具有对应的元素属性及元素内容,所述元素内容以编辑对应的所述逻辑指令,所述元素属性包括元素类型及元素单位中的一种或两种组合。
13.优选地,所述初级控制指令包括赋值指令,所述赋值指令具有对应的1个1级赋值标签;所述1级赋值标签嵌套有m个2级赋值标签,所述2级赋值标签包括左值标签及右值标签;所述2级赋值标签具有对应的2级赋值标签内容,各所述2级赋值标签内容填充设有赋值数据或嵌套的m个3级赋值标签。
14.优选地,所述初级控制指令包括一般指令,所述一般指令具有对应的1个1级一般标签;所述1级一般标签具有1级一般标签属性,且嵌套有m个2级一般标签,所述2级一般标签包括条目标签。
15.优选地,所述条目标签具有对应的条目属性及条目内容,以表示所述一般指令的附加参数;所述条目内容以编辑对应的所述一般指令,所述条目属性包括条目类型及条目单位中的一种或两种组合。
16.优选地,所述初级程序指令的格式为.xml格式,所述中级程序指令的格式为.bas格式。
17.优选地,所述参数的内容包括参数数值加单位。
18.从上述技术方案可以看出,本发明利用可扩展标记语言(xml)的结构化,可以清晰表达各级标签间的嵌套关系,从而满足所述初级程序指令对结构性、可扩展性及通用性的要求。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1示出了一种根据本发明实施例的一种机器人的程序编译方法的流程图。
具体实施方式
21.为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容做进一步说明。当然本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。
22.以下将配合附图及实施例来详细说明本发明的实施方式,借此对本发明 如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。首先,请参考图1,图1示出了一种根据本发明实施例的一种机器人的程序编译方法的流程图。如图1所示,本发明的机器人的程序编译方法共包括4个步骤:首先,步骤s01:接收以文本形式输入的用户程序指令和与所述用户程序指令相关的用户设置信息。
23.根据用户偏好,例如显示语言、使用单位、显示数字精度等,采用xml配置用户设置,简称配置xml。通过可扩展标记语言(xml)编写并存储预程序,可扩展标记语言是一种通用的标记语言,具有统一的语法及格式,用户可以更加语义化的表达数据。
24.接着,步骤s02:根据xml标签规则分别拆解所述用户程序指令信息和用户设置信息,并形成采用xml表达的预程序和用户设置,所述预程序及所述用户设置共同存储形成初级程序,且所述预程序包括若干仅用于显示信息的第一子标签、若干仅用于解析信息的第二子标签及若干同时用于显示信息和用于解析信息的所述第三子标签;其中,所述预程序包括若干预信息块,各所述预信息块包括一组或多组初级控制指令的组合,所述预程序具有访问各所述预信息块的访问接口;各组所述初级控制指令具有对应的xml标签。
25.所述预程序包括若干预信息块,各所述预信息块包括一组或多组初级控制指令的组合,所述预程序具有访问各所述预信息块的访问接口;各组所述初级控制指令具有对应的标签。所述标签包括第一子标签及第二子标签,根据所述xml标签规则,所述第一子标签对应各所述仅用于显示的信息,所述第二子标签对应所述各仅用于解析的信息。
26.具体的,所述第一子标签仅供显示层使用,主要目的是满足用户信息的完整保存。在一实施例中,点位的注释具有所述第一子标签,仅供显示层或用户使用,执行层或解析器无需知晓此类信息。
27.所述第二子标签仅供执行层使用,主要目的是为数据标准化处理所用。速度的标
准单位具有所述第二子标签,在后续中级解析器解析速度时,将读取用户配置的单位及标准单位,将用户配置的单位统一为标准单位下的数值,实现数据的标准化处理。
28.本实施例中,所述标签还包括第三子标签,所述第三子标签适用于所述显示层及执行层,对应若干所述仅用于显示的信息及若干仅用于解析的信息。所述第三子标签承载所述显示层及执行层均需使用的数据。在一实施例中,所述初级控制指令包括具有所述第三子标签的逻辑指令,表示显示层和执行层都需要读取所述逻辑指令,即用户需要读取,预解析器也需要读取。
29.所述第一子标签、第二子标签及第三子标签均包括对应的m个n级子标签,m及n均为大于或等于1的整数;各所述n级子标签具有对应的n级子标签名,通过所述访问接口根据各所述n级子标签名提取对应的所述第一子标签及对应的所述初级控制指令和/或所述第二子标签及对应的所述初级控制指令和/或所述第三子标签及对应的所述初级控制指令。
30.为了区别各标签属于是哪一类子标签,可以为各标签添加子标签类别标识,子标签类别标识的方式有两种,一种是嵌套m个同级或嵌套的n级子标签,比如多个1级字标签之间同级嵌套于1个所述第一子标签或1个第二子标签或1个第三子标签内,或多个2级子标签之间同级嵌套于1个所述1级子标签内;还可以是添加1个n级子标签属性至对应的n级子标签。
31.通过自定义的子标签类别标识以供后续中级解析器对应处理,如果是第一子标签,则中级解析器在解析xml文件时会跳过该部分;如果是第三子标签,则显示层在读取xml文件内容时也会略过这部分,不予以显示在界面上,即对用户不可见;如果是第二子标签,则显示时需考虑该元素,同时中级解析器也需要该元素来生成bas。两者不同之处在于适用范围,使用自定义的子标签类别标识范围更广,所有与该子标签类别标识同级或下一级的标签均属于同一子标签,而n级子标签属性仅针对对应的n级标签,即仅仅设定使用该属性的n级标签,对同级或下一级标签不产生影响。
32.本实施例中,所述初级控制指令包括赋值指令及一般指令。在另一实施例中,所述初级控制指令包括上述逻辑指令、赋值指令及一般指令中的一种或多种组合。通过所述可扩展语言编写的所述初级程序,一方面用于用户做显示用,还可以提供至解析器做解析用,另一方面还可以用户及解析器共同。例如,用户通过所述n级子标签配置所述初级程序,改变速度单位的选项,还可配置是否要在所述初级控制指令中显示中文等。
33.各所述n级子标签还具有对应的n级子标签属性及n级子标签内容,所述n级子标签属性包括类型属性及单位属性中的一种或两种组合;通过所述访问接口根据所述n级子标签属性提取对应的所述第一子标签及对应的所述初级控制指令或所述第二子标签及对应的所述初级控制指令或所述第三子标签及对应的所述初级控制指令后,还包括编辑所述n级子标签的n级子标签内容以编辑对应的所述初级控制指令,所述编辑包括新增、删除和修改中的一种或多种组合。
34.具体的,所述逻辑指令具有对应的1个1级逻辑标签,所述1级逻辑标签具有对应的逻辑标签属性,所述逻辑标签属性包括逻辑判断类型;所述1级逻辑标签嵌套有m个2级逻辑标签,所述2级逻辑标签包括逻辑条件标签及逻辑主体标签中的一种或两种组合;各所述2级逻辑标签具有对应的2级逻辑标签内容,各所述2级逻辑标签内容填充设有并列或嵌套的m个3级逻辑标签。
35.所述赋值指令具有对应的1个1级赋值标签;所述1级赋值标签嵌套有m个2级赋值标签,所述2级赋值标签包括左值标签及右值标签;所述2级赋值标签具有对应的2级赋值标签内容,各所述2级赋值标签内容填充设有赋值数据或嵌套的m个3级赋值标签。在另一实施例中,所述2级赋值标签还包括操作符标签。
36.所述一般指令具有对应的1个1级一般标签;所述1级一般标签具有1级一般标签属性,且嵌套有m个2级一般标签,所述2级一般标签包括条目标签。所述条目标签具有对应的条目属性及条目内容,以表示所述一般指令的附加参数;所述条目素内容经填充或编辑以编辑对应的所述一般指令,所述条目属性包括条目类型及条目单位中的一种或两种组合。比如,对于一般指令中的运动指令,添加速度附加参数,则只需在对应的2级一般指令,即条目标签的条目单位中写入对应的速度单位;若对应的速度为数字,则在对应的条目类型中填入数字。
37.所述初级程序具有访问接口,所述访问接口可以独立于平台被访问,通过所述访问接口访问所述初级程序,用户可以便利地对所述初级程序进行编辑。
38.具体的,采用各n级子标签名提取对应的n级子标签,并链接对应的初级控制指令,便于用户直观地查找初级控制指令;同时,提取所述n级子标签后,通过编辑对应的1级标签和/或2级标签和/或3级标签,所述编辑包括新增、删除和修改中的一种或多种组合,实现了对应的初级控制指令的内容和或/结构和或/属性的编辑,提高了编辑效率。
39.本实施例中,所述3级逻辑标签为元素标签,所述元素标签具有对应的元素属性及元素内容,所述元素内容经填充或编辑以编辑对应的所述逻辑指令,所述元素属性包括元素类型及元素单位中的一种或两种组合。所述元素标签支持嵌套方式填充于对应的2级逻辑标签内,比如,高/低电平、逻辑运算符、数字、字符串等,通过对元素标签的元素属性及元素内容进行调整,提升了用户指令的可扩展性,降低了维护成本。
40.具体的,以逻辑指令为例,所述逻辑主体标签对应的执行主体为寄存器r[1],所述逻辑主体标签的3级标签,即对应的元素标签的类型为r,表明所述元素标签的类型为寄存器;然后,所述元素标签再内嵌一个元素标签,其类型为数字,值为1,以表明使用第一个寄存器。通过n级子标签之间的相互嵌套,实现1级标签包裹对应的2级标签,2级标签包裹对应的3级标签,以此类推,实现一级级嵌套,利用可扩展标记语言的结构化,可以清晰表达各级标签间的嵌套关系及层次结构,从而满足所述初级程序指令对结构性、可扩展性及通用性的要求。
[0041]
随后,步骤s03:中级解析器获取所述初级程序,并根据所述xml标签规则剔除若干所述第一子标签和若干所述第三子标签所包含的仅用于显示的信息,筛选出若干所述第二子标签和若干所述第三子标签所包含的所述仅用于解析的信息,并对所述仅用于解析的信息进行标准化或简化处理,生成中级程序并存储;其中,标准化处理为对于程序指令中全部或部分参数所基于的默认标准与用户偏好配置中的所选择标准不一致时,将所述参数的内容统一为以默认标准所表达的内容;简化处理为对于有默认标准的参数,通过前述的标准化处理后,删除用户偏好配置中所选择的标准。
[0042]
为了兼容不同应用背景下用户的使用习惯,所述初级程序指令增了不少附加参数和属性,所述参数的内容包括参数数值加单位,因此,采用中级解析器标准化重叠的参数功能,通过统一标准化并精简处理,提高了后续高级控制指令的读取速度。所述中级解析器
将.xml格式的所述初级程序中的初级程序指令的附加参数及属性进行简化处理。通过visual basic程序进行解析所述初级控制指令,visual basic是一种简单易用、功能强大的高级程序语言,生成.bas格式的中级控制指令并存储形成中级程序。
[0043]
基于各1级标签、2级标签以及3级标签提取对应的初级控制指令的内容、结构以及属性,对各内容、结构以及属性进行标准化处理,以简化所述初级控制指令。
[0044]
具体的,以一般指令包括的运动指令为例,所述运动指令的结构至少包括运动速度,所述运动速度具有速度单位,所述速度单位包括%和mm/s,所述中级解析器通过标准化以统一所述速度单位,均以mm/s为标准,所述的默认速度单位是mm/s,而用户偏好设置中可选择的速度单位包括但不限于mm/s、cm/s、m/s,所述中级解析器通过标准化以统一所述速度单位,均以默认的速度单位mm/s为标准,并修正速度数值生成修正速度,最后只需存储所述修正速度即可,从而所述速度单位经所述中级解析器标准化为mm/s,达到了标准化运动指令的目的,再通过简化处理,即剔除默认速度单位,最后只需存储所述修正速度即可。
[0045]
具体的,以一般指令包括的等待一定时间指令为例,所述等待一定时间指令的结构至少包括时间,所述时间具有时间单位,所述的默认时间单位是s,而用户偏好设置中可选择的时间单位包括但不限于s、min,所述中级解析器通过标准化以统一所述时间单位,均以默认的时间单位s为标准,并修正时间数值生成修正时间,再通过简化处理,即剔除默认时间单位,最后只需存储所述修正时间即可。
[0046]
具体的,以一般指令包括的相距一定距离指令为例,所述相距一定距离指令的结构至少包括距离,所述距离具有长度单位,所述的默认长度单位是mm,而用户偏好设置中可选择的长度单位包括但不限于mm、cm,所述中级解析器通过标准化以统一所述长度单位,均以默认的长度单位mm为标准,并修正距离数值生成修正距离,再通过简化处理,即剔除默认长度单位,最后只需存储所述修正距离即可。
[0047]
最后,步骤s04:高级解析器解析所述中级程序并生成高级控制指令至机器人。
[0048]
本发明基于可扩展标记语言先生成.xml格式的初级程序,然后经中级解析器标准化初级控制质量并生成.bas格式的中级程序,使得高级控制指令,具有高度可扩展性及可维护性,进一步提升了工作效率;同时,所述可扩展标记语言方便且直观地展示所述初级程序至用户,用户可直接通过配置各控制标签以变更所述初级程序。
[0049]
首先,通过定义用户程序指令、指令参数属性的用户偏好设置及xml标签规则,根据xml标签规则分别拆解所述用户程序指令和用户偏好设置,并形成采用xml表达的预程序和用户偏好设置,所述预程序及所述用户偏好设置共同存储形成初级程序。该方法使得初级程序包含了显示给用户的所有信息,而用户偏好设置的加入,使得程序可以以用户习惯的方式予以表达。
[0050]
其次,通过中级解析器获取所述初级程序,并根据所述xml标签规则及所述用户偏好设置剔除仅用于显示的信息,且筛选仅用于解析的信息生成以bas表达的中级程序并存储,高级解析器解析所述中级程序并生成高级控制指令至机器人。该方法产生的中级程序,相对于初级程序,由于删除了仅用于显示的信息而得到了精简,使得后续的高级解析器不会接收到无用的信息,从而提升了效率。
[0051]
最后,本发明使用xml初级程序与bas中级程序结合的程序存储及编译方法,利用xml的结构化特点与用户偏好设置的自由性特点,保存足够多的用于显示的信息,满足所述
初级程序指令对结构性、可扩展性、通用性及用户定制化表达的要求,又通过筛选信息形成bas中级程序,满足后续解析及执行的高效率,既能兼顾显示层的丰富性,又能兼顾解析层的高效率执行。
[0052]
以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所做的等同结构变化,同理均应包含在本发明的保护范围内。
[0053]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1