CN111192364A - 一种低成本移动多机器人视觉同时定位和地图创建方法 - Google Patents
一种低成本移动多机器人视觉同时定位和地图创建方法 Download PDFInfo
- Publication number
- CN111192364A CN111192364A CN202010023161.8A CN202010023161A CN111192364A CN 111192364 A CN111192364 A CN 111192364A CN 202010023161 A CN202010023161 A CN 202010023161A CN 111192364 A CN111192364 A CN 111192364A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- robot
- cloud
- local
- task
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- 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/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/35—Categorising the entire scene, e.g. birthday party or wedding scene
- G06V20/36—Indoor scenes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明提供一种低成本移动多机器人视觉同时定位和地图创建方法,能够充分利用云端和机器人本地资源,提高整个系统的效率。所述方法包括:采集环境地图图像,其中,相邻机器人采集到的图像有重合区域;将图像处理任务拆分成n个子任务,以多机器人子系统在自动定位和建图过程中的能耗最小化为目标,在子任务之间选择一个任务点作为最优的卸载点,使得卸载点前的任务在机器人本地执行,卸载点后的任务卸载到云端执行;在机器人本地完成相应的任务后,将处理结果上传至云端,云端根据接收到的处理结果,构建每个机器人的局部点云地图,利用基于适应性函数的分层点云融合算法将局部点云地图拼接成全局点云地图。本发明涉及机器人技术领域。
Description
技术领域
本发明涉及机器人技术领域,特别是指一种低成本移动多机器人视觉同时定位和地图创建方法。
背景技术
近年来,移动机器人同时定位和地图创建(Simultaneous Localization andMapping,SLAM)在自主机器人领域逐渐成为研究焦点。随着其技术的不断成熟,相应的自主定位导航机器人也开始在商业市场中出现,比如扫地机器人和空中飞行器。而且随着相机产业的不断发展,越来越多的先进摄像头传感器为SLAM技术提供了新的方向,如3D SLAM就是将环境深度信息运用到机器人地图构建之中,它是指使用深度摄像头作为唯一的传感器进行信号输入,在成本、系统能耗有限的情况下非常适用,所以视觉SLAM技术越来越受到人们的重视。
但很多设备多使用激光雷达作为信号输入系统“感知”环境信息,然而雷达和激光设备成本高,准确度相对较差,功耗快,使得SLAM技术的广泛应用受到限制。
为了克服SLAM技术所涉及的机器人成本过高的问题,可以将移动多机器人系统整合到SLAM中,从而使得一个大型的相对复杂的任务可以由一组小型的、结构较为简单的移动机器人共享,但对于结构简单的移动机器人,其体积和功率都是有限的,这阻碍了它们携带强大的计算和存储单元。因此,导致其可能无法在本地完成强大的计算任务。
发明内容
本发明要解决的技术问题是提供一种低成本移动多机器人视觉同时定位和地图创建方法,以解决现有SLAM技术所存在的机器人成本过高、本地无法高效完成大量计算任务的问题。
为解决上述技术问题,本发明实施例提供一种低成本移动多机器人视觉同时定位和地图创建方法,包括:
采集环境地图图像,其中,相邻机器人采集到的图像有重合区域;
将图像处理任务拆分成n个子任务,以多机器人子系统在自动定位和建图过程中的能耗最小化为目标,在子任务之间选择一个任务点作为最优的卸载点,使得卸载点前的任务在机器人本地执行,卸载点后的任务卸载到云端执行;
在机器人本地完成相应的任务后,将处理结果上传至云端,云端根据接收到的处理结果,构建每个机器人的局部点云地图,利用基于适应性函数的分层点云融合算法将局部点云地图拼接成全局点云地图。
进一步地,多机器人子系统在自动定位和建图过程中的能耗表示为:
其中,Elocalization表示多机器人子系统在自动定位和建图过程中的能耗,Elk表示机器人k的能量损失,m表示机器人的数目。
进一步地,机器人k的能量损失表示为:
其中,Plocal表示本地的功率,Ctotal表示本地和云端的计算量之和,η表示卸载点,Ulocal表示本地的计算速度,Pcloud表示云端的功率,Ucloud表示云端的计算速度,Ptr表示发送和接收信息所消耗的能量,Ttr表示信息传输过程中的时间损耗。
进一步地,卸载点表示为:
其中,Ttaski表示在机器人本地执行任务i所消耗的时间,d表示在本地执行的任务数,Ttaskj表示完成任务j所需要的时间。
进一步地,所述在机器人本地完成相应的任务后,将处理结果上传至云端包括:
在机器人本地完成相应的任务后,将处理结果存储到Yaml文件中,其中,每张图像的信息用一个Yaml文件表示;
若是第一次执行上传任务,则随机选取多个Yaml文件作为数据集,统计数据集中每个字符的权重,根据得到的字符权重,建立霍夫曼表;
利用建立的霍夫曼表对Yaml文件进行编码,将编码后的Yaml文件上传至云端。
进一步地,所述利用基于适应性函数的分层点云融合算法将局部点云地图拼接成全局点云地图包括:
将第一机器人下的坐标系作为全局坐标系,利用基于适应性函数的分层点云融合算法将其他机器人的局部点云地图与第一机器人的局部点云地图两两进行匹准,得到其他机器人的局部点云地图相对于全局坐标系的旋转矩阵和平移信息;其中,第一机器人为任意机器人;
根据得到的旋转矩阵和平移信息构建全局点云地图。
进一步地,第一机器人的局部点云地图为目标点云集;其他机器人的局部点云地图为源点云集;
所述将第一机器人下的坐标系作为全局坐标系,利用基于适应性函数的分层点云融合算法将其他机器人的局部点云地图与第一机器人的局部点云地图两两进行匹准,得到其他机器人的局部点云地图相对于全局坐标系的旋转矩阵和平移信息包括:
A1,对所有局部点云地图进行预处理,去除局部点云地图中的冗余点和信息错误的点,并设置粗匹配时体素滤波器滤的网格大小;
A2,对源点云集和目标点云集进行粗匹配;
A3,判断适应性函数值是否小于预设的第一阈值,若小于,则执行步骤A4;否则,则更新源点云集并返回步骤A2继续迭代,其中,更新源点云集为将源点云集统一到目标点云集所在的全局坐标系下;
A4,设置精细匹配体素滤波器滤的网格大小;
A5,对源点云集和目标点云集进行精细匹配;
A6,判断适应性函数值是否减小,若减小,则减小两个点云之间的最大响应距离,更新源点云集并返回步骤A5继续迭代;若没有减小且不满足迭代停止条件,则以预设概率更新源点云集并返回步骤A5继续迭代,其中,最大响应距离是指源点云和目标点云中点之间的最大距离的阈值。
进一步地,若适应性函数值连续多次都没有减小,或者适应性函数值小于预设的准确度阈值,则停止迭代。
本发明的上述技术方案的有益效果如下:
上述方案中,采集环境地图图像;将图像处理任务拆分成n个子任务,以多机器人子系统在自动定位和建图过程中的能耗最小化为目标,在子任务之间选择一个任务点作为最优的卸载点,使得卸载点前的任务在机器人本地执行,卸载点后的任务卸载到云端执行,从而充分利用云端和机器人本地资源,以提高整个系统的计算能力;在机器人本地完成相应的任务后,将处理结果上传至云端,云端根据接收到的处理结果,构建每个机器人的局部点云地图,由于相邻机器人的局部点云地图之间存在部分重合区域,利用基于适应性函数的分层点云融合算法将局部点云地图拼接成全局点云地图,这样,能够在保证匹配精准度的条件下,减少迭代次数,加快收敛速度,降低能耗,提高系统效率。
附图说明
图1为本发明实施例提供的低成本移动多机器人视觉同时定位和地图创建方法的流程示意图;
图2为本发明实施例提供的计算卸载模型的原理示意图;
图3为本发明实施例提供的数据压缩流程示意图;
图4为本发明实施例提供的编解码示意图;
图5为本发明实施例提供的点云地图融合原理示意图;
图6为本发明实施例提供的点云地图融合流程示意图;
图7为本发明实施例提供的经典霍夫曼算法和改进后的霍夫曼算法所消耗的时间对比示意图;
图8为本发明实施例提供的η变化曲线示意图;
图9(a)、(b)为本发明实施例提供的不同算法在不同场景下的收敛速度对比示意图;
图10(a)-(d)为本发明实施例提供的4个机器人的局部点云地图示意图;
图11为本发明实施例提供的全局点云地图示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明实施例提供的低成本移动多机器人视觉同时定位和地图创建方法,包括:
S101,采集环境地图图像,其中,相邻机器人采集到的图像有重合区域;
S102,将图像处理任务拆分成n个子任务,以多机器人子系统在自动定位和建图过程中的能耗最小化为目标,在子任务之间选择一个任务点作为最优的卸载点,使得卸载点前的任务在机器人本地执行,卸载点后的任务卸载到云端执行;
S103,在机器人本地完成相应的任务后,将处理结果上传至云端,云端根据接收到的处理结果,构建每个机器人的局部点云地图,利用基于适应性函数(Fitness Score)的分层点云融合算法将局部点云地图拼接成全局点云地图。
本发明实施例所述的低成本移动多机器人视觉同时定位和地图创建方法,采集环境地图图像;将图像处理任务拆分成n个子任务,以多机器人子系统在自动定位和建图过程中的能耗最小化为目标,在子任务之间选择一个任务点作为最优的卸载点,使得卸载点前的任务在机器人本地执行,卸载点后的任务卸载到云端执行,从而充分利用云端和机器人本地资源,以提高整个系统的计算能力;在机器人本地完成相应的任务后,将处理结果上传至云端,云端根据接收到的处理结果,构建每个机器人的局部点云地图,由于相邻机器人的局部点云地图之间存在部分重合区域,利用基于适应性函数的分层点云融合算法将局部点云地图拼接成全局点云地图,这样,能够在保证匹配精准度的条件下,减少迭代次数,加快收敛速度,降低能耗,提高系统效率。
为了更好地理解本发明实施例所述的低成本移动多机器人视觉同时定位和地图创建方法,对其进行详细说明,具体可以步骤以下步骤:
H1,装有深度摄像头的多个独立的低成本机器人在某环境中独立自动运动,机器人携带的深度摄像头(例如,Kinect相机)以一定的频率采集环境地图图像,其中,相邻机器人采集到的图像有重合区域;
H2,设计能量损失模型,以尽量减小多机器人子系统和云端的能量损失;其中,多机器人子系统和云端的总能量损失Esystem表示为:
Esystem=Elocalization+Emapping
其中,Elocalization表示多机器人子系统在自动定位和建图过程中的能耗,Emapping表示云端在全局点云地图构建过程中的能耗。
要使Esystem达到最小,即:
min(Esystem)=min(Elocalization+Emapping)=min(Elocalization)+min(Emapping)
此时整个系统的性能最好。
本实施例中,通过使Esystem达到最小,能够在保证传输数据最小的情况下尽量使得云端的计算量达到最大,保证了同时利用机器人本地资源和云端的计算能力,这样即使云端的一部分数据丢失,也不会对本地的数据有特别大的影响,即在极大提高系统运行效率的同时保证了系统数据传输的安全性。
H3,为了提高整个系统的性能,需建立计算卸载模型,所述计算卸载模型以多机器人子系统在自动定位和建图过程中的能耗最小化为目标,确定最优卸载点,将部分机器人执行的计算任务封装到云端中执行,从而充分利用计算资源,降低系统的整体能耗,提高网络效率。
本实施例中,用Elk表示机器人k的能量损失,则Elocalization可以表示为:
其中,Elocalization表示多机器人子系统在自动定位和建图过程中的能耗,Elk表示机器人k的能量损失,m表示机器人的数目。
在系统中,在系统中每个机器人都有相同的地位,是独立的,且各自工作互不联系,则可以计算每个Elk的最小值以获取Elocalization的最小值,其中,机器人k的能量损失Elk表示为:
其中,Plocal表示本地的功率,Ctotal表示本地和云端的计算量之和,η表示卸载点,Ulocal表示本地的计算速度,Pcloud表示云端的功率,Ucloud表示云端的计算速度,Ptr表示发送和接收信息所消耗的能量,Ttr表示信息传输过程中的时间损耗。
本实施例中,η的值决定了Elk的值,选取合适的卸载点,可以使Elk达到最小。
在本实施例中,如图2所示,将数据输入量高、计算量大的任务拆分成n个子任务,这n个子任务的执行有先后顺序,彼此联系,然后在n个子任务之间选择一个任务点作为最优卸载点,使得最优卸载点前的任务在机器人本地执行(例如,图像预处理、特征点提取),最优卸载点后的任务卸载到云端执行,以提高系统效能。
本实施例中,可以用已经在本地执行的任务所消耗的时间除以所有任务完成所需要的总时间作为η的值:
其中,Ttaski表示在机器人本地执行任务i所消耗的时间,d表示在本地执行的任务数,Ttaskj表示完成任务j所需要的时间。
本实施例中,η是一个介于0到1之间的实数;当η=0时,表示所有的任务都在云端执行;当η=1时,所有的任务都在本地执行;当η=0.3时,表示所有的任务的70%在云端执行;当η=1时,所有的任务的30%都在机器人本地执行。
H4,在机器人本地完成相应的任务后,将处理结果上传至云端,具体可以包括以下步骤:
H41,在机器人本地完成相应的任务后,将处理结果(例如,提取的特征点)存储到不同的具有相同结构的另一种标记语言(YAML Ain't Markup Language,Yaml)文件中,其中,存储之后,每张图像的信息用一个Yaml文件表示;Yaml文件大小大概是原始图像信息的二分之一左右;Yaml文件内容只包含有简单的英文字符和数字字符,且每个字符出现的频率有一定的规律;
H42,如图3所示,根据霍夫曼编码确定数据压缩算法,具体可以包括以下步骤:
若是第一次执行上传任务,随机选取多个Yaml文件作为数据集,遍历选取的文件统计文件中出现的所有字符并计算每个字符的权重,将这些字符及其权重记录在一个二维数组中;
根据每个字符的权重对数组从小到大进行排序,然后根据该二维数组,以权重最小的两个节点(指:权重)作为子节点,然后根据子节点创建其父亲节点,再和数组中第三个数的权重进行比较,然后反复这个过程,从子节点开始自下而上建立霍夫曼树;
给每个节点编码,根节点随机为0或者1,左孩子值为0,右孩子值为1。根据霍夫曼树的特点,得出霍夫曼编码表(简称:霍夫曼表),该编码表具有所有数的前缀都不相同的特点。
本实施例中,还需要储存所述霍夫曼表,且所述霍夫曼表会随压缩后的Yaml文件数据一起传输到云端,也作为云端解码的依据,解码过程是编码的逆过程不再赘述。
H43,利用建立的霍夫曼表对Yaml文件进行编码/压缩,将编码后的Yaml文件上传至云端进行解码、执行云计算,这样,通过数据压缩减小文件所占用的内存,其如图4所示。
本实施例中,所述霍夫曼表还将作为以后所有输入的文件的编码依据,也就是说,在建立好霍夫曼表后,对新输入的Yaml文件只需要根据已经建立好的霍夫曼表直接进行编码/压缩和解码/解压即可,不需要再单独进行霍夫曼树和霍夫曼编码表的构建(是一种改进后的霍夫曼算法/数据压缩算法),这样,能够减少遍历次数,降低系统传输时延,节省能耗,提高系统效率。
H5,云端根据接收到的处理结果(例如,特征点),构建每个机器人的局部点云地图,利用基于适应性函数(Fitness Score)的分层点云融合算法将局部点云地图一个接一个的匹配并将坐标系统一到全局坐标系下,拼接成全局点云地图。
本实施例中,如图5所示,假设用四个机器人自主运动采集图像并完成本地计算任务,然后每个机器人各自的处理结果上传到云端,云端在获取处理结果后,完成机器人定位计算和局部地图构建计算,获取到运动轨迹和局部点云地图(例如,R1、R2、R3和R4)。
本实施例中,以其中任意机器人(例如,R1对应的机器人)下的坐标系作为全局坐标系,利用基于适应性函数的分层点云融合算法,将R1和R2、R1和R3、R1和R4两两进行点云地图匹准,最后求出局部点云地图R2、R3和R4相对于全局坐标系的旋转矩阵和平移信息,并构建出全局三维点云地图。
本实施例中,以能量损失最小化作为算法优劣的评判标准,能耗最小代表算法消耗的计算资源最小,Emapping表示在全局点云地图构建过程中的云端能耗,用Pcloud表示云端的功率,Tmapping表示建图过程的时间消耗,则Emapping表示为:
Emapping=Pcloud·Tmapping
在确定Pcloud后,基于适应性函数的分层点云融合算法的目的是减少迭代次数进而去减小Tmapping。
本实施例中,如图6所示,利用基于适应性函数的分层点云融合算法(具体为:适应性函数分层迭代最邻近(FS-HICP)算法)进行点云地图匹准,其中,第一机器人的局部点云地图为目标点云集;其他机器人的局部点云地图为源点云集,具体可以包括以下步骤:
A1,对所有局部点云地图进行预处理,去除局部点云地图中的冗余点和信息错误的点,并设置粗匹配时体素滤波器滤的网格大小;
本实施例中,在点云地图中,当深度大于一定值时,其得到的数据是十分不准确的。经过实验,认为7000是一个比较合适的深度值,于是当一个点的深度大于7000或者等于0的时候这个点是信息错误点或者无用点,这些点将首先被删除。
A2,对源点云集(为待变化的点云)和目标点云集(变换参照)进行粗匹配;其中,在每一次收敛算法的内部,都进行两次迭代以确保收敛的准确性;
A3,判断适应性函数值是否小于预设的第一阈值(例如,50%),若小于,则执行步骤A4;否则,则更新源点云集并返回步骤A2继续迭代,其中,更新源点云集为将源点云集统一到目标点云集所在的全局坐标系下;
A4,设置精细匹配体素滤波器滤的网格大小,例如,为粗匹配体素滤波器网格大小的1/2;
A5,对源点云集和目标点云集进行精细匹配;
A6,算法停止条件:判断适应性函数值是否减小,若没有减小,则以预设概率(例如,30%)更新源点云集并返回步骤A5继续迭代;若连续三次适应性函数值都没有减小,或者适应性函数值小于预设的准确度阈值,则停止迭代;若减小,则减小两个点云之间的最大响应距离,更新源点云集并返回步骤A5继续迭代,其中,最大响应距离是指源点云和目标点云中点之间的最大距离的阈值。
为了更好地理解基于适应性函数的分层点云融合算法,先对迭代最近点(ICP)算法进行简要说明:
ICP算法是找到两组点云集合中距离最近的点对,根据估计的变换关系(旋转矩阵R和平移向量t)来计算距离最近点对经过变换之后的误差,经过过不断的迭代直至误差小于某一阈值或者达到迭代次数来确定最终的变换关系,此时,源点云和目标云可以经过变换关系进行确认,但由源点云和变换关系得到的点可能与真实目标点云有误差。
本实施例中,假设Rp和Rq是两个需要匹准的局部点云地图,为了方便叙述,将其简单记为P和Q。首先,检索在点云集P中的每一个点pi,并在点云集Q中查找每一个点qi,求两个点之间的距离,并认为距离最小的两个点是一对匹配点。由于在迭代匹配过程中,如果将所有的点云都代入匹准会占用过多的内存,所以只匹准重叠部分的点云。为了求出两个点云的重叠部分,需要给定一个距离的阈值,当两个匹配点之间的最小距离依然大于给定的阈值时,认为这两个点不匹配,并在后续的迭代匹准过程中忽略这两个点的信息。当获取到pi对应的点qi后,也就是找到一组匹配好的点之后,就可以求得旋转矩阵R和平移向量t,使R和t满足变换公式:其中,R,t的值是一个最小二乘法问题,可用迭代的方式求出。
由于在点云集中,有些点与点之间的距离非常近,所反映的环境信息也基本相同,如果给定一个较小的体素格子,其内的点云通常具有相同或相似的色彩信息和特征信息。那么如果将点云集中所有有可能重合的点都进行点云匹准,会过多的占用内存资源而且并不会产生更好的收敛效果,所以通常会采用滤波的方式,选取典型的特征点进行点云匹准。对于点云集这种具有明显空间特征的集合,常用的滤波方式为体素滤波。体素就是三维空间的单位立方体。而体素滤波是一种降采样的方法,体素滤波之所以能达到降采样的目的,是把聚集在单位体素里的n个点,求出质心点之后,作为一个代表点,由此数据量大幅减少。具体来讲就是,首先选取体素网格的大小,然后选取每个体素网格内的质心点代表该格子内所有点云的信息,这样起到了对空间中点云的筛选作用。通过以上描述可知,体素网格大小的设置对点云数据集的大小有很大影响。而点云数据集的大小又影响着ICP算法的收敛速度和迭代准确度。当体素网格设置过大时,会删除掉过多的点云信息,导致算法无法达到给定匹配精度甚至无法完成匹配。当体素网格设置过小时,又会有过多的冗余点云信息,不仅浪费了计算时间,还无法提高算法最后的收敛准确度。所以本实施例中,首先可以采用体素滤波的方式对点云数据进行预处理,删除大量冗余点,在得到预处理过后的点云集之后,根据分层迭代的思想,对源点云集和目标点云集进行粗匹配。粗匹配是指给定较大的体素网格,仅保留数据集中最重要的,最具有特点的数据进行匹准。匹配的过程首先是计算点云之间每对点的距离,确定匹配点,然后根据变换公式,pi=Rqi+t中的最小二乘公式迭代,在每次迭代过后,求出一个R值和t值,运用变换关系R值和t值更新源点云数据,然后迭代多次,停止条件是判断算法的适应度函数是否小于给定的阈值(即收敛),适应度函数表示为:
其中,pi=(xi,yi,zi)是源点云集中的点,p'i=(x'i,y'i,z'i)是目标点云集中的点;
粗匹配会给定一个较大的收敛阈值(例如,第一阈值)以确保函数在达到粗匹配的效果后就停止迭代,避免浪费计算资源;完成粗匹配后,源点云集和目标点云集已经基本拼合,但由于粗匹配设置的体素滤波网格较大,故并没有达到完整拼接的效果。此时,重新设置体素网格的大小,使之减小为粗批准的1/2。精细匹配的过程和粗匹准相似,也是确定匹配点之后根据最小二乘公式多次迭代,但在精细匹配的过程中,会不断减小最大响应距离。本实施例中,使用到的最大响应距离是指源点云和目标点云中点之间的最大距离的阈值。这样,通过两个点云之间的点和点的粗匹配和精细匹配,运用点云地图之间的重合部分,在多次迭代之后,可以使得目标点云逐渐向源点云靠拢,最终完成点云融合的过程。
本实施例中,首先对点云数据进行预处理,去除点云数据集中的冗余点和信息错误的点,接下来采用分层迭代的方式,通过更改体素滤波网格的大小,分别进行粗略的匹准和精细的点云匹准,保证了算法的收敛速度,减少迭代次数,降低建图过程的时间消耗,从而提高了系统效率,最后,运用模拟退化算法的思想,给出算法停止迭代的条件,确保了在不同的点云集间进行匹配时满足精度的要求。
本实施例中,用Kinect相机以实验室作为真实场景采集1000张图像(RGBD深度图像),网络的传输速度是限制为10Mbps,根据本发明实施例提供的方法将数据进行压缩,在压缩前后对改进压缩算法前后的耗时时间进行对比,如图7所示,同时,在实施例中测出数据的传输时间Ttr随卸载点η的值的变化,如图8所示,会发现选择合适卸载点可使Ttr的值最小,即可提高系统效率,图8中的关键帧为图像重合部分。
本实施例中,用四个机器人在两个不同的室内场景中进行局部地图构建,在场景一中,R1和R4融合,这两个点云地图中有较少的点,但场景的重叠部分比较集中且重叠部分较多。在另一个场景中,R2和R3融合,这两个点云地图中有较多的数据点,包括地面,墙壁,桌子,椅子等,其重叠部分分散。然后运用两个迭代最近点算法(ICP)策略(点对点的迭代最近点算法(point-point ICP)和点对线的迭代最近点算法(point-plane ICP))和本实施例提供的FS-HICP进行匹配,在达到相同效果时,求出三种算法的收敛速度,如图9所示。
本实施例中,让这四个机器人同时独立工作在一个复杂的实验室场景内,每个机器人的局部点云地图如图10(a)-(d)所示,接着运用本发明提出的FS-HICP算法,进行点云融合匹配,可得到全局点云地图,如图11所示。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种低成本移动多机器人视觉同时定位和地图创建方法,其特征在于,包括:
采集环境地图图像,其中,相邻机器人采集到的图像有重合区域;
将图像处理任务拆分成n个子任务,以多机器人子系统在自动定位和建图过程中的能耗最小化为目标,在子任务之间选择一个任务点作为最优的卸载点,使得卸载点前的任务在机器人本地执行,卸载点后的任务卸载到云端执行;
在机器人本地完成相应的任务后,将处理结果上传至云端,云端根据接收到的处理结果,构建每个机器人的局部点云地图,利用基于适应性函数的分层点云融合算法将局部点云地图拼接成全局点云地图。
5.根据权利要求1所述的低成本移动多机器人视觉同时定位和地图创建方法,其特征在于,所述在机器人本地完成相应的任务后,将处理结果上传至云端包括:
在机器人本地完成相应的任务后,将处理结果存储到Yaml文件中,其中,每张图像的信息用一个Yaml文件表示;
若是第一次执行上传任务,则随机选取多个Yaml文件作为数据集,统计数据集中每个字符的权重,根据得到的字符权重,建立霍夫曼表;
利用建立的霍夫曼表对Yaml文件进行编码,将编码后的Yaml文件上传至云端。
6.根据权利要求1所述的低成本移动多机器人视觉同时定位和地图创建方法,其特征在于,所述利用基于适应性函数的分层点云融合算法将局部点云地图拼接成全局点云地图包括:
将第一机器人下的坐标系作为全局坐标系,利用基于适应性函数的分层点云融合算法将其他机器人的局部点云地图与第一机器人的局部点云地图两两进行匹准,得到其他机器人的局部点云地图相对于全局坐标系的旋转矩阵和平移信息;其中,第一机器人为任意机器人;
根据得到的旋转矩阵和平移信息构建全局点云地图。
7.根据权利要求6所述的低成本移动多机器人视觉同时定位和地图创建方法,其特征在于,第一机器人的局部点云地图为目标点云集;其他机器人的局部点云地图为源点云集;
所述将第一机器人下的坐标系作为全局坐标系,利用基于适应性函数的分层点云融合算法将其他机器人的局部点云地图与第一机器人的局部点云地图两两进行匹准,得到其他机器人的局部点云地图相对于全局坐标系的旋转矩阵和平移信息包括:
A1,对所有局部点云地图进行预处理,去除局部点云地图中的冗余点和信息错误的点,并设置粗匹配时体素滤波器滤的网格大小;
A2,对源点云集和目标点云集进行粗匹配;
A3,判断适应性函数值是否小于预设的第一阈值,若小于,则执行步骤A4;否则,则更新源点云集并返回步骤A2继续迭代,其中,更新源点云集为将源点云集统一到目标点云集所在的全局坐标系下;
A4,设置精细匹配体素滤波器滤的网格大小;
A5,对源点云集和目标点云集进行精细匹配;
A6,判断适应性函数值是否减小,若减小,则减小两个点云之间的最大响应距离,更新源点云集并返回步骤A5继续迭代;若没有减小且不满足迭代停止条件,则以预设概率更新源点云集并返回步骤A5继续迭代,其中,最大响应距离是指源点云和目标点云中点之间的最大距离的阈值。
8.根据权利要求7所述的低成本移动多机器人视觉同时定位和地图创建方法,其特征在于,若适应性函数值连续多次都没有减小,或者适应性函数值小于预设的准确度阈值,则停止迭代。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010023161.8A CN111192364A (zh) | 2020-01-09 | 2020-01-09 | 一种低成本移动多机器人视觉同时定位和地图创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010023161.8A CN111192364A (zh) | 2020-01-09 | 2020-01-09 | 一种低成本移动多机器人视觉同时定位和地图创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111192364A true CN111192364A (zh) | 2020-05-22 |
Family
ID=70708788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010023161.8A Pending CN111192364A (zh) | 2020-01-09 | 2020-01-09 | 一种低成本移动多机器人视觉同时定位和地图创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111192364A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112700497A (zh) * | 2021-01-04 | 2021-04-23 | 歌尔股份有限公司 | 回环检测方法、装置、设备及计算机可读存储介质 |
CN113074737A (zh) * | 2021-03-25 | 2021-07-06 | 大连理工大学 | 一种基于场景辨识的多机器人分布式协作视觉建图方法 |
CN113311827A (zh) * | 2021-05-08 | 2021-08-27 | 东南大学 | 一种提高存储效率的机器人室内地图及其生成方法 |
WO2022110777A1 (zh) * | 2020-11-30 | 2022-06-02 | 浙江商汤科技开发有限公司 | 定位方法及装置、电子设备、存储介质、计算机程序产品、计算机程序 |
CN115070789A (zh) * | 2022-06-09 | 2022-09-20 | 博歌科技有限公司 | 一种多机器人智能控制交互平台 |
US11964398B2 (en) | 2021-01-28 | 2024-04-23 | Micropharmacy Corporation | Systems and methods for autonomous robot distributed processing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108917759A (zh) * | 2018-04-19 | 2018-11-30 | 电子科技大学 | 基于多层次地图匹配的移动机器人位姿纠正算法 |
-
2020
- 2020-01-09 CN CN202010023161.8A patent/CN111192364A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108917759A (zh) * | 2018-04-19 | 2018-11-30 | 电子科技大学 | 基于多层次地图匹配的移动机器人位姿纠正算法 |
Non-Patent Citations (2)
Title |
---|
BIWEI LI 等: "Partial Computing Offloading Assisted Cloud Point Registration in Multi-robot SLAM", 《COMPUTER SCIENCE》 * |
YU GUO 等: "An Energy Sensitive Computation Offloading Strategy in Cloud Robotic Network Based on GA", 《IEEE SYSTEMS JOURNAL,》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022110777A1 (zh) * | 2020-11-30 | 2022-06-02 | 浙江商汤科技开发有限公司 | 定位方法及装置、电子设备、存储介质、计算机程序产品、计算机程序 |
CN112700497A (zh) * | 2021-01-04 | 2021-04-23 | 歌尔股份有限公司 | 回环检测方法、装置、设备及计算机可读存储介质 |
US11964398B2 (en) | 2021-01-28 | 2024-04-23 | Micropharmacy Corporation | Systems and methods for autonomous robot distributed processing |
CN113074737A (zh) * | 2021-03-25 | 2021-07-06 | 大连理工大学 | 一种基于场景辨识的多机器人分布式协作视觉建图方法 |
CN113074737B (zh) * | 2021-03-25 | 2023-12-29 | 大连理工大学 | 一种基于场景辨识的多机器人分布式协作视觉建图方法 |
CN113311827A (zh) * | 2021-05-08 | 2021-08-27 | 东南大学 | 一种提高存储效率的机器人室内地图及其生成方法 |
CN115070789A (zh) * | 2022-06-09 | 2022-09-20 | 博歌科技有限公司 | 一种多机器人智能控制交互平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111192364A (zh) | 一种低成本移动多机器人视觉同时定位和地图创建方法 | |
CN108537876B (zh) | 三维重建方法、装置、设备及存储介质 | |
JP7485482B2 (ja) | コンピュータビジョンシステム | |
Cieslewski et al. | Data-efficient decentralized visual SLAM | |
KR100233972B1 (ko) | 기하학적 모델을 압축 및 압축해제하는 컴퓨터 시스템과 압축 및압축해제 | |
CN112347882B (zh) | 一种智能分拣控制方法和智能分拣控制系统 | |
Senushkin et al. | Decoder modulation for indoor depth completion | |
US9373192B2 (en) | Shape preserving mesh simplification | |
CN111127538B (zh) | 一种基于卷积循环编码-解码结构的多视影像三维重建方法 | |
Chen et al. | 3d point cloud processing and learning for autonomous driving | |
CN113096200B (zh) | 一种基于法向量的点云属性压缩方法、装置、设备及介质 | |
JP7138361B2 (ja) | 3次元仮想空間モデルを利用したユーザポーズ推定方法および装置 | |
CN113592015B (zh) | 定位以及训练特征匹配网络的方法和装置 | |
CN116222577A (zh) | 闭环检测方法、训练方法、系统、电子设备及存储介质 | |
CN113628343A (zh) | 三维网格的合并处理方法和装置、存储介质 | |
Pan et al. | PIN-SLAM: LiDAR SLAM Using a Point-Based Implicit Neural Representation for Achieving Global Map Consistency | |
Byrne et al. | VOLA: A Compact Volumetric Format for 3D Mapping and Embedded Systems. | |
CN115423854A (zh) | 一种基于多尺度特征提取的多视角点云配准及点云融合方法 | |
CN114615505A (zh) | 基于深度熵编码的点云属性压缩方法、装置和存储介质 | |
CN111504335A (zh) | 地图构建方法、装置、电子设备及存储介质 | |
Zhang et al. | Glorie-slam: Globally optimized rgb-only implicit encoding point cloud slam | |
Bevilacqua et al. | An evolutionary optimization method for parameter search in 3d points cloud reconstruction | |
Cui et al. | PocoNet: Slam-oriented 3D lidar point cloud online compression network | |
Funk et al. | Infinite, sparse 3d modelling volumes | |
CN113628104B (zh) | 针对无序图像增量式SfM的初始图像对选取方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200522 |