您的位置 首页 主动

ORB-SLAM算法在智能家庭清扫机器人中的使用 

对于家庭智能清扫机器人而言,机器人自我定位与路径规划是其实现智能化、全自动化的理论基础。实时的定位与构图(simultaneous localization and mapping,SLAM)技术可以

作者 张浩瀚1 孙伟伟1 肖琦1 鹿飞2

  1.我国矿业大学徐海学院(江苏 徐州 221000)2.上海东软载波微电子有限公司(上海 200000)

摘要:关于家庭智能打扫机器人而言,机器人自我定位与途径规划是其完结智能化、全自动化的理论基础。实时的定位与构图(simultaneous localization and mapping,SLAM)技能能够很好的处理这个问题。该技能能够运用机器人本身所带着的各式传感器对周围环境进行收集,并运用收集成果递加地创立环境地图,一起运用该地图完结机器人对本身的定位与导航功用。本文将经过评论ORB-SLAM算法体系的履跋涉程,并进行仿真试验,验证该算法在对家庭打扫机器人的自我定位与导航的实用性。

0 导言

  近年来智能家居的开展使得咱们的居家日子变得愈加充溢趣味与功率。可是关于像智能打扫机器人这类室内移动型机器人而言,机器人自行定位和对周边环境的识别是其能否正常高效作业的底子。激光或相机进行实时的定位与构图(simultaneous localization and mapping,SLAM)[1]是一种相比照较完善的移动机器人自主定位的办法,当机器人处于一个不知道的环境中,经过其所带着的图画收集模块对机器人周边的环境进行观测,再递加地构建环境地图,而且经过构建的环境地图对机器人完结实时的定位。

  近年来SLAM算法取得了巨大的开展,从而发生了对单目摄像机支撑度较高的ORB-SLAM算法。ORB-SLAM是由Raul Mur-Artal,J. M. M. Montiel和Juan D. Tardos于2015年宣布在IEEE Transactions on Robotics上。该算法交融了PTAM算法的首要思维以及Strasdat提出的闭环批改办法[1]并选用ORB特征点进行盯梢、构图、重定位、闭环批改以及初始化,而且算法的环境适应力强,对剧烈运动也很鲁棒。正因为ORB-SLAM是依据特征点的SLAM体系,因而其能够实时的核算出相机的运动轨道,而且生成稀少的场景三维重建成果。

1 ORB特征点提取原理

  ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点的提取与描绘的算法。ORB算法一般分为两部分,别离是特征点提取和特征点描绘。

  特征点提取是由FAST(Features from Accelerated Segment Test)算法开展而来的,即为OFAST(FAST Key pointOrientation)也便是说在运用FAST提取特征点之后再给特征点界说一个方向,以此来完结特征点的旋转不变性。一般是运用灰度质心法来核算以特征点为圆心半径为r的圆形范畴规模内的灰度质心的方位,并依据从中心方位到质心方位的向量来界说该特征点的主方向。

  界说矩的核算公式为:

(1)

  在上式中I(x,y)为图画的灰度表达式,则该矩质心为:

(2)

  假设点坐标为O,则向量角即为该特征点的方向。核算公式为:

(3)

  特征点描绘则是依据BRIEF(Binary Robust Independent Elementary Features)特征描绘算法改从而来的。BRIEF为了处理旋转不变性将特征点的Patch旋转至主方向上(steered BRIEF)。具体操作进程不再赘述。

  ORB的特征点检测法则是将FAST特征点检测法同BRIEF特征描绘算法彼此结合起来并加以改善与优化。

2 ORB-SLAM算法原理

  ORB-SLAM算法一般运用三个线程别离进行追寻(Tracking)、地图构建(LocalMapping)和闭环检测(LoopClosing)。如图1所示。

  2.1 追寻阶段

  在摄像头输入图画帧之后的追寻阶段一般分为以下几步进行运转,即ORB特征提取、帧间初始姿势估量/重定位、姿势优化、选取新的关键帧[2]。

  2.1.1 初始姿势估量/重定位

  ORB-SLAM在初始姿势估量部分首要运用了以下几种运动模型(Tracking with motion model)、关键帧(Tracking with reference key frame)和重定位(Relocation)[3]

  运动模型的实质在于运用上一帧的位姿与速度来估量当时帧的位姿,而上一帧的速度则是由前面几帧的位姿核算得出的。因为运动模型的核算实质束缚,运动模型一般适用于相关于机器人来说匀速运动的物体。可是假如是运动相对随意的方针该模型就会失效,这个时分体系就会运用关键帧与重定位了。假如运动模型无法满意条件时,体系会测验和间隔当时帧最近的一个关键帧去进行匹配,在ORB-SLAM中运用了BOW(Bag of Words)来加快关键帧与当时帧的匹配。假如当时帧与邻近帧的匹配也失效的话,则阐明此刻的当时帧现已丢掉,所以无法经过上述办法确认机器人的实在方位。这个时分就只能去与一切的关键帧进行匹配,以此来查找适宜的方位。

  2.1.2 姿势优化

  在初始姿势的估量进行完毕之后便是进行姿势优化,便是在当时帧与地图之间尽可能多的查找对应联系,来对当时帧的位姿进行优化。位姿优化对错关键帧姿势估量的准确度与鲁棒性的确保。

  2.1.3 选取关键帧

  当追寻阶段完结之后首要对运动模型进行更新,而且经过之前的核算咱们得到一个对机器人位姿的初始估量,之后经过投影从现已生成的地图点中找到更多的对应联系对成果进行准确化。因为大局图中进行投影的较为杂乱,一般只是在部分图中进行投影。

  将部分地图中和当时帧相类似的点关键帧序列称为K1,在Covisibility Graph中与K1相邻的关键帧序列称为K2。部分地图有意者参阅关键帧Kref∈K1,该关键帧具有和当时帧最多的一起地图云点。

  为了查找K1、K2可见的每个地图云点咱们首要将地图点对当时帧进行投影,假使超出了图画的规模就将其放弃;之后核算当时视野方向向量v与地图点云均匀视野方向的方向向量n的夹角,放弃n-v

  2.2 地图构建阶段

  当追寻完结之后咱们能够得到一个新关键帧Ki,接下来将依据Ki进行部分建图。在部分建图一般包含关键帧刺进,冗余地图点和关键帧除掉以及部分集束调整等进程。

  2.2.1 关键帧的刺进

  将由追寻阶段所得到的关键帧Ki作为新的节点参加Covisibility Graph,一起对关键帧Ki的成长树和能够同享地图点的关键帧节点彼此衔接的边进行更新,并核算表明关键帧的词袋BOW。之后依据核算词袋的成果将地图点整合到新的关键帧之后,对Covisibility Graph进行更新,把新的关键帧刺进Map中。

  2.2.2 冗余地图点的除掉

  为了确保地图点可追寻,且不易在三角化时呈现较大的差错,则需要在创立点云的前三帧进行束缚测验,经过的地图点才能够真实的被保存。一般一个点一起满意:该点应当在能够调查到该点的关键帧中,而且应有超越25%的关键帧能够对该点进行盯梢。若要构建该点为地图点则它有必要被超越两个关键帧调查到(硬件假如是双目摄像头则为三个关键帧)。当地图点被少于三个关键帧能够调查届时该点就会被当作冗余点除掉。这样有用的避免了外点影响作用。

  2.2.3 新的地图点创立

  经过检测到的ORB特征点,查找Covisibility Graph中与之相连的关键帧Kc,匹配办法则是上文中说到的束缚测验的办法进行挑选匹配,而且将不满意要求的点悉数放弃。对ORB特征点进行三角化之后查看正向的景深、视差、反投影差错以及标准一致性,假如无误即可得到地图点。一般一个地图点由两个关键帧所调查得到的,而且它也能够投影到与之相连的其他关键帧中,此刻为了得到更多的地图点一般算法会运用追寻部分地图的办法来在邻近的关键帧中找到能够与之匹配的关键帧。

  2.2.4 部分集束调整

  部分集束调整便是将当时处理的关键帧Ki进行优化,一般参加优化的关键帧只参加优化中的束缚,并不作为变量去改动值。一起优化时发生的外点会在优化的中后期进行除掉。

  2.2.5 部分关键帧的除掉

  为了操控地图重建的紧凑度,在这一阶段会检测并除掉冗余的关键帧,这样能够有力的操控因为关键帧数目添加之后集束调整的杂乱程度。

  在完毕完这一系列进程之后,关键帧会被记录到数据库列表中,并将标志设置为Set Accept Key Frames(true)以答应追寻线程能够持续得到关键帧。自此完结部分地图构建的悉数作业。

  2.3 闭环检测线程

  在实践运用情况下即便在之前的进程中咱们也运用了比如集束调整等办法去消减差错,但随着运转时刻的添加仍然会存在累积差错[5]。消除累积差错最为有用的办法是对之前运转得出的成果进行闭环检测。

  首要算法会进行闭环条件检测,核算出当时关键帧与Covisibility Graph中与其相连的关键帧之间的词袋(BOW)的类似度。一般运用DBoW2库进行闭环条件检测。

  之后算法将进行Sim3的核算。因为针对一个三维的点而言,单目相机不能对其在三角化中的具体方位进行确认。因而单目SLAM是一个Sim3的类似改换群,具有7个自由度,即为[sR|t]。

  接下来是对重复呈现的点云进行闭环交融,一起在Covisibility Graph中刺进新的边,衔接闭环。

  最终对上述所得到的位姿图用实质图(Essential Graph)进行优化,将闭环的差错进行涣散,确保闭环检测的准确性。

3 试验测验

  为了验证ORB-SLAM在扫地机器人上进行自我定位的实用性,咱们运用了单目摄像头与树莓派3渠道进行了搭载ORB-SLAM2体系。

  试验进程:将搭建好的扫地机器人渠道放在一个简略模仿家居环境中,并操作使其对周围的环境图画进行收集并生成一个稀少的三维环境地图以及机器人跋涉轨道。将地图传回PC机并与实践地势进行比照。

4 定论

  依据上述试验成果来看,ORB-SLAM在试验渠道上能够很好的完结机器人的自我定位与导航。这验证了ORB-SLAM在扫地机器人上推行运用的可行性。一起减少了日后扫地机器人进行视觉定位与导航的本钱,大大加快了扫地机器人真实遍及千家万户的脚步。 

  参阅文献:

  [1]周绍磊,吴修振,刘刚,等.一种单目视觉ORB-SLAM/INS组合导航办法[J].我国惯性技能报,2016,24(5):633-637.

  [2]林连秀,叶芸,姚剑敏,等.依据ORB-SLAM的移动机器人嵌入式完结与优化[J].微机与运用,2017,36(5):50-53.

  [3]刘浩敏,章国锋,鲍虎军.依据单目视觉的一起定位与地图构建办法总述[J].核算机辅助设计与图形学学报,2016,28(6):855-867.

  [4]高翔,张涛,刘毅,等.视觉SLAM十四讲 从理论到实践[M].北京:电子工业出版社,2017,3.

  [5]刘浩敏,章国锋,鲍虎军.面向大标准场景的单目一起定位与地图构建[J].我国科学,2016,46(12):1748-1761.

  本文来源于《电子产品世界》2018年第9期第40页,欢迎您写论文时引证,并注明出处。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/138530.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部