CN111670091B - 机器人程序指令编译方法、机器人控制系统及存储装置 - Google Patents
机器人程序指令编译方法、机器人控制系统及存储装置 Download PDFInfo
- Publication number
- CN111670091B CN111670091B CN201880087303.8A CN201880087303A CN111670091B CN 111670091 B CN111670091 B CN 111670091B CN 201880087303 A CN201880087303 A CN 201880087303A CN 111670091 B CN111670091 B CN 111670091B
- Authority
- CN
- China
- Prior art keywords
- input
- parameter
- standard
- list
- input parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
Abstract
一种机器人程序指令编译方法,包括解析输入指令,生成输入参数列表,参数列表匹配,生成标准输入指令等步骤。一种机器人控制系统,包括处理器,存储器等元件,用于执行前面提到的机器人程序指令编译方法。这种方法和系统能够使用户输入更加灵活,并减少编译失败的可能性。
Description
【技术领域】
本发明涉及机器人控制领域,特别是涉及一种机器人程序指令编译方法、机器人控制系统及存储装置。
【背景技术】
机器人语言的基本功能包括运算、决策、通信、机械部件运动、工具指令以及传感器数据处理等。在机器人程序的编译过程中,定义实现对应功能的指令的格式,并根据用户输入的指令或者机器人内部产生的输入指令确认该指令格式中需要的参数值,进而执行该指令以实现对应的功能。
在对现有技术的实践过程中,本发明的发明人发现,现有的机器人程序指令编译方法在定义指令格式时,没有对相关的参数进行详细定义,这样一来,为了使该指令能够正确地被执行,用户必须严格按照指令格式中定义的参数的顺序进行输入,灵活性极差。这就导致在编译过程中,在将用户输入的参数与指令格式需要的参数进行匹配时很容易出现错误,导致编译失败。
【发明内容】
本发明提供一种机器人程序指令编译方法、机器人控制系统及存储装置。
为了解决上述技术问题,本发明提供的一种技术方案为:提供一种机器人程序指令编译方法。该方法包括:解析输入指令,其中,所述输入指令包括至少一个输入参数,所述输入参数至少包括所述输入参数的值;根据所述输入指令生成输入参数列表,其中,所述输入参数列表中记录有所有所述输入参数;以及将所述输入参数列表与预设的标准参数列表进行匹配,其中,所述标准参数列表中记录有至少一个标准参数的名称和数据类型,当所述输入参数列表与所述标准参数列表匹配成功时,根据所述输入参数的值生成标准输入指令,其中,所述标准输入指令中记录有所述标准参数的名称及所述标准参数的值。
为了解决上述技术问题,本发明提供的另一种技术方案为:提供一种机器人控制系统,包括处理器、存储器。所述处理器与所述存储器耦合并可加载程序指令并执行上述机器人程序指令编译方法。
为了解决上述技术问题,本发明提供的另一种技术方案为:提供一种具有存储功能的装置,其中存储有程序指令,所述程序指令可被加载并执行上述机器人程序指令编译方法。
本发明的有益效果是:由于预设的标准参数列表中记录有至少一个标准参数的名称和数据类型,因此在将根据输入指令生成的记录有输入参数的输入参数列表与标准参数列表进行匹配时,可以根据需要灵活地选用参数名称或参数的数据类型作为匹配标准,并且输入指令中参数的顺序不受限制。因此,实施本发明可以使用户输入更加灵活,并减少编译失败的可能性。
【附图说明】
图1是本发明机器人程序指令编译方法一实施例的流程示意图。
图2根据本发明一实施例,示出了将输入参数列表与标准参数列表进行匹配的方法的流程示意图。
图3根据本发明一实施例,示出了机器人程序指令的解析方法的流程示意图。
图4是本发明机器人控制系统一实施例的结构示意图。
【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
机器人的程序指令是用于实现机器人的基本功能或复杂功能的指令,例如运算、决策、通信、机械手运动、工具指令和传感器数据处理等。在对一条指令的格式进行定义的过程中,可以定义该指令涉及到的参数,将其作为该指令的标准参数,并定义标准参数的名称和数据类型,以备后续与输入参数进行匹配。指令格式的定义方法与编译环境(即使用的程序语言)有关,在此不做限定。机器人程序指令的一个示例性的定义格式如下:
command_name arg_1_name:arg_1_type,arg_2_name:arg_2_type...
其中,command_name为该指令的名称,arg_1_name和arg_2_name分别为该指令涉及的第一个和第二个标准参数的名称,arg_1_type和arg_2_type分别为第一个和第二个标准参数的数据类型。例如,一个轴运动指令可以定义为:
movejj:joint,v:speed,dura:double
上述定义表明该轴运动指令的名称为movej,涉及的第一个标准参数j(j为该参数的名称,以下类似)的数据类型为joint,涉及的第二个标准参数v的数据类型为speed,而涉及的第三个标准参数dura的数据类型为double。
可选地,参数的名称可以是一个首字符为字母的字符串,其后的字符可以是数字、字母、下划线或者指定的特殊符号。可选地,参数名可以选用一个可以说明该参数意义的字符串,例如用“dura”表示英语中的duration(持续时间),这样在使用过程中可提升指令的可读性,减少用户输入错误。
可选地,参数的数据类型可以是常见的机器语言中定义的数据类型,例如:浮点型、布尔型、整型或字符型等,也可以是复杂的复合数据类型,例如用户自定义的类型。在上面的例子中,double即为常规的浮点型,而joint和speed均为用户自定义的数据类型。
在一些例子中,指令格式还可以采用更复杂的定义方法,从而对标准参数的其他相关信息进行定义。例如,可以定义该标准参数是否可以缺省、是否优先通过参数名进行匹配或者优先通过数据类型进行匹配、是否允许通过数据类型进行匹配等。仍以上述轴运动指令为例:
movejj:joint,[v:speed],[dura:double]
此处,在v:speed和dura:double两侧分别设置中括号[],表示参数v和参数dura均为可缺省的参数。相应地,在生成的标准参数列表中,就会记录参数v和参数dura可以缺省的信息。可以理解,对标准参数的其他相关信息进行定义可以不与对指令格式进行定义同时进行,其具体的格式也不限于此,例如,上述指令格式中的冒号也可以用“=”或者其他字符代替。
请参阅图1,图1是本发明机器人程序指令编译方法一实施例的流程示意图。该方法包括:
S101:解析输入指令,其中,输入指令包括至少一个输入参数,输入参数至少包括输入参数的值。
输入指令可以是用户在机器人控制系统中输入的指令文本,或者,也可以是机器人内部执行其他功能的进程、线程发出的指令,又或者是与机器人通过有线或无线方式连接的外部系统发出的指令。为了执行对应的程序指令,输入指令中可包括至少一个输入参数,并且可以至少对该输入参数的值进行定义。例如,一个对应上述轴运动指令格式的输入指令可以为:
movej P1
此处,movej表示对应的指令名称,P1表示第一个输入参数的值。可选地,在输入指令中指明对应的指令名称可用于检索对应的指令格式和标准参数列表,若无需对对应的指令格式和标准参数列表进行检索,也可以不在输入指令中指明对应的指令名称。可以理解,在输入指令中还可以定义多个输入参数,并且,对于每个输入参数,除该输入参数的值外,还可以对该输入参数的其他参数进行定义,相关方法将在后文中说明。
S102:根据输入指令生成输入参数列表,输入参数列表中记录有所有输入参数。
输入参数列表可以是一种用于存储输入参数的信息的数据结构,例如数组、链表或者表格等。步骤S101中对输入指令解析后得到的输入参数的相关信息被记录在输入参数列表中。例如,对于输入指令movej P1,其第一个输入参数的值P1可被记录在对应的输入参数列表中。
S103:将输入参数列表与预设的标准参数列表进行匹配,其中,标准参数列表中记录有至少一个标准参数的名称和数据类型,当输入参数列表与标准参数列表匹配成功时,根据指令格式及输入参数的值生成标准输入指令,其中,标准输入指令中记录有标准参数的名称及标准参数的值。
标准参数列表可以是一种用于存储标准参数的信息的数据结构,例如数组、链表或表格等。与标准参数相关的信息可以被记录在标准参数列表中,例如前文中提到的标准参数的名称和数据类型。标准参数列表可以预先通过获取用户输入的指令格式的定义得到,也可以从已有的代码/函数库中调用得到,在此不做限定。预设的标准参数列表中可以记录有一个或多个标准参数的相关信息,例如各标准参数的名称和数据类型。
在步骤S103中,将输入参数列表与标准参数列表进行匹配。可以理解,若之前已定义多个程序指令,则可以根据输入指令中的记录的指令名检索对应的标准参数列表,进而将其与输入参数列表进行匹配。匹配成功的条件可以根据需要确定。例如,在一些实施例中,可以规定当输入参数列表中的所有输入参数与标准参数列表中的所有标准参数均一一对应,并且它们的相关信息也完全相同时,才匹配成功。在另一些实施例中,也可以规定当输入参数列表中的部分输入参数与标准参数列表中的部分标准参数对应,并且它们的相关信息部分相同(例如,名称相同和/或数据类型相同)时,即匹配成功。
匹配成功意味着根据输入指令提供的信息该程序指令可以得到运行所需要的信息。在这种情况下,根据已定义的指令格式及输入参数列表中输入参数的值生成标准输入指令。标准输入指令具有对应指令格式的标准格式,这样的格式可以正确地被解析,也就是说,标准输入指令在解析过程中不会出现因格式不符而出错无法执行的情况。类似地,标准输入指令可以是一种用于存储与程序指令的执行相关的信息的数据结构,与程序指令的执行相关的信息包括标准参数的名称及标准参数的值。例如,对于上述轴运动指令,指令格式为
movejj:joint,v:speed,dura:double
那么对应的标准输入指令可包括以下信息:
j:P1,v:1,dura:1
表示参数j的值为P1,参数v的值为1且参数dura的值为1。这样,机器人控制系统就可以根据该标准输入指令实现该程序指令对应的功能,即轴旋转的操作。
根据本发明,由于预设的标准参数列表中记录有至少一个标准参数的名称和数据类型,因此在将根据输入指令生成的记录有输入参数的输入参数列表与标准参数列表进行匹配时,可以根据需要灵活地选用参数名称或参数的数据类型作为匹配标准,并且输入指令中参数的顺序不受限制。因此,实施本发明可以使用户输入更加灵活,并减少编译失败的可能性。
在一些实施例中,将输入参数列表与预设的标准参数列表进行匹配的方法为:将标准参数列表中的所有标准参数与输入参数列表中的所有输入参数逐个进行匹配,并且,当一个标准参数匹配成功后,该标准参数和对应的输入参数不再参与后续匹配。而输入参数列表与标准参数列表匹配成功的条件包括:所有输入参数都匹配成功。也就是说,输入指令中的所有信息都与程序指令相关,而不包含其他冗余的或者会引起错误的信息。
在一些实施例中,标准参数中还包括必要参数,即程序指令执行所必需的、且必须要在输入指令中定义的参数。标准参数是否为必要参数可以在步骤S101中定义指令格式时确定。例如,对于轴运动指令movejj:joint,[v:speed],[dura:double],其中参数v和dura由于被定义为可缺省的,也就意味着这两个参数不属于必要参数,而参数j不可缺省,则是必要参数。在输入指令中就必须给出参数j的值,否则该程序指令就无法执行。在这种情况下,输入参数列表与标准参数列表匹配成功的条件除了所有输入参数都匹配成功以外,还需要所有必要参数都匹配成功。
为了对输入参数列表与标准参数列表匹配的过程进一步地说明,请参阅图2,图2根据本发明一实施例,示出了将输入参数列表与标准参数列表进行匹配的方法的流程示意图。该方法包括:
S201:遍历标准参数列表。
S202:遍历输入参数列表。
为了将标准参数列表中的所有标准参数与输入参数列表中的所有输入参数逐个进行匹配,需要遍历标准参数列表,并将其中的标准参数逐一选出,并对选出的标准参数遍历输入参数列表,从而逐一选出输入参数,从而与选出的标准参数进行比较和匹配。
可选地,当一个输入参数与任意标准参数匹配成功时,可以将该输入参数从输入参数列表中删除,从而避免重复比较,并且,可以在标准输入指令中根据该输入参数的值录入对应的标准参数的值。这样,就可以在匹配的过程中逐步生成标准输入指令,当输入参数列表与标准参数列表匹配完成并成功时,标准输入指令也完成生成的过程。
对于每一个选出的标准参数和选出的输入参数,执行以下步骤:
S203:判断输入参数是否包括名称。
在一些实施例中,输入指令中可以包括多个输入参数。可选地,在输入指令中一部分输入参数的信息除了包括它的值以外,还可以包括它的名称。例如,一条输入指令可以是:
movej P1 v:1
这就表示该输入指令包括一个值为P1的输入参数,以及一个名称为v且值为1的输入参数。在步骤S203中,首先判断选出的输入参数是否已定义名称。当输入参数包括名称,则执行步骤S207,否则执行步骤S204。
可以理解,若在对程序指令的指令格式进行定义时,指明优先使用参数的数据类型进行匹配,也可以不执行步骤S203,而直接执行步骤S204。
S204:根据输入参数的值获取输入参数的数据类型。
当输入参数不包括名称时或者优先使用参数的数据类型进行匹配时,可以通过输入参数的数据类型来进行匹配,因此,在步骤S204中根据输入参数的值获取输入参数的数据类型。通常,一个值往往可以属于一个已定义的数据类型,因此,根据输入参数的值就可以得到输入参数的数据类型。对于步骤S203中所举的例子,第一个输入参数的值为P1,此处,P1可以是已定义的变量,那么在变量定义时就已经对其数据类型进行过定义,例如P1的数据类型可以是joint,那么该输入参数的数据类型就可以确定为joint。
S205:比较输入参数的数据类型以及标准参数的数据类型。
将获取到的输入参数的数据类型与选出的标准参数的数据类型进行比较,若数据类型相同,则进入步骤S206,即输入参数与标准参数匹配成功。若数据类型不相同,或者无法获取输入参数的数据类型,则认为匹配不成功。
S206:输入参数与标准参数匹配成功。
S207:判断输入参数的名称是否与标准参数的名称一致。
当输入参数包括名称时,可以通过输入参数的名称来进行匹配。在这种情况下,判断输入参数的名称是否与标准参数的名称一致。若一致,则继续执行S208及后续判断,否则返回S202继续遍历输入参数列表并选出对下一个输入参数进行比较,直到输入参数列表遍历完成。
S208:判断输入参数的值是常量还是变量。当输入参数的值是变量时,执行步骤S209,否则,执行步骤S210。
S209:判断输入参数的数据类型与标准参数的数据类型是否一致。
如上述,当输入参数的值是变量时,则可以通过输入参数的值获取输入参数的数据类型,那么在步骤S209中就可以比较输入参数的数据类型和标准参数的数据类型是否一致。当一致时,执行步骤S206,即匹配成功,否则说明匹配不成功。
S210:将输入参数的数据类型转变为与标准参数的数据类型一致。
当输入参数的值是常量时,可能无法直接识别输入参数的数据类型,这是因为常量往往可以符合多个数据类型,例如常量0可以被认为是整型或者浮点型。因此,在步骤S210中,将输入参数的数据类型转变为与标准参数的数据类型一致,并执行步骤S206,即匹配成功。
通过执行步骤S201-S210,可以将输入参数列表中的输入参数与标准参数列表中的标准参数逐一进行匹配,并对不同的参数选用适当的匹配方法,即优先按参数名称进行匹配或优先按数据类型进行匹配,并且输入指令中参数的顺序不受限定。因此,本实施例提供的程序指令编译方法使用灵活且不易出错。
请参阅图3,图3根据本发明一实施例,示出了机器人程序指令的解析方法的流程示意图。下面将结合实际的例子对图3所示的方法进行说明。
在已经对多个不同程序指令的指令格式进行定义的条件下,用户输入对应程序指令的输入指令文本,该指令文通过词法解析器或语法解析器被解析为指令名+输入参数列表。根据解析得到的指令名,从指令库中检索具有相同指令名程序指令的指令格式及标准参数列表,并对标准输入指令进行初始化(归零)和/或格式化。
接着,对标准参数列表进行遍历,即,逐一选出标准参数列表中的参数,当一个参数匹配成功或匹配完成时再继续匹配下一个参数。
对于每一个标准参数,遍历输入参数列表,逐一选出输入参数进行比较。判断输入参数是否包含名称。
当输入参数不包含名称时,判断该输入参数是否允许通过数据类型进行匹配,如果是,则比较输入参数与标准参数的数据类型,若一致则匹配成功,否则报错,并选出下一个输入参数进行匹配。
当输入参数包含名称时,判断输入参数的名称是否与标准参数的名称一致,若不一致则报错并选出下一个输入参数进行匹配,若一致,则继续判断输入参数的值是常量还是变量:当输入参数的值是变量时,判断输入参数的数据类型与标准参数的数据类型是否一致,若一致,则匹配成功,否则报错;当输入参数的值是常量时,将输入参数的数据类型转变为与标准参数一致,并判断转化是否正确,若转化不正确则报错,若转化正确则认为输入参数与标准参数匹配成功。
当输入参数与标准参数匹配成功后,将该输入参数录入标准输入指令,并从输入参数列表中删除,随后跳出输入参数列表遍历的过程。
接着,判断对于当前标准参数,是否找到了匹配成功的输入参数,若是则继续选出下一个标准参数进行匹配,否则,则判断当前标准参数是否必要,若是必要,则说明输入指令中缺少必要的信息,因此报错,若不必要,则在标准输入指令中录入缺省值或空值。
例如,用户输入的文本为:movej P1,v:1,检索到的指令格式为movej j:joint,[v:speed],[s:slip],[dura:double]。首先选出第一个标准参数j,通过遍历输入参数列表并进行数据类型匹配,可以找到与其匹配的输入参数,即值为P1的参数。对于第二个标准参数v,通过继续遍历输入参数列表并进行名称匹配,可以找到与其匹配的输入参数,即名称为v值为1的参数。而对于第三个和第四个标准参数s和dura,则无法找到匹配的输入参数。但是由于第三个和第四个标准参数都不是必要的,因此,可以在标准输入指令中录入缺省值或空值(此处以空值为例)。最终得到的标准输入指令即包含以下信息(其中,NULL表示空值):
j:P1,v:1,s:NULL,dura:NULL
这样,就完成了整个解析过程,得到的标准输入指令就可以用于执行该程序指令。
请参阅图4,图4是本发明机器人控制系统400一实施例的结构示意图。该机器人控制系统400包括通信总线401、处理器402和存储器403。处理器402和存储器403通过通信总线401耦接。
其中,存储器403保存有程序数据,程序数据可被处理器402加载并执行上述任意实施例的机器人程序指令编译方法。可以理解地,在其它一些实施例中,存储器403可以不同处理器402设置于同一实体装置中,而是通过将机器人控制系统400结合网络来执行上述任一实施例的方法。
可以理解,机器人控制系统400可以是机器人内嵌的控制系统及装置,也可以是与机器人连接的外部设备,例如计算机、工业控制设备等。
上述实施例所述功能如果以软件形式实现并作为独立的产品销售或使用时,可存储在一个具有存储功能的装置中,即,本发明还提供一种存储有程序的存储装置。存储装置中程序数据能够被执行以实现上述实施例中机器人程序指令编译方法,该存储装置包括但不限于U盘、光盘、服务器或者硬盘等。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (20)
1.一种机器人程序指令编译方法,其特征在于,包括:
解析输入指令,其中,所述输入指令包括至少一个输入参数,所述输入参数至少包括所述输入参数的值;
根据所述输入指令生成输入参数列表,其中,所述输入参数列表中记录有所有所述输入参数;以及
将所述输入参数列表与预设的标准参数列表进行匹配,其中,所述标准参数列表中记录有至少一个标准参数的名称和数据类型,当所述输入参数列表与所述标准参数列表匹配成功时,根据所述输入参数的值生成标准输入指令,其中,所述标准输入指令中记录有所述标准参数的名称及所述标准参数的值。
2.如权利要求1所述的方法,其特征在于,所述将所述输入参数列表与所述预设的标准参数列表进行匹配的步骤包括:
将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配,其中,当一个所述标准参数匹配成功后,该标准参数和对应的所述输入参数不再参与后续匹配;
所述输入参数列表与所述标准参数列表匹配成功的条件包括:所有所述输入参数都匹配成功。
3.如权利要求2所述的方法,其特征在于:
所述标准参数包括必要参数;
所述输入参数列表与所述标准参数列表匹配成功的条件还包括:所有所述必要参数匹配成功。
4.如权利要求2所述的方法,其特征在于,所述根据所述输入参数的值生成标准输入指令的步骤包括:
根据所述各所述输入参数的值,在所述标准输入指令中录入该输入参数对应的所述标准参数的值。
5.如权利要求2所述的方法,其特征在于,所述将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配的步骤包括:
根据所述输入参数的值获取所述输入参数的数据类型,比较所述输入参数的数据类型以及所述标准参数的数据类型,若一致,则所述输入参数与所述标准参数匹配成功。
6.如权利要求2所述的方法,其特征在于:
所述输入参数为多个,多个所述输入参数中的至少一部分还包括该输入参数的名称;
所述将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配的步骤包括:
判断所述输入参数是否包含所述输入参数的名称;
当所述输入参数包含所述输入参数的名称时,判断所述输入参数的名称是否与所述标准参数的名称一致;
当所述输入参数的名称与所述标准参数的名称一致时,判断所述输入参数的值是常量还是变量;
当所述输入参数的值是变量时,继续判断所述输入参数的数据类型与所述标准参数的数据类型是否一致,若一致,则所述输入参数与所述标准参数匹配成功。
7.如权利要求6所述的方法,其特征在于,在所述根据所述输入参数的值判断所述输入参数的数据类型是常量还是变量的步骤之后还包括:
当所述输入参数的值是常量时,将所述输入参数的数据类型转变为与所述标准参数的数据类型一致,且所述输入参数与所述标准参数匹配成功。
8.一种机器人控制系统,其特征在于,包括处理器、存储器,所述处理器与所述存储器耦合并可加载程序指令并执行一种机器人程序指令编译方法,所述方法包括:解析输入指令,其中,所述输入指令包括至少一个输入参数,所述输入参数至少包括所述输入参数的值;
根据所述输入指令生成输入参数列表,其中,所述输入参数列表中记录有所有所述输入参数;以及
将所述输入参数列表与预设的标准参数列表进行匹配,其中,所述标准参数列表中记录有至少一个标准参数的名称和数据类型,当所述输入参数列表与所述标准参数列表匹配成功时,根据所述输入参数的值生成标准输入指令,其中,所述标准输入指令中记录有所述标准参数的名称及所述标准参数的值。
9.如权利要求8所述的系统,其特征在于,所述将所述输入参数列表与所述预设的标准参数列表进行匹配的步骤包括:
将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配,其中,当一个所述标准参数匹配成功后,该标准参数和对应的所述输入参数不再参与后续匹配;
所述输入参数列表与所述标准参数列表匹配成功的条件包括:所有所述输入参数都匹配成功。
10.如权利要求9所述的系统,其特征在于:
所述标准参数包括必要参数;
所述输入参数列表与所述标准参数列表匹配成功的条件还包括:所有所述必要参数匹配成功。
11.如权利要求9所述的系统,其特征在于,所述根据所述输入参数的值生成标准输入指令的步骤包括:
根据所述各所述输入参数的值,在所述标准输入指令中录入该输入参数对应的所述标准参数的值。
12.如权利要求9所述的系统,其特征在于,所述将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配的步骤包括:
根据所述输入参数的值获取所述输入参数的数据类型,比较所述输入参数的数据类型以及所述标准参数的数据类型,若一致,则所述输入参数与所述标准参数匹配成功。
13.如权利要求9所述的系统,其特征在于:
所述输入参数为多个,多个所述输入参数中的至少一部分还包括该输入参数的名称;
所述将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配的步骤包括:
判断所述输入参数是否包含所述输入参数的名称;
当所述输入参数包含所述输入参数的名称时,判断所述输入参数的名称是否与所述标准参数的名称一致;
当所述输入参数的名称与所述标准参数的名称一致时,判断所述输入参数的值是常量还是变量;
当所述输入参数的值是变量时,继续判断所述输入参数的数据类型与所述标准参数的数据类型是否一致,若一致,则所述输入参数与所述标准参数匹配成功。
14.如权利要求13所述的系统,其特征在于,在所述根据所述输入参数的值判断所述输入参数的数据类型是常量还是变量的步骤之后还包括:
当所述输入参数的值是常量时,将所述输入参数的数据类型转变为与所述标准参数的数据类型一致,且所述输入参数与所述标准参数匹配成功。
15.一种具有存储功能的装置,其特征在于,存储有程序指令,所述程序指令可被加载并执行一种机器人程序指令编译方法,所述方法包括:
解析输入指令,其中,所述输入指令包括至少一个输入参数,所述输入参数至少包括所述输入参数的值;
根据所述输入指令生成输入参数列表,其中,所述输入参数列表中记录有所有所述输入参数;以及
将所述输入参数列表与预设的标准参数列表进行匹配,其中,所述标准参数列表中记录有至少一个标准参数的名称和数据类型,当所述输入参数列表与所述标准参数列表匹配成功时,根据所述输入参数的值生成标准输入指令,其中,所述标准输入指令中记录有所述标准参数的名称及所述标准参数的值。
16.如权利要求15所述的装置,其特征在于,所述将所述输入参数列表与所述预设的标准参数列表进行匹配的步骤包括:
将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配,其中,当一个所述标准参数匹配成功后,该标准参数和对应的所述输入参数不再参与后续匹配;
所述输入参数列表与所述标准参数列表匹配成功的条件包括:所有所述输入参数都匹配成功。
17.如权利要求16所述的装置,其特征在于:
所述标准参数包括必要参数;
所述输入参数列表与所述标准参数列表匹配成功的条件还包括:所有所述必要参数匹配成功。
18.如权利要求16所述的装置,其特征在于,所述根据所述输入参数的值生成标准输入指令的步骤包括:
根据所述各所述输入参数的值,在所述标准输入指令中录入该输入参数对应的所述标准参数的值。
19.如权利要求16所述的装置,其特征在于,所述将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配的步骤包括:
根据所述输入参数的值获取所述输入参数的数据类型,比较所述输入参数的数据类型以及所述标准参数的数据类型,若一致,则所述输入参数与所述标准参数匹配成功。
20.如权利要求16所述的装置,其特征在于:
所述输入参数为多个,多个所述输入参数中的至少一部分还包括该输入参数的名称;
所述将所述标准参数列表中的每个所述标准参数依次与所述输入参数列表中的所有所述输入参数进行匹配的步骤包括:
判断所述输入参数是否包含所述输入参数的名称;
当所述输入参数包含所述输入参数的名称时,判断所述输入参数的名称是否与所述标准参数的名称一致;
当所述输入参数的名称与所述标准参数的名称一致时,判断所述输入参数的值是常量还是变量;
当所述输入参数的值是变量时,继续判断所述输入参数的数据类型与所述标准参数的数据类型是否一致,若一致,则所述输入参数与所述标准参数匹配成功。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/123630 WO2020132903A1 (zh) | 2018-12-25 | 2018-12-25 | 机器人程序指令编译方法、机器人控制系统及存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111670091A CN111670091A (zh) | 2020-09-15 |
CN111670091B true CN111670091B (zh) | 2022-12-13 |
Family
ID=71127346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880087303.8A Active CN111670091B (zh) | 2018-12-25 | 2018-12-25 | 机器人程序指令编译方法、机器人控制系统及存储装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111670091B (zh) |
WO (1) | WO2020132903A1 (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147172A (ja) * | 1994-11-22 | 1996-06-07 | Nec Corp | コンパイル方法 |
JPH0981764A (ja) * | 1995-09-11 | 1997-03-28 | Hitachi Eng Co Ltd | 図形処理装置及び図形処理方法 |
CN101271400A (zh) * | 2008-04-30 | 2008-09-24 | 北京中星微电子有限公司 | 一种计算机命令行参数的处理方法和装置 |
CN101791801A (zh) * | 2010-01-15 | 2010-08-04 | 广东工业大学 | 工业机器人运动规划与性能测试系统及其实现方法 |
CN102289375A (zh) * | 2011-09-02 | 2011-12-21 | 中兴通讯股份有限公司 | 代码生成方法及系统 |
CN102950595A (zh) * | 2012-10-31 | 2013-03-06 | 常州数控技术研究所 | 工业机器人的编程系统和方法 |
JP2016118886A (ja) * | 2014-12-19 | 2016-06-30 | 三菱電機ビルテクノサービス株式会社 | データ関連情報処理装置及びプログラム |
CN106457565A (zh) * | 2014-06-03 | 2017-02-22 | 阿蒂迈兹机器人技术有限公司 | 用于对机器人进行编程的方法和系统 |
US9789607B1 (en) * | 2015-11-03 | 2017-10-17 | Google Inc. | Achieving a target gait in a legged robot based on steering commands |
CN108044621A (zh) * | 2017-09-20 | 2018-05-18 | 广东拓斯达科技股份有限公司 | 一种计算机可读存储介质和应用该介质的机器人 |
CN108563448A (zh) * | 2018-04-19 | 2018-09-21 | 清华大学 | 程序文件的编译方法、系统、计算机设备和存储介质 |
-
2018
- 2018-12-25 WO PCT/CN2018/123630 patent/WO2020132903A1/zh active Application Filing
- 2018-12-25 CN CN201880087303.8A patent/CN111670091B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147172A (ja) * | 1994-11-22 | 1996-06-07 | Nec Corp | コンパイル方法 |
JPH0981764A (ja) * | 1995-09-11 | 1997-03-28 | Hitachi Eng Co Ltd | 図形処理装置及び図形処理方法 |
CN101271400A (zh) * | 2008-04-30 | 2008-09-24 | 北京中星微电子有限公司 | 一种计算机命令行参数的处理方法和装置 |
CN101791801A (zh) * | 2010-01-15 | 2010-08-04 | 广东工业大学 | 工业机器人运动规划与性能测试系统及其实现方法 |
CN102289375A (zh) * | 2011-09-02 | 2011-12-21 | 中兴通讯股份有限公司 | 代码生成方法及系统 |
CN102950595A (zh) * | 2012-10-31 | 2013-03-06 | 常州数控技术研究所 | 工业机器人的编程系统和方法 |
CN106457565A (zh) * | 2014-06-03 | 2017-02-22 | 阿蒂迈兹机器人技术有限公司 | 用于对机器人进行编程的方法和系统 |
JP2016118886A (ja) * | 2014-12-19 | 2016-06-30 | 三菱電機ビルテクノサービス株式会社 | データ関連情報処理装置及びプログラム |
US9789607B1 (en) * | 2015-11-03 | 2017-10-17 | Google Inc. | Achieving a target gait in a legged robot based on steering commands |
CN108044621A (zh) * | 2017-09-20 | 2018-05-18 | 广东拓斯达科技股份有限公司 | 一种计算机可读存储介质和应用该介质的机器人 |
CN108563448A (zh) * | 2018-04-19 | 2018-09-21 | 清华大学 | 程序文件的编译方法、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111670091A (zh) | 2020-09-15 |
WO2020132903A1 (zh) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9383973B2 (en) | Code suggestions | |
CN109343854B (zh) | 基于zynq系统的智能自动化编译方法及系统 | |
US11579856B2 (en) | Multi-chip compatible compiling method and device | |
US20130111451A1 (en) | Program Log Record Optimization | |
US20170228220A1 (en) | Self-healing automated script-testing tool | |
US10579513B2 (en) | Test run control method and apparatus | |
EP2557499A1 (en) | A system and method for automatic impact variable analysis and field expansion in mainframe systems | |
US8250554B2 (en) | Systems and methods for generating and distributing executable procedures for technical desk-side support | |
CN107678748A (zh) | 一种源代码文件编译方法及装置 | |
JP6370503B1 (ja) | プログラム作成装置 | |
CN111552475A (zh) | 一种半导体存储器老化测试的Workload测试文件编译方法、测试方法及系统 | |
CN114003269A (zh) | 组件处理方法、装置、电子设备及存储介质 | |
CN111670091B (zh) | 机器人程序指令编译方法、机器人控制系统及存储装置 | |
JP6451417B2 (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
CN112181951B (zh) | 一种异构数据库数据迁移方法、装置及设备 | |
CN109597638B (zh) | 基于实时计算引擎解决数据处理、设备联动的方法及装置 | |
US11249749B2 (en) | Automatic generation of configuration files | |
CN109019217B (zh) | 一种电梯控制软件现场调试系统 | |
US10545729B2 (en) | Computer program interface | |
JP7112270B2 (ja) | システム異常操作検出装置、方法およびプログラム | |
JP5932707B2 (ja) | 計算機、プログラム及びデータ生成方法 | |
JP6496640B2 (ja) | Cobolソースコード変換プログラム | |
US20180267780A1 (en) | Methods for providing conditional allocation of build files and related systems and computer program products | |
EP3916530A1 (en) | Method of searching for object for executing automation scenario and apparatus for performing the method | |
JP5958655B2 (ja) | 試験プログラム、試験装置及び試験方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |