CN109559277A - 一种面向数据共享的多无人机协同地图构建方法 - Google Patents
一种面向数据共享的多无人机协同地图构建方法 Download PDFInfo
- Publication number
- CN109559277A CN109559277A CN201811436625.7A CN201811436625A CN109559277A CN 109559277 A CN109559277 A CN 109559277A CN 201811436625 A CN201811436625 A CN 201811436625A CN 109559277 A CN109559277 A CN 109559277A
- Authority
- CN
- China
- Prior art keywords
- map
- module
- global
- local
- communication module
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Abstract
本发明公开了一种面向数据共享的多无人机协同地图构建方法,目的是解决地图融合过程耗时长、返回优化地图慢的问题。技术方案是改进面向数据共享的多无人机协同SLAM系统,系统中的全局地图重叠检测模块在周期T内检测地图之间是否有匹配的关键帧,记录匹配关键帧数,生成局部地图对;系统中的全局地图融合模块根据局部地图对对地图聚类,动态自适应地选择局部地图对中局部地图之间融合的顺序,对同一类中具有最大匹配关键帧个数的局部地图进行融合。本发明能根据无人机构建的局部地图的变化按照最有利于提高数据共享的顺序自适应地进行地图融合,使得地图构建既有正确的融合时间又可自适应地调整融合顺序,提高地图构建的准确性和效率。
Description
技术领域
本发明涉及机器人同时定位与地图构建技术领域,具体涉及一种面向数据共享的多无人机协同地图构建的方法。
背景技术
同时定位与地图构建(Simultaneous localization and mapping,SLAM)具体指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境模型,同时估计自己的运动,是实现智能无人系统自主移动的关键。在过去的30年中,对于使用包含丰富环境信息的图像作为输入的视觉SLAM的基本特性已经有了深入的研究。目前,在越来越多的场景中,比如灾难勘测、桥梁检测等领域,单无人机已经无法满足应用的需求。因此,多无人机协同成为行业的热点问题。多无人机协同能扩大完成任务的范围,成倍地减少同时定位和构图任务完成的时间。与单无人机的SLAM相比,数据来自多个相同类型的无人机,并且无人机观测同一物体的位置互不相同,从而使数据具有互补性。因此,通过多无人机协同系统,可以降低地图的局限性,增强数据的置信度和精确度,为系统决策提供可靠性的依据。但是,这些协同SLAM系统依旧忽略了数据共享具有快速反应和高效率的特性,如果数据等到复杂的算法结束进行共享就失去了时效性。因此,即使采用了当前的方法,进行复杂计算的时候,现有的SLAM系统并不能有效地持续稳定地工作,鲁棒性较差,无法克服数据共享不及时的局限性。目前基于视觉SLAM的多机器人协同问题已经有了很多相关工作。主要的解决方法有两大类:一类是全分布式的,一类是集中式的。分布式的方法牺牲了大量的通信资源来共享每个机器人彼此的局部地图。比如在DDF-SAM(Decentralized Data Fusion-Smoothing and Mapping,分布式数据融合-平滑和构图)中每个无人机运行独立的SLAM系统,以简要地图的形式与邻居共享局部地图。分布式系统的缺点是很难确保共享数据的一致性,并且无法避免重复计算信息。而针对集中式的结构,大多数文献认为使用一个集中式后台的系统,在计算复杂算法和数据共享方面有优势,可以避免重复的计算并能减少数据重复共享。目前,很多研究着重于通过提高集中式架构中后台的地图融合效果,来提升SLAM系统的精确度。
多无人机地图融合对于多机器人系统是一个基本问题。地图融合需要解决两个问题1)地图之间进行融合的条件是什么,2)如何将多个地图的信息进行融合。通常,可以通过地图和位姿进行融合,即如果已知相对姿势或确定了地图中的重叠区域,就可以计算地图之间的变换,随后完成地图融合。已有的方法在四种不同的情况下研究地图融合问题。第一种方法是从位姿角度出发,即已知初始位置。这种方法的好处是随时随地都可以进行地图融合。例如[Zou and P.Tan于2013年在IEEE Transactions on Pattern Analysis andMachine Intelligence(PAMI,IEEE模式分析和机器智能会议)发表的名为CoSLAM:Collaborative visual SLAM in dynamic environments的论文中提出了一个能够处理动态环境的协同单目SLAM系统。该系统以来自多个单目相机的图像作为输入,在初始步骤中要求所有照相机观察同一场景。第二种和第三种方法分别要求两个无人机在某一地点会合或者要求无人机之间做相对定位。第四种是基于重叠检测的方法,这种方法的挑战是如何寻找地图的重叠,第一种方法在现实中很难保证而且限制了智能体的自主性。第二种和第三种方法容易因为环境相似而出现错误。而第四种方法的好处是机器人不需要会合,机器人也不需要随时都出现在彼此的地图中,可以避免以上三种方法的缺点。
在基于重叠检测的方法这一方面有许多相关工作。一些方法主要面向如何将多个地图融合成一个全局地图。国防科技大学杨绍武和李福于2017年在国际会议EaiInternational Conference on Collaborative Computing and Networking(Eai国际协作计算和网络会议)上提出的CORB-SLAM方法也将地图融合过程放在后台单独进行,同时在无人机和后台都设置了内存管理机制,目的是使无人机和后台之间共享关键帧和地图点更为容易。该工作通过一个将局部地图的关键帧和地图点全部转换到一个全局地图参考坐标系的方法,将局部地图合并到全局地图中。也就是选择一个地图作为全局地图,局部地图分别与这个全局地图进行融合;每个无人机首先分别构建局部地图,然后第一个构建的地图或者第一个融合局部地图被用于初始化全局地图。
在大规模构建地图的场景中,个别的无人机构建的局部地图彼此有重叠,但是这些无人机中的局部地图和目前服务器中已经存在的全局地图没有重叠,按照上述融合方法无法动态地选取地图融合,导致这些无人机构建的局部地图将一直无法进行融合,导致数据共享效率较低。这是一个需要解决的问题。另一个工作在这方面有所优化。苏黎世大学的Patrik Schmuck and Margarita Chl在2017年在IEEE International Conference onRobotics and Automation(IEEE国际机器人与自动化大会),提出的名为Multi-UAVcollaborative monocular slam(多无人机协同单目同时定位与地图构建)论文中:每个无人机都通过后台进行数据共享并将地图融合放在后台进行,好处是不仅克服了无人机严重依赖于后台的缺点,同时又将计算密集型任务卸载到了后台。这种方法(称为背景技术1)的具体流程是:
第一步,搭建一个如图1所示的多无人机协同单目SLAM系统。多无人机协同单目SLAM系统由n个无人机,一个服务器和一个客户端组成。无人机上安装有可以运行软件程序的计算机;服务器是存储资源丰富、并能对外提供服务、可以运行计算密集型的应用的计算设备;客户端是具有良好计算能力的资源可控的计算设备,其上安装有控制n个无人机运行的软件。客户端通过无线网与n个无人机(表示为无人机1,…,无人机i,…,无人机n,1≤i≤n)相连,服务器也通过无线网与n个无人机相连。n为正整数。
客户端通过向无人机发送“无人机开始”消息和“无人机结束”消息控制无人机1,…,无人机i,…,无人机n地图构建的开始和停止。
无人机1,…,无人机i,…,无人机n上除了装有操作系统Ubuntu(例如14.04版本)、机器人中间件ROS(例如Indigo版本,由ROS消息发布者、ROS消息订阅者以及ROS通信协议等组成)外,还装有单目相机、视觉里程计模块和局部通信模块。无人机i上安装的单目相机、视觉里程计模块和局部通信模块分别表示为单目相机i、视觉里程计模块i,局部通信模块i。
在ROS中,消息传递采用的是基于主题(Topic)的发布/订阅机制,即消息按照主题进行分类,消息的发布者在某一主题上发布消息,所有订阅了这个主题的消息订阅者将收到该消息。一个ROS主题名唯一标识一类消息,ROS主题名由字母、数字和“/”符号组成。
单目相机i和视觉里程计模块i相连,单目相机i实时进行拍摄,将拍摄的图片发送给视觉里程计模块i。
视觉里程计模块i与单目相机i、局部通信模块i相连。视觉里程计模块i通过跟踪地图点计算每个关键帧的位姿信息来估计无人机的运动。位姿信息指无人机的位置和姿态。视觉里程计模块i从单目相机i接收图片,从局部通信模块i接收t-1时间段的优化后的地图,根据图片和优化后的地图实时生成更精确的t时间段的局部地图并将发送给局部通信模块i。中包括m个关键帧,每个关键帧包含p个地图点,m和p均为正整数。
局部通信模块i与客户端、服务器、视觉里程计模块i相连,从视觉里程计模块i接收使用ROS的消息发布/订阅机制将发布给服务器,并将从客户端接收的“无人机开始”消息和“无人机结束”消息也通过ROS的消息发布/订阅机制发送给服务器。
服务器上除了装有操作系统Ubuntu、机器人中间件ROS外,还安装有n个全局通信模块(表示为全局通信模块1,…,全局通信模块i,…,全局通信模块n)、n个闭环检测模块(表示为闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n)、局部地图之间场景检测模块、地图融合模块、全局非线性优化模块、全局地图栈、场景识别数据库。
全局通信模块i与局部通信模块i、闭环检测模块i、局部地图之间场景检测模块、全局地图栈相连,全局通信模块i使用ROS的消息发布/订阅机制从无人机i的局部通信模块i订阅将转发给闭环检测模块i和局部地图之间场景检测模块,并将存贮到全局地图栈;同时全局通信模块i查找全局地图栈,将优化后的地图发布给局部通信模块i。
局部地图之间场景检测模块从全局通信模块1,…,全局通信模块i,…,全局通信模块n接收循环检测 之间是否有匹配的关键帧(两个关键帧匹配指这两个关键帧拥有q个相同的地图点,1≤q≤p)。一旦检测到匹配的关键帧,则将具有匹配的关键帧的两个局部地图(命名为和1≤j≤n且j≠i)转发给地图融合模块。
闭环检测模块i与全局通信模块i、全局非线性优化模块相连,闭环检测模块i从全局通信接收模块i接收检测内部的关键帧集合中是否有匹配的关键帧(内部两个关键帧匹配也是指这两个关键帧拥有q个相同的地图点)。如果检测到内部存在匹配的关键帧,将发送给全局非线性优化模块。如果不存在内部匹配的关键帧,则等待下一个时间间隔之后接收再进行内部匹配检测。
地图融合模块与局部地图之间场景检测模块和全局非线性优化模块相连,从局部地图之间场景检测模块接收和对和进行融合,得到融合后的地图将发送给全局非线性优化模块。
全局非线性优化模块与闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n、地图融合模块、全局地图栈相连。全局非线性优化模块对从闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n1接收的内部存在匹配关键帧的地图和从地图融合模块接收的融合后的全局地图进行优化,并用优化后的地图更新全局地图栈。
全局地图栈与全局通信模块1,…,全局通信模块i,…,全局通信模块n、全局非线性优化模块相连,将从全局通信模块1,…,全局通信模块i,…,全局通信模块n接收的进行存贮,并根据从全局非线性优化模块得到的优化后的地图进行更新。
第二步,令时间变量t=0;初始化全局地图栈为空。
第三步,无人机1,…,无人机i,…,无人机n上的单目相机分别拍摄照片,视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n根据拍摄的照片和从局部通信模块1,…,局部通信模块i,…,局部通信模块n获得的优化地图进行地图构建(由照片和优化地图构建新的局部地图由视觉里程计模块内的软件实现,不属于本发明讨论范围),得到t时刻的局部地图并分别将发送给局部通信模块1,…,局部通信模块i,…,局部通信模块n。
第四步,局部通信模块1,…,局部通信模块i,…,局部通信模块n按4.1发布和订阅地图;同时服务器的全局通信模块1,…,全局通信模块i,…,全局通信模块n按4.2订阅和发布地图;
4.1局部通信模块1,…,局部通信模块i,…,局部通信模块n分别接收并通过ROS发布/订阅机制向服务器发布同时向服务器订阅t-1-时间段优化后的地图并监控是否从客户端接收到“停止”的消息,若收到“停止”的消息,向服务器传送“无人机结束”消息,转第九步;若未收到“停止”的消息,转第4.1步;
4.2服务器的全局通信模块1,…,全局通信模块i,…,全局通信模块n检查t是否为0,若为0,向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步;若t不为0,全局通信模块检查全局地图栈是否有更新,若有更新,将t-1时间段的优化后的地图 发布给局部通信模块1,…,局部通信模块i,…,局部通信模块n,并向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步。
第五步,闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n按步骤5.1并行检查局部地图内部匹配,同时局部地图之间场景检测模块按步骤5.2检查局部地图之间匹配。
5.1闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n并行检查局部地图内部匹配,闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n检查局部地图内部匹配的方法相同,以闭环检测模块i检查的内部匹配为例来说明:闭环检测模块i从全局通信接收模块i接收检测内部是否有匹配的关键帧(即检测的m个关键帧中是否存在关键帧匹配,两个关键帧匹配指这两个关键帧的q个地图点均相同,1≤q≤p)。如果检测到中有匹配的关键帧,将发送给全局非线性优化模块,转第七步。若闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n中有n1个闭环检测模块(令为闭环检测模块1,…,闭环检测模块i,…,闭环检测模块n1)分别检测出了内部匹配的局部地图,则此步将存在内部匹配的 发送给全局非线性优化模块。
5.2局部地图之间场景检测模块从全局通信模块1,…,全局通信模块i,…,全局通信模块n接收若在 中,一旦发现有任意2个局部地图(假设为和)之间有匹配的关键帧,就将局部地图和发送到地图融合模块,转第六步。
第六步,地图融合模块对从局部地图之间场景检测模块接收的和进行融合,将融合后的地图发送给全局非线性优化模块。具体步骤如下:
6.1,使用和中的任意一个地图的坐标系作为参考坐标系;
6.2,地图融合模块查找分别属于和的一对匹配的关键帧(Ki,Kj)Ki是属于的关键帧,Kj是属于
6.3,地图融合模块根据(Ki,Kj)计算和之间的Sim(3)相似变换矩阵(见《视觉SLAM十四讲从理论到实践》,电子工业出版社、2017年3月第一版,第56-57页)(单目SLAM过程中尺度发生变化,会发生尺度不确定性和尺度漂移,可以用Sim(3)相似变换矩阵描述两个局部地图之间的尺度缩放);同时考虑和的不同尺度,将转换到全局地图的坐标框架中,即的尺度保持不变,而中包含的关键帧和地图点根据Sim(3)变换进行缩放,使得的尺度等于的尺度;
6.4,地图融合模块根据(Ki,Kj)链接和生成全局地图
6.5将发送给全局非线性优化模块。
第七步,全局非线性优化模块使用光束平差方法(见1999年ICCV国际视觉算法研讨会论文集的第298–372页中公布的由B.Triggs,P.McLauchlan,R.Hartley,A.Fitzgibbon等人提出的Bundle Adjustment,即BA方法)对从内部闭环检测接收的进行优化,得到对从全局地图融合模块接收的进行优化得到优化后的全局地图按的生成顺序更新全局地图栈。
第八步,令t=t+1。
第九步,全局通信模块1,…,全局通信模块i,…,全局通信模块n判定是否从局部通信模块1,…,局部通信模块i,…,局部通信模块n接收到“无人机结束”消息,若接收到“无人机结束”消息,则向局部地图之间场景检测模块发送“系统结束”消息,转第十步;若未接收到“无人机结束”消息,转第三步。
第十步,局部地图之间场景检测模块向地图融合模块发送“系统结束”消息地图融合模块向全局非线性优化模块发送“系统结束”消息,地图融合模块、全局非线性优化模块停止工作。
上述方法的核心是第5.2步一旦检测到两个局部地图之间有匹配的关键帧,第六步就将两个局部地图进行融合。然而,立即检测立即融合的方法有一些缺点:首先,在地图融合的过程中,随着n个局部地图包含关键帧的增长,检测到n个局部地图之间匹配的关键帧数目增多,需要进行融合的局部地图数目也逐步增加,第六步全局优化的时间也越来越长,导致无人机无法及时地获取优化后的地图,更有可能导致无人机已经执行完任务而全局优化还没有进行完。其次,该方法的主要思路是只要找到一个匹配的关键帧,两个局部地图就进行融合,如果每个无人机分别构建一个局部地图,第一个无人机构建的局部地图map1在time1时刻与第二个无人机构建的局部地图map2有重叠,但是在time1时刻之后两个无人系统相背运动彼此之间再无交集。而在time1时刻后的time2,map1和第三个无人机在time3构建的局部地图map3有了重叠,而且第一个无人机和第三个无人机重叠部分在之后的时间中越来越多。在这种情况下map1和map3先进行融合对于两个无人机之间的数据共享是最有利的。若是能按照最有利于提高数据共享的顺序自适应地进行地图融合则最能提高地图融合的准确性和效率,这显然是现有技术方案无法做到的。
为了提高地图融合的效率,需要进一步知道地图融合的正确时间,以避免失败或错误匹配。Dinnissen等人2012在IEEE International Conference on Systems,Man andCybernetics(IEEE系统,人与控制论国际会议)上发表的论文Map merging of multi-robot SLAM using reinforcement learning(使用强化学习进行多机器人同时定位与地图构建的地图融合)中提出了一种解决这个问题的方法。在这种方法中,机器人通过强化学习进行训练,使用模拟数据集验证所提出的解决方案的效率。但是还没有公开文献涉及能根据变化持续有效地进行数据共享、既可以保证地图融合时间正确、又动态自适应地调整融合顺序的方法。
发明内容
本发明要解决的技术问题是提供一种面向数据共享的多无人机协同地图构建方法,解决地图融合过程耗时长、返回优化地图较慢的问题。
本发明的技术方案是改进面向数据共享的多无人机协同SLAM系统,系统中的全局地图重叠检测模块在周期T内检测地图之间是否有匹配的关键帧,记录匹配关键帧数,生成局部地图对;系统中的全局地图融合模块根据局部地图对对地图聚类,动态自适应地选择局部地图对中局部地图之间融合的顺序,对同一类中具有最大匹配关键帧个数的局部地图进行融合。。
本发明包括以下步骤:
第一步,搭建一个多无人机协同单目SLAM系统。多无人机协同单目SLAM系统由n个无人机,一个服务器和一个客户端组成。无人机上安装有可以运行软件程序的计算机;服务器是存储资源丰富、并能对外提供服务、可以运行计算密集型的应用的计算设备;客户端是具有良好计算能力的资源可控的计算设备,其上安装有控制n个无人机运行的软件。客户端通过无线网与n个无人机(表示为无人机1,…,无人机i,…,无人机n,1≤i≤n)相连,服务器也通过无线网与n个无人机相连。n为正整数。
客户端通过向无人机发送“无人机开始”消息和“无人机结束”消息控制无人机1,…,无人机i,…,无人机n地图构建的开始和停止。
无人机1,…,无人机i,…,无人机n上除了装有操作系统Ubuntu、机器人中间件ROS外,还装有单目相机、视觉里程计模块和局部通信模块。无人机i上安装的单目相机、视觉里程计模块和局部通信模块分别表示为单目相机i、视觉里程计模块i,局部通信模块i。
单目相机i和视觉里程计模块i相连,单目相机i实时进行拍摄,将拍摄的图片发送给视觉里程计模块i。
视觉里程计模块i与单目相机i、局部通信模块i相连。视觉里程计模块i在t时间段从单目相机i接收图片,且从局部通信模块i接收的t-1时间段优化后的全局地图根据图片和实时生成t时间段更精确的局部地图并将发送给局部通信模块i。
局部通信模块i与服务器、视觉里程计模块i相连,从视觉里程计模块i接收使用ROS的消息发布/订阅机制在t时间段将发布给服务器。
服务器上除了装有操作系统Ubuntu、机器人中间件ROS外,还安装有全局通信模块、闭环检测模块、全局地图重叠检测模块、全局地图融合模块、全局非线性优化模块、全局地图栈。
全局通信模块与闭环检测模块、全局地图重叠检测模块、全局地图栈相连,全局通信模块在t时间段使用ROS的消息发布/订阅机制从无人机的局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅 将转发给闭环检测模块和全局地图重叠检测模块,并将存储在全局地图栈。同时全局通信模块查找全局地图栈,将在t时间段优化后的地图(可能是发现内部匹配进行优化也有可能是进行完地图融合且被优化的)发布给局部通信模块1,…,局部通信模块i,…,局部通信模块n。
全局地图重叠检测模块在t时间段从全局通信模块接收 检测之间是否有匹配的关键帧。如果检测到匹配的关键帧,记录之间的匹配关键帧数,将具有匹配的关键帧的局部地图对(是一个三元组,以t时间段一个局部地图对为例,局部地图对中包含和以及和之间的匹配关键帧数目ηij
,1≤j≤n,局部地图对为)转发给全局地图融合模块。全局地图融合模块与全局地图重叠检测模块和全局非线性优化模块相连,在t时间段从全局地图重叠检测模块接收多个局部地图对,根据局部地图对对地图聚类,对同一类中具有最大匹配关键帧个数的局部地图(设为和)进行融合,得到融合后的地图将发送给全局非线性优化模块。
闭环检测模块与全局通信模块、全局非线性优化模块相连,闭环检测模块在t时间段从全局通信接收模块接收检测内部的关键帧集合中是否有匹配的关键帧。如果检测到内部存在匹配的关键帧,1≤n1≤n,将 发送给全局非线性优化模块。等待t+1时间段从全局通信接收模块接收继续进行内部匹配检测。
全局非线性优化模块与闭环检测模块、全局地图融合模块、全局地图栈相连。全局非线性优化模块在t时间段采用先到先处理的原则串行地使用光束平差方法(即BA方法)对从全局地图融合模块接收的和从闭环检测模块接收的内部存在匹配关键帧的局部地图(只是n中的n1个,并不是从第1个到n1个,只是为了描述方便,采用这样的表示)进行优化,得到优化后的全局地图和优化后的局部地图 并根据和的生成顺序更新全局地图栈。
全局地图栈与全局通信模块、全局非线性优化模块相连。全局地图栈按照无人机的编号i将在t时间段从全局通信模块接收的存储在对应编号为1,…,i,…,n的的存储单元中。并根据从全局非线性优化模块接收的和进行更新。
第二步,令时间变量t=0;初始化全局地图栈为空。
第三步,无人机1,…,无人机i,…,无人机n上的单目相机分别拍摄照片,视觉里程计根据拍摄的照片和从局部通信模块1,…,局部通信模块i,…,局部通信模块n获得的优化地图进行地图构建,方法是:
3.1单目相机1,…,单目相机i,…,单目相机n分别拍摄照片,分别发送给视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n。
3.3视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n在t时间段分别从单目相机1,…,单目相机i,…,单目相机n接收照片,且从局部通信模块1,…,局部通信模块i,…,局部通信模块n分别接收t-1时间段优化后的地图根据照片和t-1时间段优化后的地图实时生成t时间段更精确的局部地图即t时刻的局部地图 并将发送给局部通信模块1,…,局部通信模块i,…,局部通信模块n;视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n的处理方法相同,以视觉里程计模块i为例,方法是:
3.3.1视觉里程计模块i判定t是否为0,若为0,直接将t时间段单目相机i拍摄的照片构建成局部地图转3.3.2;若不为0,视觉里程计模块i检查是否从局部通信模块i收到优化后的地图如果收到根据和t时间段单目相机i拍摄的照片构建新的局部地图(由照片和构建新的局部地图由视觉里程计模块内的软件实现,不属于本发明讨论范围),转第3.3.2步。若不能获取则直接将t时间段单目相机i拍摄的照片构建成局部地图转第3.3.2步。
3.3.2视觉里程计模块i将发送给局部通信模块i。此步做完后,视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n分别将t时刻的局部地图发送给了局部通信模块1,…,局部通信模块i,…,局部通信模块n。
第四步,局部通信模块1,…,局部通信模块i,…,局部通信模块n按4.1步发布和订阅地图;同时服务器的全局通信模块按4.2步订阅和发布地图;
4.1局部通信模块1,…,局部通信模块i,…,局部通信模块n分别接收并通过ROS发布/订阅机制向服务器发布同时向服务器订阅t-1时间段优化后的地图将订阅到的 分别发送给视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n;并监控是否从客户端接收到“停止”的消息,若收到“停止”的消息,向服务器传送“无人机结束”消息,转第十步;若未收到“停止”的消息,转第4.1步;
4.2服务器的全局通信模块检查t是否为0,若为0,向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步;若t不为0,全局通信模块检查全局地图栈是否有更新,若有更新,将t-1时间段优化后的地图(全局地图栈共n个存贮位置,分别对应无人机的n个编号,只要哪个存贮位置有更新,则将更新后的存贮内容发送给与存贮位置相对应局部通信模块,也即:若存贮位置i有更新,则将存贮位置i存贮的发送给局部通信模块i)发布给局部通信模块1,…,局部通信模块i,…,局部通信模块n,并向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步。
第五步,闭环检测模块按步骤5.1检查局部地图内部匹配,同时全局地图重叠检测模块按步骤5.2检查局部地图之间匹配。
5.1闭环检测模块从全局通信接收模块接收依次检测内部是否有匹配的关键帧。如果在检测到匹配的关键帧,将发送给全局非线性优化模块,转第七步。
5.2全局地图重叠检测模块从全局通信模块接收初始化集合G,G中有n个二元组,第i个二元组为εi为地图的类别编号,初始化εi=i;执行第六步;
第六步,全局地图重叠检测模块在周期T内采用冒泡排序方法检测之间是否有匹配的关键帧。如果检测到匹配的关键帧,记录之间的匹配关键帧数,生成局部地图对,并将局部地图对转发给全局地图融合模块。具体步骤如下:
6.1全局地图重叠检测模块初始化变量flag为false,设定计时器tt=0,tt开始计时。变量flag记录冒泡排序检测是否覆盖G中所有二元组,如果覆盖G中所有二元组,flag为true,否则flag为false。
6.2全局地图重叠检测模块按周期T(T一般设置为5-10分钟)采用冒泡排序方法检测G中各二元组中局部地图之间匹配的关键帧数目并记录下来,方法是:
6.2.1令i=1;j=i+1;
6.2.2检测G中二元组中mapi t和mapt j之间是否有匹配的关键,若有,令 和之间匹配的关键帧数目,将局部地图对三元组即 放到三元组集合D中。
6.2.3判定tt≤T是否成立,若成立,转6.2.4;若不成立,令第二三元组集合DD等于D,将DD转发给全局地图融合模块,令D为空集,转第七步。
6.2.4判定j<n是否成立,若成立,令j=j+1,转6.2.2;若不成立,转6.2.5。
6.2.5判定i<n是否成立,若成立,令i=i+1,转6.2.2;若不成立,转6.2.6。
6.2.6此时i=n,说明冒泡排序检测已覆盖G中所有二元组,设置flag为true,转5.2。
第七步,全局地图融合模块接收从全局地图重叠检测模块的第二三元组集合DD,动态自适应地选择这些DD中三元组中局部地图之间融合的顺序,对同一类中具有最大匹配关键帧个数的局部地图进行融合,得到融合后的地图mapf,将mapf发送给全局非线性优化模块。具体步骤如下:
7.1初始化:
7.1.1令三元组个数K=DD中局部地图对三元组的个数,K为正整数,令循环变量k=1;
7.1.2令Dk为DD中第k个三元组,假设
7.2根据Dk对G中的三元组中的局部地图进行地图聚类,具体步骤如下:
7.2.1对Dk中的和进行地图聚类,即将 聚类到同一类,方法如下:
7.2.2.1全局地图融合模块查找G,找到和的类别编号εi,εj,判定εi=εj是否成立,若成立,转7.2.2.1.1;若不成立,转7.2.2.1.2。
7.2.2.1.1此时说明和属于同一类,直接转7.3;
7.2.2.1.2此时说明和不属于同一类,搜索G中其它地图的类别编号是否与εi或εj相同:
如果既搜索到了与εi匹配的二元组,又搜索到了与εj匹配的二元组,令聚类最小值εmin=εi和εj的最小值,将G中搜索到的所有与εi或εj相同的二元组的类别编号均改为εmin;转7.3;
如果只搜索到了与εi匹配的二元组,将G中的类别编号改为εi,转7.3;
如果只搜索到了与εj匹配的二元组,将G中的类别编号改为εj,转7.3;
如果既未搜索到与εi匹配的二元组,又未搜索到与εj匹配的二元组,令变量εmin=εi和εj的最小值,将G中的类别编号和的类别编号改为εmin,转7.3;
7.3令k=k+1,判定k是否小于等于K,若成立,转7.1.2;若不成立,转7.4。
7.4按照轮盘赌的方式在G中随机选择一个二元组中的类别,若DD中三元组中有地图属于这个随机选择的类别,则将这样的局部地图对三元组放到第三三元组集合DDD中,执行7.5;若DD中三元组中的地图都不属于这个随机选择的类别,转7.4。
7.5以匹配关键帧数目为衡量指标,确定DDD中局部地图融合的顺序。这项衡量指标的具体含义是匹配关键帧数量越多说明两个无人机构建的局部地图重叠部分越多,两个局部地图之间信息交换的可能性越大。具体步骤如下:
7.5.1判定DDD中有没有匹配关键帧数目大于阈值δ的三元组,若没有,转7.4;若有,在DDD中找出所有匹配关键帧数目大于阈值δ(阈值δ是一个正整数,一般为10)的三元组,转7.5.2对DDD中的局部地图对进行排序;
7.5.2找到匹配关键帧数目大于δ的三元组中匹配关键帧数目最大的三元组,假设为转7.5.3。
7.5.3将中涉及的局部地图和进行地图融合(融合方法同背景技术1的第五步),生成全局地图
7.5.4如果匹配关键帧数目大于阈值δ的三元组个数大于全局地图融合模块单位时间内能处理的地图个数label,label是一个经验值(一般为10),则提高阈值δ,δ=(1+λ)*δ,λ是调整系数,取值范围为(0,1),转7.6;如果匹配关键帧数目大于阈值δ的三元组个数小于label,则降低阈值δ,δ=(1-λ)*δ;转7.6。如果匹配关键帧数目大于阈值δ的三元组个数等于label,直接转7.6。
7.6将融合后的全局地图发送给全局非线性优化模块。
第八步,全局非线性优化模块在t时间段采用先到先处理的原则串行地使用光束平差方法(即BA方法)对从全局地图融合模块接收的和从闭环检测模块接收的内部存在匹配关键帧的局部地图进行优化,得到优化后的全局地图和优化后的局部地图 并根据和的生成顺序更新全局地图栈,更新方法是:
8.1判定和的生成顺序,若中的任何一个比先生成,转8.2;若先生成,转8.3。
8.2先用更新全局地图栈中对应的的关键帧的位姿信息;收到后在全局地图栈中删除对应的和将添加到全局地图栈中和的存储地址,转第九步;
8.3先在全局地图栈中删除对应的和将添加到全局地图栈中和的存储地址;收到 后,用更新全局地图栈中对应的的关键帧的位姿信息,转第九步。
此步中为了说明是先用优化后的全局地图进行替换,再用优化后的局部地图进行更新,在优化后的局部地图序列中增加了表示用 去更新已在局部地图栈存贮位置i和j的2个中相应关键帧中的位姿信息。
第九步,令t=t+1。
第十步,全局通信模块判定是否从局部通信模块1,…,局部通信模块i,…,局部通信模块n接收到“无人机结束消息”消息,若接收到“无人机结束消息”消息,则向闭环检测模块、全局地图重叠检测模块发送“系统结束”消息,转第十一步;若未接收到“无人机结束消息”消息,转第三步。
第十一步,全局地图重叠检测模块向全局地图融合模块、全局非线性优化模块发送“系统结束”消息,全局地图融合模块、全局非线性优化模块停止工作。
第十二步,结束。
采用本发明可以达到如下的有益效果:
(1)本发明第六步全局地图重叠检测模块按周期T来进行地图之间关键帧匹配,既解决了一旦检测到就发送给全局地图融合模块导致检测结果具有偶然性导致融合结果不准确的问题,又解决了等到所有地图之间的重叠检测全部做完再发送给全局地图融合模块导致融合效率低下的问题,使得在检测效率和检测结果的准确性之间取得了平衡。
(2)本发明第七步在地图融合过程中通过地图聚类确定了地图的类别,优先在同一类别的地图集合中进行融合,避免了在不同类别局部地图之间进行盲目的搜索,节省了数据共享的时间。
(3)本发明第七步在地图融合过程中动态自适应地选择地图融合的顺序,提高数据共享的效率,在数据交换实时性和数据交换效率中取得一个平衡。
采用本发明能根据无人机构建的局部地图的变化按照最有利于提高数据共享的顺序自适应地进行地图融合,使得地图构建既有正确的融合时间又可自适应地调整融合顺序,提高了地图融合的准确性和效率。
附图说明
图1是背景技术Multi-UAV collaborative monocular slam论文中所构建的多无人机协同单目SLAM系统逻辑结构图。
图2是本发明总体流程图。
图3是本发明第一步构建的多无人机协同单目SLAM系统逻辑结构图。
图4是第7.2步全局地图融合模块对G中局部地图进行聚类的一个例子的示意图。
具体实施方式:
如图2所示,本发明包括以下步骤:
第一步,搭建一个多无人机协同单目SLAM系统。如图3所示,多无人机协同单目SLAM系统由n个无人机,一个服务器和一个客户端组成。无人机上安装有可以运行软件程序的计算机;服务器是存储资源丰富、并能对外提供服务、可以运行计算密集型的应用的计算设备;客户端是具有良好计算能力的资源可控的计算设备,其上安装有控制n个无人机运行的软件。客户端通过无线网与n个无人机(表示为无人机1,…,无人机i,…,无人机n,1≤i≤n)相连,服务器也通过无线网与n个无人机相连。
客户端通过发送“无人机开始”消息和“无人机结束”消息控制无人机1,…,无人机i,…,无人机n地图构建的开始和停止。
无人机1,…,无人机i,…,无人机n上除了装有操作系统Ubuntu、机器人中间件ROS外,还装有单目相机、视觉里程计模块和局部通信模块。无人机i上安装的单目相机、视觉里程计模块和局部通信模块分别表示为单目相机i、视觉里程计模块i,局部通信模块i。
单目相机i和视觉里程计模块i相连,单目相机i实时进行拍摄,将拍摄的图片发送给视觉里程计模块i。
视觉里程计模块i与单目相机i、局部通信模块i相连。视觉里程计模块i在t时间段从单目相机i接收图片,且从局部通信模块i接收的t-1时间段优化后的全局地图根据图片和实时生成t时间段更精确的局部地图并将发送给局部通信模块i。视觉里程计模块i通过跟踪地图点计算每个关键帧的位姿信息来估计无人机的运动。
局部通信模块i与服务器、视觉里程计模块i相连,从视觉里程计模块i接收使用ROS的消息发布/订阅机制在t时间段将发布给服务器。
服务器上除了装有操作系统Ubuntu、机器人中间件ROS外,还安装有全局通信模块和闭环检测模块、全局地图重叠检测模块、全局地图融合模块、全局非线性优化模块、全局地图栈。
全局通信模块与闭环检测模块、全局地图重叠检测模块、全局地图栈相连,全局通信模块在t时间段使用ROS的消息发布/订阅机制从无人机的局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅 将转发给闭环检测模块和全局地图重叠检测模块,并将存储在全局地图栈。同时全局通信模块查找全局地图栈,将在t时间段优化后的地图发布给局部通信模块1,…,局部通信模块i,…,局部通信模块n。
全局地图重叠检测模块在t时间段从全局通信模块接收 检测之间是否有匹配的关键帧。如果检测到匹配的关键帧,记录之间的匹配关键帧数,将具有匹配的关键帧的局部地图对转发给全局地图融合模块。全局地图融合模块与全局地图重叠检测模块和全局非线性优化模块相连,在t时间段从全局地图重叠检测模块接收多个局部地图对,根据局部地图对对地图聚类,对同一类中具有最大匹配关键帧个数的局部地图(设为和)进行融合,得到融合后的地图将发送给全局非线性优化模块。
闭环检测模块与全局通信模块、全局非线性优化模块相连,闭环检测模块在t时间段从全局通信接收模块接收检测内部的关键帧集合中是否有匹配的关键帧。如果检测到内部存在匹配的关键帧,1≤n1≤n,将 发送给全局非线性优化模块。等待t+1时间段从全局通信接收模块接收继续进行内部匹配检测。
全局非线性优化模块与闭环检测模块、全局地图融合模块、全局地图栈相连。全局非线性优化模块在t时间段采用先到先处理的原则串行地使用光束平差方法(即BA方法)对从全局地图融合模块接收的和从闭环检测模块接收的内部存在匹配关键帧的局部地图进行优化,得到优化后的全局地图和优化后的局部地图 并根据和的生成顺序更新全局地图栈。
全局地图栈与全局通信模块、全局非线性优化模块相连。全局地图栈按照无人机的编号i将在t时间段从全局通信模块接收的存储在对应编号为1,…,i,…,n的的存储单元中。也根据从全局非线性优化模块接收的和进行更新。
第二步,令时间变量t=0;初始化全局地图栈为空。
第三步,无人机1,…,无人机i,…,无人机n上的单目相机分别拍摄照片,视觉里程计根据拍摄的照片和从局部通信模块1,…,局部通信模块i,…,局部通信模块n获得的优化地图进行地图构建,方法是:
3.1单目相机1,…,单目相机i,…,单目相机n分别拍摄照片,分别发送给视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n。
3.3视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n在t时间段从单目相机i接收图片,且从局部通信模块i接收的t-1时间段优化后的全局地图根据图片和实时生成t时间段更精确的局部地图,视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n的处理方法相同,以视觉里程计模块i为例,方法是:
3.3.1视觉里程计模块i判定t是否为0,若为0,直接将t时间段单目相机i拍摄的照片构建成局部地图转3.3.2;若不为0,视觉里程计模块i检查是否从局部通信模块i收到优化后的地图如果收到根据和t时间段单目相机i拍摄的照片构建新的局部地图(由照片和构建新的局部地图由视觉里程计模块内的软件实现,不属于本发明讨论范围),转第3.3.2步。若不能获取则直接将t时间段单目相机i拍摄的照片构建成局部地图转第3.3.2步。
3.3.2视觉里程计模块i将发送给局部通信模块i。
第四步,局部通信模块1,…,局部通信模块i,…,局部通信模块n按4.1发布和订阅地图;同时服务器的全局通信模块按4.2订阅和发布地图;
4.1局部通信模块1,…,局部通信模块i,…,局部通信模块n分别接收并通过ROS发布/订阅机制向服务器发布同时向服务器订阅t-1时间段优化后的地图并监控是否从客户端接收到“停止”的消息,若收到“停止”的消息,向服务器传送“无人机结束”消息,转第八步;若未收到“停止”的消息,转第4.1步;
4.2服务器的全局通信模块检查t是否为0,若为0,向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步;若t不为0,全局通信模块检查全局地图栈是否有更新,若有更新,将t-1时间段优化后的地图发布给局部通信模块1,…,局部通信模块i,…,局部通信模块n,并向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步。
第五步,闭环检测模块按步骤5.1检查局部地图内部匹配,同时全局地图重叠检测模块按步骤5.2检查局部地图之间匹配。
5.1闭环检测模块从全局通信接收模块接收依次检测内部是否有匹配的关键帧。如果在检测到匹配的关键帧,将发送给全局非线性优化模块,转第七步。
5.2全局地图重叠检测模块从全局通信模块接收
初始化集合G,G中有n个二元组,第i个二元组为εi为地图的类别编号,初始化εi=i;执行第六步;
第六步,全局地图重叠检测模块在周期T内采用冒泡排序方法检测之间是否有匹配的关键帧,如果检测到匹配的关键帧,记录之间的匹配关键帧数,生成局部地图对,并将局部地图对转发给全局地图融合模块,转第七步;若周期T未到达但已检测完具体步骤如下:
6.1全局地图重叠检测模块初始化变量flag为false,设定时间变量tt=0,开始计时;变量flag记录冒泡排序检测是否覆盖G中所有二元组,如果覆盖G中所有二元组,flag为true,否则flag为false;
6.2全局地图重叠检测模块按周期T检测G中各二元组中局部地图之间匹配的关键帧数目并记录下来,方法是:
6.2.1令i=1;j=i+1;
6.2.2检测G中二元组中和之间是否有匹配的关键,若有,令 和之间匹配的关键帧数目,将局部地图对三元组即 放到三元组集合D中;
6.2.3判定tt≤T是否成立,若成立,转6.2.4;若不成立,令第二三元组集合DD等于D,将DD转发给全局地图融合模块,令D为空集,转第七步;
6.2.4判定j<n是否成立,若成立,令j=j+1,转6.2.2;若不成立,转6.2.5;
6.2.5判定i<n是否成立,若成立,令i=i+1,转6.2.2;若不成立,转6.2.6;
6.2.6此时i=n,说明冒泡排序检测已覆盖G中所有二元组,设置flag为true,转5.2;
第七步,全局地图融合模块接收从全局地图重叠检测模块的第二三元组集合DD,动态自适应地选择这些DD中三元组中局部地图之间融合的顺序,对同一类中具有最大匹配关键帧个数的局部地图进行融合,得到融合后的地图mapf,将mapf发送给全局非线性优化模块,具体步骤如下:
7.1初始化:
7.1.1令三元组个数K=DD中局部地图对三元组的个数,K为正整数,令循环变量k=1;
7.1.2令Dk为DD中第k个三元组,假设
7.2根据Dk对G中的三元组中的局部地图进行地图聚类,具体步骤如下:
7.2.1对Dk中的和进行地图聚类,即将聚类到同一类,方法如下:
7.2.2.1全局地图融合模块查找G,找到和的类别编号εi,εj,判定εi=εj是否成立,若成立,转7.2.2.1.1;若不成立,转7.2.2.1.2;
7.2.2.1.1此时说明和属于同一类,直接转7.3;
7.2.2.1.2此时说明和不属于同一类,搜索G中其它地图的类别编号是否与εi或εj相同:
如果既搜索到了与εi匹配的二元组,又搜索到了与εj匹配的二元组,令聚类最小值εmin=εi和εj的最小值,将G中搜索到的所有与εi或εj相同的二元组的类别编号均改为εmin;转7.3;
如果只搜索到了与εi匹配的二元组,将G中的类别编号改为εi,转7.3;
如果只搜索到了与εj匹配的二元组,将G中的类别编号改为εj,转7.3;
如果既未搜索到与εi匹配的二元组,又未搜索到与εj匹配的二元组,令εmin=εi和εj的最小值,将G中的类别编号和的类别编号改为εmin,转7.3;
7.3令k=k+1,判定k是否小于等于K,若成立,转7.1.2;若不成立,转7.4;
7.4在G中随机选择一个二元组中的类别,若DD中三元组中有地图属于这个随机选择的类别,将这样的局部地图对三元组放到第三三元组集合DDD中,执行7.5;若DD中三元组中的地图都不属于这个随机选择的类别,转7.4;
7.5以匹配关键帧数目为衡量指标,确定DDD中局部地图融合的顺序,具体步骤如下:
7.5.1判定DDD中有没有匹配关键帧数目大于阈值δ的三元组,若没有,转7.4;若有,在DDD中找出所有匹配关键帧数目大于阈值δ的三元组,δ是一个正整数,转7.5.2;
7.5.2找到匹配关键帧数目大于δ的三元组中匹配关键帧数目最大的三元组,假设为转7.5.3;
7.5.3将中涉及的局部地图和进行地图融合,生成全局地图
7.5.4如果匹配关键帧数目大于阈值δ的三元组个数大于全局地图融合模块单位时间内能处理的地图个数label,label是正整数,则提高阈值δ,δ=(1+λ)*δ,λ是调整系数,转7.6;如果匹配关键帧数目大于阈值δ的三元组个数小于label,则降低阈值δ,δ=(1-λ)*δ;转7.6;如果匹配关键帧数目大于阈值δ的三元组个数等于label,直接转7.6;
7.6将融合后的全局地图发送给全局非线性优化模块;第八步,全局非线性优化模块在t时间段采用先到先处理的原则串行地使用光束平差方法对从全局地图融合模块接收的和从闭环检测模块接收的内部存在匹配关键帧的局部地图进行优化,得到优化后的全局地图和优化后的局部地图并根据和的生成顺序更新全局地图栈;
第九步,令t=t+1;
第十步,全局通信模块判定是否从客户端接收到“系统结束”消息,若接收到“系统结束”消息,则向全局地图重叠检测模块发送“系统结束”消息,转第十步;若未接收到“系统结束”消息,转第三步;
第十一步,全局地图重叠检测模块向全局地图融合模块发送“系统结束”消息,全局地图融合模块向全局非线性优化模块发送“系统结束”消息,全局地图融合模块、全局非线性优化模块停止工作;
第十二步,结束。
图4是第7.2步全局地图融合模块对G中局部地图进行聚类的一个例子的示意图。
图4(a)左侧是第二三元组集合DD,右侧是集合G根据DD中的局部地图对进行聚类的变化图,图4(b)-(f)是对应的地图聚类示意图。在第六步中已经初始化集合G,G中有n个二元组,第i个二元组初始化为 εi为地图的类别编号,初始化εi=i;G中地图及类别编号如图4(a)中(1)所示,如图4(b)是各个局部地图的最原始的状态,每个地图都在不同的圆圈内,表示分别属于不同的类。
按照DD局部地图对生成的顺序,第1个局部地图对 对和进行地图聚类,将三元组中两个局部地图聚类到同一类。全局地图融合模块首先接收到的第1个局部地图对是(如图4(a)左侧),全局地图融合模块查找G,找到和的类别编号εi和εj(此时εi≠εj),根据和的类别编号εi、εj搜索G中是否存在其它与εi或εj相同的地图类别编号的二元组。此时如图4(a)右侧(1)所示,在G中除了和再也没有其它地图的类别编号为εi或εj,更新εi和εj为两者之中编号数值较小的一个(假设εi<εj),更新结果如图4(a)中(2)所示,将的地图编号εj更新为εi,即将和聚类为一类,聚类结果如图4(c)所示,和经聚类后放到了同一个圆圈中。
DD中第2个局部地图对D2是全局地图融合模块查找G,找到和的类别编号εl,εk(此时εl≠εk),根据εl,εk搜索G中是否存在其它与εl或εk相同的地图类别编号的二元组。如图4(a)右侧(2)所示,在G中除了和再也没有其它地图的类别编号为εl或εk,更新εl和εk为两者之中编号数值较小的一个(假设εl<εk),更新结果如图4(a)中(3)所示,将的地图编号εk更新为εl,即将和聚类为一类,如图4(d)所示和经聚类后放到了同一个圆圈中。
全局地图融合模块接收到的第3个局部地图对D3是 全局地图融合模块查找G,找到和的类别编号εi,εl,在G中搜索是否存在其它与εi或者与εl相同的地图类别编号的二元组。如果地图对应的类别编号εi与对应的类别编号εl不同(即εi≠εl),说明两个不同类别的地图集合可以聚类为一个更大的地图类别,在G中搜索拥有εi或εl的所有二元组,发现和的类别编号为εi,和的类别编号为εl;找到这些二元组中地图编号(εi和εl中)最小的一个,也就是εi,将搜索到的二元组和的地图编号都更新为εi,如图4(a)中(4)所示,将和的地图编号εl更新为εi,即将和聚类为一类,如图4(e)所示,和经聚类后放到了同一个圆圈中。
全局地图融合模块接收到的第4个局部地图对D4是 全局地图融合模块查找G,找到和的类别编号εm,εn,搜索G中是否存在其它与εm或εn相同的地图类别编号的二元组,没搜索到,更新εm和εn为两者之中编号数值较小的一个,如图4(a)中(5)所示,将的地图编号εn更新为εm,即将和聚类为一类,如图4(f)所示,和经聚类后放到了同一个圆圈中,最终根据DD中的局部地图对将G中聚类为两类,类别编号分别为εi和εm。
Claims (7)
1.一种面向数据共享的多无人机协同地图构建方法,其特征在于包括以下步骤:
第一步,搭建一个多无人机协同单目同时定位与地图构建系统即SLAM系统;多无人机协同单目SLAM系统由n个无人机,一个服务器和一个客户端组成;无人机上安装有可以运行软件程序的计算机;服务器和客户端均是计算设备;客户端上安装有控制n个无人机运行的软件;客户端通过无线网与n个无人机相连,服务器也通过无线网与n个无人机相连,n为正整数;n个无人机表示为无人机1,…,无人机i,…,无人机n,1≤i≤n;
客户端通过向无人机发送“无人机开始”消息和“无人机结束”消息控制无人机1,…,无人机i,…,无人机n地图构建的开始和停止;
无人机1,…,无人机i,…,无人机n上除了装有操作系统Ubuntu、机器人中间件ROS外,还装有单目相机、视觉里程计模块和局部通信模块;无人机i上安装的单目相机、视觉里程计模块和局部通信模块分别表示为单目相机i、视觉里程计模块i,局部通信模块i;
单目相机i和视觉里程计模块i相连,单目相机i实时进行拍摄,将拍摄的图片发送给视觉里程计模块i;
视觉里程计模块i与单目相机i、局部通信模块i相连;视觉里程计模块i通过跟踪地图点计算每个关键帧的位姿信息来估计无人机的运动;视觉里程计模块i在t时间段从单目相机i接收图片,且从局部通信模块i接收的t-1时间段优化后的全局地图根据图片和实时生成t时间段更精确的局部地图并将发送给局部通信模块i;位姿信息指无人机的位置和姿态;
局部通信模块i与服务器、视觉里程计模块i相连,从视觉里程计模块i接收使用ROS的消息发布/订阅机制在t时间段将发布给服务器;
服务器上除了装有操作系统Ubuntu、机器人中间件ROS外,还安装有全局通信模块、闭环检测模块、全局地图重叠检测模块、全局地图融合模块、全局非线性优化模块、全局地图栈;
全局通信模块与闭环检测模块、全局地图重叠检测模块、全局地图栈相连,全局通信模块在t时间段使用ROS的消息发布/订阅机制从无人机的局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅 将转发给闭环检测模块和全局地图重叠检测模块,并将存储在全局地图栈;同时全局通信模块查找全局地图栈,将在t时间段优化后的地图发布给局部通信模块1,…,局部通信模块i,…,局部通信模块n;
全局地图重叠检测模块在t时间段从全局通信模块接收 检测之间是否有匹配的关键帧;如果检测到匹配的关键帧,记录之间的匹配关键帧数,将具有匹配的关键帧的局部地图对转发给全局地图融合模块;局部地图对是一个三元组,t时间段局部地图对中包含和以及和之间的匹配关键帧数目ηij,1≤j≤n,局部地图对为全局地图融合模块与全局地图重叠检测模块和全局非线性优化模块相连,在t时间段从全局地图重叠检测模块接收局部地图对,根据局部地图对对地图聚类,对同一类中具有最大匹配关键帧个数的局部地图进行融合,得到融合后的地图将发送给全局非线性优化模块;
闭环检测模块与全局通信模块、全局非线性优化模块相连,闭环检测模块在t时间段从全局通信接收模块接收检测内部的关键帧集合中是否有匹配的关键帧;如果检测到内部存在匹配的关键帧,1≤n1≤n,将 发送给全局非线性优化模块;等待t+1时间段从全局通信接收模块接收继续进行内部匹配检测;
全局非线性优化模块与闭环检测模块、全局地图融合模块、全局地图栈相连;全局非线性优化模块在t时间段采用先到先处理的原则对从全局地图融合模块接收的和从闭环检测模块接收的内部存在匹配关键帧的局部地图进行优化,得到优化后的全局地图和优化后的局部地图并根据和的生成顺序更新全局地图栈;
全局地图栈与全局通信模块、全局非线性优化模块相连;全局地图栈按照无人机的编号i将在t时间段从全局通信模块接收的存储在对应编号为1,…,i,…,n的的存储单元中,并根据从全局非线性优化模块接收的和进行更新;
第二步,令时间变量t=0;初始化全局地图栈为空;
第三步,无人机1,…,无人机i,…,无人机n上的单目相机分别拍摄照片,视觉里程计根据拍摄的照片和从局部通信模块1,…,局部通信模块i,…,局部通信模块n获得的优化地图进行地图构建,方法是:
3.1单目相机1,…,单目相机i,…,单目相机n分别拍摄照片,分别发送给视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n;
3.3视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n在t时间段分别从单目相机1,…,单目相机i,…,单目相机n接收照片,且从局部通信模块1,…,局部通信模块i,…,局部通信模块n分别接收t-1时间段优化后的地图根据照片和t-1时间段优化后的地图实时生成t时间段更精确的局部地图即t时刻的局部地图 并将发送给局部通信模块1,…,局部通信模块i,…,局部通信模块n;第四步,局部通信模块1,…,局部通信模块i,…,局部通信模块n按4.1步发布和订阅地图;同时服务器的全局通信模块按4.2步订阅和发布地图;
4.1局部通信模块1,…,局部通信模块i,…,局部通信模块n分别接收并通过ROS发布/订阅机制向服务器发布同时向服务器订阅t-1时间段优化后的地图将订阅到的 分别发送给视觉里程计模块1,…,视觉里程计模块i,…,视觉里程计模块n;并监控是否从客户端接收到“停止”的消息,若收到“停止”的消息,向服务器传送“无人机结束”消息,转第十步;若未收到“停止”的消息,转第4.1步;
4.2服务器的全局通信模块检查t是否为0,若为0,向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步;若t不为0,全局通信模块检查全局地图栈是否有更新,若有更新,将t-1时间段优化后的地图发布给局部通信模块1,…,局部通信模块i,…,局部通信模块n,并向局部通信模块1,…,局部通信模块i,…,局部通信模块n订阅转第五步;
第五步,闭环检测模块按步骤5.1检查局部地图内部匹配,同时全局地图重叠检测模块按步骤5.2检查局部地图之间匹配:
5.1闭环检测模块从全局通信接收模块接收依次检测内部是否有匹配的关键帧,,如果在检测到匹配的关键帧,将发送给全局非线性优化模块,转第七步;
5.2全局地图重叠检测模块从全局通信模块接收初始化集合G,G中有n个二元组,第i个二元组为εi为地图的类别编号,初始化εi=i;执行第六步;
第六步,全局地图重叠检测模块在周期T内采用冒泡排序方法检测之间是否有匹配的关键帧,如果检测到匹配的关键帧,记录之间的匹配关键帧数,生成局部地图对,并将局部地图对转发给全局地图融合模块,转第七步;若周期T未到达但已检测完具体步骤如下:
6.1全局地图重叠检测模块初始化变量flag为false,设定计时器tt=0,开始计时;变量flag记录冒泡排序检测是否覆盖G中所有二元组,如果覆盖G中所有二元组,flag为true,否则flag为false;
6.2全局地图重叠检测模块按周期T检测G中各二元组中局部地图之间匹配的关键帧数目并记录下来,方法是:
6.2.1令i=1;j=i+1;
6.2.2检测G中二元组中和之间是否有匹配的关键,若有,令 和之间匹配的关键帧数目,将局部地图对三元组即 放到三元组集合D中;
6.2.3判定tt≤T是否成立,若成立,转6.2.4;若不成立,令第二三元组集合DD等于D,将DD转发给全局地图融合模块,令D为空集,转第七步;
6.2.4判定j<n是否成立,若成立,令j=j+1,转6.2.2;若不成立,转6.2.5;
6.2.5判定i<n是否成立,若成立,令i=i+1,转6.2.2;若不成立,转6.2.6;
6.2.6此时i=n,说明冒泡排序检测已覆盖G中所有二元组,设置flag为true,转5.2;
第七步,全局地图融合模块接收从全局地图重叠检测模块的第二三元组集合DD,动态自适应地选择这些DD中三元组中局部地图之间融合的顺序,对同一类中具有最大匹配关键帧个数的局部地图进行融合,得到融合后的地图mapf,将mapf发送给全局非线性优化模块,具体步骤如下:
7.1初始化:
7.1.1令三元组个数K=DD中局部地图对三元组的个数,K为正整数,令循环变量k=1;
7.1.2令Dk为DD中第k个三元组,假设
7.2根据Dk对G中的三元组中的局部地图进行地图聚类,具体步骤如下:
7.2.1对Dk中的和进行地图聚类,即将 聚类到同一类,方法如下:
7.2.2.1全局地图融合模块查找G,找到和的类别编号εi,εj,判定εi=εj是否成立,若成立,转7.2.2.1.1;若不成立,转7.2.2.1.2;
7.2.2.1.1此时说明和属于同一类,直接转7.3;
7.2.2.1.2此时说明和不属于同一类,搜索G中其它地图的类别编号是否与εi或εj相同:
如果既搜索到了与εi匹配的二元组,又搜索到了与εj匹配的二元组,令聚类最小值εmin=εi和εj的最小值,将G中搜索到的所有与εi或εj相同的二元组的类别编号均改为εmin;转7.3;
如果只搜索到了与εi匹配的二元组,将G中的类别编号改为εi,转7.3;
如果只搜索到了与εj匹配的二元组,将G中的类别编号改为εj,转7.3;
如果既未搜索到与εi匹配的二元组,又未搜索到与εj匹配的二元组,令εmin=εi和εj的最小值,将G中的类别编号和的类别编号改为εmin,转7.3;
7.3令k=k+1,判定k是否小于等于K,若成立,转7.1.2;若不成立,转7.4;
7.4在G中随机选择一个二元组中的类别,若DD中三元组中有地图属于这个随机选择的类别,将这样的局部地图对三元组放到第三三元组集合DDD中,执行7.5;若DD中三元组中的地图都不属于这个随机选择的类别,转7.4;
7.5以匹配关键帧数目为衡量指标,确定DDD中局部地图融合的顺序,具体步骤如下:
7.5.1判定DDD中有没有匹配关键帧数目大于阈值δ的三元组,若没有,转7.4;若有,在DDD中找出所有匹配关键帧数目大于阈值δ的三元组,δ是一个正整数,转7.5.2;
7.5.2找到匹配关键帧数目大于δ的三元组中匹配关键帧数目最大的三元组,假设为转7.5.3;
7.5.3将中涉及的局部地图和进行地图融合,生成全局地图
7.5.4如果匹配关键帧数目大于阈值δ的三元组个数大于全局地图融合模块单位时间内能处理的地图个数label,label是正整数,则提高阈值δ,δ=(1+λ)*δ,λ是调整系数,转7.6;如果匹配关键帧数目大于阈值δ的三元组个数小于label,则降低阈值δ,δ=(1-λ)*δ;转7.6;如果匹配关键帧数目大于阈值δ的三元组个数等于label,直接转7.6;
7.6将融合后的全局地图发送给全局非线性优化模块;
第八步,全局非线性优化模块在t时间段采用先到先处理的原则串行地使用光束平差方法对从全局地图融合模块接收的和从闭环检测模块接收的内部存在匹配关键帧的局部地图进行优化,得到优化后的全局地图和优化后的局部地图并根据和的生成顺序更新全局地图栈;
第九步,令t=t+1;
第十步,全局通信模块判定是否从局部通信模块1,…,局部通信模块i,…,局部通信模块n接收到“无人机结束”消息,若接收到“无人机结束”消息,则向闭环检测模块、全局地图重叠检测模块发送“系统结束”消息,转第十步;若未接收到“系统结束”消息,转第三步;
第十一步,全局地图重叠检测模块向全局地图融合模块、全局非线性优化模块发送“系统结束”消息,全局地图融合模块、全局非线性优化模块停止工作;
第十二步,结束。
2.如权利要求1所述的一种面向数据共享的多无人机协同地图构建方法,其特征在于3.3步所述视觉里程计模块i生成mapi t的方法是:
3.3.1视觉里程计模块i判定t是否为0,若为0,直接将t时间段单目相机i拍摄的照片构建成局部地图转3.3.2;若不为0,视觉里程计模块i检查是否从局部通信模块i收到优化后的地图如果收到根据和t时间段单目相机i拍摄的照片构建新的局部地图转第3.3.2步;若不能获取则直接将t时间段单目相机i拍摄的照片构建成局部地图转第3.3.2步;
3.3.2视觉里程计模块i将发送给局部通信模块i。
3.如权利要求1所述的一种面向数据共享的多无人机协同地图构建方法,其特征在于所述全局地图栈共n个存贮位置,分别对应无人机的n个编号,4.2步所述全局通信模块检查全局地图栈是否有更新并将t-1时间段优化后的地图 发送给局部通信模块的方法是:若全局地图栈的存贮位置i有更新,则将存贮位置i存贮的发送给局部通信模块i。
4.如权利要求1所述的一种面向数据共享的多无人机协同地图构建方法,其特征在于所述周期T设置为5-10分钟。
5.如权利要求1所述的一种面向数据共享的多无人机协同地图构建方法,其特征在于7.4步所述在G中随机选择一个二元组中的类别是采用轮盘赌的方式。
6.如权利要求1所述的一种面向数据共享的多无人机协同地图构建方法,其特征在于第七步所述δ为10,label为10,λ取值范围为(0,1)。
7.如权利要求1所述的一种面向数据共享的多无人机协同地图构建方法,其特征在于第八步所述全局非线性优化模块更新全局地图栈的方法是:8.1判定和的生成顺序,若中的任何一个比先生成,转8.2;若先生成,转8.3;
8.2先用更新全局地图栈中对应的的关键帧的位姿信息;收到后在全局地图栈中删除对应的和将添加到全局地图栈中和的存储地址;
8.3先在全局地图栈中删除对应的和将添加到全局地图栈中和的存储地址;收到 后,用更新全局地图栈中对应的的关键帧的位姿信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436625.7A CN109559277B (zh) | 2018-11-28 | 2018-11-28 | 一种面向数据共享的多无人机协同地图构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436625.7A CN109559277B (zh) | 2018-11-28 | 2018-11-28 | 一种面向数据共享的多无人机协同地图构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109559277A true CN109559277A (zh) | 2019-04-02 |
CN109559277B CN109559277B (zh) | 2023-02-28 |
Family
ID=65867634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811436625.7A Active CN109559277B (zh) | 2018-11-28 | 2018-11-28 | 一种面向数据共享的多无人机协同地图构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109559277B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110068335A (zh) * | 2019-04-23 | 2019-07-30 | 中国人民解放军国防科技大学 | 一种gps拒止环境下无人机集群实时定位方法及系统 |
CN110276456A (zh) * | 2019-06-20 | 2019-09-24 | 山东大学 | 一种机器学习模型辅助构建方法、系统、设备及介质 |
CN110446164A (zh) * | 2019-07-23 | 2019-11-12 | 深圳前海达闼云端智能科技有限公司 | 移动终端定位方法、装置、移动终端和服务器 |
CN110650497A (zh) * | 2019-09-29 | 2020-01-03 | 北京邮电大学 | 任务卸载、状态更新方法、装置、系统及相关设备 |
CN111369628A (zh) * | 2020-03-05 | 2020-07-03 | 南京华捷艾米软件科技有限公司 | 一种多相机集中式协同slam方法及系统 |
CN111812978A (zh) * | 2020-06-12 | 2020-10-23 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种多无人机协作slam方法与系统 |
CN112115874A (zh) * | 2020-09-21 | 2020-12-22 | 武汉大学 | 一种融合云端的视觉slam系统及方法 |
CN112148815A (zh) * | 2019-06-27 | 2020-12-29 | 浙江商汤科技开发有限公司 | 一种基于共享地图的定位方法及装置、电子设备和存储介质 |
WO2021057745A1 (zh) * | 2019-09-27 | 2021-04-01 | Oppo广东移动通信有限公司 | 地图融合方法及装置、设备、存储介质 |
WO2021057743A1 (zh) * | 2019-09-27 | 2021-04-01 | Oppo广东移动通信有限公司 | 地图融合方法及装置、设备、存储介质 |
CN112949292A (zh) * | 2021-01-21 | 2021-06-11 | 中国人民解放军61540部队 | 集群无人机回传数据处理方法和装置、设备及存储介质 |
CN113192153A (zh) * | 2021-05-26 | 2021-07-30 | 清华大学 | 基于子地图的多智能体协同地图构建方法和装置 |
CN114489116A (zh) * | 2021-12-27 | 2022-05-13 | 北京理工大学 | 一种多机协同管理方法及系统 |
WO2022120997A1 (zh) * | 2020-12-10 | 2022-06-16 | 中国科学院深圳先进技术研究院 | 一种分布式slam系统及其学习方法 |
CN115574831A (zh) * | 2022-09-28 | 2023-01-06 | 曾丽红 | 一种基于地图融合的无人机导航方法 |
US11898869B2 (en) | 2020-08-25 | 2024-02-13 | Commonwealth Scientific And Industrial Research Organisation | Multi-agent map generation |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070265A1 (en) * | 2014-09-05 | 2016-03-10 | SZ DJI Technology Co., Ltd | Multi-sensor environmental mapping |
CN106803271A (zh) * | 2016-12-23 | 2017-06-06 | 成都通甲优博科技有限责任公司 | 一种视觉导航无人机的摄像机标定方法及装置 |
CN106931963A (zh) * | 2017-04-13 | 2017-07-07 | 高域(北京)智能科技研究院有限公司 | 环境数据共享平台、无人飞行器、定位方法和定位系统 |
WO2017127711A1 (en) * | 2016-01-20 | 2017-07-27 | Ez3D, Llc | System and method for structural inspection and construction estimation using an unmanned aerial vehicle |
CN206804018U (zh) * | 2017-04-13 | 2017-12-26 | 高域(北京)智能科技研究院有限公司 | 环境数据服务器、无人飞行器及定位系统 |
US20180239991A1 (en) * | 2015-05-15 | 2018-08-23 | Airfusion, Inc. | Portable apparatus and method for decision support for real time automated multisensor data fusion and analysis |
US20180315221A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time camera position estimation with drift mitigation in incremental structure from motion |
-
2018
- 2018-11-28 CN CN201811436625.7A patent/CN109559277B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160070265A1 (en) * | 2014-09-05 | 2016-03-10 | SZ DJI Technology Co., Ltd | Multi-sensor environmental mapping |
US20180239991A1 (en) * | 2015-05-15 | 2018-08-23 | Airfusion, Inc. | Portable apparatus and method for decision support for real time automated multisensor data fusion and analysis |
WO2017127711A1 (en) * | 2016-01-20 | 2017-07-27 | Ez3D, Llc | System and method for structural inspection and construction estimation using an unmanned aerial vehicle |
CN106803271A (zh) * | 2016-12-23 | 2017-06-06 | 成都通甲优博科技有限责任公司 | 一种视觉导航无人机的摄像机标定方法及装置 |
CN106931963A (zh) * | 2017-04-13 | 2017-07-07 | 高域(北京)智能科技研究院有限公司 | 环境数据共享平台、无人飞行器、定位方法和定位系统 |
CN206804018U (zh) * | 2017-04-13 | 2017-12-26 | 高域(北京)智能科技研究院有限公司 | 环境数据服务器、无人飞行器及定位系统 |
US20180315221A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time camera position estimation with drift mitigation in incremental structure from motion |
Non-Patent Citations (4)
Title |
---|
DANPING ZOU,PING TAN: "CoSLAM: Collaborative Visual SLAM", 《IEEE》 * |
PATRIK SCHMUCK,MARGARITA CHLI: "Multi-UAV Collaborative Monocular SLAM", 《IEEE》 * |
卫恒等: "多机器人SLAM后端优化算法综述", 《系统工程与电子技术》 * |
樊泽栋,丁博,史殿习,张鹏飞: "机器人中间件消息实时性保证机制的研究与实现", 《软件》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110068335A (zh) * | 2019-04-23 | 2019-07-30 | 中国人民解放军国防科技大学 | 一种gps拒止环境下无人机集群实时定位方法及系统 |
CN110068335B (zh) * | 2019-04-23 | 2021-07-30 | 中国人民解放军国防科技大学 | 一种gps拒止环境下无人机集群实时定位方法及系统 |
CN110276456A (zh) * | 2019-06-20 | 2019-09-24 | 山东大学 | 一种机器学习模型辅助构建方法、系统、设备及介质 |
CN110276456B (zh) * | 2019-06-20 | 2021-08-20 | 山东大学 | 一种机器学习模型辅助构建方法、系统、设备及介质 |
CN112148815B (zh) * | 2019-06-27 | 2022-09-27 | 浙江商汤科技开发有限公司 | 一种基于共享地图的定位方法及装置、电子设备和存储介质 |
CN112148815A (zh) * | 2019-06-27 | 2020-12-29 | 浙江商汤科技开发有限公司 | 一种基于共享地图的定位方法及装置、电子设备和存储介质 |
CN110446164A (zh) * | 2019-07-23 | 2019-11-12 | 深圳前海达闼云端智能科技有限公司 | 移动终端定位方法、装置、移动终端和服务器 |
WO2021057743A1 (zh) * | 2019-09-27 | 2021-04-01 | Oppo广东移动通信有限公司 | 地图融合方法及装置、设备、存储介质 |
WO2021057745A1 (zh) * | 2019-09-27 | 2021-04-01 | Oppo广东移动通信有限公司 | 地图融合方法及装置、设备、存储介质 |
CN110650497A (zh) * | 2019-09-29 | 2020-01-03 | 北京邮电大学 | 任务卸载、状态更新方法、装置、系统及相关设备 |
CN111369628A (zh) * | 2020-03-05 | 2020-07-03 | 南京华捷艾米软件科技有限公司 | 一种多相机集中式协同slam方法及系统 |
CN111812978A (zh) * | 2020-06-12 | 2020-10-23 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种多无人机协作slam方法与系统 |
US11898869B2 (en) | 2020-08-25 | 2024-02-13 | Commonwealth Scientific And Industrial Research Organisation | Multi-agent map generation |
CN112115874A (zh) * | 2020-09-21 | 2020-12-22 | 武汉大学 | 一种融合云端的视觉slam系统及方法 |
WO2022120997A1 (zh) * | 2020-12-10 | 2022-06-16 | 中国科学院深圳先进技术研究院 | 一种分布式slam系统及其学习方法 |
CN112949292A (zh) * | 2021-01-21 | 2021-06-11 | 中国人民解放军61540部队 | 集群无人机回传数据处理方法和装置、设备及存储介质 |
CN112949292B (zh) * | 2021-01-21 | 2024-04-05 | 中国人民解放军61540部队 | 集群无人机回传数据处理方法和装置、设备及存储介质 |
CN113192153A (zh) * | 2021-05-26 | 2021-07-30 | 清华大学 | 基于子地图的多智能体协同地图构建方法和装置 |
CN114489116A (zh) * | 2021-12-27 | 2022-05-13 | 北京理工大学 | 一种多机协同管理方法及系统 |
CN114489116B (zh) * | 2021-12-27 | 2024-04-05 | 北京理工大学 | 一种多机协同管理方法及系统 |
CN115574831A (zh) * | 2022-09-28 | 2023-01-06 | 曾丽红 | 一种基于地图融合的无人机导航方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109559277B (zh) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109559277A (zh) | 一种面向数据共享的多无人机协同地图构建方法 | |
Lv et al. | Generative adversarial networks for parallel transportation systems | |
CN108803349B (zh) | 非线性多智能体系统的最优一致性控制方法及系统 | |
CN108600379A (zh) | 一种基于深度确定性策略梯度的异构多智能体协同决策方法 | |
CN113807399B (zh) | 一种神经网络训练方法、检测方法以及装置 | |
CN110515732A (zh) | 一种基于资源受限机器人深度学习推理的任务分配方法 | |
CN109327797A (zh) | 基于WiFi网络信号的移动机器人室内定位系统 | |
CN109523011A (zh) | 一种面向多无人机协同探测的多传感器自适应管理方法 | |
CN111462324A (zh) | 一种在线时空语义融合方法和系统 | |
Sun et al. | A review of visual SLAM based on unmanned systems | |
Hao et al. | Software/hardware co-design for multi-modal multi-task learning in autonomous systems | |
CN114117926A (zh) | 一种基于联邦学习的机器人协同控制算法 | |
CN112883170A (zh) | 一种用户反馈引导的自适应对话推荐方法和系统 | |
Gu et al. | A collaborative and sustainable edge-cloud architecture for object tracking with convolutional siamese networks | |
CN113627326B (zh) | 一种基于可穿戴设备和人体骨架的行为识别方法 | |
Zhou et al. | Heterogeneous dual network with feature consistency for domain adaptation person re-identification | |
Wei et al. | An RGB-D SLAM algorithm based on adaptive semantic segmentation in dynamic environment | |
Li et al. | A new data fusion framework of business intelligence and analytics in economy, finance and management | |
Guo et al. | Object goal visual navigation using Semantic Spatial Relationships | |
Huo et al. | An object detection method for the work of an unmanned sweeper in a noisy environment on an improved YOLO algorithm | |
Wang et al. | C3Meta: A Context-Aware Cloud-Edge-End Collaboration Framework Toward Green Metaverse | |
Chai et al. | Tourist Street View Navigation and Tourist Positioning Based on Multimodal Wireless Virtual Reality | |
Guo et al. | Vehicle location algorithm based on federated learning and smart phone in GNSS low sampling rate scene | |
Li et al. | Optimization of RFID reading performance based on YOLOv3 and Elman neural network | |
Jin et al. | Spatial memory-augmented visual navigation based on hierarchical deep reinforcement learning in unknown environments |
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 |