基于orb-slam的室内机器人定位和三维稠密地图构建-侯荣波.pdf
《基于orb-slam的室内机器人定位和三维稠密地图构建-侯荣波.pdf》由会员分享,可在线阅读,更多相关《基于orb-slam的室内机器人定位和三维稠密地图构建-侯荣波.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Joumal of Computer Applications计算机应用,2017,37(5):14391444ISSN 1001908lCODEN JYIIDU201705一10http:wwwjocacn文章编号:100l一9081(2017)051439一06 DOI:1011772jissn1001-90812017051439基于Ol灌SLAM的室内机器人定位和三维稠密地图构建侯荣波,魏武。,黄婷,邓超锋(华南理工大学自动化科学与工程学院,广州5 10640)($通信作者电子邮箱weiwIIscuteducn)摘要:针对在室内机器人定位和三维稠密地图构建系统中,现有方法无法同时满足高
2、精度定位、大范围和快速性要求的问题,应用具有跟踪、地图构建和重定位三平行线程的ORBsLAM算法估计机器人三维位姿;然后拼接深度摄像头NECT获得的三维稠密点云,提出空间域上的关键帧提取方法剔除冗余的视频帧;接着提出子地图法进一步减少地图构建的时间,最终提高算法的整体速度。实验结果表明,所提系统能够在大范围环境中准确定位机器人位置,在运动轨迹为50 m的大范围中,机器人的均方根误差为104 m,即误差为2,同时整体速度为11帧秒,其中定位速度达到17帧秒,可以满足室内机器人定位和三维稠密地图构建的精度、大范围和快速性的要求。关键词:同时定位和地图构建;室内机器人;0RBSLAM;关键帧提取;K
3、INECT;图优化中图分类号:TP2426 文献标志码:AIndoor robot localization and 3 D de砸e蝴pping b嬲ed on oRB-SLAMHOU Rongbo,WEI Wu+,HUANG Ting,DENG Chaofeng(Sc00Z矿AH协,m渤n&如,柑魄i,mn毋sD砒吼im沁”妙o,死曲M如肼o蚴,lg如昭510640,醌im)Abstmct:In the indoor robot localization and 3D dense mapping,the existing methods caIl not satis每the require
4、ments 0fhigh-precision localization, large-scale and l乜pid mappingThe 0RBSLAM (0riented FAST粕d Rotated BRIEF-Simultaneous Localization And M印ping)algorithm, which has three parallel tllreads including tmcking, map building锄drelocation,was used to estimate the threedimensional(3D)pose of tlle mbotAnd
5、 then 3D dense point cloud was obtained byusing the depth camem KINECT7nle key fhme exaction method in spatial domain was introduced to eliminate redundantfhme8,and山e submap method was proposed to reduce the cost of m印ping,thereby the whole speed of the algorithm wasimproVedThe experiment results sh
6、ow tIlat the pmposed method can loc砒e the robot position accurately in a 1arge range Intlle range of 50 meters, the motmean-square ermr of the robot is 104 m, n枷ely the ermr is 2, the overall speed is 1lfhmes,and the localization speed is up to 17 fhmesThe pr叩osed method c粕meet tbe requiremems of in
7、door mbotlocalization and 3D dense mapping with high precision,la昭escale and rapidityKey words: Simuh粕eous kcalization And Mapping(SLAM); indoor robot; 0riented FAsT and Rot砒ed BRIEFSimultalleous kcalization And M印ping(0RB-SLAM);key frame extraction;NEcT;graph optimizationO 引言在过去的十年里,室外定位在以卫星定位为基础的技
8、术上获得了快速的发展和广泛的应用,如,全球定位系统(G10bal Positioning System,GPS)。但是我们超过70的时间都是在室内,因此室内定位技术具有巨大的研究价值和应用价值。由于室内环境复杂,需要从一系列的测量数据中估计移动节点的实时位置,所以到目前为止没有出现可以应用的解决方法”o。在机器人的定位领域,基于激光和视觉的同时定位和地图构建(Simultaneous L0calization And M印ping,SLAM)系统得到了快速的发展。sLAM是指搭载传感器的机器人在移动时利用传感器测量数据建立环境地图,同时估计机器人自身的位姿。2j。SLAM同时包含定位与地图构建
9、技术,被认为是实现机器人自主性的关键技术之一,对机器人的控制、导航、任务规划等领域有重要的研究意义Hj。根据sLAM的求解方法可以将其分为扩展卡尔曼滤波类(Extended Kalman Filter,EKF)sLAM、粒子滤波类(Panicle Filtering,PF)sLAM和图优化类(Graph 0ptimization)SLAM。EKF-sLAM最早由Smifh等H1提出,在假设噪声为高斯噪声的基础上,通过运动模型和观测模型来估计机器人自身及路标点的位置。之后许多专家学者在其方法上进一步改进,针对EKFsLAM的估计不一致性和非线性函数的线性化问题,Julier等1提出无迹卡尔曼滤波
10、(Unscented KalmanFilter,UKF)方法,利用样本加权求和直接逼近随机分布,从而避免了对非线性函数雅各比矩阵的计算。张毅等M1提出了迭代扩展卡尔曼滤波(Iterated Extended Kalman Filter,IEKF)通过多次迭代更新获得更高的后验概率,降低了估计收稿日期:20161014;修回日期:2016一12-21。基金项目:国家自然科学基金资助项目(61573148);广东省科技重大专项(2015肋10919007)。作者简介:侯荣波(1993一),男,广东肇庆人,硕士研究生,主要研究方向:sLAM算法、三维重构、计算机视觉; 魏武(1970一),男,湖南益
11、阳人,副教授,博士,主要研究方向:机器人控制、智能控制、模式识别、人工智能;黄婷(1991一),女,湖北孝感人,硕士研究生,主要研究方向:计算机视觉、机器人嵌入式系统;邓超锋(1990一),男,江西鄱阳人,硕士研究生,主要研究方向:机器人控制、智能控制。万方数据1440 计算机应用 第37卷误差。此外,EKFsLAM依赖于正确的数据关联,一旦数据关联出错则会导致构建地图失败;而且EKFSIAM的计算成本高,计算量正比于地图规模的平方,因此只能对较小范围的环境构建地图。在EKFSLAM框架上,一些研究人员在不同机器人系统上尝试了许多开发工作7 3。针对EKFSLAM对正确数据关联十分敏感的问题,
12、sim等哺。引入粒子滤波器(PF)来解决,其思路是将机器人和路标点的位置用粒子的分布来表达,由于没有了EKF-SLAM对噪声的高斯假设,同时粒子数量较多,对机器人和路标点位置具有多个假设,因此对正确的数据关联不敏感。但是PFsLAM仍面临着由于粒子数量大导致计算成本高,以及由于重采样导致的粒子耗尽问题。为了减少粒子数量,Blanco等一。使用KL距离(KullbackLeibler DistaIlce,KLD)方法自适应确定粒子数量,从而剔除了冗余的粒子。除了滤波器求解SLAM问题之外,最近基于图优化sLAM成为研究的热点。其起源于基于捆集调整(BundleAdjustment,BA)的运动构
13、建(stnlcture FrDm Motion,SFM)领域,SFM把位姿估计看作是一个全局优化问题,约束条件为相机的运动方程,目标函数为观测误差,最终通过最小化目标函数获得相机位姿。但是由于全局优化的计算量巨大,早期的SFM只能是离线的位姿估计和地图构建。后来研究者逐步认识到了sLAM求解问题的稀疏性,sibley叫提出了把SLAM问题看作是一个图优化问题,图优化的节点描述了需要优化的变量,边则是与优化变量相关的约束条件,最终采用稀疏目标优化方法计算获得优化变量,即机器人的位姿和路标点位置。ein等u提出了平行跟踪和地图构建方法(Mel陆ckingAnd M印ping,PTAM),把运动跟踪
14、和地图构建分为两个任务,并在两个平行的线程同时进行处理,在线实时地实现了SLAM算法,虽然PrAM存在着缺少足够的回环检测、重定位不变性低、需要人工初始化地图等问题,但是其代表了视觉SLAM的一个重要突破。继明AM之后,Mur-Artal等引提出了ORBsLAM(Oriented FAST and RotatedBRJEFSimultarleous kcalization And M印ping)算法,该算法具有跟踪、地图构建、重定位三个平行线程,有效地解决了回环检测、重定位和地图初始化等问题,能够在小范围和大范围的未知环境中在线实时地实现高精度定位,但算法最终只构建基于特征点的稀疏地图,无法应
15、用于机器人导航、路径规划等实际领域。针对0RBsLAM算法的不足,引入了在线快速构建未知环境三维稠密地图的方法,算法的整体步骤如图1所示。KINEcT数据图l算法流程Fig1 Algorithm naw采用深度摄像头KINEcT作为传感器设备,首先提出空间域上的方法提取关键帧,即当机器人的运动超过一定阈值时则把该帧选取为关键帧,并将它的点云拼接到已有的地图中;然后提出子地图法,将大规模的地图分解为一定规模的小地图,从而减少保存地图的运算内存和构建地图的时间,由此来提高算法的整体速度。实验表明,本文方法在标准RGBD数据集上能够取得较好的效果,在定位精度和快速性两方面都明显优于RGBDSLAM副
16、算法,定位误差仅为RGBD-SLAM的40,同时算法速度是RGBD-SLAM的26倍;在实际室内机器人实验中,本文方法能够快速准确地定位机器人位置,定位速度达到17帧秒,能建立高精度的三维稠密地图。1 ORBSLAM概述0RBsLAM是一种基于图像特征和非线性优化的单目视觉SIAM系统。它包括基于0RB(0riented FAST柚d RotatedBRIEF)图像特征的词袋(Bag of words,Bow)用于位置识别及回环检测14、信息关联视图H 5|、G20图优化通用框架引。对于大范围的地图构建,应用了尺度感知的回环检测。该算法在全部的处理当中只用到了ORB来作特征检测和描述,这样一来
17、提高了其在位置识别和回环检测的效果。文献12完整地介绍了0RB-SLAM算法,在此主要总结了它的三个主要步骤,包括跟踪、构建特征地图、回环检测,如图2所示。卜H引ij戮 部地图降;l检测局部地图构建 I插入 剔除冗 生成新 摁塞I薹|絮臀磊关键帧 余点云 点云 调整圈霎霍霰回环检测 I臻勰圈菘魏圈黯豳簇躏图2 0RBSLAM系统流程Fig2 system overvieW 0f 0RB-sLAM11 跟踪这一部分的主要任务是通过KINECT获得视频帧,并用光流法”1来跟踪其位置。光流法是利用图像序列中像素在时间域上的变化,求解出空间运动物体在观察成像平面上的像素运动的瞬时速度s=(u,”),从
18、而计算出相邻帧之间物体的运动信息,估计上一帧跟当前帧之间存在的对应关系。假设像素的光流运动微小和亮度恒定,可以得到,(省,y,)=,(戈+如,+咖,f+出),由一阶泰勒展开得:,(x+如,y+dy,t+出)=,(髫,y,t)+芸出+筹咖+罢诜(1)即t如+dy+t出=o,并令u=鲁,w=鲁,那么则有:L【:】叫对于个像素点的光流:(2)万方数据第5期 侯荣波等:基于0RBsLAM的室内机器人定位和三维稠密地图构建 1441l zI l,Ild|n: : i。N l。ltI如:I“(3)将式(3)记为As=6,那么:s=arg min J|As一6 I| (4)假设地图点的三维位置可用,并且用0
19、RB特征来描述。如果在当前图像帧中跟踪成功,则通过之前图像帧的运动模型平均值来估计当前I(INEcT的位姿,然后重映射地图点估计其在当前帧上的图像。用0RB特征描述的地图点与在预测点附近范围检测到的特征进行匹配,图像上最小汉明距离的特征点被选为匹配点。然后利用非线性优化最小化重投影误差来计算获得相机位姿。优化之后,匹配点根据合适的阈值被分为内点和外点。如果跟踪失败,首先把当前图像帧转换成图像词袋,检索图像数据库,为全局重定位查找关键帧。然后计算ORB特征和每个关键帧的地图云点的对应关系,最后对每个关键帧执行随机一致性检验(RANdom Sample AndConsensus,RANSAc)迭代
20、计算,用PnP(PerspectivenPoint)算法估计KINEcT位姿。一旦估计获得NECT的位姿,就可以恢复跟踪模块。12构建局部地图为了构建环境的三维地图,系统在KINEcT获得的视频帧中提取合适的关键帧。利用跟踪模块获得的匹配特征点,估计关键帧之间的匹配关系。一旦匹配有效,就采用BA来优化估计三维地图点位置和关键帧位姿。算法在一个和跟踪线程平行的线程中以较低的频率连续计算匹配和迭代提高地图点的精度。BA最小化关键帧匹配点的重映射误差,r为第i个关键帧的位姿,x。,为第J个三维地图点:rg霉in艺p(P:,舷?P。) (5)其中:p为Huber函数,以为协方差矩阵,B由式(6)、(7
21、)计算获得:ei,=“。,一CamProj(L。,X。,) (6)CamProj(L“,X。):=厂 0 c。 0专耶。卜K, L0 O 1 0J其中:u为第,个地图点在第i个关键帧上的观测;camProj计算了地图点在已知相机位姿上的投影,其定义为式(7),其中六、工、c。、c,为相机内参。当KINEcT到达一个新的区域,那么新的关键帧就会添加到地图中。添加关键帧之后,当前关键帧就会和之前的关键帧建立关联并初始化新的地图点。最初,地图点和关键帧是冗余的,那么需要进一步更为严苛地筛选它们。出现以下情况的地图点就会被剔除:1)这些点在接下来的图像帧中无法跟踪和匹配;2)投影光线通过三角化计算点处
22、于低视差;3)三角测量点会产生的重投影误差较大。这个严格地图点筛选过程保证了构建地图的鲁棒性。为了保证重构地图的简洁性,降低BA过程中的复杂度,检测冗余关键帧并删除它们i在关键帧集中,如果一个关键帧的90的地图点至少在其他的三个关键帧中被检测到,那么则剔除该关键帧。13回环检测为了降低视觉里程计过程中的积累误差,利用各关键帧的相互关联性进行有效的闭合回环,在本质视图上优化位姿。这样就可以将累计的误差分散到位姿图中,并通过相似变换矫正尺度偏移。通过回环检测优化位姿之后,根据优化后的关键帧矫正地图点云。首先计算关键帧K的词袋和其数据关联视图附近关键帧的相似度,并提出相似度较低的关键帧,同时删除和K
23、直接连接的关键帧,最终获得闭合回环。然后当闭合回环达到一定程度时,利用通用图优化框架(GeneralGmph optimization,G20)优化回环位姿图,如图3所示。最后更新地图点,融合重复的地图点。位姿图优化公式如下:强,蹬?善(P“w)其中P。由式(9)计算获得:(8)口。=log。(3)(x。x。,x:。) (9)其中:x是位姿瓦,到位姿x。的相似变换,log。州,)将转移矩阵的位姿误差映射到7维欧氏空间R7,。为边的信息矩阵。图3回环检测位姿图Fig3 Pose graph of loop detectio“2 三维稠密地图快速构建在0RB-SLAM系统中,其构建的是三维稀疏特征
24、地图,分辨率极低,无法在实际的机器人领域中应用,如机器人导航、路径规划等。为了克服这一不足之处,本文提出了利用深度摄像头KINEcT作为传感器设备来构建三维稠密地图。如果将每一帧的点云都融合到地图中,那么地图的容量会很大,从而降低了系统实时性能。由于机器人在运动过程中相邻图像帧具有连续性。即相邻帧的位姿在空间上变化较小,提出了空间域上的关键帧提取方法来筛选合适的图像帧,并引入子地图法进一步减少构建地图的时间,由此来提高算法的速度。l(INECT摄像头由彩色相机和深度传感器组成,其中深度传感器由红外发射器和红外接收器两部分构成,如图4所示。彩色相机可以获得每个像素点的RGB值即彩色图像,而深度传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 orb slam 室内 机器人 定位 三维 稠密 地图 构建 侯荣波
限制150内