五金工具产品及配附件制造技术1.本技术涉及机器人控制技术领域,特别是涉及一种机器人控制方法及装置、机器人、计算机可读存储介质和计算机程序产品。背景技术:2.随着机器人控制技术的发展,机器人远程通讯控制技术亦得到了广泛应用。传统远程通讯控制技术中,存在控制效率低的不足。技术实现要素:3.基于此,有必要针对上述技术问题,提供一种能够提高机器人远程通讯控制的效率的机器人控制方法及装置、机器人、计算机可读存储介质和计算机程序产品。4.第一方面,本技术提供了一种机器人控制方法。机器人控制方法包括:5.接收客户端发送的第一目标指令;6.若指令缓冲区存储的指令个数未达到预设的第一阈值,则接收客户端以预设的通讯方式提出的压入指令请求;7.响应于压入指令请求,依次将第一目标指令压入至指令缓冲区,并依次对指令缓冲区内的第一目标指令做前瞻处理;8.若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求;9.响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。10.在其中一个实施例中,通讯方式包括调用api和/或以json数据格式发送tcp指令。11.在其中一个实施例中,机器人控制方法还包括:12.接收客户端发送的查询指令,查询指令用于查询指令缓冲区存储的指令个数是否达到第一阈值;13.响应于查询指令,发送查询结果;14.若指令缓冲区存储的指令个数未达到预设的第一阈值,则接收客户端以预设的通讯方式提出的压入指令请求,包括:15.若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则接收客户端以通讯方式提出的压入指令请求。16.在其中一个实施例中,依次将第一目标指令压入至指令缓冲区,包括:17.依次将部分第一目标指令压入至指令缓冲区;18.依次将部分第一目标指令压入至指令缓冲区之后,还包括:19.再次接收客户端发送的查询指令,并响应于查询指令发送查询结果,若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则依次将部分第一目标指令压入至指令缓冲区,直至响应于查询指令发送指令缓冲区存储的指令个数达到第一阈值的查询结果或已将全部第一目标指令压入至指令缓冲区。20.在其中一个实施例中,查询指令包括查询口令;响应于查询指令,发送查询结果,包括:21.根据预设的指令口令校验查询口令;22.若查询口令校验成功,则响应于查询指令,发送查询结果。23.在其中一个实施例中,机器人控制方法还包括:24.接收客户端发送的第二目标指令;25.若指令缓冲区存储的指令个数未达到第一阈值,则依次将第二目标指令压入至指令缓冲区,依次对指令缓冲区内的第二目标指令做前瞻处理,若前瞻处理后的第二目标指令个数达到第二阈值,则依次根据前瞻处理后的第二目标指令执行目标运动,直至执行目标运动完毕。26.第二方面,本技术还提供了一种机器人控制装置。机器人控制装置包括:27.指令接收模块,用于接收客户端发送的第一目标指令;28.第一请求接收模块,用于若指令缓冲区存储的指令个数未达到预设的第一阈值,则接收客户端以预设的通讯方式提出的压入指令请求;29.指令压入模块,用于响应于压入指令请求,依次将第一目标指令压入至指令缓冲区,并依次对指令缓冲区内的第一目标指令做前瞻处理;30.第二请求接收模块,用于若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求;31.运动执行模块,用于响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。32.第三方面,本技术还提供了一种机器人,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的方法的步骤。33.第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法的步骤。34.第五方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。35.上述机器人控制方法及装置、机器人、计算机可读存储介质和计算机程序产品,机器人接收客户端发送的第一目标指令,若机器人的指令缓冲区存储的指令个数未达到预设的第一阈值,则接收客户端以预设的通讯方式提出的压入指令请求,继而,响应于客户端实时的压入指令请求,机器人依次将第一目标指令压入至指令缓冲区,利用指令缓冲区临时有序存储第一目标指令,并依次对指令缓冲区内的第一目标指令做前瞻处理。进一步地,若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求,继而,响应于客户端实时的启动运动请求,机器人依次根据前瞻处理后的第一目标指令执行目标运动。采用上述机器人控制方法的远程通讯控制过程无需复杂的指令体系,机器人与客户端也无需对指令进行数据组合,基于指令缓冲区临时有序存储客户端的第一目标指令和客户端的实时请求,机器人能够实时响应于客户端的请求并高效根据客户端的第一目标指令依次控制执行目标运动,有利于提高控制效率,使得远程通讯控制过程更简便。附图说明36.图1为一个实施例中机器人控制方法的流程示意图之一;37.图2为一个实施例中机器人控制方法的流程示意图之二;38.图3为一个实施例中机器人控制方法的流程示意图之三;39.图4为一个实施例中响应于查询指令,发送查询结果的流程示意图;40.图5为一个实施例中机器人控制方法的流程示意图之四;41.图6为一个实施例中机器人控制方法的流程示意图之五;42.图7为一个实施例中机器人控制装置的结构框图;43.图8为一个实施例中机器人的内部结构图。44.附图标号说明:45.机器人控制装置:10;接收模块:11;第一请求接收模块:12;指令压入模块:13;第二请求接收模块:14;运动执行模块:15。具体实施方式46.为了便于理解本技术实施例,下面将参照相关附图对本技术实施例进行更全面的描述。附图中给出了本技术实施例的首选实施例。但是,本技术实施例可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本技术实施例的公开内容更加透彻全面。47.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术实施例的技术领域的技术人员通常理解的含义相同。本文中在本技术实施例的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术实施例。48.可以理解,本技术所使用的术语“第一”、“第二”等可在本文中用于描述各种目标指令,但这些目标指令不受这些术语限制。举例来说,在不脱离本技术的范围的情况下,可以将第一目标指令称为第二目标指令,且类似地,可将第二目标指令称为第一目标指令。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。49.在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”指定所陈述的特征、整体、步骤、操作、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。50.随着科学技术的发展,工业机器人得到了广泛的应用,并逐渐成为核心的生产力。在工业机器人的推广应用中,工业机器人往往成为工作站的一个单元模块,除按用户编写的示教程序独立运行完成指定动作外,一般还需要能够接收主控设备发过来的指令,按主控设备的调度运行,以及与其他外围设备进行数据的交换和状态的交互,组成一个智能化的加工生产单元,也即机器人工作站,多个机器人工作站之间同样可以通过通讯快速互联,形成网络化、自动化、智能化的智能制造生产线。51.目前广泛应用的工业机器人远程通讯控制方法一般是采用一种主从架构的串行通讯协议——modbus协议。modbus协议是modicon公司,即现在的施耐德电气(schneider electric)于1979年为使用可编程逻辑控制器(programmable logic controller,plc)通信而发表。modbus协议已经成为工业领域通信协议的业界标准(de facto),并且现在是工业电子设备之间常用的连接方式。modbus协议包括用于串口、以太网以及其他支持互联网协议的版本。modbus协议具有结构简单、操作流线型、易于上手的特点。但是,modbus协议是按照寄存器地址进行通讯来传输指令和数据的,modbus协议在大量数据需要交换的情况下,存在通讯速度慢的问题。而在智能制造生产线中,工业机器人需要与主控设备或者外部设备远程通讯控制的指令种类较多、数据量较大。在这样的应用场景下,采用modbus协议需要定义繁杂的指令体系,且复杂的数据需要分为多个寄存器存储和传输,数据的接收方还需要对数据进行重新组合处理,导致远程通讯控制效率低,远程通讯控制过程复杂、调试困难,且开发周期长。52.基于此,为提高工业机器人远程通讯控制的效率,本技术实施例提供一种机器人控制方法。其中,机器人控制器作为通讯控制的服务端,主控设备、外部设备等通讯相对方作为通讯控制的客户端。机器人控制器相应接受客户端的查询指令、修改指令、动态指令等指令,并控制机器人执行相应指令。53.具体地,如图1所示,本技术实施例提供的机器人控制方法,应用于机器人控制器,亦即应用于机器人,包括以下步骤110至步骤150。54.步骤110,接收客户端发送的第一目标指令。其中,第一目标指令是指使机器人执行目标运动的动态指令。机器人作为通讯的服务端,接收客户端的连接命令,在机器人的配置页面进行参数配置以建立机器人与客户端的连接。建立连接之后,机器人才能接收到客户端的第一目标指令。在本实施例中,接收到第一目标指令后,机器人的译码模块还可以对第一目标指令进行处理,以获取到译码后的第一目标指令。55.步骤120,若指令缓冲区存储的指令个数未达到预设的第一阈值,则接收客户端以预设的通讯方式提出的压入指令请求。其中,指令缓冲区是机器人中用于临时有序存储指令的区域,压入指令请求是指将第一目标指令压入指令缓冲区的请求。具体地,若指令缓冲区中的指令个数未达到第一阈值,则表明指令缓冲区中还有可用的存储空间,则允许再存入指令,此时,客户端以特定的通讯方式实时提出压入指令请求,机器人相应地接收压入指令请求。应该理解地,当机器人对第一目标指令进行译码处理时,压入指令缓冲区的第一目标指令应为译码后的第一目标指令。56.步骤130,响应于压入指令请求,依次将第一目标指令压入至指令缓冲区,并依次对指令缓冲区内的第一目标指令做前瞻处理。其中,前瞻处理是指在控制机器人执行目标运动前,对目标运动轨迹进行分析和处理,以对目标运动路径上的速度进行规划,在保证速度最大化的同时实现速度的平滑过渡。对第一目标指令做前瞻处理,有利于实现在保证精准执行目标运动的同时,减少机器人及组件的冲击和损耗。具体地,机器人响应于客户端的压入指令请求,实时且依次地将第一目标指令压入至指令缓冲区以临时存储,为根据第一目标指令执行目标行动做准备,由此可知,本实施例中机器人只需根据客户端的请求实时存储第一目标指令,而无需提前预存复杂的指令体系。同时,机器人依次对压入的第一目标指令做前瞻处理。可以理解地,客户端发送的第一目标指令是连续的复数个指令,复数个第一目标指令之间存在排序,且客户端发送的第一目标指令之间的排序与机器人目标运动路径相对应。因此,本实施例中,机器人只需依次将第一目标指令压入与依次对压入指令缓冲区的第一目标指令做前瞻处理,便能获取到机器人目标运动路径,且能对目标运动路径上的速度进行有效规划,避免了要对第一目标指令进行数据组合,使得控制过程更简便,控制效率更高。57.步骤140,若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求。其中,启动运动请求是指根据第一目标指令开始执行目标运动的请求。具体地,使前瞻处理后的第一目标指令个数达到第二阈值,有利于更精准地获取目标运动路径,更精准地进行速度规划,进而更精准及更高效地执行目标运动。若前瞻处理后的第一目标指令个数达到第二阈值,客户端以特定的通讯方式实时提出启动运动请求,机器人相应地接收启动运动请求。58.步骤150,响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。具体地,指令缓冲区内的第一目标指令不直接产生目标运动。机器人响应于客户端的启动运动请求,实时且依次地将指令缓冲区内的,前瞻处理后的第一目标指令,下压至运动控制模块,进而根据第一目标指令高效控制执行目标运动。59.进一步地,客户端可以发送用于查询目标运动是否执行完毕的请求至机器人,机器人接收相应的查询请求后,当控制执行目标运动完毕时,响应于此查询请求发送执行目标运动完毕的结果至客户端,以告知客户端目标运动已经控制执行完毕。60.在本实施例中,远程通讯控制过程无需复杂的指令体系,机器人与客户端也无需对指令进行数据组合,基于指令缓冲区临时有序存储客户端的第一目标指令和客户端的实时请求,机器人能够实时响应于客户端的请求并高效根据客户端的第一目标指令依次控制执行目标运动,有利于提高控制效率,使得远程通讯控制过程更简便。61.在其中一个实施例中,通讯方式包括调用api和/或以json数据格式发送tcp指令。其中,api是指应用程序编程接口(application programming interface,api),它是一组定义、程序及协议的集合,通过api能够实现计算机软件和软件之间的相互通信。具体至本实施例中,客户端通过调用机器人的api,能够建立与机器人之间的通信,能够高效快捷地调用机器人中api所对应的功能。javascript对象简谱(javascript object notation,json)是一种轻量级的数据交换格式,json数据格式体现出简洁和清晰的层次结构,易于人阅读和编写,同时也易于机器解析和生成,有助于有效地提升网络传输效率。对象和数组是json中的基本类型,使用花括号“{}”包起来的内容称之为对象,对象内的子对象用逗号“,”隔开,例如{子对象1,子对象2,子对象3,……},对象的类型可以为字符串、数字、布尔类型、键值对等。使用方括号“[]”包起来的内容则称之为数组,数组内的对象用逗号“,”隔开。传输控制协议(transmission control protocol,tcp)是一种面向连接的、可靠的、基于字节流的通信协议,能够提供可靠的通信服务。客户端与机器人以json数据格式作为tcp通信的基础,能在确保通信服务可靠的基础上,提升远程通讯控制效率。[0062]具体地,客户端通过调用api和/或以json数据格式发送tcp指令与机器人进行远程通讯,以实现机器人目标运动的远程控制。如:客户端可以通过调用机器人的与压入指令的功能相对应的api,或以字符串的形式发送与压入指令的功能相对应的tcp指令至机器人,以向机器人提出压入指令请求;客户端可以通过调用机器人的与启动运动的功能相对应的api,或以字符串的形式发送与启动运动的功能相对应的tcp指令至机器人,以向机器人提出启动运动请求。若指令缓冲区存储的指令个数达到第一阈值,客户端可以通过调用机器人的与结束压入指令的功能相对应的api,或以字符串的形式发送与结束压入指令的功能相对应的tcp指令至机器人,以向机器人提出结束压入指令请求。若客户端欲想获取指令缓冲区的指令个数,客户端则可以通过调用机器人的与获取指令数量的功能相对应的api,或以字符串的形式发送与获取指令数量的功能相对应的tcp指令至机器人,以向机器人提出获取指令数量请求。亦即,客户端可以根据自身的请求及机器人的功能,通过上述两种方式实现远程通讯控制,本实施例中并未穷尽列举所有通讯内容。[0063]进一步地,除了通过调用api和/或以json数据格式发送tcp指令以实现机器人目标运动的远程通讯控制以外,客户端还通过以json数据格式发送tcp指令以实现机器人基本功能的远程通讯控制,如查询、伺服上下使能,启动指定的示教程序文件,对参数、变量进行查询和修改,等等。如:客户端以字符串的形式将第一目标指令发送至机器人,以使机器人接收第一目标指令。相应地,机器人亦基于标准的tcp网络通讯的物理层和协议层,以json数据格式作为通信应用层协议的基本格式,响应客户端发送的相应指令。如:响应于客户端提出的获取指令数量请求,机器人以字符串的形式发送指令缓冲区中存储的指令个数至客户端。可以理解地,在实现机器人目标运动的远程控制全过程中,亦存在客户端远程控制机器人执行基本功能的过程,及机器人根据约定的应用层协议格式响应客户端发送的指令的过程。[0064]机器人以json数据格式作为基本格式的通信应用层协议中,支持token(表示发送/校验口令)、date(表示时间戳)、from(表示发送方名称)、to(表示接受方名称)、get(表示查询数据)、put(表示修改数据)等关键字。具体地,客户端发送get、put、post等指令时,必须要发送正确的token,而机器人必须校验token正确后,才能执行客户端的get、put、post等指令。date的格式为iso日期格式(iso date),最小单位为毫秒。以机器人作为发送方为例,需使用机器人控制器的名称作为发送方名称,该名称在系统参数中指定,并需使用客户端的名称作为接受方名称,该名称在通信参数中指定。当机器人作为发送方时,发送的信息中必须包含date、from、to对应的信息;当客户端作为发送方时,发送的信息中则可选择性包含date、from、to对应的信息。客户端使用get指令,可以查询机器人系统中的主要参数与变量,查询主要参数与变量时,“键”的格式为:group(groupindex).paramname(paramsubid),其中,groupindex与paramsubid可缺省。另外,为提高客户端数据发送与机器人数据解析的效率,可以通过“键”:sameaslasttime,自动获取最近一次的get设置,即获取最近一次查询的主要参数或变量,及相应的查询结果。客户端使用put指令,可以修改机器人中的主要参数与变量,修改主要参数与变量时,“键”的格式为:group(groupindex).paramname(paramsubid),其中,groupindex与paramsubid亦可缺省。[0065]在本实施例中,客户端可以通过调用api以高效快捷地调用机器人的api所对应的功能,和/或以json数据格式发送tcp指令,在确保通信服务可靠的基础上,提升远程通讯控制效率,进而实现机器人目标运动的远程通讯控制。并且,客户端还可以通过以json数据格式发送tcp指令以实现机器人基本功能的远程通讯控制。[0066]如图2所示,在其中一个实施例中,机器人控制方法包括以下步骤210至步骤270。其中,步骤210、步骤250至步骤270,分别与前述实施例中步骤110、步骤130至步骤150一一对应,本实施例的步骤210、步骤250至步骤270可分别参照前述实施例的论述,此处不再赘述。[0067]步骤210,接收客户端发送的第一目标指令。具体地,客户端可以以字符串的形式将第一目标指令发送至机器人,机器人相应地接收第一目标指令。[0068]步骤220,接收客户端发送的查询指令,查询指令用于查询指令缓冲区存储的指令个数是否达到第一阈值。具体地,客户端可以以json数据格式发送查询指令至机器人,以查询机器人的指令缓冲区存储的指令个数是否达到第一阈值,进而确定是否可以压入第一目标指令至指令缓冲区。[0069]步骤230,响应于查询指令,发送查询结果。其中,查询结果则包括指令缓冲区存储的指令个数未达到第一阈值,和指令缓冲区存储的指令个数达到第一阈值。[0070]步骤240,若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则接收客户端以通讯方式提出的压入指令请求。具体地,若查询结果表示指令缓冲区中的指令个数未达到第一阈值,则表明指令缓冲区中还有可用的存储空间,客户端可以通过调用机器人的与压入指令的功能相对应的api,或以字符串的形式发送与压入指令的功能相对应的tcp指令至机器人,以向机器人提出压入指令请求,机器人相应地接收压入指令请求。[0071]步骤250,响应于压入指令请求,依次将第一目标指令压入至指令缓冲区,并依次对指令缓冲区内的第一目标指令做前瞻处理。[0072]步骤260,若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求。具体地,客户端可以以json数据格式发送用于查询前瞻处理后的第一目标指令个数是否达到第二阈值的指令,至机器人,以确定是否可以启动执行目标运动。相应地,机器人接收客户端的指令,并响应于上述指令,以json数据格式发送前瞻处理后的第一目标指令个数未达到第二阈值,或前瞻处理后的第一目标指令个数达到第二阈值的结果至客户端。若结果为前瞻处理后的第一目标指令个数达到预设的第二阈值,客户端可以通过调用机器人的与启动运动的功能相对应的api,或以字符串的形式发送与启动运动的功能相对应的tcp指令至机器人,以向机器人提出启动运动请求,机器人相应地接收启动运动请求。[0073]步骤270,响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。[0074]在本实施例中,客户端可以通过发送查询指令等与机器人的基本功能相对应的指令至机器人,实现对机器人的查询等基本功能的远程通讯控制,且实现机器人目标运动的远程通讯控制。[0075]如图3所示,在其中一个实施例中,上述步骤250中,依次将第一目标指令压入至指令缓冲区,包括步骤,依次将部分第一目标指令压入至指令缓冲区。基于此,机器人控制方法包括以下步骤310至步骤390。其中,步骤310至步骤340、步骤380至步骤390,分别与前述实施例中步骤210至步骤240、步骤260至步骤270一一对应,本实施例的步骤310至步骤340、步骤380至步骤390可分别参照前述实施例的论述,此处不再赘述。[0076]步骤310,接收客户端发送的第一目标指令。[0077]步骤320,接收客户端发送的查询指令,查询指令用于查询指令缓冲区存储的指令个数是否达到第一阈值。[0078]步骤330,响应于查询指令,发送查询结果。[0079]步骤340,若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则接收客户端以通讯方式提出的压入指令请求。[0080]步骤350,响应于压入指令请求,依次将部分第一目标指令压入至指令缓冲区。具体地,机器人实时且依次将第一目标指令压入指令缓冲区时,可以可选择地将第一目标指令分为多个部分以依次压入。需要说明地,此处将第一目标指令分为多个部分,意在表达出压入第一目标指令与判断指令缓冲区存储的指令个数是否达到第一阈值,均是一个持续反复的过程,并非一次性将第一目标指令全部压入至指令缓冲区,也并非只判断一次则把所有的第一目标指令压入。本实施例中,对于“部分”的划分无需过于明显,只需在压入第一目标指令至指令缓冲区的过程中存在一部分已压入,一部分未压入,即可认为已将“部分”第一目标指令压入。[0081]步骤360,再次接收客户端发送的查询指令,并响应于查询指令发送查询结果,若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则依次将部分第一目标指令压入至指令缓冲区,直至响应于查询指令发送指令缓冲区存储的指令个数达到第一阈值的查询结果或已将全部第一目标指令压入至指令缓冲区。具体地,当依次将部分第一目标指令压入至指令缓冲区时,客户端需持续反复判断指令缓冲区存储的指令个数是否达到第一阈值,进而确定指令缓冲区中是否还有空间允许继续存入第一目标指令。客户端再次发送查询指令,相应地,机器人接收并响应于查询指令发送查询结果。应该理解地,由于在机器人控制执行目标运动的整体过程中,客户端已经通过调用机器人的与压入指令的功能相对应的api,或以字符串的形式发送与压入指令的功能相对应的tcp指令至机器人,即已经提出过压入指令请求,因此无需再次提出压入指令请求。若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,机器人则可以直接依次将部分第一目标指令压入至指令缓冲区。还应该理解地,只要指令个数未达到第一阈值,则可以将第一目标指令压入;只要将第一目标指令压入,则需要进一步判断指令个数是否达到第一阈值。直至指令个数达到第一阈值,则表明指令缓冲区此时无多余空间允许存储第一目标指令,因此停止将第一目标指令压入至指令缓冲区;或者,直至已经将所有的第一目标指令压入至第一缓冲区,此时压入结束。若指令缓冲区存储的指令个数达到第一阈值,客户端可以通过调用机器人的与结束压入指令的功能相对应的api,或以字符串的形式发送与结束压入指令的功能相对应的tcp指令至机器人,以向机器人提出结束压入指令请求,以表示结束压入第一目标指令。[0082]步骤370,依次对指令缓冲区内的第一目标指令做前瞻处理。需要注意地,只要第一目标指令进入指令缓冲区,机器人则依次对指令缓冲区内的第一目标指令做前瞻处理,此为一个持续的过程,即本实施例中步骤370及后续步骤,与步骤360事实上不存在执行的先后顺序。[0083]步骤380,若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求。[0084]步骤390,响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。[0085]在本实施例中,机器人依次将部分第一目标指令压入至指令缓冲区的过程中,客户端持续且反复发送查询指令以查询指令缓冲区存储的指令个数是否达到第一阈值,以确定是否可以继续压入第一目标指令至指令缓冲区。[0086]如图4所示,在其中一个实施例中,查询指令包括查询口令;上述步骤230,响应于查询指令,发送查询结果,包括以下步骤410至步骤420。[0087]步骤410,根据预设的指令口令校验查询口令。具体地,前述实施例中记载有,客户端发送get、put、post等指令时,必须要发送正确的token,而机器人必须校验token正确后,才能执行客户端的get、put、post等指令。基于此,在本实施例中,客户端发送至机器人的查询指令中包括查询口令,机器人接收查询指令后,需根据预设好的指令口令对查询口令进行校验。[0088]步骤420,若查询口令校验成功,则响应于查询指令,发送查询结果。具体地,查询口令校验成功,机器人则执行客户端的查询指令,即发送查询结果至客户端。[0089]另外,可以理解地,客户端发送的查询指令中,可以选择性包含date、from、to对应的信息,机器人发送的查询结果中,必定还包含date、from、to对应的信息。[0090]在本实施例中,机器人对客户端发送的查询指令所携带的查询口令进行校验,在校验成功的情况下,执行客户端的查询指令,有利于提高远程通讯控制的安全性。[0091]如图5所示,在其中一个实施例中,机器人控制方法包括以下步骤510至步骤570。其中,步骤510至步骤550分别与前述实施例中步骤110至步骤150一一对应,本实施例的步骤510至步骤550可分别参照前述实施例的论述,此处不再赘述。[0092]步骤510,接收客户端发送的第一目标指令。[0093]步骤520,若指令缓冲区存储的指令个数未达到预设的第一阈值,则接收客户端以预设的通讯方式提出的压入指令请求。[0094]步骤530,响应于压入指令请求,依次将第一目标指令压入至指令缓冲区,并依次对指令缓冲区内的第一目标指令做前瞻处理。[0095]步骤540,若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求。[0096]步骤550,响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。[0097]步骤560,接收客户端发送的第二目标指令。其中,第二目标指令也是指使机器人执行目标运动的动态指令,客户端在远程通讯控制机器人执行完毕第一目标指令相对应的目标运动之后,继续发送第二目标指令至机器人,以远程通讯控制机器人执行第二目标指令相对应的目标运动,此时机器人则接收第二目标指令。需要说明的是,客户端发送第一目标指令控制机器人执行完毕目标运动,继而发送第二目标指令控制机器人执行目标运动,此为一个整体过程,客户端也可以选择将第一目标指令与第二目标指令组合成一个整体目标指令,进而控制机器人执行目标运动。还需要说明的是,若客户端还发送用于查询第一目标指令对应的目标运动是否执行完毕的指令至机器人,则待机器人响应于此指令发送执行目标运动完毕的结果至客户端后,客户端才会继续发送第二目标指令至机器人。[0098]步骤570,若指令缓冲区存储的指令个数未达到第一阈值,则依次将第二目标指令压入至指令缓冲区,依次对指令缓冲区内的第二目标指令做前瞻处理,若前瞻处理后的第二目标指令个数达到第二阈值,则依次根据前瞻处理后的第二目标指令执行目标运动,直至执行目标运动完毕。具体地,机器人接收第二目标指令后,与控制执行第一目标指令对应的目标运动的过程一样,机器人需与客户端进行通信交互。区别在于,在这个整体过程中,客户端已经提出压入指令请求、启动运动请求,因此,当针对第二目标指令进行通信交互时,若指令缓冲区存储的指令个数未达到第一阈值,机器人则直接依次将第二目标指令压入至指令缓冲区;若前瞻处理后的第二目标指令个数达到第二阈值,机器人则直接依次根据前瞻处理后的第二目标指令执行目标运动,而无需再分别接收客户端的压入指令请求与启动运动请求。[0099]可以理解地,客户端在远程通讯控制机器人执行第二目标指令相对应的目标运动之后,还可以继续发送第三目标指令至机器人,以远程通讯控制机器人执行第三目标指令相对应的目标运动,等等,直至客户端不再需要机器人执行更多的目标运动。[0100]在本实施例中,客户端可以在一个整体过程中,多次控制机器人执行目标运动。且前一组目标运动执行完毕后,再控制执行后一组目标运动,使得机器人能连贯且有序地执行目标运动。[0101]如图6所示,在其中一个实施例中,机器人控制方法包括以下步骤601至步骤612。[0102]机器人执行步骤601,接收客户端发送的第一目标指令。继而,执行步骤602,接收客户端发送的查询指令,查询指令用于查询指令缓冲区存储的指令个数是否达到第一阈值。其中,查询指令包括查询口令,进而执行步骤603,根据预设的指令口令校验查询口令。步骤604,若查询口令校验成功,则响应于查询指令,发送查询结果。步骤605,若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则接收客户端以调用api和/或以json数据格式发送tcp指令提出的压入指令请求。进一步地,机器人执行步骤606,响应于压入指令请求,依次将部分第一目标指令压入至指令缓冲区。再进一步地,机器人执行步骤607,再次接收客户端发送的查询指令,并响应于查询指令发送查询结果,若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则依次将部分第一目标指令压入至指令缓冲区,直至响应于查询指令发送指令缓冲区存储的指令个数达到第一阈值的查询结果或已将全部第一目标指令压入至指令缓冲区。与执行步骤607无先后顺序地,机器人还执行步骤608,依次对指令缓冲区内的第一目标指令做前瞻处理;步骤609,若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以调用api和/或以json数据格式发送tcp指令提出的启动运动请求;步骤610,响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。需要注意的是,虽然图6所示出的步骤607与步骤608至步骤610之间,存在先后顺序,但实际上此两个过程无先后顺序。通过以上步骤,机器人实时响应于客户端的请求,并根据客户端的第一目标指令依次控制执行目标运动,直至执行目标运动完毕。[0103]进一步地,机器人还执行步骤611,接收客户端发送的第二目标指令。且执行步骤612,若指令缓冲区存储的指令个数未达到第一阈值,则依次将第二目标指令压入至指令缓冲区,依次对指令缓冲区内的第二目标指令做前瞻处理,若前瞻处理后的第二目标指令个数达到第二阈值,则依次根据前瞻处理后的第二目标指令执行目标运动,直至执行目标运动完毕。通过以上步骤,机器人继续根据客户端的第二目标指令依次控制执行目标运动,直至执行目标运动完毕。[0104]在本实施例中,远程通讯控制过程无需复杂的指令体系,机器人与客户端也无需对指令进行数据组合,基于指令缓冲区临时有序存储客户端的第一目标指令和客户端的实时请求,机器人能够实时响应于客户端的请求并高效根据客户端的第一目标指令依次控制执行目标运动,有利于提高控制效率,使得远程通讯控制过程更简便。[0105]应该理解的是,虽然如上所述的各实施例所涉及的流程示意图图1-图6中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程示意图图1-图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。[0106]基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的机器人控制方法的机器人控制装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人控制装置实施例中的具体限定可以参见上文中对于机器人控制方法的限定,在此不再赘述。[0107]如图7所示,本技术实施例还提供了一种机器人控制装置10。机器人控制装置10包括指令接收模块11、第一请求接收模块12、指令压入模块13、第二请求接收模块14和运动执行模块15。指令接收模块11,用于接收客户端发送的第一目标指令。第一请求接收模块12,用于若指令缓冲区存储的指令个数未达到预设的第一阈值,则接收客户端以预设的通讯方式提出的压入指令请求。指令压入模块13,用于响应于压入指令请求,依次将第一目标指令压入至指令缓冲区,并依次对指令缓冲区内的第一目标指令做前瞻处理。第二请求接收模块14,用于若前瞻处理后的第一目标指令个数达到预设的第二阈值,则接收客户端以通讯方式提出的启动运动请求。运动执行模块15,用于响应于启动运动请求,依次根据前瞻处理后的第一目标指令执行目标运动。[0108]在其中一个实施例中,机器人控制装置10还包括查询指令接收模块11和查询结果发送模块。查询指令接收模块11,用于接收客户端发送的查询指令,查询指令用于查询指令缓冲区存储的指令个数是否达到第一阈值。查询结果发送模块,用于响应于查询指令,发送查询结果。其中,上述第一请求接收模块12还用于若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则接收客户端以通讯方式提出的压入指令请求。[0109]在其中一个实施例中,上述指令压入模块13还用于依次将部分第一目标指令压入至指令缓冲区。机器人控制装置10还包括循环查询模块,用于再次接收客户端发送的查询指令,并响应于查询指令发送查询结果,若查询结果表示指令缓冲区存储的指令个数未达到第一阈值,则依次将部分第一目标指令压入至指令缓冲区,直至响应于查询指令发送指令缓冲区存储的指令个数达到第一阈值的查询结果或已将全部第一目标指令压入至指令缓冲区。[0110]在其中一个实施例中,查询指令包括查询口令;上述查询结果发送模块包括口令校验单元和查询结果发送单元。口令校验单元,用于根据预设的指令口令校验查询口令。查询结果发送单元,用于若查询口令校验成功,则响应于查询指令,发送查询结果。[0111]在其中一个实施例中,机器人控制装置10还包括循环执行模块,用于接收客户端发送的第二目标指令;若指令缓冲区存储的指令个数未达到第一阈值,则依次将第二目标指令压入至指令缓冲区,依次对指令缓冲区内的第二目标指令做前瞻处理,若前瞻处理后的第二目标指令个数达到第二阈值,则依次根据前瞻处理后的第二目标指令执行目标运动,直至执行目标运动完毕。[0112]上述机器人控制装置10中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于机器人中的处理器中,也可以以软件形式存储于机器人中的存储器中,以便于处理器调用执行以上各个模块对应的操作。[0113]如图8所示,本技术实施例还提供了一种机器人。机器人包括存储器和处理器,存储器存储有计算机程序,处理器执行所述计算机程序时实现上述机器人控制方法的步骤。[0114]本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的机器人的限定,具体的机器人可以包括比图8中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。[0115]本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述机器人控制方法的步骤。[0116]本技术实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述机器人控制方法的步骤。[0117]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。[0118]以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0119]以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
机器人控制方法及装置、机器人、存储介质和程序产品与流程 专利技术说明
作者:admin
2023-07-26 10:57:31
327
关键词:
五金工具产品及配附件制造技术
专利技术