CN103247040B - 基于分层拓扑结构的多机器人系统地图拼接方法 - Google Patents

基于分层拓扑结构的多机器人系统地图拼接方法 Download PDF

Info

Publication number
CN103247040B
CN103247040B CN201310175391.6A CN201310175391A CN103247040B CN 103247040 B CN103247040 B CN 103247040B CN 201310175391 A CN201310175391 A CN 201310175391A CN 103247040 B CN103247040 B CN 103247040B
Authority
CN
China
Prior art keywords
point
robot
map
node
topological
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.)
Expired - Fee Related
Application number
CN201310175391.6A
Other languages
English (en)
Other versions
CN103247040A (zh
Inventor
贾松敏
李雨晨
王可
李秀智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201310175391.6A priority Critical patent/CN103247040B/zh
Publication of CN103247040A publication Critical patent/CN103247040A/zh
Application granted granted Critical
Publication of CN103247040B publication Critical patent/CN103247040B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

本发明属于智能移动机器人领域,公开了一种基于分层拓扑结构的未知环境下多机器人系统地图拼接方法。解决了在相对位姿未知情况下的多机器人系统地图拼接问题。该方法包括:获取可通行空间树,建立分层拓扑结构,创建全局拓扑地图,提取SIFT特征并进行特征匹配,基于ICP扫描匹配进行地图拼接。本发明在机器人间相对位姿未知的情况下,提出一种融合SIFT特征的分层拓扑结构,并增量式地创建全局拓扑地图,根据节点间的SIFT匹配信息,结合扫描匹配的方法实现大规模未知环境下的多机器人系统地图拼接。有效地提高了拼接的准确性和实时性。该方法可适用于与地图创建与地图拼接有关的智能移动机器人领域。

Description

基于分层拓扑结构的多机器人系统地图拼接方法
技术领域
本发明属于智能移动机器人领域,涉及一种基于分层拓扑结构的未知环境下多机器人系统地图拼接方法。
背景技术
近年来,移动机器人的应用越来越普遍,各种具有较高智能的移动机器人系统在不同场合正在发挥重要的作用。但随着人类社会活动领域的不断延伸以及机器人学研究的不断发展,单个移动机器人系统在代替人完成包括大范围灾难救援、科学考察等任务以及战场环境监察等军事使命时面临着诸多的困难,如:可靠性差、作业范围小、任务完成效率低等。而相关研究表明,由多个移动机器人组成的多机器人系统通过协调、合作恰恰可以解决这些问题。因此,多机器人系统被认为具有广阔的应用前景。
地图拼接作为多机器人系统导航领域中的一项关键性技术,已引起了众多学者的关注。在机器人初始位姿是已知的假设下,多机器人之间的地图拼接问题可转化为单机器人同步定位与地图创建(SimultaneousLocalizationandMapping,SLAM)问题的直接扩展,然而针对大规模的未知环境,该假设存在着较大的局限性;在机器人必须相遇条件下,可借助于内部传感器信息计算地图变换矩阵进而实现地图拼接,该方法需对传感器信息不确定性进行分析与优化,且拼接地图效果受限于传感器检测精度。
考虑到算法的通用性和鲁棒性,解决机器人间相对位姿未知情况下的地图拼接问题有着重要的意义。目前有学者利用相关扫描匹配策略搜索地图公共区域来实现地图拼接,取得了一些成果,解决方案是将局部地图与局部地图的数据关联问题转化为点与局部地图的匹配问题,大大节省了搜索空间。YanYu等提出一种基于线段几何特征的扫描匹配方法,在结构化环境中取得较好拼接结果。Zhou和Roumeliotis基于最邻近搜索算法建立目标函数,提出一种路标匹配方法实现特征地图融合。LeeHC和LeeBH.于2011年在《AdvancedRobotics》杂志上发表的论文“ImprovedfeaturemapmergingusingVirtualSupportingLinesformulti-Robotsystems”,通过提取环境中的VSLs(VirtualSupportingLines)非迭代特征进行匹配来实现拼接,保证了地图精度的同时降低算法复杂度。然而上述方法在缺少空间约束的环境中并不适用,且在大规模未知场景下,相关特征的错误关联会引入拼接误差。随着vSLAM(VisualSLAM)算法的日益成熟,一些学者尝试将视觉特征融入系统以解决地图拼接准确性问题,但视觉特征提取实时性问题又是一个难题。
发明内容
为了克服上述地图拼接方法中存在的上述问题,本发明基于分层拓扑结构提供了一种视觉特征关联与局部扫描匹配相结合的多机器人系统地图拼接方法。
本发明采用的技术方案如下:
在机器人间相对位姿未知条件下,针对大规模的未知环境建立一种分层拓扑结构(HierarchicalTopologyMap,HTM),利用基于视觉特征的拓扑地图节点匹配方法,结合局部扫描匹配策略,提出一种快速鲁棒的多机器人系统地图拼接方法。该方法主要包括以下内容:第一,提出融合可通行空间树(AdmissibleSpaceTree,AST)和尺度不变特征(Scale-InvariantFeatureTransform,SIFT)的分层拓扑结构,并利用一种改进的同时路径规划与地图创建(SimultaneousPathPlanningandTopologicalMapping,SP2ATM)方法建立未知环境的拓扑结构并增量式地创建地图;第二,采取节点匹配策略关联场景信息,利用SIFT匹配度作为地图拼接的先验信息,并在递增生成的拓扑节点处设定关键帧(KeyFrame),以降低匹配过程的计算复杂度;第三,在机器人间相对位姿未知情况下,结合迭代最近点(IterativeClosestPoint,ICP)扫描匹配算法求取局部地图间的变换矩阵,当由ICP算法计算得到的地图间相似度大于给定阈值时,完成多机器人系统的地图拼接。
基于分层拓扑结构的多机器人系统地图拼接方法,包括以下步骤:
步骤一,获取可通行空间树。
为建立环境的拓扑结构并增量式地创建地图,本发明首先根据传感器信息建立环境中的可通行空间树结构,并实时获取机器人探索过程中的可能目标点,进而完成路径规划与地图创建任务。可通行空间建立方法如下:利用获取的激光数据信息,将距离机器人最近障碍物到激光最大量程的扫描区域划分为若干层,每层包含若干段弧线,称之为扇区。为确定在扇区中是否存在可能目标点,本方法假设存在一个矩形通道,将大于机器人宽度的给定阈值w作为矩形的宽,并使该矩形以机器人当前位置为中心进行旋转,在每个扇区中寻找可通行角度区间。在已建立可通行空间树结构中,为确定机器人的前进方向和目标点,选取最外层扇区中的弧线中间点,将其作为可能目标点。这样,机器人通过目标点的实时更新完成环境探索任务。
步骤二,建立分层拓扑结构。
在可通行空间树的基础上建立一种融合混合特征的分层拓扑地图结构。在分层拓扑结构中维护了两层地图:第一层地图是当前节点的可通行空间树的集合A;第二层是已生成拓扑节点集合T,称为拓扑层。同时,为获取更丰富的环境信息,本发明在拓扑节点处提取比例不变特征(Scale-InvariantFeatureTransform,SIFT),并存储于分层拓扑地图结构当中。机器人探索过程中,若已生成的可能目标点与已生成拓扑节点或者可能点间距离过于接近时,需利用节点更新规则对分层拓扑结构中的节点不断进行添加、绑定与删除等动态维护操作。
步骤三,创建全局拓扑地图。
本发明基于上述的可能目标点提取方法,不断被提取新的目标点,通过拓扑节点的实时更新来完成全局拓扑地图的创建。探索过程中,每个机器人建立自身的拓扑树型结构。机器人进入未探索环境中,利用更新规则判断当前的可通行区域,若机器人当前不存在任何可能目标点时,为完成对环境的遍历,机器人必须回溯到距离机器人最近且存在未探索可能目标点的拓扑节点处,并将此节点设置为回溯目标。同时,为避免多机器人探索同一局部区域,每个机器人根据自身的分层拓扑地图结构和节点更新规则动态维护结构中所有节点,防止机器人间的重复访问,以充分提高地图创建效率。
步骤四,提取SIFT特征并进行特征匹配。
SIFT特征对图像的比例缩放、旋转有着较好的不变性,并且对于三维视角、噪声、光照的变化也保持着较好的可匹配性。因此,本发明通过提取环境中的SIFT特征角点来描述未知环境,并将节点间的SIFT匹配度作为地图拼接的先验信息。
本发明在拓扑节点提取环境中的SIFT特征点,包括特征点检测和特征点描述两个部分。采用基于欧氏距离的最邻近法进行特征点匹配,利用K-D树的数据结构进行搜索,根据最近两个特征点的距离比确定是否接受这一匹配对。
步骤五,基于ICP扫描匹配进行地图拼接。
本发明基于上述分层拓扑结构完成机器人地图创建,并对不同机器人在拓扑节点处提取的SIFT特征进行匹配,若匹配度满足阈值要求,则对当前不同机器人所生成的地图使用ICP扫描匹配的方法来实现地图拼接,无需考虑机器人相对位姿信息。拼接过程中,考虑ICP方法的匹配误差,提高地图拼接的准确度。
本发明的有益效果是:在机器人间相对位姿未知情况下,提出一种融合SIFT特征的分层拓扑结构,并增量式地创建全局拓扑地图,根据节点间的SIFT匹配信息,结合扫描匹配的方法实现大规模未知环境下的多机器人系统地图拼接。有效地解决了地图创建效率问题,提高了拼接地图的准确度。
附图说明
图1为本发明所涉及的方法流程图;
图2为可通行空间树示意图;
图3为分层拓扑结构示意图;
图4为路径探索方法流程图;
图5为应用本发明地图拼接场景的实际环境示意图:(a)为实验真实场景,(b)为实验环境的二维几何示意图;
图6为应用本发明实现地图拼接的结果示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的详细说明。
本发明所述方法的流程图如附图1所示,包括以下几个步骤:
步骤一,获取可通行空间树,。
可通行空间树由可通行空间以及可能目标点组成,其具体建立方法如下:
(1)获取扇区
利用获取的激光数据信息,将距离机器人最近障碍物到激光最大量程的扫描区域划分为若干层,每层包含若干段弧线,弧线所围成的区域称之为扇区。
(2)判断可通行角度区间
假设存在一个矩形通道,设定阈值w大于机器人宽度,并将w作为矩形的宽。使该矩形以机器人当前位置为中心进行旋转,在每个扇区中寻找可通行角度区间。
(3)选取可能目标点
为确定机器人的前进方向和目标点,选取最外层扇区中的可见点,将其作为当前目标点则机器人的可能目标集合描述为:
P c = { P j c }
式中,Pc是当前可能目标点集,是该点集中的第j个可能目标点。
本发明中可通行空间树结构如图2(a)所示所示。图2(b)显示了可通行角度区间的搜索方法,其中w为大于机器人宽度的阈值。
步骤二,建立分层拓扑结构。
本发明在可通行空间树的基础上建立一种融合混合特征的分层拓扑地图结构。在分层拓扑结构H中维护了两层地图:第一层地图是当前节点的可通行空间树的集合A;第二层是已生成拓扑节点集合Tg,称为拓扑层,分层拓扑结构H描述为:
H={A,Tg}
为使拓扑节点描述更丰富的环境信息,本发明在拓扑节点处提取比例不变特征(SIFT),并融合到分层拓扑地图结构当中。拓扑节点集合Ti可描述为:
Ti={s,Ai,p}
式中,s是Ti处所提取的SIFT特征向量,Ai为Ti处提取的可通行空间树的集合,p表示机器人当前位姿。
机器人探索过程中,随着分层拓扑结构的递增式创建,可能存在已生成的可能目标点与已生成拓扑节点或者可能目标点间距离过于接近的情况,此时需利用节点更新规则对分层拓扑结构中的节点不断进行添加、绑定与删除等动态维护操作,以提高探索效率。假设S为已生成的拓扑节点,其可能目标点集合为(Q1,Q2,...,Qj,...,QN);当前拓扑节点为T,可能目标点集合为(P1,P2,...,Pi,...,PM),其中N、M分别为S、T所含通路点个数。用d(P,Q)表示节点P与Q之间的距离;用C(P,Q)表示节点P与Q之间的连通关系,其值为TRUE,表示P与Q连通;其值为FALSE,则表示P与Q间存在障碍。S=S/Qj表示将Qj从拓扑节点S中删除,S=S∪Qj表示将Qj添加到拓扑节点S中。具体动态维护规则如下:
(1)拓扑节点T所属区域Vr内的可能目标点Pi对机器人探索的作用不大,删除Pi。即:若d(Pi,T)≤Vr,则T=T/Pi
(2)Pi落在已生成的拓扑节点S所属区域Vr,且Pi与S间存在可通行路径,删除Pi。即:若d(Pi,S)≤Vr,且C(Pi,S)=TRUE,则T=T/Pi
(3)若相邻的通路点Pi、Qj间不存在障碍物,且距离在阈值σ内,保留其中最有利于机器人探索的环境通路点。即:
在d(Pi,Qj)≤σ的情况下,若d(Pi,T)≥d(Qj,S),则T=T/Pi;否则S=S/Qj
(4)机器人探索过程中,需要对某些满足条件的通路点重排列以保证有效的环境探索。即:
若d(Qj,T)≤d(Qj,S),且C(Qj,T)=TRUE,则S=S/Qj,T=T∪Qj
(5)若机器人运动到Qj附近,且Qj与T间不存在障碍物,表明Qj所代表未知区域已被探索,直接删除Qj。即:
若d(Qj,T)≤Vr,且C(Qj,T)=TRUE,则S=S/Qj
本发明中分层拓扑结构如图3所示,其中包含拓扑层、可通行空间树及SIFT特征。
步骤三,创建全局拓扑地图。
本发明基于上述的可能目标点提取方法,不断提取新的目标点,通过拓扑节点的实时更新来完成全局拓扑地图的创建,其方法流程如图4所示。探索过程中,每个机器人建立自身的拓扑树型结构。机器人进入未探索环境中,需要根据激光传感器信息确定每步的最优目标点,并利用更新规则判断当前的可通行区域,实时确定机器人每次运动规划的当前目标点,以保证机器人顺利完成全局遍历。本发明中路径探索的具体步骤如下:
(1)探索开始时,首先获取激光传感器信息,根据激光数据对可能目标点进行搜索。
(2)在整个环境中均不存在尚未探索的可能目标点的情况下,若d(T,O)≤σ,探索终止;否则,机器人回溯到初始点。其中,T为当前拓扑节点,O为初始点,σ为距离阈值。
(3)当前时刻提取的可能目标点可能会有多个,采用效用函数U(P)这一评价标准,计算各个通路点的效用值,并选取效用函数值最大者作为即时目标点,同时添加当前拓扑节点T并更新拓扑地图。U(P)的表达式为:
U ( P ) = G ( P ) × L ( P ) × e - Δ θ ( P ) D ( P )
式中,P为候选可能目标点;G(P)表示P处机器人所能观测到的未知环境面积大小;D(P)为机器人当前位置与P的距离;L(P)为P处相邻障碍物之间机器人可通行路径的宽度;Δθ(P)为P所指示的未探索区域方向θP与当前机器人朝向角θR之间差值的绝对值。
(4)当前拓扑节点T不存在可能目标点的情况下,搜索是否存在未探索的拓扑节点,若存在,则机器人回溯到最近的尚未探索的拓扑节点S处;否则返回步骤三(2)。若该拓扑节点存在至少一个可能目标点,返回步骤三(3)。
若机器人当前不存在任何可能目标点时,为完成对环境的遍历,机器人必须回溯到距离机器人最近且存在未探索可能目标点的拓扑节点处,并将此节点设置为回溯目标。并利用Bellman-Ford算法选择一条到达该目标的最短路径。Bellman-Ford算法描述为:
dk(j)=min{dk-1(j),dk-1(i)+d(i,j)}
式中,dk(j)表示当前位置与第j个节点的距离,d(i,j)是第i个节点与第j个节点的距离。
回溯过程中,机器人将最远的可见节点Tv作为目标,若探索到新的可能点,机器人将沿此可能点方向继续遍历环境。
d ( p r , p T v ) = m a x r ≤ k ≤ v { d ( p r , p T k ) }
式中,d(i,j)表示i、j两点之间的欧氏距离,pr表示机器人当前位姿,表示拓扑节点v处位姿。
(5)重复步骤三(1)~(4)的方法,不断提取新的目标点,通过拓扑节点的实时更新来完成全局拓扑地图的创建。当不存在任何可能节点时,系统将停止工作。
本发明为避免多机器人探索同一局部区域,每个机器人通过自身的分层拓扑地图更新拓扑结构,并依据节点更新规则检查结构中所有节点,防止重复访问,以充分提高地图创建效率。
步骤四,提取SIFT特征并进行特征匹配。
本发明通过提取环境中的SIFT特征角点来描述未知环境,并将节点间的SIFT匹配度作为地图拼接的先验信息。本发明在拓扑节点提取环境中的SIFT特征点,提取与匹配的方法如下:
(1)获取高斯差分图像
SIFT特征角点提取首先采用高斯函数来建立尺度空间,高斯函数为:
G ( x , y , σ ) = 1 2 πσ 2 e - ( x 2 + y 2 ) / 2 σ 2
尺度空间的定义为:
L(x,y,σ)=G(x,y,σ)*I(x,y)
式中,(x,y)表示图像点的坐标,I(x,y)为图像点(x,y)处的灰度值,σ表示尺度空间参数,随着σ的变化建立起不同的尺度空间,称之为图像金字塔。*代表卷积运算。
在尺度空间建立完毕后,为了能够找到稳定的关键点,采用高斯差分的方法来检测在局部位置的极值点,采用两个相邻尺度中的图像相减获取高斯差分图像(difference-of-Gaussian,DoG)D(x,y,σ),即:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)
=L(x,y,kσ)-L(x,y,σ)
其中,k为比例系数;
(2)检测特征点
构建高斯差分图像完毕之后,为确保同时在尺度空间和二维图像空间检测局部极值,对于图像I中某点X=(x,y),将该点和它周围的8个像素点,以及与其相邻两层的尺度空间中对应位置的18个像素点进行比较,以确定该点是否为极大值或者极小值。
(3)特征点定位
为提高特征点的稳定性,需要对特征点进行过滤,去除边缘点和低对比度的点。
去除低对比度点:需要对DoG函数进行曲线拟合,利用DoG函数在尺度空间上的泰勒展开式:
D ( X ) = D + ∂ D ∂ X T X + 1 2 X T ∂ 2 D ∂ X 2 X - - - ( 1 )
式中:D是DoG计算的结果,X=(x,y,σ)是候选关键点之一。
求解上式得到修正值:
X ^ = - ∂ D T ∂ X ( ∂ 2 D ∂ X 2 ) - 1
带入泰勒展开式(1)中,若得到则该点是低对比度点,去除该点。
去除边缘点:DoG函数在图像边缘有较强的边缘响应,因此还需要排除边缘响应。需要计算该点的Hessian矩阵得到主曲率。Hessian矩阵H为:
H = D x x D x y D x y D y y
导数由采样点相邻差来估计得到,D的主曲率和H的特征值成正比,为了避免直接的计算这些特征值,而只是考虑它们的之间的比率。令α为最大特征值,β为最小的特征值,则矩阵H的迹Tr和行列式Det为:
Tr(H)=Dxx+Dyy=α+β
Det(H)=Dxx×Dyy-Dxy×Dxy=α×β
令α=rβ,得:
T r ( H ) 2 D e t ( H ) = ( α + β ) 2 α β = ( r + 1 ) 2 r
(r+1)2/r在两特征值相等时,其值达最小,随r的增长而增长。检测主曲率,若在某阈值r下满足:则保留点(r取10);反之去除该点。
(4)确定特征点方向
利用特征点邻域像素的梯度分布特征,可以为每个特征点指定参数方向,从而使特征点对图像旋转具有不变性。
梯度幅值: m ( x , y ) = ( L ( x + 1 , y ) - L ( x - 1 , y ) ) 2 + ( L ( x , y + 1 ) - L ( x , y - 1 ) ) 2
梯度方向: θ ( x , y ) = tan - 1 [ L ( x , y + 1 ) - L ( x , y - 1 ) L ( x + 1 , y ) - L ( x - 1 , y ) ]
式中,L所用尺度为每个特征点所在的尺度。实际计算中,在以特征点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度方向。
(5)生成特征点描述子
在得到邻域内点的主方向后,将特征点描述成特征向量,使关键点数值化。
为了确保旋转不变性,首先将坐标轴旋转为关键点的方向。以一个关键点为中心,取8×8的窗口,将该窗口切成2×2的子窗口,统计每个子窗口中的方向直方图。每一个子窗口的方向由其上4×4区域的方向来决定。每个关键点方向由2×2共4个种子点的方向决定,一个种子点有8个方向的信息,则每个关键点就有4×8=32维。在实际计算过程中,为了增强匹配的稳健性,对每个关键点采用4×4共16个种子点来描述,这样一个关键点就有16×8=128维的数据,即形成128维的SIFT特征向量,该向量具有旋转、尺度不变性,再进行归一化后,具有光照不变性。至此,得到了描述特征点的特征向量。
(6)进行特征匹配
采用基于欧氏距离的最近邻搜索方法,利用K-D树在待匹配的图像中搜索,找到与基准图像中的特征点欧式距离最近的前两个特征点,如果最近距离除以次近距离得到的值小于设定的比例阈值(0.7),则接受这一对匹配点。
步骤五,基于ICP扫描匹配进行地图拼接。
本发明基于上述分层拓扑结构完成机器人地图创建,并对不同机器人在拓扑节点处提取的SIFT特征进行匹配,若匹配度满足阈值要求,则对当前不同机器人所生成的地图使用ICP扫描匹配的方法来实现地图拼接,无需考虑机器人相对位姿信息。拼接过程中,考虑ICP方法的匹配误差,提高地图拼接的准确度。具体方法如下:
(1)拓扑节点处提取SIFT特征
首先,每个机器人均采用前述改进方法完成拓扑地图的创建。本发明利用SIFT特征关联不同拓扑节点,每个机器人将获得SIFT特征向量集其中表示机器人i在拓扑节点j处提取的SIFT特征。为克服特征提取与匹配的实时性问题,本发明运用关键帧的思想,在地图创建过程中,视觉系统仅在拓扑节点处采集图像信息,并将图像的SIFT特征向量存储于当前节点信息当中,一定程度上提高了算法的实时性。探索过程中,当机器人i获得某一节点的信息后,将与其他机器人已生成进行匹配。若特征向量间的匹配程度满足阈值条件(阈值设定为0.7),则表明两节点间具有很高的相似度。
(2)地图拼接
在节点特征匹配成功后,对两个机器人已生成的地图使用ICP算法进行点集匹配,来计算出点集间的旋转平移矩阵X,进而实现地图的拼接。
ICP算法的评估函数如下:
E d i s t ( α , T ) = min R α , T , j ∈ { 1 , 2 , ... , n } ( Σ i = 1 m | | ( R α p i + T ) - q j | | 2 2 ) s . t . R α T R α = I l , det ( R α ) = 1
式中,Rα是旋转变换矩阵,α是旋转角,Il为单位矩阵,T是平移向量,pi和qj分别为两点集中的数据点。即通过最小化误差和Edist求两个点集间的相对坐标变换X=(α,T)。本发明利用ICP算法来计算两个局部地图之间的相对坐标变换矩阵来更新机器人精确位姿,并实现地图拼接。
为降低SIFT特征的误匹配率,将ICP匹配误差作为反馈值来提高地图拼接的准确率,机器人i在当前位姿所生成的局部地图与全局地图的相似度P为:
P ( L X M i ( k ) | L X r i ( k ) , G X M k ( k ) ) ≤ λ
若满足阈值λ要求,表明地图拼接成功;否则,重新进行SIFT匹配。
(3)位姿更新
完成拼接后,将此时机器人k的位姿机器人i在节点j处的位姿进行坐标转换,进而根据下式更新机器人i的位姿:
p k = cosθ j i k - sinθ j i k sinθ j i k cosθ j i k p j i + x j i k y j i k
p i = cosθ j i - sinθ j i sinθ j i cosθ j i p j i + x j i y j i
式中,是由激光采集的局部坐标点,pi和pk是机器人i和k的全局坐标点,为节点j处机器人k的位姿角,为节点j处机器人i的位姿角,相对坐标变换矩阵[R,T]由ICP算法求得。
下面给出应用本发明所述方法在室内真实环境下进行地图拼接的一个实验实例。
实验选用Pioneer3-DX作为机器人平台,机器人配备激光测距仪和相机。系统选用URG-04LX型激光测距仪。室内环境如图5所示,图5(a)为实验的真实场景,图5(b)为实验环境的二维几何示意图。两台机器人的线速度为0.5m/s,角速度为1rad/s,激光测距仪测量距离的范围为(0,5]m,夹角范围为[-π/2,π/2]。使用机器人配备相机获取环境中SIFT特征信息。两台机器人在相对位姿未知情况下,分别从不同起始位置探索未知环境,采用本文所提方法进行地图拼接实验。图6是地图拼接结果示意图。
由图6中的地图拼接结果可以看出,两台机器人各自生成的拓扑地图按本发明所述方法拼接后的地图真实的反映了实验环境,拼接结果与真实环境相一致,这表明,本发明所述方法可用于未知环境下多机器人系统地图拼接,具有较高的准确度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种基于分层拓扑结构的多机器人系统地图拼接方法,其特征在于包括以下几个步骤:
步骤一,获取可通行空间树,方法如下:
(1)获取扇区
利用获取的激光数据信息,将距离机器人最近障碍物到激光最大量程的扫描区域划分为若干层,每层包含若干段弧线,弧线围成一个个扇区;
(2)判断可通行角度区间
假设存在一个矩形通道,设定阈值w大于机器人宽度,并将w作为矩形的宽;使该矩形以机器人当前位置为中心进行旋转,在每个扇区中寻找可通行角度区间;
(3)选取可能目标点
为确定机器人的前进方向和目标点,选取最外层扇区中的可见点,将其作为当前目标点则机器人的可能目标集合描述为:
P c = { P j c }
式中,Pc是当前可能目标点集,是该点集中的第j个可能目标点;
步骤二,建立分层拓扑结构,方法如下:
在可通行空间树的基础上建立一种融合混合特征的分层拓扑地图结构;在分层拓扑结构H中维护两层地图:第一层地图是当前节点的可通行空间树的集合A;第二层是已生成拓扑节点的集合Tg,即拓扑层,分层拓扑结构H描述为:
H={A,Tg}
在拓扑节点处提取比例不变特征(SIFT),并融合到分层拓扑地图结构当中;拓扑节点集合Ti可描述为:
Ti={s,Ai,p}
式中,s是Ti处所提取的SIFT特征向量,Ai为Ti处提取的可通行空间树的集合,p表示机器人当前位姿;
假设S为已生成的拓扑节点,其可能目标点集合为(Q1,Q2,...,Qj,...,QN);当前拓扑节点为T,可能目标点集合为(P1,P2,...,Pi,...,PM),其中N、M分别为S、T所含通路点个数;用d(P,Q)表示节点P与Q之间的距离;用C(P,Q)表示节点P与Q之间的连通关系,其值为TRUE,表示P与Q连通;其值为FALSE,则表示P与Q间存在障碍;S=S/Qj表示将Qj从拓扑节点S中删除,S=S∪Qj表示将Qj添加到拓扑节点S中;具体动态维护规则如下:
(1)拓扑节点T所属区域Vr内的可能目标点Pi对机器人探索的作用不大,删除Pi;即:
若d(Pi,T)≤Vr,则T=T/Pi
(2)Pi落在已生成的拓扑节点S所属区域Vr,且Pi与S间存在可通行路径,删除Pi;即:
若d(Pi,S)≤Vr,且C(Pi,S)=TRUE,则T=T/Pi
(3)若相邻的通路点Pi、Qj间不存在障碍物,且距离在阈值σ内,保留其中最有利于机器人探索的环境通路点;即:
在d(Pi,Qj)≤σ的情况下,若d(Pi,T)≥d(Qj,S),则T=T/Pi;否则S=S/Qj
(4)机器人探索过程中,需要对某些满足条件的通路点重排列以保证有效的环境探索;即:
若d(Qj,T)≤d(Qj,S),且C(Qj,T)=TRUE,则S=S/Qj,T=T∪Qj
(5)若机器人运动到Qj附近,且Qj与T间不存在障碍物,表明Qj所代表未知区域已被探索,直接删除Qj;即:
若d(Qj,T)≤Vr,且C(Qj,T)=TRUE,则S=S/Qj
步骤三,创建全局拓扑地图,方法如下:
(1)探索开始时,首先获取激光传感器信息,根据激光数据对可能目标点进行搜索;
(2)在整个环境中均不存在尚未探索的可能目标点的情况下,若d(T,O)≤σ,探索终止;否则,机器人回溯到初始点;其中T为当前拓扑节点,O为初始点,σ为距离阈值;
(3)当前时刻提取的可能目标点可能会有多个,采用效用函数U(P)这一评价标准,计算各个通路点的效用值,并选取效用函数值最大者作为即时目标点,同时添加当前拓扑节点T并更新拓扑地图;U(P)的表达式为:
U ( P ) = G ( P ) × L ( P ) × e - Δ θ ( P ) D ( P )
式中,P为候选可能目标点;G(P)表示P处机器人所能观测到的未知环境面积大小;D(P)为机器人当前位置与P的距离;L(P)为P处相邻障碍物之间机器人可通行路径的宽度;Δθ(P)为P所指示的未探索区域方向θP与当前机器人朝向角θR之间差值的绝对值;
(4)当前拓扑节点T不存在可能目标点的情况下,搜索是否存在未探索的拓扑节点,若存在,则机器人回溯到最近的尚未探索的拓扑节点S处;否则返回步骤三(2);若该拓扑节点存在至少一个可能目标点,返回步骤三(3);
若机器人当前不存在任何可能目标点,为完成对环境的遍历,机器人回溯到距离机器人最近且存在未探索可能目标点的拓扑节点处,并将此节点设置为回溯目标;并利用Bellman-Ford算法选择一条到达该目标的最短路径;Bellman-Ford算法描述为:
dk(j)=min{dk-1(j),dk-1(i)+d(i,j)}
式中,dk(j)表示当前位置与第j个节点的距离,d(i,j)是第i个节点与第j个节点的距离;
回溯过程中,机器人将最远的可见节点Tv作为目标,若探索到新的可能点,机器人将沿此可能点方向继续遍历环境:
d ( p r , p T v ) = m a x r ≤ k ≤ v { d ( p r , p T k ) }
式中,d(i,j)表示i、j两点之间的欧氏距离,pr表示机器人当前位姿,表示拓扑节点v处位姿;
(5)重复步骤三(1)~(4),不断提取新的目标点,通过拓扑节点的实时更新来完成全局拓扑地图的创建;当不存在任何可能节点时,系统将停止工作;
步骤四,提取SIFT特征并进行特征匹配,方法如下
(1)获取高斯差分图像
SIFT特征角点提取首先采用高斯函数来建立尺度空间,高斯函数为:
G ( x , y , σ ) = 1 2 πσ 2 e - ( x 2 + y 2 ) / 2 σ 2
尺度空间的定义为:
L(x,y,σ)=G(x,y,σ)*I(x,y)
式中,(x,y)表示图像点的坐标,I(x,y)为图像点(x,y)处的灰度值,σ表示尺度空间参数,随着σ的变化建立起不同的尺度空间,称之为图像金字塔;*代表卷积运算;
采用两个相邻尺度中的图像相减获取高斯差分图像(difference-of-Gaussian,DoG)D(x,y,σ),即:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)
=L(x,y,kσ)-L(x,y,σ)
其中,k为比例系数;
(2)检测特征点
对于图像I中某点X=(x,y),将该点和它周围的8个像素点,以及与其相邻两层的尺度空间中对应位置的18个像素点进行比较,以确定该点是否为极大值或者极小值;
(3)特征点定位
对特征点进行过滤,去除边缘点和低对比度的点;
去除低对比度点:需要对DoG函数进行曲线拟合,利用DoG函数在尺度空间上的泰勒展开式:
D ( X ) = D + ∂ D ∂ X T X + 1 2 X T ∂ 2 D ∂ X 2 X - - - ( 1 )
式中:D是DoG计算的结果,X=(x,y,σ)是候选关键点之一;
求解上式得到修正值:
X ^ = - ∂ D ∂ X T ( ∂ 2 D ∂ X 2 ) - 1
带入泰勒展开式(1)中,若得到则该点是低对比度点,去除该点;
去除边缘点:计算边缘点的Hessian矩阵H:
H = D x x D x y D x y D y y
由采样点相邻差来估计导数,D的主曲率和H的特征值成正比,为避免直接地计算这些特征值,只考虑它们的之间的比率;令α为最大特征值,β为最小的特征值,则矩阵H的迹Tr和行列式Det为:
Tr(H)=Dxx+Dyy=α+β
Det(H)=Dxx×Dyy-Dxy×Dxy=α×β
令α=rβ,得:
T r ( H ) 2 D e t ( H ) = ( α + β ) 2 α β = ( r + 1 ) 2 r
(r+1)2/r在两特征值相等时,其值最小,随r的增长而增长;检测主曲率,若在某阈值r下满足:则保留点,r取10;反之去除该点;
(4)确定特征点方向
用特征点邻域像素的梯度分布特征为每个特征点指定参数方向,从而使特征点对图像旋转具有不变性;
梯度幅值: m ( x , y ) = ( L ( x + 1 , y ) - L ( x - 1 , y ) ) 2 + ( L ( x , y + 1 ) - L ( x , y - 1 ) ) 2
梯度方向: θ ( x , y ) = tan - 1 [ L ( x , y + 1 ) - L ( x , y - 1 ) L ( x + 1 , y ) - L ( x - 1 , y ) ]
式中,L所用尺度为每个特征点所在的尺度;实际计算中,在以特征点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度方向;
(5)生成特征点描述子
为了确保旋转不变性,首先将坐标轴旋转为关键点的方向;在实际计算过程中,为了增强匹配的稳健性,对每个关键点采用4×4共16个种子点来描述,这样一个关键点就有16×8=128维的数据,即形成128维的SIFT特征向量,该向量具有旋转、尺度不变性,再进行归一化后,具有光照不变性;至此,得到了描述特征点的特征向量;
(6)进行特征匹配
采用基于欧氏距离的最近邻搜索方法,利用K-D树在待匹配的图像中搜索,找到与基准图像中的特征点欧式距离最近的前两个特征点,如果最近距离除以次近距离得到的值小于设定的比例阈值,则接受这一对匹配点;
步骤五,基于ICP扫描匹配进行地图拼接,方法如下:
(1)拓扑节点处提取SIFT特征
每个机器人均采用前述改进方法完成拓扑地图的创建;利用SIFT特征关联不同拓扑节点,每个机器人将获得SIFT特征向量集 表示机器人i在拓扑节点j处提取的SIFT特征;为克服特征提取与匹配的实时性问题,运用关键帧的思想,在地图创建过程中,视觉系统仅在拓扑节点处采集图像信息,并将图像的SIFT特征向量存储于当前节点信息当中;探索过程中,当机器人i获得某一节点的信息后,将与其他机器人已生成进行匹配;若特征向量间的匹配程度满足阈值条件,则表明两节点间具有很高的相似度;
(2)进行地图拼接
在节点特征匹配成功后,对两个机器人已生成的地图使用ICP算法进行点集匹配,来计算出点集间的旋转平移矩阵X,进而实现地图的拼接;
ICP算法的评估函数如下:
E d i s t ( α , T ) = m i n R α , T , j ∈ { 1 , 2 , ... , n } ( Σ i = 1 m | | ( R α p i + T ) - q j | | 2 2 )
s . t . R α T R α = I l , det ( R α ) = 1
式中,Rα是旋转变换矩阵,α是旋转角,Il为单位矩阵,T是平移向量,pi和qj分别为两点集中的数据点;即通过最小化误差和Edist求两个点集间的相对坐标变换X=(α,T);利用ICP算法来计算两个局部地图之间的相对坐标变换矩阵来更新机器人精确位姿,并实现地图拼接;
为降低SIFT特征的误匹配率,将ICP匹配误差作为反馈值来提高地图拼接的准确率,机器人i在当前位姿所生成的局部地图与全局地图的相似度P为:
P ( L X M i ( k ) | L X r i ( k ) , G X M k ( k ) ) ≤ λ
若满足阈值λ要求,表明地图拼接成功;否则,重新进行SIFT匹配;
(3)位姿更新
完成拼接后,将此时机器人k的位姿与机器人i在节点j处的位姿进行坐标转换,进而根据下式更新机器人i的位姿:
p k = cosθ j i k - sinθ j i k sinθ j i k cosθ j i k p j i + x j i k y j i k
p i = cosθ j i - sinθ j i sinθ j i cosθ j i p j i + x j i y j i
式中,是由激光采集的局部坐标点,pi和pk是机器人i和k的全局坐标点,为节点j处机器人k的位姿角,为节点j处机器人i的位姿角,相对坐标变换矩阵[R,T]由ICP算法求得。
CN201310175391.6A 2013-05-13 2013-05-13 基于分层拓扑结构的多机器人系统地图拼接方法 Expired - Fee Related CN103247040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310175391.6A CN103247040B (zh) 2013-05-13 2013-05-13 基于分层拓扑结构的多机器人系统地图拼接方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310175391.6A CN103247040B (zh) 2013-05-13 2013-05-13 基于分层拓扑结构的多机器人系统地图拼接方法

Publications (2)

Publication Number Publication Date
CN103247040A CN103247040A (zh) 2013-08-14
CN103247040B true CN103247040B (zh) 2015-11-25

Family

ID=48926545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310175391.6A Expired - Fee Related CN103247040B (zh) 2013-05-13 2013-05-13 基于分层拓扑结构的多机器人系统地图拼接方法

Country Status (1)

Country Link
CN (1) CN103247040B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103983270B (zh) * 2014-05-16 2016-09-28 中国科学技术大学 一种声纳数据的图像化处理方法
CN104794473B (zh) * 2015-03-24 2018-04-27 中国科学院自动化研究所 形状层级描述、平均形状和动态形状计算及形状匹配方法
CN104898660B (zh) * 2015-03-27 2017-10-03 中国科学技术大学 一种提高机器人路径规划效率的室内地图构建方法
CN105222789A (zh) * 2015-10-23 2016-01-06 哈尔滨工业大学 一种基于激光测距传感器的楼宇室内平面图建立方法
CN105306785A (zh) * 2015-10-27 2016-02-03 武汉工程大学 一种基于sift特征匹配和vfc算法的电子稳像方法及系统
CN105910605A (zh) * 2016-05-30 2016-08-31 中国科学技术大学苏州研究院 一种室内导航动态路径生成方法
CN106651821A (zh) * 2016-11-25 2017-05-10 北京邮电大学 一种基于二阶矩保持传播算法的拓扑地图融合方法及系统
JP6814095B2 (ja) * 2017-05-23 2021-01-13 東芝ライフスタイル株式会社 電気掃除機
CN108931977A (zh) * 2017-06-06 2018-12-04 北京猎户星空科技有限公司 机器人环境建图方法、装置及机器人
CN107866386B (zh) * 2017-09-30 2020-10-16 绿港环境资源股份公司 易腐垃圾识别系统和方法
CN108550134B (zh) * 2018-03-05 2020-05-05 北京三快在线科技有限公司 建图效果指标的确定方法和建图效果指标的确定装置
CN108469826B (zh) * 2018-04-23 2021-06-08 宁波Gqy视讯股份有限公司 一种基于机器人的地图生成方法及系统
MY199460A (en) * 2018-08-14 2023-10-30 Chiba Institute Of Tech Movement robot
CN111260538B (zh) * 2018-12-03 2023-10-03 北京魔门塔科技有限公司 基于长基线双目鱼眼相机的定位及车载终端
CN109917670B (zh) * 2019-03-08 2022-10-21 北京精密机电控制设备研究所 一种智能机器人集群的同时定位与建图方法
CN110135102B (zh) * 2019-05-24 2020-07-07 哈尔滨工业大学 面向碎片化建模的相似度量方法
CN112212851B (zh) * 2019-07-09 2022-08-05 深圳市优必选科技股份有限公司 一种位姿确定方法、装置、存储介质及移动机器人
CN110412613B (zh) * 2019-08-02 2021-08-10 上海智蕙林医疗科技有限公司 基于激光的测量方法、移动装置、计算机设备和存储介质
CN110320920A (zh) * 2019-08-06 2019-10-11 北京中海远景科技有限公司 一种基于规约算法的双移动机器人迷宫路径规划方法
CN110532997B (zh) * 2019-09-05 2022-04-12 杭州视在科技有限公司 一种用于机场的多相机融合自动获取站坪完整信息的方法
CN111060115B (zh) * 2019-11-29 2022-03-22 中国科学院计算技术研究所 一种基于图像边缘特征的视觉slam方法及系统
CN111369640B (zh) * 2020-02-28 2024-03-26 广州高新兴机器人有限公司 多机器人建图方法、系统、计算机存储介质及电子设备
WO2021208015A1 (zh) * 2020-04-16 2021-10-21 珊口(上海)智能科技有限公司 构建地图及定位方法、客户端、移动机器人及存储介质
CN112344934B (zh) * 2020-09-30 2024-02-23 北京工业大学 一种基于gng网络的可删减环境拓扑地图构建方法
CN112328724B (zh) * 2020-11-11 2021-10-22 智慧足迹数据科技有限公司 区域人口关联方法、装置、计算机设备和可读存储介质
CN112486172A (zh) * 2020-11-30 2021-03-12 深圳市普渡科技有限公司 道路边缘检测方法及机器人
CN113075933B (zh) * 2021-03-30 2023-08-29 北京布科思科技有限公司 机器人通行控制方法和装置及设备
CN114115284B (zh) * 2021-12-02 2022-12-06 北京理工大学 一种基于探测并跟随距目标最近且未被访问的间隙的未知迷宫遍历方法
CN115070789A (zh) * 2022-06-09 2022-09-20 博歌科技有限公司 一种多机器人智能控制交互平台
CN115454055B (zh) * 2022-08-22 2023-09-19 中国电子科技南湖研究院 一种面向室内自主导航与作业的多层融合地图表示方法
CN115617034B (zh) * 2022-09-01 2024-06-14 清华大学 多智能体的环境探索方法、装置、电子设备及存储介质
CN116222579B (zh) * 2023-05-05 2023-07-18 西安麦莎科技有限公司 一种基于建筑施工的无人机巡察方法及系统
CN116433887B (zh) * 2023-06-12 2023-08-15 山东鼎一建设有限公司 基于人工智能的建筑物快速定位方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350101A (zh) * 2008-09-09 2009-01-21 北京航空航天大学 多幅深度图像自动配准方法
CN101388115A (zh) * 2008-10-24 2009-03-18 北京航空航天大学 一种结合纹理信息的深度图像自动配准方法
CN102800097A (zh) * 2012-07-19 2012-11-28 中国科学院自动化研究所 多特征多级别的可见光与红外图像高精度配准方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101068465B1 (ko) * 2009-11-09 2011-09-28 한국과학기술원 삼차원 물체 인식 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350101A (zh) * 2008-09-09 2009-01-21 北京航空航天大学 多幅深度图像自动配准方法
CN101388115A (zh) * 2008-10-24 2009-03-18 北京航空航天大学 一种结合纹理信息的深度图像自动配准方法
CN102800097A (zh) * 2012-07-19 2012-11-28 中国科学院自动化研究所 多特征多级别的可见光与红外图像高精度配准方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Method for Registration of 3-D Shapes;Paul J. Besl, et al.;《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》;19920229;第14卷(第2期);第239-256页 *
基于ICP算法和粒子滤波的未知环境地图创建;祝继华 等;《自动化学报》;20090831;第35卷(第8期);第1107-1113页 *

Also Published As

Publication number Publication date
CN103247040A (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
CN103247040B (zh) 基于分层拓扑结构的多机器人系统地图拼接方法
CN103278170B (zh) 基于显著场景点检测的移动机器人级联地图创建方法
CN107121142B (zh) 移动机器人的拓扑地图创建方法及导航方法
CN108983781B (zh) 一种无人车目标搜索系统中的环境探测方法
CN104914865B (zh) 变电站巡检机器人定位导航系统及方法
CN104898660B (zh) 一种提高机器人路径规划效率的室内地图构建方法
CN110231824B (zh) 基于直线偏离度方法的智能体路径规划方法
CN108917761A (zh) 一种无人车在地下车库中的精确定位方法
CN105843223A (zh) 一种基于空间词袋模型的移动机器人三维建图与避障方法
CN103268729A (zh) 基于混合特征的移动机器人级联式地图创建方法
CN115388902B (zh) 室内定位方法和系统、ar室内定位导航方法和系统
CN115167433B (zh) 融合全局视觉的机器人自主探索环境信息的方法及系统
Shi et al. Online topological map building and qualitative localization in large-scale environment
CN115439621A (zh) 一种煤矿井下巡检机器人三维地图重建及目标检测方法
Li et al. An efficient point cloud place recognition approach based on transformer in dynamic environment
Hou et al. Matching maps based on the area graph
Tian et al. Vision-based mapping of lane semantics and topology for intelligent vehicles
CN114459483B (zh) 基于机器人导航用地标导航地图构建与应用方法、系统
CN115690343A (zh) 一种基于视觉跟随的机器人激光雷达扫描建图方法
Forkel et al. Combined Road Tracking for Paved Roads and Dirt Roads: Framework and Image Measurements
Yang et al. Improved Cartographer Algorithm Based on Map-to-Map Loopback Detection
Lei et al. An Improved Multi-objective Path Planning Algorithm and its Application to Tennis Ball Collection Robots
CN116698017B (zh) 面向室内大尺度复杂场景的物体级环境建模方法及系统
Xu et al. Visual Topological Mapping and Navigation for Mobile Robot in Large-Scale Environment
Liu et al. Visual-LiDAR Fusion Relocation for SLAM Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20200513