本公开涉及区块链和建图领域,尤其涉及一种基于区块链网络的建图处理方法、协同建图方法和系统。
背景技术:
1、随着智能机器人的发展和普及,实现智能机器人对未知环境的探索、在未知环境的定位并构建所处空间的地图成为一大需求。智能机器人的定位和建图技术在搜救、野外探测、室内巡航(例如扫地机器人)等领域应用广泛。目前,智能机器人主要基于雷达式传感器或视觉类传感器进行环境感知。
2、在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:在空间较大或者环境相对复杂的场景下,一般基于多个智能机器人分别进行局部探索,得到局部地图,由多个智能机器人分别将各自的局部地图发送到统一的服务端进行处理,在服务端根据多个局部地图进行协同建图处理并分别对各个智能机器人进行路径规划;然而,这种方式中多个智能机器人需要和统一的服务端进行通讯,在服务端发生故障的情况下,各个智能机器人的探测任务会受到严重影响,同时智能机器人与服务端之间传输的数据存在被截获或篡改的风险,这一过程难以追溯,探测任务执行过程的数据安全性有待于提升。
技术实现思路
1、为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种基于区块链网络的建图处理方法、协同建图方法和系统。
2、第一方面,本公开的实施例提供一种基于区块链网络的协同建图系统。上述协同建图系统包括:多个探测机器人,对应作为区块链网络的一级节点,具有数据安全传输和数据存证功能;多个分布式的服务端,对应作为上述区块链网络的二级节点,具有数据安全传输、数据存证、任务分配和数据处理功能。其中,上述探测机器人用于探索目标环境得到局部地图信息和对应的关键帧;上述局部地图信息的摘要信息通过上述区块链网络进行上链存证处理。上述多个服务端中的任一个服务端接收到上述探测机器人发送的关键帧后,用于调用智能合约执行以下操作:将上述关键帧与已存证关键帧信息进行匹配;在上述关键帧与上述已存证关键帧信息匹配成功的情况下,确定地图融合任务的融合任务分配信息,并将上述融合任务分配信息同步给上述区块链网络的各级节点;使得上述融合任务分配信息的融合相关一级节点向融合相关二级节点发送对应的局部地图信息,并由融合相关二级节点根据上链存证的摘要信息来核验上述局部地图信息,在核验通过后,上述融合相关二级节点执行将本地存储的地图信息与上述局部地图信息进行融合的地图融合任务。
3、在一些实施例中,确定地图融合任务的融合任务分配信息,包括:根据上述关键帧对应的所属局部地图标识、局部地图与存储节点的对应关系、以及多个上述服务端的运行状态,确定地图融合任务的融合任务分配信息。其中,根据上述关键帧对应的所属局部地图标识、局部地图与存储节点的对应关系、以及多个上述服务端的运行状态,确定地图融合任务的融合任务分配信息,包括:根据上述关键帧对应的所属局部地图标识以及局部地图与存储节点的对应关系,确定上述关键帧与所属的目标局部地图、对应的目标存储节点之间的三元映射结果;根据上述三元映射结果,由当前节点或由当前节点调用其他节点将上述目标存储节点中上述目标局部地图设置为锁定状态;根据多个上述服务端的运行状态,确定多个服务端的可支配算力的相对大小;根据上述可支配算力的相对大小,确定上述地图融合任务的融合执行方;上述融合执行方为上述融合相关二级节点;上述关键帧对应的局部地图信息的来源节点为上述融合相关一级节点;根据上述融合执行方、上述目标局部地图和对应的目标存储节点,生成融合任务分配信息;其中,在上述地图融合任务的执行期间仅能由上述融合执行方来对处于锁定状态下的上述目标局部地图与上述局部地图信息进行融合处理。
4、在一些实施例中,根据上述可支配算力的相对大小,确定上述地图融合任务的执行方,包括:将可支配算力最大的目标服务端确定为上述地图融合任务的融合执行方;或者,获取可支配算力处于靠前预设位数的多个候选服务端本地存储的局部地图的状态;将本地存储的处于锁定状态的局部地图较多的候选服务端确定为上述地图融合任务的融合执行方。
5、在一些实施例中,上述融合相关二级节点还用于调用上述智能合约执行以下操作:在地图融合任务执行成功后,将融合后地图信息的摘要信息通过上述区块链网络进行上链存证处理;并将上述融合后地图信息的增量数据发送给本地存储有上述关键帧对应局部地图的目标二级节点,使得上述目标二级节点根据上链存证的融合后地图信息的摘要信息来核验上述增量数据,在核验通过后,上述目标二级节点基于上述增量数据来对本地存储局部地图信息进行更新。
6、在一些实施例中,上述多个服务端中的任一个服务端还用于调用智能合约执行以下操作:在上述关键帧与已存证关键帧信息匹配失败的情况下,将上述关键帧基于上述区块链网络进行上链存证;确定用于执行局部地图存储任务的存储任务分配信息,并将上述存储任务分配信息同步给上述区块链网络的各级节点;使得上述存储任务分配信息的存储相关一级节点向存储相关二级节点发送对应的局部地图信息,并由存储相关二级节点根据上链存证的摘要信息来核验上述局部地图信息,在核验通过后,上述存储相关二级节点执行将上述局部地图信息存储至本地的局部地图存储任务。
7、在一些实施例中,上述确定用于执行局部地图存储任务的存储任务分配信息,包括:根据多个服务端的本地存储局部地图分布状态和位置分布信息,确定用于执行局部地图存储任务的存储任务分配信息。其中,上述本地存储局部地图分布状态包括以下至少一种:各个服务端与存储的局部地图之间的分布关系列表、多个服务端各自存储的局部地图数量、局部地图占用的内存大小、局部地图对应的关键帧数量;上述多个服务端的位置分布信息为:多个服务端相较于发送关键帧的探测机器人的位置分布信息。
8、在一些实施例中,根据多个服务端的本地存储局部地图分布状态和位置分布信息,确定用于执行局部地图存储任务的存储任务分配信息,包括:根据上述多个服务端的本地存储局部地图分布状态,确定多个服务端分别对应的第一因子;根据上述多个服务端的位置分布信息,确定多个服务端分别对应的第二因子;将多个服务端对应的第一因子和第二因子作为预设任务分配算法的输入,输出得到多个服务端对应的任务分配得分;根据上述多个服务端对应的任务分配得分的相对大小,确定上述局部地图存储任务的存储执行方;上述存储执行方为上述存储相关二级节点;上述关键帧对应的局部地图信息的来源节点为上述存储相关一级节点;根据上述存储执行方和上述来源节点,生成存储任务分配信息。
9、在一些实施例中,上述融合相关二级节点还用于调用智能合约执行以下操作:基于本地的融合后地图信息与其他服务端基于共识算法进行地图数据共识处理,得到共识后的综合融合地图信息。上述多个服务端中的任一个服务端还用于调用智能合约执行以下操作:基于上述综合融合地图信息,计算出上述多个探测机器人中至少一个探测机器人的下一个目标点和对应到达下一个目标点的规划路径;根据上述至少一个探测机器人的标识、对应的下一个目标点和规划路径,生成新的探测任务;将上述新的探测任务基于上述区块链网络进行发布,使得对应探测机器人执行上述新的探测任务。
10、在一些实施例中,上述已存证关键帧信息包括:已存证关键帧列表,上述关键帧列表包含已存证关键帧图像和对应的已存证语义信息之间的对应关系。上述探测机器人发送的关键帧包括:关键帧图像和对应的语义信息。其中,将上述关键帧与已存证关键帧信息进行匹配,包括:将上述关键帧图像对应的语义信息与上述对应关系中的已存证语义信息进行匹配;在上述语义信息与上述已存证语义信息匹配成功的情况下,将上述关键帧图像与上述对应关系中的已存证关键帧图像进行匹配;在上述语义信息与上述已存证语义信息匹配失败的情况下,结束匹配,并视为上述关键帧与上述已存证关键帧信息匹配失败;在上述关键帧图像与上述已存证关键帧图像匹配成功的情况下,视为上述关键帧与上述已存证关键帧信息匹配成功;在上述关键帧图像与上述已存证关键帧图像匹配失败的情况下,视为上述关键帧与上述已存证关键帧信息匹配失败,并在区块链账本中记录匹配失败的相关信息。
11、第二方面,本公开的实施例提供一种基于区块链网络的建图处理方法。上述区块链网络包含:多个探测机器人对应的一级节点和多个分布式的服务端对应的二级节点;上述一级节点具有数据安全传输和数据存证功能;上述二级节点具有数据安全传输、数据存证、任务分配和数据处理功能。上述建图处理方法应用于多个服务端,包括:上述多个服务端中的任一个服务端接收到上述探测机器人发送的关键帧后,调用智能合约执行以下操作:将上述关键帧与已存证关键帧信息进行匹配;在上述关键帧与上述已存证关键帧信息匹配成功的情况下,确定地图融合任务的融合任务分配信息,并将上述融合任务分配信息同步给上述区块链网络的各级节点;使得上述融合任务分配信息的融合相关一级节点向融合相关二级节点发送对应的局部地图信息,并由融合相关二级节点根据上链存证的摘要信息来核验上述局部地图信息,在核验通过后,上述融合相关二级节点执行将本地存储的地图信息与上述局部地图信息进行融合的地图融合任务;其中,上述摘要信息是由上述探测机器人通过计算局部地图信息的摘要信息并基于上述区块链网络进行上链存证处理得到的。
12、在一些实施例中,上述融合相关二级节点还用于调用上述智能合约执行以下操作:在地图融合任务执行成功后,将融合后地图信息的摘要信息通过上述区块链网络进行上链存证处理;并将上述融合后地图信息的增量数据发送给本地存储有上述关键帧对应局部地图的目标二级节点,使得上述目标二级节点根据上链存证的融合后地图信息的摘要信息来核验上述增量数据,在核验通过后,上述目标二级节点基于上述增量数据来对本地存储局部地图信息进行更新。
13、在一些实施例中,上述多个服务端中的任一个服务端还用于调用智能合约执行以下操作:在上述关键帧与已存证关键帧信息匹配失败的情况下,将上述关键帧基于上述区块链网络进行上链存证;确定用于执行局部地图存储任务的存储任务分配信息,并将上述存储任务分配信息同步给上述区块链网络的各级节点;使得上述存储任务分配信息的存储相关一级节点向存储相关二级节点发送对应的局部地图信息,并由存储相关二级节点根据上链存证的摘要信息来核验上述局部地图信息,在核验通过后,上述存储相关二级节点执行将上述局部地图信息存储至本地的局部地图存储任务。
14、在一些实施例中,上述融合相关二级节点还用于调用智能合约执行以下操作:基于本地的融合后地图信息与其他服务端基于共识算法进行地图数据共识处理,得到共识后的综合融合地图信息。上述多个服务端中的任一个服务端还用于调用智能合约执行以下操作:基于本地的融合后地图信息与其他服务端基于共识算法进行地图数据共识处理,得到共识后的综合融合地图信息;基于上述综合融合地图信息,计算出上述多个探测机器人中至少一个探测机器人的下一个目标点和对应到达下一个目标点的规划路径;根据上述至少一个探测机器人的标识、对应的下一个目标点和规划路径,生成新的探测任务;将上述新的探测任务基于上述区块链网络进行发布,使得对应探测机器人执行上述新的探测任务。
15、第三方面,本公开的实施例提供一种基于区块链网络的协同建图方法。上述区块链网络包含:多个探测机器人对应的一级节点和多个分布式的服务端对应的二级节点;上述一级节点具有数据安全传输和数据存证功能;上述二级节点具有数据安全传输、数据存证、任务分配和数据处理功能。上述协同建图方法应用于每个探测机器人,包括:上述探测机器人探索目标环境得到局部地图信息和对应的关键帧;将上述局部地图信息的摘要信息通过上述区块链网络进行上链存证处理;将上述关键帧发送给上述多个服务端中的目标服务端;使得上述目标服务端将上述关键帧与已存证关键帧信息进行匹配;在上述关键帧与已存证关键帧信息匹配成功的情况下,接收上述目标服务端通过上述区块链网络同步的融合任务分配信息;在上述探测机器人为融合相关一级节点的情况下,上述探测机器人向融合任务分配信息对应的融合相关二级节点发送上述局部地图信息。
16、在一些实施例中,上述协同建图方法还包括:在上述关键帧与已存证关键帧信息匹配失败的情况下,接收上述目标服务端通过上述区块链网络同步的存储任务分配信息;在上述探测机器人为存储相关一级节点的情况下,上述探测机器人向存储任务分配信息对应的存储相关二级节点发送上述局部地图信息。
17、在一些实施例中,上述协同建图方法还包括:接收由上述二级节点通过上述区块链网络发布的新的探测任务;上述新的探测任务包括:至少一个探测机器人的标识、对应的下一个目标点和规划路径;根据上述探测机器人的标识进行匹配,并按照对应的规划路径执行驶向下一个目标点的新的探测任务。
18、本公开一些实施例提供的上述技术方案至少具有如下优点的部分或全部:
19、通过将多个探测机器人和多个分布式的服务端构建为区块链网络的节点,并且划分不同类型的区块链节点,探测机器人作为一级节点,具有数据安全传输和数据存证功能;服务端作为二级节点,具有数据安全传输、数据存证、任务分配和数据处理功能;随着探测机器人探索目标环境不断更新局部地图信息,会定期将局部地图信息(诸如局部地图、前沿点集等信息)、关键帧进行上链存证,由多个服务端将探测机器人上传的局部地图信息与本地存储的地图信息融合;通过设置多个服务端以及多个服务端与多个探测机器人构建区块链网络,能确保探测机器人探索目标环境得到的局部地图信息、关键帧、服务端发布的融合任务分配信息等以安全传输方式(例如为点对点通信)在一级节点与二级节点、或者在多个二级节点之间传输,避免数据传输过程中的风险,同时基于多个服务端和区块链技术的结合,有效避免中心化服务端可能出现的单点故障问题,并能够保证数据处理过程的可追溯性,提高了整个系统的鲁棒性和可靠性;通过在服务端的智能合约中设置基于关键帧与已存证关键帧信息进行匹配的逻辑,通过关键帧匹配的逻辑核验各个探测机器人新的局部地图信息的关键帧与多个服务端本地各自存储的局部地图的关键帧有无交集,在有交集的情况下视为匹配成功,执行地图融合任务。
20、本公开另一些实施例提供的上述技术方案至少具有如下优点的部分或全部:
21、采用分布式存储策略,将各个局部地图信息分别上传并存储在对应的一个或多个二级节点上,实现一级节点本身和多个二级节点之间关于局部地图的备份存储,无需单个二级节点存储全量地图,节约对应的存储开销,并有效增强系统的容错能力,即使某个节点发生故障,也不会导致数据丢失;具体基于关键帧匹配逻辑进行核验,在关键帧匹配失败的情况下,执行局部地图存储任务,通过将上传的局部地图信息在服务端本地进行存储,实现局部地图在多个服务端的分散化存储。
22、本公开又一些实施例提供的上述技术方案至少具有如下优点的部分或全部:
23、利用智能合约自动执行任务分配和资源管理,智能合约能够根据各个二级节点的资源情况(如计算能力、存储空间、当前任务负载等),动态地分配地图融合任务或局部地图存储任务,确保资源的充分利用。
1.一种基于区块链网络的协同建图系统,其特征在于,包括:
2.根据权利要求1所述的系统,其特征在于,确定地图融合任务的融合任务分配信息,包括:根据所述关键帧对应的所属局部地图标识、局部地图与存储节点的对应关系、以及多个所述服务端的运行状态,确定地图融合任务的融合任务分配信息;
3.根据权利要求2所述的系统,其特征在于,根据所述可支配算力的相对大小,确定所述地图融合任务的融合执行方,包括:
4.根据权利要求1所述的系统,其特征在于,所述融合相关二级节点还用于调用所述智能合约执行以下操作:
5.根据权利要求1-4中任一项所述的系统,其特征在于,所述多个服务端中的任一个服务端还用于调用智能合约执行以下操作:
6.根据权利要求5所述的系统,其特征在于,所述确定用于执行局部地图存储任务的存储任务分配信息,包括:
7.根据权利要求6所述的系统,其特征在于,根据多个服务端的本地存储局部地图分布状态和位置分布信息,确定用于执行局部地图存储任务的存储任务分配信息,包括:
8.根据权利要求1-4中任一项所述的系统,其特征在于,
9.根据权利要求1所述的系统,其特征在于,所述已存证关键帧信息包括:已存证关键帧列表,所述关键帧列表包含已存证关键帧图像和对应的已存证语义信息之间的对应关系;
10.一种基于区块链网络的建图处理方法,其特征在于,所述区块链网络包含:多个探测机器人对应的一级节点和多个分布式的服务端对应的二级节点;所述一级节点具有数据安全传输和数据存证功能;所述二级节点具有数据安全传输、数据存证、任务分配和数据处理功能;
11.根据权利要求10所述的建图处理方法,其特征在于,所述融合相关二级节点还用于调用所述智能合约执行以下操作:
12.根据权利要求10所述的建图处理方法,其特征在于,所述多个服务端中的任一个服务端还用于调用智能合约执行以下操作:
13.根据权利要求10所述的建图处理方法,其特征在于,
14.一种基于区块链网络的协同建图方法,其特征在于,所述区块链网络包含:多个探测机器人对应的一级节点和多个分布式的服务端对应的二级节点;所述一级节点具有数据安全传输和数据存证功能;所述二级节点具有数据安全传输、数据存证、任务分配和数据处理功能;
15.根据权利要求14所述的协同建图方法,其特征在于,还包括:
16.根据权利要求14所述的协同建图方法,其特征在于,还包括: