朱建新, 唐升平, 辛 涛, 吴 钪
(1.中南大学 高性能复杂制造国家重点试验室,湖南 长沙 410083;2.山河智能装备股份有限公司国家级企业技术中心,湖南 长沙 410100;3.中国人民解放军32181部队,陕西 西安 710032)
地面无人车辆(unmanned ground vehicle,UGV)是具有自主执行运输任务的平台,而环境识别是自主执行运输任务的重要前提;在非结构道路环境识别研究中,地形分类、路径规划及和道路分类已经受到广泛的关注[1];障碍物检测与识别是可行区域检测及环境重建的基础,在非结构化道路自主行驶中最危险的场景之一就是负障碍物[2],探测负障碍物也是感知中最困难的问题之一[3]。
早期负障碍物检测大多基于相机,2001年,Witus G等人提出基于相机[4]的负障碍物检测方法,依靠太阳光投射在负障碍物上存在阴影和非阴影的特点来感知负障碍的方法,阴影增强了立体视觉感知能力。2003年,Matthies L与Rankin A等人发现夜晚时负障碍物底部温度比周围高,提出基于热红外相机[5]障碍物检测方法,将显著的强度区域标记为潜在的负障碍物区域,然后通过核对多帧图像数据来确认负障碍物,但此法很容易受到天气变化的影响。
由于激光雷达不会受到光照强弱影响,且测距精度高,国防科技大学Shang E等人在文献[6,7]中,提出了一种新的使用双HDL—32 LiDAR的安装方法,有利于大幅缩小激光雷达检测盲区,提高地面无人车辆前方点云密度;南京理工大学刘家银等人[8]设计了一种具有互补能力的多激光雷达安装方式,采用贝叶斯融合多特征。
本文提出的负障碍物检测方法包括基于角度特征的广度优先搜索和负障碍物评价两个过程,这两个过程形成了级联式负障碍物检测系统;基于角度特征的广度优先搜索可快速获得潜在负障碍物;结合激光雷达垂直水平角度分辨率差异、负障碍物处局部点云缺失、负障碍物后沿壁点云密集、环间距与高度特征之间的关系等几何特征来最终确定负障碍物。
本文提出的检测方法的总体框架如图1所示。
图1 总体框架
1)激光雷达参数
算法使用禾赛科技Pandar 64线机械式激光雷达来获取点云数据,下面对该雷达的技术参数进行简单的介绍。探测距离为0.3~200 m,水平视场角为360°,水平角分辨率为0.2°(10 Hz),垂直视场角为40°(-25°~15°),最小垂直角分辨为0.167°(-6°~+2°)[9]。
2)激光雷达配置对负障碍物检测影响
至少有一束激光射入负障碍物内时,负障碍物才可能被检测到;假设激光雷达发射中心高度为H,第i束激光在水平面形成的环半径为ri,相邻环半径差为Δr,第i束激光的俯仰角为φ,则有
(1)
由式(1)可知,在距离车体指定距离L处,可检测的负障碍物的最小宽度wmin与安装高度H及垂直角Δφ分辨率有关,如图2所示,理论上在区间[5,40]m内可检测到2 m的负障碍物。
图2 最小检测宽度与距离的关系
2.2.1 激光雷达扫描模型
激光雷达传感器数据格式为pi=(di,φi,θi)T,俯仰角φ和偏航角θ确定了激光束间的相互位置关系,如图3所示,也即
θ0i=θ1i=θ2i=θ3i,φi0=φi1=φi2=φi3,i=0,1,2,3
(2)
由于点云集合具有无序性,单帧点云有18万个点,极大增加了数据处理复杂度。为充分利用激光束之间的相互位置关系,采用文献[10]采取的方法,把64线雷达传感器原始数据从雷达坐标系映射到的矩阵数据结构中,并统计元素处的点,记元素处的点集合为,具体如下
∀pk=(dk,φk,θk)T∈P→mij
Sij+=pk,θstep=360°/cols
(3)
并以Sij中d值最大点作为元素mij处的代表点pr。
2.2.2 点云预处理
基于M(64×cols)数据结构,结合负障碍物的几何特征可快速定位潜在的负障碍物,算法基于负障碍物的必要条件初步筛选潜在负障碍物;在负障碍物处可发现如下必要条件:取出M(64×cols)数据结构中每一列中的代表点,依次连线得线段pi,cpi+1,c,计算连线pi,cpi+1,c与水平方向的夹角得αi,在负障碍物处一系列相邻点的角度α会比周边更大,最大值近90°;如图3所示,M(64×cols)数据结构中连续相邻的4束激光束形成的点云示意图,连线得线段pi,cpi+1,c,pi+1,cpi+2,c,pi+2,cpi+3,c,计算角度分别得αi,αi+1,αi+2,其中角度最大值接近90°。
为方便后续描述,定义角度矩阵为
Mα=[αij]∈R63×cols
αij=arctan(Δzi,i+1/Δri,i+1)
(4)
其中
Δzi,i+1=|zi-zi+1|=|disinφi-di+1sinφi+1|
Δri,i+1=|ri-ri+1|=|dicosφi-di+1cosφi+1|
图3 负障碍物必要条件示意
图4为包含3个弹坑的角度矩阵子块,对30帧连续点云的角度矩阵负障碍物处最大值统计得图5,由图可知,可通过负障碍物必要条件筛选潜在负障碍物。
图4 负障碍物处角度统计
图5 包含3个弹坑的角度
以角度矩阵Mα作为负障碍物检测算法的输入数据,避免直接处理无序的3D点云数据;使用广度优先搜索可快速提取潜在的负障碍物,此时负障碍物使用在Mα中的索引来描述,即使用集合s={(i,j)|0
2.2.3 基于角度的广度优先搜索[11]
算法中使用广度优先搜索算法是为了快速获得负障碍物索引对集合,即图4框选区域;算法关注重点是地面的负障碍物,地面点往往在M(64×cols)数据结构中行索引更大的位置,所以执行广度优先搜索算法时从(63,1)开始遍历。
综上所述,所设置的遥感因子包括:B1、B2、B3、B4、B5、B7、B5/7、KT1、KT2、KT3、B(5+7-2)/(5+7+2)、B4*5/7、B(4+5-2)/(4+5+2)、B5/4、B3/B(1+2+3+4+5+7)、B4*3/7共16个遥感因子。
由于使用负障碍物必要条件初步检测,所以检测后得到的集合Sneg_possible中包含非负障碍物,结合文献[8]提及的后沿壁数据局部密集性、局部点云缺失及激光雷达水平垂直角分辨率差异对局部点云进一步筛选,可滤除大量非负障碍物。
由于激光雷达水平角分辨率为0.2°(10 Hz),垂直角分辨率最小为0.167°(-6°~+2°),假设负障碍物为弹坑类型,即在半径方向和圆周方向尺寸几乎相等,则由图2可知在任意距离处可检测的负障碍物宽度w≥0.624 9 m,对于直径为d的负障碍物至多有d/0.624 9环激光束落入负障物内,即Mα数据结构中至多有rows=d/0.624 9行相邻数据是代表负障碍物;而在周向至多有
(5)
束激光落入负障碍物内,算法中取cols=900,即在数据结构中指至多有cols=143.239 4d/D列相邻数据代表负障碍物,针对40 m范围内的负障碍物,综上可知cols/rows=89.510 3/D>2;图6为负障碍物在M(64×cols)数据结构图,灰色点表示在负障碍内,黑色点表示在负障碍物外,其中rows=3,cols=14。
文献[8]中提及到负障碍物后沿壁数据局部密集特征,即激光雷达扫描到负障碍物后壁前方区域的激光束全落在后壁上,造成点云密度较大,如图6所示。
图6 障碍物处点云示意
灰色点区域为密集区域;算法采用局部点云栅格密度估计,把局部点云投影在水平面上并栅格化,负障碍物处局部点云缺失也是用栅格统计来表征,具体操作如下:
1)rect区域膨胀
2)栅格化点云密度估计
图7 负障碍物栅格
由于激光雷达激光束发射方式的特殊性,激光束会在水平面形成圆环,圆环半径差被称为环间距Δr,环间距Δr与传感器安装高度及激光束俯仰角φi有关,当存在负障碍物时,环间距会变大,然后急剧变小;当环间距变小的同时也会出现局部最小高度值zmin,如图8所示,Δr′i,Δr′i+1,Δr′i+2为地面环间距,对比可知
(6)
设深度矩阵为D=[dij]64×cols,dij为M(64×cols)中代表值的距离信息。
图8 负障碍物环间距与高度值关系
设环半径矩阵为r=cos(φ)×D,高度值矩阵Z=sin(φ)×D,设各环俯仰角构成对角矩阵为
φ=diag[φ,φ2,…,φ64]
(7)
故环间距矩阵为
Δr=r(1∶rows-1)-r(2∶rows)∈R63×cols
(8)
由于非结构道路地面起伏更大,负障碍物处地面高度与车体处地面高度存在差异,在计算Δr′i时,取集合Sneg_possible中潜在负障碍物点云zmax作为负障碍物处地面高度,环间距公式计算如下
(9)
由于非结构化道路处理时存在不确定性,无法保证任何角度处都满足式(6)负障碍物评价规则,故按如下计算置信度:
1)提取局部环间距最大值索引
在集合Sneg_possible中获取潜在负障碍物矩形区域rect′,并在环间距矩阵Δr与高度值矩阵Z获取对应局部环间距矩阵Δrlocal与局部高度值矩阵Zlocal,按式(9)计算最大环间距的索引。
2)统计满足负障碍物的列
以最大值索引为起始遍历点,判断该列是否满足式(6),记c为满足式(6)的列数,计算置信度
P(rect′)=c/clos(Δr′local)
(10)
当P(rect′)>Pthres即可作为最终负障碍物,其中Pthres的设定与rect区域膨胀有关。
在非结构化道路上进行实验,非结构化道路类型包括了土路负障碍物场景与草地负障碍物场景,分别标记为U1和U2;激光雷达为禾赛Pandar 64,传感器垂直安装高度为2.24 m,有效扫描角度为360°,车体前进方向为X轴,水平向左为Y轴。
实验1 一组非结构化道路土路负障碍物场景U1,如图9左图所示。包含3个圆形负障碍物,其直径分别为1.8,1.8,2.0 m;方法针对圆形负障碍物,采用最小二乘法拟合圆形边界;绘制连续帧负障碍物拟合圆如图10所示,由图可知,当负障碍物与车体的距离在区间[20.35,37.91]m时,可稳定检测负障碍物,此时召回率为0.944 1。其中召回率计算公式为
Precall=TP/(TP+TN)
(11)
式中TP为正确检测到的负障碍数量,TN为未检测到的负障碍数量。
图9 非结构化道路场景
图10 连续帧负障碍物检测效果
实验2一组非结构化道路草地负障碍物场景U2,如图9右图所示。包括了1个边长为1.8 m的方形负障碍物;图11为车体接近负障碍物过程中4帧负障碍物检测结果,距离区间在[20.35,37.91]m时,能够检测到明显的负障碍物;由于激光雷达近距点云稀疏,车体近处的负障碍物未能被检测到。
图11 草地负障碍检测效果
为进一步提高方法的实时性能,从两个方面缩短用时;一方面以激光雷达原始距离数据作为算法预处理输入数据,而不是直接处理三维点云,将数据映射到柱面坐标系;另一方面只检测车体前方|y|≤6 m区域的数据,或以地面分割处理后的地面点作为输入数据,这也可以极大地减少非结构化道路负障碍物虚警现象。
1)本文提出了一种新的级联式负障碍物检测的方法。利用级联短路效应,可以在负障碍物提取前期淘汰非负障碍物,提高实时性;
2)负障碍物处角度特征显著,故基于角度的广度优先搜索可快速获得潜在负障碍物,同时完成了负障碍物的聚类工作;
3)对负障碍物建立确定性的描述,结合激光雷达垂直水平角度分辨率差异、局部点云缺失、后沿壁点云密集、环间距与高度特征关系等几何特征来计算负障碍物置信度;
4)实验表明,在非结构化道路中,当距离在区间[20.35,37.91]m时,能可靠检测到负障碍物。