CN117053779A - 一种基于冗余关键帧去除的紧耦合激光slam方法及装置 - Google Patents

一种基于冗余关键帧去除的紧耦合激光slam方法及装置 Download PDF

Info

Publication number
CN117053779A
CN117053779A CN202310913548.4A CN202310913548A CN117053779A CN 117053779 A CN117053779 A CN 117053779A CN 202310913548 A CN202310913548 A CN 202310913548A CN 117053779 A CN117053779 A CN 117053779A
Authority
CN
China
Prior art keywords
point cloud
points
point
cloud data
acquiring
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
Application number
CN202310913548.4A
Other languages
English (en)
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.)
University of Science and Technology Beijing USTB
Shunde Innovation School of University of Science and Technology Beijing
Original Assignee
University of Science and Technology Beijing USTB
Shunde Innovation School of University of Science and Technology Beijing
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 University of Science and Technology Beijing USTB, Shunde Innovation School of University of Science and Technology Beijing filed Critical University of Science and Technology Beijing USTB
Priority to CN202310913548.4A priority Critical patent/CN117053779A/zh
Publication of CN117053779A publication Critical patent/CN117053779A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于冗余关键帧去除的紧耦合激光SLAM方法及装置,涉及同时定位与地图构建技术领域。包括:获取雷达点云数据,对点云数据进行预处理,得到预处理后的点云数据;对预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征;对点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计;通过环境信息获取动态阈值,根据动态阈值对关键帧进行筛选;对筛选后的关键帧进行回环检测;回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。本发明解决了目前SLAM算法关键帧选择策略过于简单,回环误检以及冗余关键帧数量太多而导致算法精度和效率较低的问题。

Description

一种基于冗余关键帧去除的紧耦合激光SLAM方法及装置
技术领域
本发明涉及同时定位与地图构建技术领域,尤其涉及一种基于冗余关键帧去除的紧耦合激光SLAM方法及装置。
背景技术
在人工智能技术蓬勃发展的时代,随着机器人技术的迅猛发展,机器人从走进我们的生活慢慢变成了充满了我们的生活,各种服务型室内机器人和室外机器人更是引起人们广泛的关注。在工业生产中,移动机器人可以代替人去完成更多繁杂且高精度的任务,而且不会受限于体能,能将人为因素的影响降到最低,给生产生活带来更多便利。
无论是室内还是室外的移动机器人,他们的普及还有许多亟待解决的问题,如对地图的精确建模,对机器人在场景中的位置进行精确定位,此外还有机器人的路径实时规划问题等。
室外定位导航可以使用GPS,但在室内这个问题就变得较为复杂,同时,在室外一些没有信号或者信号不好的位置环境中,GPS也将失效。为了解决这些问题,SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)技术脱颖而出,也得到了更高的关注度,显而易见,SLAM技术由两部分组成,一个是定位,一个是建图,它是指搭载特定传感器的无人车或者其他设备,在一个陌生的,没有环境先验信息的情况下,在载体运动过程中,同步建立环境模型,同时估计自己的运动。
相对于视觉SLAM,激光SLAM技术更为成熟,可靠性更高,LOAM(Lidar OdometryAnd Mapping)算法的提出奠定了激光SLAM发展的基调,LOAM的框架主要分为前端雷达里程计,后端优化,回环检测,建图与定位几个主要模块,通过对数据预处理,提取特征,然后采用ICP(Iterative Closest Point,最近点迭代)算法进行帧与帧的配准获得雷达里程计,后端回环检测寻找机器人经过的同一个地方,构建约束进行优化,提高当前数据与历史数据的关联性,消除SLAM系统运行过程中出现的累计误差,构建全局一致的轨迹和地图。
激光SLAM中,常用的回环检测方式是构建关键帧,将关键帧中的位姿进行存储,以固定频率进行回环检测,每次处理最新的关键帧,通过KD-Tree寻找历史关键帧中距离和时间满足条件的一个关键帧,确立回环。回环确立之后,构建局部地图,与当前关键帧进行ICP匹配求解位姿变换。
发明内容
本发明针对如何实现精准高效的激光SLAM系统的问题,提出了本发明。
为解决上述技术问题,本发明提供如下技术方案:
一方面,本发明提供了一种基于冗余关键帧去除的紧耦合激光SLAM方法,该方法由电子设备实现,该方法包括:
S1、获取雷达点云数据,对点云数据进行预处理,得到预处理后的点云数据。
S2、对预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征。
S3、对点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计。
S4、通过环境信息获取动态阈值,根据动态阈值对关键帧进行筛选。
S5、对筛选后的关键帧进行回环检测。
S6、回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。
可选地,S1中的获取雷达点云数据,对点云数据进行预处理,得到预处理后的点云数据,包括:
S11、对惯性测量单元IMU预计进行预积分,获得机器人的位姿变化,根据位姿变化得到点云数据中每个点相对于起始扫描时刻的位姿,并进行运动补偿,输出IMU里程计。
S12、对运动补偿后的点云数据进行地面点分割,输出经过地面点分割后的点云数据。
可选地,S2中的对预处理后的点云数据进行曲率计算,如下式(1)所示:
其中,S表示点附近指定数量的点,/>表示第k次扫描的坐标系为L,点云中的第j个点在L中的位置,/>表示第k次扫描的坐标系为L,点云中的第i个点在L中的位置。
可选地,S2中的对预处理后的点云数据进行曲率计算之后,还包括:
剔除与激光方向平行的点以及被遮挡的点。
剔除点后,根据计算的曲率的大小对点云进行排序,将曲率大于阈值1的点作为角点,将曲率小于阈值0.2的点作为面点,将角点和面点以ikd-tree数据结构进行存储和搜索。
可选地,S3中的对点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计,包括:
S31、对当前帧位姿进行初始化,获取局部地图和当前帧点云。
S32、通过最近点迭代ICP算法对当前帧位姿进行匹配优化。
S33、判断匹配优化后的当前帧是否为关键帧,如果是,则执行因子图优化,更新因子图中所有变量节点的位姿,并更新雷达里程计轨迹。
可选地,S4中的通过环境信息获取动态阈值,根据动态阈值对关键帧进行筛选,包括:
S41、通过环境信息获取动态阈值。
S42、获取当前帧的角点和面点的特征个数,判断特征个数是否大于或等于动态阈值,若是,则获取机器人当前帧与上一关键帧的位姿变化,如果位姿变化超过设定位姿变化阈值,则确立新关键帧;若否,则结束判断。
可选地,S41中的动态阈值,如下式(2)所示:
其中,dkey表示历史关键帧的距离,dmid表示点云激光点深度的中位数。
可选地,S5中的对筛选后的关键帧进行回环检测,包括:
S51、对筛选后的关键帧中的每一帧关键帧创建点云描述符。
S52、对点云描述符进行点云描述符计算,从计算的点云描述符中提取一个N维向量,根据N维向量进行相近的关键帧搜索,将搜索得到的关键帧的点云描述符和当前关键帧的点云描述符进行比较,如果比较结果高于预设点云描述符阈值,则找到回环。
S53、找到回环后进行后端因子图优化。
可选地,S6中的采用ERASOR算法去除动态点,包括:
S61、获取建立的包含动态物体的点云地图,播放点云地图中每一帧原始点云,将原始点云和相应的子图按同样的方式划分为多个格子,并对每个格子计算表示点云分布的描述子。
S62、获取原始点云与子图的同一个格子的描述子的比值,将比值小于预设描述子阈值的格子标记为疑似动态区域。
S63、在疑似动态区域中拟合出地平面,将地平面上的点作为动态点进行滤除。
另一方面,本发明提供了一种基于冗余关键帧去除的紧耦合激光SLAM装置,该装置应用于实现基于冗余关键帧去除的紧耦合激光SLAM方法,该装置包括:
预处理模块,用于获取雷达点云数据,对点云数据进行预处理,得到预处理后的点云数据。
曲率计算模块,用于对预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征。
关键帧获取模块,用于对点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计。
筛选模块,用于通过环境信息获取动态阈值,根据动态阈值对关键帧进行筛选。
回环检测模块,用于对筛选后的关键帧进行回环检测。
输出模块,用于回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。
可选地,预处理模块,进一步用于:
S11、对惯性测量单元IMU预计进行预积分,获得机器人的位姿变化,根据位姿变化得到点云数据中每个点相对于起始扫描时刻的位姿,并进行运动补偿,输出IMU里程计。
S12、对运动补偿后的点云数据进行地面点分割,输出经过地面点分割后的点云数据。
可选地,对预处理后的点云数据进行曲率计算,如下式(1)所示:
其中,S表示点附近指定数量的点,/>表示第k次扫描的坐标系为L,点云中的第j个点在L中的位置,/>表示第k次扫描的坐标系为L,点云中的第i个点在L中的位置。
可选地,曲率计算模块,进一步用于:
剔除与激光方向平行的点以及被遮挡的点。
剔除点后,根据计算的曲率的大小对点云进行排序,将曲率大于阈值1的点作为角点,将曲率小于阈值0.2的点作为面点,将角点和面点以ikd-tree数据结构进行存储和搜索。
可选地,关键帧获取模块,进一步用于:
S31、对当前帧位姿进行初始化,获取局部地图和当前帧点云。
S32、通过最近点迭代ICP算法对当前帧位姿进行匹配优化。
S33、判断匹配优化后的当前帧是否为关键帧,如果是,则执行因子图优化,更新因子图中所有变量节点的位姿,并更新雷达里程计轨迹。
可选地,筛选模块,进一步用于:
S41、通过环境信息获取动态阈值。
S42、获取当前帧的角点和面点的特征个数,判断特征个数是否大于或等于动态阈值,若是,则获取机器人当前帧与上一关键帧的位姿变化,如果位姿变化超过设定位姿变化阈值,则确立新关键帧;若否,则结束判断。
可选地,动态阈值,如下式(2)所示:
其中,dkey表示历史关键帧的距离,dmid表示点云激光点深度的中位数。
可选地,回环检测模块,进一步用于:
S51、对筛选后的关键帧中的每一帧关键帧创建点云描述符。
S52、对点云描述符进行点云描述符计算,从计算的点云描述符中提取一个N维向量,根据N维向量进行相近的关键帧搜索,将搜索得到的关键帧的点云描述符和当前关键帧的点云描述符进行比较,如果比较结果高于预设点云描述符阈值,则找到回环。
S53、找到回环后进行后端因子图优化。
可选地,输出模块,进一步用于:
S61、获取建立的包含动态物体的点云地图,播放点云地图中每一帧原始点云,将原始点云和相应的子图按同样的方式划分为多个格子,并对每个格子计算表示点云分布的描述子。
S62、获取原始点云与子图的同一个格子的描述子的比值,将比值小于预设描述子阈值的格子标记为疑似动态区域。
S63、在疑似动态区域中拟合出地平面,将地平面上的点作为动态点进行滤除。
一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述基于冗余关键帧去除的紧耦合激光SLAM方法。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述基于冗余关键帧去除的紧耦合激光SLAM方法。
上述技术方案,与现有技术相比至少具有如下有益效果:
上述方案,公开了一种基于冗余关键帧去除的紧耦合激光SLAM方法采用自适应阈值来进行关键帧筛选,相比依据机器人移动超过设定阈值的方法,一方面,这种策略更具有普适性,能应对不同的场景,减少回环误判;另一方面,减少了对冗余关键帧的提取,释放内存压力,提升算法运行的精度和速度,有效提升算法实时性。
在前端加入地面分割模块,减少点云特征提取时的计算量以及地面点对特征提取、配准的影响。使用ikd-tree的数据结构对角点和面点进行存储,提高精度和速度。在后端加入SC描述符的回环检测方式,使得回环检测的效率和准度更高,提高系统的精度和鲁棒性,最后使用ERASOR方法去除动态点云,优化系统建图效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于冗余关键帧去除的紧耦合激光SLAM方法流程示意图;
图2是本发明实施例提供的基于冗余关键帧去除的紧耦合激光SLAM方法流程图;
图3是本发明实施例提供的地面点提取方法示意图;
图4是本发明实施例提供的关键帧筛选流程图一;
图5是本发明实施例提供的关键帧筛选流程图二;
图6是本发明实施例提供的回环检测流程图;
图7是本发明实施例提供的基于冗余关键帧去除的紧耦合激光SLAM装置框图;
图8是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于冗余关键帧去除的紧耦合激光SLAM方法,该方法可以由电子设备实现。如图1所示的基于冗余关键帧去除的紧耦合激光SLAM方法流程图,该方法的处理流程可以包括如下的步骤:
S1、获取雷达点云数据,对点云数据进行预处理,得到预处理后的点云数据。
可选地,上述步骤S1可以包括如下步骤S11-S12:
S11、对惯性测量单元IMU预计进行预积分,获得机器人的位姿变化,根据位姿变化得到点云数据中每个点相对于起始扫描时刻的位姿,并进行运动补偿,输出IMU里程计。
一种可行的实施方式中,对雷达输入的点云数据进行预处理,通过IMU(InertialMeasurement Unit,惯性测量单元)数据对雷达点云作畸变矫正,同时输出IMU里程计。
其中,步骤S11中IMU预积分的具体公式为:
a=Rbw(at-g)+ba+na (1)
ω=ωt+bω+nω (2)
其中,a表示加速度,ω表示角速度,是受缓慢变化的偏置b和白噪声n影响的,Rbw是从世界坐标系W到机器人本体坐标系B的的旋转矩阵,g是在W坐标系下固定的重力向量。IMU可以获得当前时刻的角速度和加速度值,通过该值可以对系统状态(位置,速度,姿态)进行推算,连续两个关键帧bk,bk+1之间的状态传递公式如下:
一方面,IMU预积分约束可以与其他约束一起构建优化问题,另一方面,通过IMU预积分可以去除运动畸变,运动补偿就的目的就是把所有的点云补偿到某一个时刻,这样就可以把本身在过去一段时间内收集的点云统一到一个时间点上去。常见的是补偿到起始时刻,如下:
Pstart=Tstart_current*Pcurrent (6)
所以需要知道每个点时刻对应的位姿,如果有高频里程计,就可以比较方便地获取每个点相对起始扫描时刻的位姿;如果有IMU,可直接求出每个点对于起始点的位姿;如果没有其他传感器,可以使用匀速模型假设,使用上一帧历程计的结果,作为两帧之间的运动,同时假设当前帧也是匀速运动,也可以估计出每个点相对起始时刻的位姿。
S12、对运动补偿后的点云数据进行地面点分割,输出经过地面点分割后的点云数据。
一种可行的实施方式中,对点云数据进行地面点分割和动态点去除,地面点不参与特征提取,减少点云特征提取时处理的数据量,增加地面约束以提高后续配准精度。
具体地,IMU预积分也将参与到点云动态点的去除当中,通过IMU里程计获得初始位姿,然后使用IMU预积分和帧图匹配之间的误差来确定初始分辨率,然后使用此初始分辨率从当前激光雷达扫描和相应的子图中分别构建距离图像。构建距离图像之后通过比较它们之间的能见度来去除子图的大部分动态点。
地面分割方法如图3所示,相邻的两个扫描线束的同一列打在地图上的AB点,通过计算他们的垂直高度差h,水平距离差d,得到一个角度,理想的纯平地面角度为0,但是考虑到设备并不可能绝对水平,地面也不可能绝对水平,所以这个角度会略大于零,如果是在城市一些平坦的公路上,这个值可以设为5度。垂直高度差、水平距离差以及角度的计算公式如下:
h=|z0-z1| (7)
θ=atan2(h,d) (9)
通过计算得到的角度θ与阈值对比,若小于阈值,则将该点标记为地面点。
S2、对预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征。
一种可行的实施方式中,首先订阅去除运动畸变并进行地面分割的雷达点云数据,然后计算点云数据每个点的曲率,计算公式为:
其中,S表示点附近指定数量的点,/>表示第k次扫描的坐标系为L,点云中的第j个点在L中的位置,/>表示第k次扫描的坐标系为L,点云中的第i个点在L中的位置。
可选地,S2中的对预处理后的点云数据进行曲率计算之后,还包括:
剔除与激光方向平行的点以及被遮挡的点。
剔除点后,根据计算的曲率的大小对点云进行排序,将曲率大于阈值1的点作为角点,将曲率小于阈值0.2的点作为面点,将角点和面点以ikd-tree数据结构进行存储和搜索。
一种可行的实施方式中,计算完曲率之后剔除与激光方向平行或者被遮挡的激光点,首先提取当前点和下一个点的深度值,判断两点是否在同一ring(扫描线)上,如果两点在同一个扫描线上,获取两个点的深度进行对比,深度大的点被深度小的点所遮挡深度大的点不参与后续的特征提取。再计算当前点与前后相邻两点的深度差,判断当前点是否在与激光帧平行的平面上,如果当前点与前一个点的深度差以及后一个点的深度差均大于阈值,则说明这条直线或这个平面基于与激光帧平行,故去除该点。
进一步地,根据计算得出的点云曲率从大到小对点云进行排序,与阈值相比进行角点和面点的提取,提取出的角点和面点以ikd-Tree的数据结构进行存储和搜索。
S3、对点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计。
可选地,上述步骤S3可以包括如下步骤S31-S33:
S31、对当前帧位姿进行初始化,获取局部地图和当前帧点云。
S32、通过最近点迭代ICP算法对当前帧位姿进行匹配优化。
其中,IMU预积分提供初值。
S33、判断匹配优化后的当前帧是否为关键帧,如果是,执行因子图优化更新因子图中所有变量节点位姿,也就是所有历史关键帧的位姿,更新里程计轨迹。
一种可行的实施方式中,通过Scan-to-Map的方式对提取的特征进行配准,IMU预积分为点云配准提供了初值,然后输出雷达里程计。
其中,ICP算法的公式如下:
其中R表示旋转矩阵,t表示平移矩阵,pi表示待配准的特征点,对待配准的点进行误差计算,然后构建最小二乘问题,求使误差平方和达到最小的位姿R和t。
S4、通过环境信息获取动态阈值,根据动态阈值对关键帧进行筛选。
可选地,上述步骤S4可以包括如下步骤S41-S42:
S41、通过环境信息获取动态阈值。
S42、获取当前帧的角点和面点的特征个数,判断特征个数是否大于或等于动态阈值,在本实例中该阈值设置为100,若是,则获取机器人当前帧与上一关键帧的位姿变化,如果位姿变化超过设定位姿变化阈值,则确立新关键帧;若否,则结束判断。
一种可行的实施方式中,如图4、5所示,原有关键帧提取的方案一般是从距离和角度变化来确定,若机器人移动距离超过1m或移动角度超过0.2°,就确定新关键帧。本发明中通过动态阈值来减少多余关键帧的确立,节省计算资源。
进一步地,通过前几个关键帧之间的位姿变换和点云深度的中位数来确定机器人所处的环境是开阔还是狭窄,在变换较快的小场景降低阈值,提高关键帧提取频率,在大场景提高阈值,降低提取频率。其中,阈值由点云深度、历史关键帧之间的间距确定,通过对当前场景开阔程度以及历史关键帧之间距离的加权和进行计算来确定动态阈值,通过动态值来确定场景阈值,将场景分为开阔场景,较开阔场景,较狭窄场景,狭窄场景,分别对应四个阈值,将计算出的当前帧与相应场景阈值进行比较,若场景小就加快提取频率,场景开阔就减少频率。
其中,自适应阈值计算公式如下:
其中,dkey表示历史关键帧的距离,dmid表示点云激光点深度的中位数。dkey由过去三个历史关键帧的之间的距离计算均值得到,采用滑动窗口的方法。通过计算AD的值来对当前场景进行判断,AD越大则表示当前场景越开阔,对于开阔场景,阈值D设置为2m,即机器人移动距离超过2m才能确认新关键帧;对于较开阔场景,阈值D设置为1.5m,即机器人移动距离超过1.5m才能确认新关键帧;对于较狭窄场景,阈值D设置为1m,即机器人移动距离超过1m才能确认新关键帧;对于狭窄场景,阈值D设置为0.5m,即机器人移动距离超过0.5m才能确认新关键帧。
S5、对筛选后的关键帧进行回环检测。检测到系统产生回环之后,后端构建约束进行因子图优化减少累积误差。
可选地,上述步骤S5可以包括如下步骤S51-S53:
S51、对筛选后的关键帧中的每一帧关键帧创建点云描述符。
一种可行的实施方式中,对关键帧进行点云描述符的创建首先需要将采集到的激光点云沿着方位角方向分割成一个个扇区。沿着径向方向,将点云分割成一个个ring。一个sector和一个ring的交集称之为bin。可以设置分辨率为6°,那么就可以分成60个扇区,径向从0至250m分为25个ring,然后通过统计每个bin中点云的最大z方向值,来形成一个scancontext描述子。相当于将一个三位图像数据进行压缩处理变成一个二维的60*25的矩阵。从这种划分方式不难发现,距离较远的bin相比于距离较近的bin会稍微宽一点。这样划分的好处是可以自动对不同距离的点云密度进行动态调节。对于距离较近的地方通常点云密度会高一点,因此我们的bin取窄一点,而相反,对于较远的地方,点云会比较稀疏。因此bin取宽一点可以容纳更多点。SC描述子将单帧点云数据转化为一个二维矩阵,矩阵内的数值为对应的bin内激光点的最大高度值。
S52、对点云描述符进行点云描述符计算,从计算的点云描述符中提取一个N维向量,根据N维向量进行相近的关键帧搜索,将搜索得到的关键帧的点云描述符和当前关键帧的点云描述符进行比较,如果比较结果高于预设点云描述符阈值,则找到回环。
一种可行的实施方式中,如图6所示,对传入的单帧点云进行点云描述符的计算,然后,从该帧点云的SC(Scan Context,点云描述符)中提取出一个N维向量(和环数一致)用于在KD树中搜索相近的关键帧,将搜索得到的参考帧的SC和待匹配的当前帧进行比较,如果比较得分高于一定阈值则认为找到回环。
其中,相似度的公式为:
两个Scan-Context分别是Iq,Ic,相似度是每一列的对比之和,余弦距离作为计算其中列向量的方法(注意:相似度越高余弦距离越小)。Ns是列数,也就是一个描述子中Sector的数量。
将Ic沿列方向平移n个单位为那么可以遍历移动这个列向量Ns次,得到每次移动后的相似度的结果,取最小值为Iq,Ic的相似度:
从理论上来说,使用当前帧Scan-Context遍历搜索一定可以找到,但是从效率方面考虑这一方法不可取,故引入了Ring-Key的方式。
具体表示为一维数组k,数组中每个元素为第i个Ring的编码值,从原点开始由近到远开始建立。
下面为的表达式,其中||ri||0表示ri中的非零个数。
这种方式相当于将原来的二维数组搜索降为以一维,对数据先进性压缩降维处理再搜索,直接对二维数组进行搜素更加高效。
S53、找到回环后进行后端因子图优化。
一种可行的实施方式中,后端因子图优化,调用GTSAM库,添加里程计因子,IMU因子,回环因子,进行优化,得到优化后的位姿和累计的方差,进行完一次图优化后,改变的不单单是当前帧的位姿,其他节点的位姿也可能变化,所以需要将位姿重新更新。
S6、回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。
可选地,S6中的采用ERASOR算法去除动态点,包括:
S61、获取建立的包含动态物体的点云地图,播放点云地图中每一帧原始点云,将原始点云和相应的子图按同样的方式划分为多个格子,并对每个格子计算表示点云分布的描述子。
一种可行的实施方式中,传入数据,即通过SLAM系统建立的包含动态物体的点云地图,播放每一帧原始点云(scan),将scan和相应的子图(submap)按同样的方式划分为每个格子(bin)并计算一个表示点云分布的描述子。
具体地,在本实例中,只考虑距离原点60m半径范围内,-1米到+4米高度区间内的空间,在这个空间内,将来点云数据按照角度和半径分为一个一个的栅格,角度取6°,距离取1m,对每个格子内的点云计算z向的高度差,也就是描述子。
S62、获取原始点云与子图的同一个格子的描述子的比值,将比值小于预设描述子阈值的格子标记为疑似动态区域。
一种可行的实施方式中,对比scan与submap同一个bin的描述子,如果描述子值之比小于阈值,该bin则被标记为疑似动态区域。
S63、在疑似动态区域中拟合出地平面,将地平面上的点作为动态点进行滤除。
一种可行的实施方式中,在疑似区域中拟合出地平面,拟合地面点的具体方法是先选出高频度最低的若干个点作为种子点,向上进行3次区域生长,找出的点为地面点,然后用PCA主成分分析法计算地面点云的特征值和特征向量,特征值最小的特征向量最有可能是地面的法向量,据此算出地平面的平面方程,最后将地平面上的点作为动态点滤除。
当前回环检测方式在室外累计漂移大的情况下容易失效。相对于传统的回环检测的方法,本发明使用一种点云描述符的方式来进行回环检测,基于3D点云的重定位和场景识别,主要思想是将场景三维信息进行压缩,将笛卡尔坐标系的信息转换到极坐标系下计算,此策略的优势是高效利用场景点云分布特征,引入“旋转不变性”描述子进行快速搜索。
在激光SLAM算法中,由于关键帧插入频率过快,会导致冗余信息快速增加,消耗过多计算资源,本发明提出一种改进的关键帧筛选策略,在不失精确性和鲁棒性的前提下,降低关键帧信息的冗杂度,缩短后端因子图优化的时间,提升算法处理的速度和精度。
本发明实施例中,公开了一种基于冗余关键帧去除的紧耦合激光SLAM方法采用自适应阈值来进行关键帧筛选,相比依据机器人移动超过设定阈值的方法,一方面,这种策略更具有普适性,能应对不同的场景,减少回环误判;另一方面,减少了对冗余关键帧的提取,释放内存压力,提升算法运行的精度和速度,有效提升算法实时性。
在前端加入地面分割模块,减少点云特征提取时的计算量以及地面点对特征提取、配准的影响。使用ikd-tree的数据结构对角点和面点进行存储,提高精度和速度。在后端加入SC描述符的回环检测方式,使得回环检测的效率和准度更高,提高系统的精度和鲁棒性,最后使用ERASOR方法去除动态点云,优化系统建图效果。
本发明实施例中,公开了一种基于冗余关键帧去除的紧耦合激光SLAM方法采用自适应阈值来进行关键帧筛选,相比依据机器人移动超过设定阈值的方法,一方面,这种策略更具有普适性,能应对不同的场景,减少回环误判;另一方面,减少了对冗余关键帧的提取,释放内存压力,提升算法运行的精度和速度,有效提升算法实时性。
在前端加入地面分割模块,减少点云特征提取时的计算量以及地面点对特征提取、配准的影响。使用ikd-tree的数据结构对角点和面点进行存储,提高精度和速度。在后端加入SC描述符的回环检测方式,使得回环检测的效率和准度更高,提高系统的精度和鲁棒性,最后使用ERASOR方法去除动态点云,优化系统建图效果。
如图7所示,本发明实施例提供了一种基于冗余关键帧去除的紧耦合激光SLAM装置700,该装置700应用于实现基于冗余关键帧去除的紧耦合激光SLAM方法,该装置700包括:
预处理模块710,用于获取雷达点云数据,对点云数据进行预处理,得到预处理后的点云数据。
曲率计算模块720,用于对预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征。
关键帧获取模块730,用于对点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计。
筛选模块740,用于通过环境信息获取动态阈值,根据动态阈值对关键帧进行筛选。
回环检测模块750,用于对筛选后的关键帧进行回环检测。
输出模块760,用于回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。
可选地,预处理模块710,进一步用于:
S11、对惯性测量单元IMU预计进行预积分,获得机器人的位姿变化,根据位姿变化得到点云数据中每个点相对于起始扫描时刻的位姿,并进行运动补偿,输出IMU里程计。
S12、对运动补偿后的点云数据进行地面点分割,输出经过地面点分割后的点云数据。
可选地,对预处理后的点云数据进行曲率计算,如下式(1)所示:
其中,S表示点附近指定数量的点,/>表示第k次扫描的坐标系为L,点云中的第j个点在L中的位置,/>表示第k次扫描的坐标系为L,点云中的第i个点在L中的位置。
可选地,曲率计算模块720,进一步用于:
剔除与激光方向平行的点以及被遮挡的点。
剔除点后,根据计算的曲率的大小对点云进行排序,将曲率大于阈值1的点作为角点,将曲率小于阈值0.2的点作为面点,将角点和面点以ikd-tree数据结构进行存储和搜索。
可选地,关键帧获取模块730,进一步用于:
S31、对当前帧位姿进行初始化,获取局部地图和当前帧点云。
S32、通过最近点迭代ICP算法对当前帧位姿进行匹配优化。
S33、判断匹配优化后的当前帧是否为关键帧,如果是,则执行因子图优化,更新因子图中所有变量节点的位姿,并更新雷达里程计轨迹。
可选地,筛选模块740,进一步用于:
S41、通过环境信息获取动态阈值。
S42、获取当前帧的角点和面点的特征个数,判断特征个数是否大于或等于动态阈值,若是,则获取机器人当前帧与上一关键帧的位姿变化,如果位姿变化超过设定位姿变化阈值,则确立新关键帧;若否,则结束判断。
可选地,动态阈值,如下式(2)所示:
/>
其中,dkey表示历史关键帧的距离,dmid表示点云激光点深度的中位数。
可选地,回环检测模块750,进一步用于:
S51、对筛选后的关键帧中的每一帧关键帧创建点云描述符。
S52、对点云描述符进行点云描述符计算,从计算的点云描述符中提取一个N维向量,根据N维向量进行相近的关键帧搜索,将搜索得到的关键帧的点云描述符和当前关键帧的点云描述符进行比较,如果比较结果高于预设点云描述符阈值,则找到回环。
S53、找到回环后进行后端因子图优化。
可选地,输出模块760,进一步用于:
S61、获取建立的包含动态物体的点云地图,播放点云地图中每一帧原始点云,将原始点云和相应的子图按同样的方式划分为多个格子,并对每个格子计算表示点云分布的描述子。
S62、获取原始点云与子图的同一个格子的描述子的比值,将比值小于预设描述子阈值的格子标记为疑似动态区域。
S63、在疑似动态区域中拟合出地平面,将地平面上的点作为动态点进行滤除。
本发明实施例中,公开了一种基于冗余关键帧去除的紧耦合激光SLAM方法采用自适应阈值来进行关键帧筛选,相比依据机器人移动超过设定阈值的方法,一方面,这种策略更具有普适性,能应对不同的场景,减少回环误判;另一方面,减少了对冗余关键帧的提取,释放内存压力,提升算法运行的精度和速度,有效提升算法实时性。
在前端加入地面分割模块,减少点云特征提取时的计算量以及地面点对特征提取、配准的影响。使用ikd-tree的数据结构对角点和面点进行存储,提高精度和速度。在后端加入SC描述符的回环检测方式,使得回环检测的效率和准度更高,提高系统的精度和鲁棒性,最后使用ERASOR方法去除动态点云,优化系统建图效果。
图8是本发明实施例提供的一种电子设备800的结构示意图,该电子设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)801和一个或一个以上的存储器802,其中,存储器802中存储有至少一条指令,至少一条指令由处理器801加载并执行以实现下述基于冗余关键帧去除的紧耦合激光SLAM方法:
S1、获取雷达点云数据,对点云数据进行预处理,得到预处理后的点云数据。
S2、对预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征。
S3、对点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计。
S4、通过环境信息获取动态阈值,根据动态阈值对关键帧进行筛选。
S5、对筛选后的关键帧进行回环检测。
S6、回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述基于冗余关键帧去除的紧耦合激光SLAM方法。例如,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于冗余关键帧去除的紧耦合激光SLAM方法,其特征在于,所述方法包括:
S1、获取雷达点云数据,对所述点云数据进行预处理,得到预处理后的点云数据;
S2、对所述预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征;
S3、对所述点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计;
S4、通过环境信息获取动态阈值,根据所述动态阈值对所述关键帧进行筛选;
S5、对筛选后的关键帧进行回环检测;
S6、回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。
2.根据权利要求1所述的方法,其特征在于,所述S1中的获取雷达点云数据,对所述点云数据进行预处理,得到预处理后的点云数据,包括:
S11、对惯性测量单元IMU预计进行预积分,获得机器人的位姿变化,根据所述位姿变化得到点云数据中每个点相对于起始扫描时刻的位姿,并进行运动补偿,输出IMU里程计;
S12、对运动补偿后的点云数据进行地面点分割,输出经过地面点分割后的点云数据。
3.根据权利要求1所述的方法,其特征在于,所述S2中的对所述预处理后的点云数据进行曲率计算,如下式(1)所示:
其中,S表示点附近指定数量的点,/>表示第k次扫描的坐标系为L,点云中的第j个点在L中的位置,/>表示第k次扫描的坐标系为L,点云中的第i个点在L中的位置。
4.根据权利要求1所述的方法,其特征在于,所述S2中的对所述预处理后的点云数据进行曲率计算之后,还包括:
剔除与激光方向平行的点以及被遮挡的点;
剔除点后,根据计算的曲率的大小对点云进行排序,将曲率大于阈值1的点作为角点,将曲率小于阈值0.2的点作为面点,将所述角点和面点以ikd-tree数据结构进行存储和搜索。
5.根据权利要求1所述的方法,其特征在于,所述S3中的对所述点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计,包括:
S31、对当前帧位姿进行初始化,获取局部地图和当前帧点云;
S32、通过最近点迭代ICP算法对当前帧位姿进行匹配优化;
S33、判断匹配优化后的当前帧是否为关键帧,如果是,则执行因子图优化,更新因子图中所有变量节点的位姿,并更新雷达里程计轨迹。
6.根据权利要求1所述的方法,其特征在于,所述S4中的通过环境信息获取动态阈值,根据所述动态阈值对所述关键帧进行筛选,包括:
S41、通过环境信息获取动态阈值;
S42、获取当前帧的角点和面点的特征个数,判断所述特征个数是否大于或等于所述动态阈值,若是,则获取机器人当前帧与上一关键帧的位姿变化,如果所述位姿变化超过设定位姿变化阈值,则确立新关键帧;若否,则结束判断。
7.根据权利要求6所述的方法,其特征在于,所述S41中的动态阈值,如下式(2)所示:
其中,dkey表示历史关键帧的距离,dmin表示点云激光点深度的中位数。
8.根据权利要求1所述的方法,其特征在于,所述S5中的对筛选后的关键帧进行回环检测,包括:
S51、对筛选后的关键帧中的每一帧关键帧创建点云描述符;
S52、对所述点云描述符进行点云描述符计算,从计算的点云描述符中提取一个N维向量,根据所述N维向量进行相近的关键帧搜索,将搜索得到的关键帧的点云描述符和当前关键帧的点云描述符进行比较,如果比较结果高于预设点云描述符阈值,则找到回环;
S53、找到回环后进行后端因子图优化。
9.根据权利要求1所述的方法,其特征在于,所述S6中的采用ERASOR算法去除动态点,包括:
S61、获取建立的包含动态物体的点云地图,播放所述点云地图中每一帧原始点云,将所述原始点云和相应的子图按同样的方式划分为多个格子,并对每个格子计算表示点云分布的描述子;
S62、获取所述原始点云与子图的同一个格子的描述子的比值,将比值小于预设描述子阈值的格子标记为疑似动态区域;
S63、在所述疑似动态区域中拟合出地平面,将所述地平面上的点作为动态点进行滤除。
10.一种基于冗余关键帧去除的紧耦合激光SLAM装置,其特征在于,所述装置包括:
预处理模块,用于获取雷达点云数据,对所述点云数据进行预处理,得到预处理后的点云数据;
曲率计算模块,用于对所述预处理后的点云数据进行曲率计算,提取点云边缘特征和平面特征;
关键帧获取模块,用于对所述点云边缘特征和平面特征进行配准,获取关键帧,并输出雷达里程计;
筛选模块,用于通过环境信息获取动态阈值,根据所述动态阈值对所述关键帧进行筛选;
回环检测模块,用于对筛选后的关键帧进行回环检测;
输出模块,用于回环检测后,采用ERASOR算法去除动态点,得到基于冗余关键帧去除的紧耦合激光同时定位与地图构建SLAM结果。
CN202310913548.4A 2023-07-24 2023-07-24 一种基于冗余关键帧去除的紧耦合激光slam方法及装置 Pending CN117053779A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310913548.4A CN117053779A (zh) 2023-07-24 2023-07-24 一种基于冗余关键帧去除的紧耦合激光slam方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310913548.4A CN117053779A (zh) 2023-07-24 2023-07-24 一种基于冗余关键帧去除的紧耦合激光slam方法及装置

Publications (1)

Publication Number Publication Date
CN117053779A true CN117053779A (zh) 2023-11-14

Family

ID=88661614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310913548.4A Pending CN117053779A (zh) 2023-07-24 2023-07-24 一种基于冗余关键帧去除的紧耦合激光slam方法及装置

Country Status (1)

Country Link
CN (1) CN117053779A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117291984A (zh) * 2023-11-22 2023-12-26 武汉理工大学 一种基于位姿约束的多帧描述符匹配重定位方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117291984A (zh) * 2023-11-22 2023-12-26 武汉理工大学 一种基于位姿约束的多帧描述符匹配重定位方法及系统
CN117291984B (zh) * 2023-11-22 2024-02-09 武汉理工大学 一种基于位姿约束的多帧描述符匹配重定位方法及系统

Similar Documents

Publication Publication Date Title
CN110084272B (zh) 一种聚类地图创建方法及基于聚类地图和位置描述子匹配的重定位方法
CN112767490B (zh) 一种基于激光雷达的室外三维同步定位与建图方法
Liu et al. Seqlpd: Sequence matching enhanced loop-closure detection based on large-scale point cloud description for self-driving vehicles
CN113865580B (zh) 构建地图的方法、装置、电子设备及计算机可读存储介质
CN111781608B (zh) 一种基于fmcw激光雷达的运动目标检测方法及系统
CN115388902B (zh) 室内定位方法和系统、ar室内定位导航方法和系统
WO2021021862A1 (en) Mapping and localization system for autonomous vehicles
CN1569558A (zh) 基于图像表现特征的移动机器人视觉导航方法
Qian et al. Robust visual-lidar simultaneous localization and mapping system for UAV
CN111915517A (zh) 一种适用于室内光照不利环境下rgb-d相机全局定位方法
CN117053779A (zh) 一种基于冗余关键帧去除的紧耦合激光slam方法及装置
CN114577196B (zh) 使用光流的激光雷达定位
Yin et al. Pse-match: A viewpoint-free place recognition method with parallel semantic embedding
CN110246165B (zh) 提高可见光图像与sar图像配准速度的方法及系统
CN113947636B (zh) 一种基于深度学习的激光slam定位系统及方法
CN113838129B (zh) 一种获得位姿信息的方法、装置以及系统
CN113721254B (zh) 一种基于道路指纹空间关联矩阵的车辆定位方法
WO2024120269A1 (zh) 一种融合点云地图、运动模型和局部特征的位置识别方法
CN114689038A (zh) 基于机器视觉的果实检测定位与果园地图构建方法
CN114046790A (zh) 一种因子图双重回环的检测方法
CN115187614A (zh) 一种基于stdc语义分割网络的实时同时定位与建图方法
CN113836251A (zh) 一种认知地图构建方法、装置、设备及介质
CN113985435A (zh) 一种融合多激光雷达的建图方法及系统
Guo et al. 3D Lidar SLAM Based on Ground Segmentation and Scan Context Loop Detection
Li et al. RF-LOAM: Robust and Fast LiDAR Odometry and Mapping in Urban Dynamic Environment

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