基于距离与能量的复杂场景下ALV 可行域认知*

2015-04-01 12:18昊,李
传感器与微系统 2015年11期
关键词:数组激光雷达障碍物

张 昊,李 擎

(高动态导航技术北京市重点实验室,北京100101)

0 引 言

为了获取自主车(ALV)行车区域,通常使用激光雷达、摄像头等传感器来进行环境认知。摄像头易受环境影响,且在图像处理中计算量大[1],相比之下,激光雷达具有更好的抗干扰性,可以有效避免光照、阴影等因素造成的负面影响,所以,越来越多的ALV 采用激光雷达进行环境认知。

针对使用激光雷达实现环境认知的研究主要有两类:基于二维或三维激光雷达的环境认知[2~9]。如Oscar C Barawid Jr 等人将一个二维激光雷达水平地固定在拖拉机前端离地70 cm 处,使用Hough 变换方法提取果园中的树线[2],该方法较好地提取了大范围内的行车参考线,但是由于大部分民用车辆底盘较低,水平放置的方式造成扫描平面下方区域的漏扫会对行车安全带来极大的隐患。朱株等人使用HDL—64E,提出了一种适用于多类场景的实时三维激光雷达地面分割算法[5],虽然使用三维多线激光雷达可以获得全面丰富的三维信息,但高昂的价格限制了其广泛应用。在环境数据处理方面,赵一兵等人,利用距离信息结合探测物的结构特征,例如:凹凸性、多孔性等,识别凹凸区域及前方灌木等[8];虽然通过算法可以从单一类型数据中提取障碍和出可行区域,但面对区域内的再划分问题,例如:在没有明显特征的道路中,使用单一类型的数据很难出色地完成行车道路的获取任务。

为了低成本,高效地完成可行域认知,实现区域的再划分,在数据处理中,本文提出了距离与能量组合判据的方法实现ALV 可行域认知,解决了由于判据单一造成的道路错分等不稳定现象。

1 基于距离的环境特征获取

将激光雷达固定在车辆上方的铁架上,并置于车辆中心。调节雷达角度,使得雷达的扫描平面倾斜向下与地面成一定夹角。这一设备的安置方式也是为了避免二维激光雷达水平放置造成的漏扫这一弊端。

激光雷达选用LMS151 激光雷达,设置角度分辨率为0.5°,扫描范围180°,频率50 Hz。由于激光雷达返回数据为极坐标形式,将各个点转换为激光雷达坐标系坐标,变换公式如下或扫描窗口中存在障碍,会影响道路高度值的提取,导致边缘误提取现象,如图1 所示。为了进一步解决此类误提取现象,需引入能量值进一步筛选道路特征。

其中,di为第i 个扫描点的距离,θi为第i 个激光点的扫描角度:θi=0.5i,xi,yi为激光雷达坐标系下第i 个点坐标(i=0,1,2,…,360)。将激光雷达获取的每一帧数据先进行坐标系转换,利用转换后的坐标数据提取道路特征。

道路特征选为边缘跳变特征以及其他具有代表性的特征并将其筛选表示出来,从而减少数据量的同时具有道路边缘提取的高可靠性。

选取路面中心一段扫描窗口,选取该区域时其宽度应大于载体宽度。为了消除噪声带来的影响,在此先对窗口间的点进行了滑动平均滤波处理,得到更加平稳的高度数据

图1 含有障碍物的道路Fig 1 Road containing obstacle

2 基于能量的环境特征获取

通过激光雷达反射能量对扫描到的物体进行辨析。因为不同物体材质不同,所以,对激光的反射能力也各不相同,因此,可以通过雷达返回的能量值数据对环境进行特征提取。

对操场跑道进行扫描,以最中间被涂料涂成的白线为基准使载体向前移动,获取了激光雷达反射能量,场景如图2所示。

图2 无道路特征场景Fig 2 Scene has no road characteristic

分析其能量强度分布情况如图3 所示,其中,Z 轴表示能量相对强度。该区域反射能量分布均匀且白线特征明显,凸起的五部分为白线所在位置。由于凸起部分的数据点分布较为松散,可通过计算相邻点的距离并与设定阈值作比较,可将五类数据代表点提取出。

根据式(2)而得到的一系列数据,其随机误差由于平均的作用得到了抑制,从而使得数据随机起伏的幅值相对于原始数据有了大幅度的降低。

由滤波后的高度数据均值Have作为路面高度的基准值。由于激光雷达角度分辨率为0.5°,一帧有361 个扫描点,因此,选取雷达第180 个扫描点为中心点,根据载体实际宽度,左右各浮动50 个点。从第180 点分别向左向右进行遍历并分别与Have做差,获得差值Dval,将Dval与阈值Hthr做比较。当Dval>Hthr时停止遍历,提取此时数据点的下标,并构造出一个新的向量用于存储该下标,跳变点特征的提取工作完成。

仅仅基于距离数据的跳变点特征提取具有一定局限性,如果道路中存在障碍,道路边缘的跳变点会被误提取,

图3 能量强度示意图Fig 3 Diagram of energy intensity

其步骤为:

1)获取一帧扫描数据(0,1,2,…,i,…,n);

2)计算相邻两个激光点的距离

3)判断距离D 与阈值T 的大小,当满足条件Di,i+1>T,则记录此时刻的i 值至数组Zref 中;

4)更新点i=i+1;

5)重复步骤(2)直至该帧数据遍历结束;

6)通过类内距离小于类间距离原则,设定阈值Tz,遍历数组Zref 中数据,再次计算相邻点距Dz,z+1(0,1,2,…,z);

7)将Dz,z+1与Tz相比较,若Dz,z+1>Tz,点z+1 为新的一类,存入新数组,遍历整个Zref 数组,将数据分为五类;

8)将五类数据化简,获取每类代表点Xref坐标

式中 n 为每类中包含点的个数。

经处理后,白线提取情况如图4 所示。

图4 白线提取效果Fig 4 Effect of extraction of white line

基于能量可以良好地提取出道路的白线特征,但反射能量随角度变化呈现衰减现象,仅依靠能量来获取道路特征得出可行域是不够的。由于距离与能量可获取不同的道路特征,将两者互补可获得完整的道路特征信息。

3 距离与能量组合判据的可行域认知

如图5 场景中,阳光透过杨树在走廊上形成了各种形状的亮斑,通过绘制出反射能量图像由图6 所示,发现在有亮斑的情况下,雷达反射能量值并未有奇异的不规则部分出现,障碍物所在区域能量突出,道路能量分布均匀,说明环境的光照强度并不会对反射能量值造成影响。可以结合反射能量和距离数据对道路边缘提取并对载体的可行域进行划分。

图5 光照不均匀且含障碍场景Fig 5 Scene contain uneven illumination and obstacle

针对道路中存在障碍或当障碍物处于扫描窗口这种情况,在计算路面高度基准值时会误算入障碍物的高度,从而使道路高度基准值升高,导致误报、漏报现象,如图7 所示。

首先,在获取道路基准高度值时,若扫描窗口中存在障碍物,若仅使用距离来选取参考点就会出现问题。当障碍物在载体中间部位时,依靠距离可以检测出障碍边缘处的跳变点,从而将其剔除获取参考点。但是如果障碍物出现在窗口边缘,其扫描点很有可能分布密集,依靠相邻点距离无法检测出跳变点,这时,就会将障碍的信息带入到道路基准高度值的计算当中,从而对后续的区域认知带来极大的隐患。

图6 复杂道路能量分析Fig 6 Energy analysis on complex road

图7 障碍在道路中的分布Fig 7 Distribution of obstacle on road

通过分析,反射能量的大小取决于物体本身的反射能力,与光照等外界影响无关。障碍与道路的反射能量差异又很大,所以,将反射能量值作为第二判据引入到数据遍历之中可以有效地区分出障碍区域,此时有

式中 Di,i+1为相邻点间距离,Zi,i+1反映了相邻点的反射能量差异。在Di,i+1满足条件的基础上还要看Zi,i+1的值是否也符合要求。在遍历中设立flag,flag 的值为0 或1,将其初值为0,每当Zi,i+1>Tz时,将flag 的值反转,当flag 为0 时,将当前时刻下标i 存入数组PartA[j],当flag 为1 时,将当前时刻下标i+1 存入数组PartB[k]且i=i+1。该扫描窗口遍历完成后,一帧数据就被分到了两个数组当中。若遍历完成后PartB[k]中包含0 个数据,就说明扫描窗口内无障碍物。可直接通过PartA[j]中数据求解道路基准高度值Have。就本文实验场景来做分析,从图6 中可以看出:障碍物反射能量远大于道路反射能量,通过计算得出两个数组内数据的平均能量值,进而就分别得到了保存着道路区域与障碍物区域的数组。

利用在扫描窗口中提取出的道路区域求出可靠的道路基准高度值Have后,从第180 点分别向左向右进行遍历,此过程包括反射能量的遍历和高度值的遍历。用每一点的高度值分别与Have做差,获得差值Dval,将Dval与阈值Hthr做比较,同时综合反射能量的遍历,当满足Dval>Hthr并且满足Zi,i+1=|Zi+1-Zi|>Tz时,该点为障碍物而并非道路边缘,通过反转标志位将障碍物数据记录到数组中,继续遍历,直到遍历到某一点,使得Dval>Hthr,且Zi,i+1≤Tz,该点为道路边缘的跳变点,开辟新数组将其存入其中。当一帧数据遍历完成后,会得到四个数组,分别保存着道路左边缘、道路右边缘、非障碍物区域以及障碍物区域。对图5 所示场景进行多帧数据处理,并将边缘数据、道路区域和障碍物区域用不同颜色的点表示,其效果如图8 所示。

图8 复杂场景下可行区域提取效果Fig 8 Effect of feasible region extraction in complex scenes

4 结 论

通过距离数据提取环境特征,由于其判据单一,不能很好解决可行域认知问题。又通过对反射能量提取环境特征做了验证,验证能量数据可以作为环境特征提取的第二判据,从而准确区别道路和障碍物。因此,在求解道路高度基准值的算法中融入了反射能量形成了双判据。使得获得的道路高度基准值更加稳定准确。最后通过第二判据的引入对道路边缘的提取和道路可行域认知算法做了改进,获得了载体的可行域并区别出了障碍物的所在区域,完成了道路边缘内区域的再划分,出色地完成了可行域认知任务。

[1] 付永春.单目视觉结构化道路车道线检测和跟踪技术研究[D].南京:南京理工大学,2012.

[2] Oscar C Barawid Jr,Akira Mizushima,Kazunobu Ishii.Development of an autonomous navigation system using a two-dimensional laser scanner in an orchard application[J].Biosystems Engineering,2007,96(2):139-149.

[3] Csaba Benedek.3D people surveillance on range data sequences of a rotating lidar[J].Pattern Recognition Letters,2014,50:149-158.

[4] 孙 宇,项志宇,刘济林.未知室外环境下移动机器人的三维场景重建[J].浙江大学学报,2007,41(12):1949-1954.

[5] 朱 株,刘济林.基于马尔科夫随机场的三维激光雷达路面实时分割[J].浙江大学学报,2015,49(3):464-469.

[6] 梁 雄.车载单线激光雷达成像分割及噪声检测算法[J].计算机应用研究,2011,28(5):1975-1977.

[7] Carlos Fernández,Vidal Moreno,Belen Curto.Clustering and line detection in laser range measurements[J].Robotics and Autonomous Systems,2010,58:720-726.

[8] 赵一兵,王荣本,李琳辉.基于激光雷达的无人驾驶车前方障碍物检测[J].交通与计算机,2007,25(2):9-12.

[9] 杨象军,项志宇,刘济林.基于四线激光雷达的校园道路的检测与跟踪[J].传感器与微系统,2013,32(9):134-138.

猜你喜欢
数组激光雷达障碍物
手持激光雷达应用解决方案
JAVA稀疏矩阵算法
法雷奥第二代SCALA?激光雷达
JAVA玩转数学之二维数组排序
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
基于激光雷达通信的地面特征识别技术
基于激光雷达的多旋翼无人机室内定位与避障研究
更高效用好 Excel的数组公式