首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于区块链共同认知的多机器人快速目标搜索方法_中国人民解放军国防科技大学_202210821221.X 

申请/专利权人:中国人民解放军国防科技大学

申请日:2022-07-13

公开(公告)日:2024-06-11

公开(公告)号:CN115333745B

主分类号:H04L9/32

分类号:H04L9/32;G06F21/62;G06T7/90

优先权:

专利状态码:有效-授权

法律状态:2024.06.11#授权;2022.11.29#实质审查的生效;2022.11.11#公开

摘要:本发明公开了一种基于区块链共同认知的多机器人快速目标搜索方法,目的是实现机器人快速搜索。技术方案是先构建目标搜索场景,机器人上安装传感器、游走避障模块、数据采集模块、数据处理模块、全局定位模块、邻居感知模块、区块链接口、Hashgraph数据接收模块、Hashgraph共识模块和智能合约模块;机器人采集原始图像数据,邻居感知模块构建邻居机器人列表;区块链接口和数据接收模块封装交易,打包到事件中,并同步区块链的数据;共识模块进行信息交互,确定本地数据接收模块中的事件;智能合约模块提取事件数据并构建共同认知,利用共同认知进行目标搜索。采用本发明能使多机器人快速有效地构建共同认知,快速搜索目标。

主权项:1.一种基于区块链共同认知的多机器人快速目标搜索方法,其特征在于包括以下步骤:第一步:构建目标搜索场景;目标搜索场景包括:全局定位系统,栅格化的地面,障碍物,围墙,N个目标点,M个机器人,以及由M个机器人组成的多机器人区块链网络,N≥1,M≥2;目标点随机分散在目标搜索场景中;机器人类型设定为普通机器人即类型1,游骑兵机器人即类型2和拜占庭机器人即类型3;普通机器人为正常的目标搜索机器人;三类机器人上都安装有传感器、游走避障模块、数据采集模块、数据处理模块、全局定位模块、邻居感知模块、区块链接口、Hashgraph数据接收模块、Hashgraph共识模块和智能合约模块;游骑兵机器人的通信范围比普通机器人大,速度比普通机器人快,可跨越障碍物到达其他区域;拜占庭机器人指数据采集模块、数据处理模块或者全局定位模块受到内部损坏或者外部控制的机器人,拜占庭机器人采集到的信息出现误差或者是被外部黑客控制,控制者注入的恶意程序故意伪造错误信息;全局定位模块安装在机器人上,用于对每个机器人定位;设置M个机器人的类型;将M个机器人定义为机器人节点1,机器人节点2,…,机器人节点m,…,机器人节点M;1,2,...,m,...,M为机器人的标识号;初始化3个空列表,普通机器人预设列表R1,游骑兵机器人预设列表R2,拜占庭机器人预设列表R3;分别设置游骑兵机器人和拜占庭机器人的个数为E和F,E+FM;从M个机器人的标识号组成的列表中随机选择E个序号存入R2列表,从剩余的M-E个标识号中选择F个存入R3列表;将剩余的M-E-F个机器人标识号存入R1列表;每个机器人上安装有感知八个方向障碍物的红外传感器和采集地面图像的下视摄像头,还安装有游走避障模块,数据采集模块,数据处理模块,全局定位模块、邻居感知模块,区块链接口模块,Hashgraph数据接收模块,Hashgraph共识模块和智能合约模块这些软件模块;机器人节点m的游走避障模块与机器人节点m机体上的红外传感器、智能合约模块相连,从布署在机器人节点m机体上前、后、左、右、左前、左后、右前、右后8个方向的红外传感器接收传感数据,从机器人节点m的智能合约模块接收的M个机器人的共同认知,根据传感数据和共同认知计算这8个方向是否有障碍物,得到对机器人节点m的动作指令,包括向前直走,向后退,向左转弯和向右转弯的指令;将动作指令发送给机器人节点m的游走避障模块;机器人节点m的数据采集模块与机器人节点m的下视摄像头传感器、机器人节点m的数据处理模块相连,负责采集地面图像数据;它从下视摄像头接收图像,将图像转换为数字信息,得到数字化图像,将数字化图像发送给机器人节点m的数据处理模块;机器人节点m的数据处理模块与机器人节点m的数据采集模块、区块链接口相连,从数据采集模块接收数字化图像,识别图像中的颜色,得到图像的颜色特征信息,将图像的颜色特征信息发送给区块链接口;机器人节点m的全局定位模块与全局定位系统、机器人节点m的邻居感知模块相连,负责从全局定位系统获取M个机器人的全局位置信息,将M个机器人的全局位置信息发送给机器人节点m的邻居感知模块;机器人节点m的邻居感知模块与机器人节点m的全局定位模块、机器人节点m的区块链接口相连,负责根据M个机器人的位置信息计算出周围有哪些邻居,得到机器人节点m的邻居列表;将机器人节点m的邻居列表发送给机器人节点m的区块链接口;机器人节点m的区块链接口与机器人节点m的数据处理模块、全局定位模块、邻居感知模块、Hashgraph数据接收模块相连,它从机器人节点m的数据处理模块接收数据图像的颜色特征信息,从机器人节点m的全局定位模块接收机器人节点m的位置信息,从机器人节点m的邻居感知模块接收机器人节点m的邻居列表,负责将这3种信息打包成一个数据包,并将该数据包提交到Hashgraph数据接收模块;机器人节点m的Hashgraph数据接收模块与机器人节点m的区块链接口、机器人节点m的Hashgraph共识模块相连,它从机器人节点m的区块链接口接收数据包,并将数据包再进行封装,封装成为一个交易,提交给机器人m的Hashgraph共识模块;机器人节点m的Hashgraph共识模块与机器人节点m的Hashgraph数据接收模块和智能合约模块相连;负责数据共识;包括将从Hashgraph数据接收模块接收的交易添加到Hashgraph区块链的一个事件中,通过GossipaboutGossip协议与机器人节点p同步Hashgraph区块链数据,p≠m,并采用Hashgraph共识算法对Hashgraph区块链中的数据进行排序,得到全体机器人确认的具有全局一致顺序的数据,即共识数据,将共识数据发送给机器人节点m的智能合约模块;对Hashgraph共识模块的GossipaboutGossip协议进行改进以满足机器人通信受限的约束;机器人节点m的智能合约模块从机器人节点m的Hashgraph共识模块接收共识数据,负责处理共识数据,形成共同认知,将共同认知发送给游走避障模块;M个机器人点对点地通过无线通信方式连接构成多机器人区块链网络;第二步:M个机器人并行采集地面原始图像数据并对原始图像数据进行预处理,机器人节点m采集地面原始图像数据并对原始图像数据进行预处理的方法是:机器人节点m的数据采集模块通过下视摄像头采集地面原始图像数据,机器人节点m的数据处理模块对原始数据进行预处理,方法是:2.1机器人节点m的游走避障模块控制机器人节点m方向随机的游走在目标搜索场景中,同时数据采集模块周期性地通过下视摄像头采集地面栅格的图像并将图像转化为RGB即红绿蓝三通道像素矩阵信息;2.2机器人节点m的数据处理模块计算RGB三个通道的像素值并根据该值确定图像的颜色,得到图像颜色特征;2.3机器人节点m的数据处理模块对得到的图像颜色特征进行二分类操作,即对根据图像颜色特征分配一个估计值,如果颜色是目标对应的颜色,将颜色特征估计值设为1,转2.4;如果不是目标对应的颜色,颜色特征估计值设为0,转2.4;2.4设置机器人节点m的行为,方法是:检查机器人节点m的标识号存在于第一步设置的三个机器人预设列表中的哪一个;若标识号m在普通机器人预设列表R1或者游骑兵机器人预设列表R2中,则机器人节点m的行为设置如下:机器人节点m的数据处理模块将颜色特征估计值发送给区块链接口;同时全局定位模块记录该时刻当前机器人的位置x,y即该栅格的位置,将机器人的位置发送给区块链接口,转第三步;若标识号m在拜占庭机器人预设列表R3中,则设置拜占庭机器人的行为如下:机器人节点m的数据处理模块将颜色特征估计值发送给区块链接口,同时全局定位模块将当前机器人的位置x,y篡改为一个随机位置值发送给区块链接口,转第三步;第三步:M个机器人的邻居感知模块并行构建邻居机器人列表,M个机器人的方法相同,其中机器人节点m构建的邻居机器人列表称为机器人节点m的邻居列表;第四步:M个机器人的区块链接口和Hashgraph数据接收模块配合工作,对从数据处理模块接收的图像颜色特征估计值、从全局定位模块接收的机器人位置、从邻居感知模块接收的邻居列表进行封装,得到M个交易,并将交易分别打包到M个事件中;M个机器人的方法相同,其中机器人节点m的区块链接口和Hashgraph数据接收模块配合工作,对图像颜色特征估计值、机器人位置、邻居列表进行封装,得到一个交易,并将该交易打包到Hashgraph的一个事件event中;第五步:M个机器人的Hashgraph共识模块并行地与邻居机器人同步Hashgraph区块链的数据,机器人节点m与邻居列表中的邻居同步Hashgraph区块链的数据;第六步:M个机器人的Hashgraph共识模块并行确定本地Hashgraphh区块链中的事件event,M个机器人的Hashgraph共识模块确定本地Hashgraph区块链中的事件的方法一样,其中机器人节点m的Hashgraph共识模块确定机器人节点m上存储的本地Hashgraph区块链中的事件的方法是:机器人节点m的Hashgraph共识模块基于Hashgraph区块链的虚拟投票协议确定机器人节点m的Hashgraph区块链数据的共识状态,并确定机器人节点m的Hashgraph区块链中所有已经共识事件event的顺序,将已经共识的事件event的顺序和已经共识的事件event的数量K发送给智能合约模块;第七步:M个机器人的智能合约模块采用Hashgraph区块链中的智能合约并行按顺序提取事件数据并构建共同认知,防止拜占庭机器人干扰,其中机器人节点m的智能合约模块采用Hashgraph区块链中的智能合约构建共同认知;方法是:7.1令变量k=1;初始化四个空列表:已走过栅格位置知识列表,用于存储机器人已走过的栅格位置;未验证目标点位置知识列表,用于存储已提交但未验证的目标点位置;已验证目标点位置知识列表,用于存储已提交且被验证过的目标点位置;拜占庭机器人知识列表,用于存储被判定为拜占庭机器人的机器人标识号;初始化两个空字典:知识提出者字典,用于存储目标点位置和发现并提交目标点位置的机器人的标识号,即键值对(目标点位置:提出者标识号);知识验证者字典,用于存储目标点位置和验证目标点位置的机器人的标识号,即键值对(目标点位置:验证者标识号);7.2机器人节点m的智能合约模块从机器人节点m的Hashgraph区块链按照共识事件event的顺序提取第k个事件并读取第k个事件的数据,数据包括地面栅格图像的颜色特征估计值、机器人的位置、机器人的标识号和提交序号,提交序号指机器人节点m的区块链接口将打包的数据包提交到机器人节点m的Hashgraph数据接收模块的序号;7.3机器人节点m的智能合约模块判断第k个事件记录的机器人标识号是否在拜占庭机器人标识号列表里,若是,转7.7;若否,转7.4;7.4机器人节点m的智能合约模块检查第k个事件记录的机器人的位置是否位于环境边界范围,若不位于环境边界范围,说明第k个事件里记录的机器人标识号对应的机器人在提交机器人位置时没有提交真实值,判定该机器人为拜占庭机器人,将第k个事件记录的机器人标识号保存到拜占庭机器人知识列表里,转7.7;否则,转7.5;7.5机器人节点m的智能合约模块检查第k个事件里记录的机器人位置是否已经存在于已走过栅格位置知识列表,若是,直接转7.6;若否,智能合约模块将机器人位置保存到已走过栅格位置知识列表,转7.6;7.6机器人节点m的智能合约模块检查第k个事件记录的地面栅格的颜色特征估计值,若为1,转7.7;若为0,转7.8;7.7机器人节点m的智能合约模块检查第k个事件里记录的机器人位置是否已经存在于已验证目标点位置知识列表,若是,转7.9;若否,转7.8;7.8机器人节点m的智能合约模块检查第k个事件里记录的机器人位置是否已经存在于未验证目标点位置知识列表,若是,智能合约模块将第k个事件里记录的机器人位置保存到已验证目标点位置知识列表,并将第k个事件里记录的机器人标识号指定为该目标点的验证者,以键值对目标点位置:验证者标识号的数据格式记录在知识验证者字典里;并将第k个事件记录的机器人位置从未验证目标点位置知识列表里删除,转7.9;若否,则智能合约将第k个事件里记录的机器人位置保存到未验证目标点位置知识列表,并将第k个事件里记录的机器人标识号记为提出者,以键值对(目标点位置:提出者标识号)的数据格式保存到知识提出者字典里,转7.9;7.9机器人节点m的智能合约模块更新事件序号k,令k=k+1,并检查更新后的k是否已经等于K,若是,转7.10;若否,转7.2;7.10机器人节点m的智能合约模块判断已验证目标点位置知识列表长度是否达到真实目标点个数N,若是,转7.11;若否,转第7.15;7.11机器人节点m的智能合约模块判断未验证目标点位置知识列表是否为空,若是,转第九步;若否,转7.12;7.12机器人节点m的智能合约模块将未验证目标点位置知识列表里的未验证目标位置对应的提出者的标识号加入到拜占庭机器人知识列表,设变量n=0,转7.13;7.13机器人节点m的智能合约模块提取未验证目标点位置知识列表中的第n+1个未验证目标点位置,在提出者字典里找到该目标点对应的提出者,并将提出者的标识号加入到拜占庭机器人知识列表;转7.14;7.14设n=n+1,机器人节点m的智能合约模块判断n是否到达知识提出者字典的长度,若是,转7.15;若否,转7.13;7.15机器人节点m的智能合约模块将当前的共同认知即已走过栅格位置知识列表,未验证目标点位置知识列表、已验证目标点位置知识列表和拜占庭机器人知识列表发送给机器人游走避障模块,转第八步;第八步:M个机器人并行利用共同认知进行目标搜索,机器人节点m利用共同认知进行目标搜索的方法是:8.1机器人节点m游走避障模块计算机器人节点m所占栅格位置的周围8个栅格的位置,检查8个栅格的位置是否全都存在于已走过栅格知识列表里;若是,转8.2;否则转8.3;8.2机器人节点m游走避障模块从未验证目标点位置知识列表中随机选择一个目标点位置;游走避障模块发送转弯指令,将搜索方向调整为朝向所选未验证目标点位置的方向;转8.5;8.3机器人节点m游走避障模块检查当前所占栅格前方一个栅格是否存在于已走过栅格位置知识列表中;若是,转8.4;若否,转8.5;8.4机器人节点m游走避障模块从除前方栅格以外剩下的7个栅格中随机选择一个不存在于已走过栅格位置知识列表的栅格,游走避障模块发送转弯指令,将搜索方向调整为朝向所选栅格位置的方向;转8.5;8.5机器人节点m的游走避障模块向轮子发送前进指令;转第二步;第九步,结束。

全文数据:

权利要求:

百度查询: 中国人民解放军国防科技大学 一种基于区块链共同认知的多机器人快速目标搜索方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。