您现在的位置是:首页 > 传感器

基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

2021-01-31 18:02:40

  针对激光传感器在室外环境中检测动态障碍物所遇到的数据处理存在延时、检测结果准确率不高等问题,提出了一种基于3维激光传感器Velodyne和四线激光传感器Ibeo信息融合的动态障碍物检测及表示方法。该种方法应用在了自主研发的无人驾驶汽车平台上,大量的实验以及它们在“中国智能车未来挑战赛”中的优异表现证明该方法具备可靠性和准确性。

  本方法通过分析处理Velodyne激光数据对无人驾驶汽车四周的动态障碍物进行检测跟踪,对于无人驾驶汽车前方准确性要求较高的扇形区域,采用置信距离理论融合Velodyne激光数据处理信息和Ibeo输出的运动状态信息,较大地提高了对障碍物运动状态的检测准确率,然后根据融合得到的结果对运动障碍物的位置进行延时修正,最终在障碍物占用栅格图上将动态障碍物所占据位置与静态障碍物所占据位置区别标示。本方法不仅可以在室外环境中准确地检测出障碍物运动信息,而且可以消除传感器数据处理延时所带来的动态障碍物位置偏差,更准确地将环境中的动静态障碍物信息用障碍物占用栅格图进行描述.该种方法应用在了自主研发的无人驾驶汽车平台上,大量的实验以及它们在“中国智能车未来挑战赛”中的优异表现证明该方法具备可靠性和准确性。

  1 引言

  无人驾驶汽车是人工智能的一个非常重要的验证平台,近些年成为国内外研究热点。无人驾驶汽车作为一种陆地轮式机器人,既与普通机器人有着很大的相似性,又存在着很大的不同。首先它作为汽车需保证乘员乘坐的舒适性和安全性,这就要求对其行驶方向和速度的控制更加严格;另外,它的体积较大,特别是在复杂拥挤的交通环境下,要想能够顺利行驶,对周围障碍物的动态信息获取就有着很高的要求。

  国内外很多无人驾驶汽车研究团队都是通过分析激光传感器数据进行动态障碍物的检测。斯坦福大学的自主车“Junior”利用激光传感器对跟踪目标的运动几何特征建模,然后用贝叶斯滤波器分别更新每个目标的状态;卡耐基·梅隆大学的“BOSS”从激光传感器数据中提取障碍物特征,通过关联不同时刻的激光传感器数据对动态障碍物进行检测跟踪。

  在实际应用中,3维激光传感器因为数据处理工作量较大,存在一个比较小的延时,这在一定程度上降低了无人驾驶汽车对动态障碍物的反应能力,特别是无人驾驶汽车前方区域的运动障碍物,对其安全行驶构成了很大的威胁;而普通的四线激光传感器虽然数据处理速度较快,但是探测范围较小,一般在100?~120?之间;另外,单个的传感器在室外复杂环境中也存在着检测准确率不高的现象。针对这些问题,本文提出一种利用多激光传感器进行动态障碍物检测的方法,采用3维激光传感器Velodyne对无人驾驶汽车周围的障碍物进行检测跟踪,利用卡尔曼滤波器对障碍物的运动状态进行跟踪与预测,对于无人驾驶汽车前方准确性要求较高的扇形区域,采用置信距离理论融合Velodyne和四线激光传感器Ibeo数据来确定障碍物的运动信息,提高了障碍物运动状态的检测准确率,最终在栅格图上不仅对无人驾驶汽车周围的动、静态障碍物进行区别标示,而且还根据融合结果对动态障碍物的位置进行了延时修正,消除了传感器处理数据延时所带来的位置偏差。这种方法应用在了自主研发的无人驾驶汽车上,在城市和乡村道路中进行了大量的实车实验,并在国家自然科学基金委举办的“中国智能车未来挑战赛”中取得了优异成绩。

  2 系统结构

  四线激光传感器Ibeo安装于无人驾驶汽车的正前方保险杠位置,3维激光传感器Velodyne安装于车顶上方,它们的具体安装位置如图1所示。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图1 传感器Velodyne和Ibeo安装位置

  本文提出的无人驾驶汽车动态障碍物检测及其表示方法流程如图2所示。首先对Velodyne数据进行栅格化处理得到一张障碍物占用栅格图,对不同时刻的栅格图进行聚类跟踪可以获取障碍物的动态信息,将动态的障碍物从栅格图中删除并存储在动态障碍物列表中,这个删除了动态障碍物占用信息的栅格图也就是一张静态障碍物栅格图,然后将动态障碍物列表中的动态障碍物信息和Ibeo获取的无人驾驶汽车前方区域内的动态障碍物信息进行同步融合得到一个新的动态障碍物列表,最后将这个新的列表中的动态障碍物合并到静态障碍物栅格图中得到一张动静态障碍物区别标示的栅格图。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图2 无人驾驶汽车动态障碍物检测及其表示方法流程图

  本文创建的障碍物占用栅格图大小为512&TImes;512,每个栅格的大小为20cm&TImes;20cm,无人驾驶汽车车头朝向与y轴正方向同向且位于这个栅格地图中的(256,100)位置。栅格图和Velodyne、Ibeo的检测范围关系如图3所示。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图3 栅格图和Velodyne、Ibeo的检测范围关系示意图

  3 Velodyne数据处理

  3.1 Velodyne数据栅格化

  将激光数据栅格化的方法有很多,无人驾驶汽车领域比较成熟的3维激光传感器数据栅格表示方法有均值高度图和最大最小值高度图两种。本文采用最大最小值高度图法对Velodyne数据进行栅格化处理,最大最小值高度图是由Thrun教授提出的一种高度图的变种,该方法在2007年的DARPA(美国国防部先进研究项目局)城市挑战赛中得到了广泛的应用,并且取得了很好的使用效果。在最大最小值高度图中地面被建模为一系列的栅格,这些栅格仅包含两个值:所有投影到同一栅格中的激光传感器返回值的最大值和最小值。然后将最大值和最小值之差大于预先设定的阈值D的栅格标记为障碍物状态;将差小于D的栅格标记为非障碍物状态。对于一个栅格X,如果其为障碍物状态,则设置该栅格的占用值T(X)=1;如果为非障碍物状态,则设置为T(X)=0.图4是用最大最小值高度图法对一个十字路口的Velodyne数据栅格化后所得到的障碍物占用栅格图。

  3.2 障碍物聚类

  对障碍物进行跟踪之前需要对栅格地图中的占用栅格进行聚类,本文采用的是一种区域生长聚类算法,见FuncTIon1.Addopen(X)和Addclosed(X)分别表示将栅格X添加进open列表和closed列表;Deleteopen(X)和Deleteclosed(X)分别表示将栅格X从open列表和closed列表中删除;Newlable(X)表示给栅格X赋一个新的标示值;Copylable(X,Y)表示将栅格X的标示值赋予给栅格Y;Selectopen(X)和Selectclosed(X)分别表示从open列表和closed列表中随机选出一个栅格X;L(X)表示栅格X是否已经被赋予了标示值,值为1表示已经被赋予,值为0则表示没有。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图4 用最大最小值高度图法栅格化得到的栅格图

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  经过FuncTIon1,栅格地图中设定聚类区域内的障碍物占用栅格就被聚类成一个个障碍物块,图5是对道路内的障碍物占用栅格聚类得到的结果。

  3.3 障碍物跟踪

  首先创建一个动态障碍物列表来存储上面聚类得到的障碍物块信息,并且实时更新这些障碍物块的跟踪结果。存储于这个动态障碍物列表中的每一个障碍物块包含以下信息:编号,最新一次聚类得到时的时间、占据位置、速度大小方向和加速度大小方向,速度协方差,加速度协方差以及存在置信度和运动置信度。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图5 障碍物占用栅格聚类结果

  对障碍物块进行跟踪时,需要匹配当前时刻聚类得到的障碍物块和动态障碍物列表中存储的障碍物块,本文采用一种最大关联值法对其进行匹配。对于动态障碍物列表中的每一个障碍物块和当前时刻聚类得到的每一个障碍物块,存在一个关联值。这个关联值的大小与和的位置、大小、形状有关。如图6所示,对于每一个障碍物块,用一个能覆盖它的最小矩形对其进行参数化:长边长L,短边长R,中心位置O(x,y)和障碍物块对这个矩形的占用率k。

  显然,和的中心位置不能直接拿来比较,因为对它们进行聚类的时间不同,所以需要对的中心位置进行修正,见式(1)、(2):

  其中,和分别是7最新一次聚类得到时的时间和当前时刻,和是在动态障碍物列表中存储的最新速度和加速度是对的中心位置进行修正后得到的中心位置。于是,可以根据式(3)得到:

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  其中,a、b和c是权值,通过实验可以得到比较合适的经验值。

  然后就可以得到一个如下的决策矩阵并设置一个门限关联值:

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  接着从这个决策矩阵中找到最大的关联值,如果不小于门限值,则认为障碍物块和成功匹配,然后将与和相关的所有关联值从这个决策矩阵中删除,得到一个新的决策矩阵如下:

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  再从这个新的决策矩阵中寻找最大的关联值,依此类推,直到找到的最大关联值小于门限值或者决策矩阵变空为止。

  最终的匹配结果有如下3种情况,分别对其进行处理:

  ①存储于动态障碍物列表中但是没有当前聚类得到的障碍物块与之匹配的障碍物块,将其存在置信度减1,其它值不变。

  ②当前聚类得到的但是没有存储于动态障碍物列表中的障碍物块与之匹配的障碍物块,将其添加进动态障碍物列表中,并将速度大小、方向和加速度大小、方向都置初值为0,速度协方差和加速度协方差都置初值为10,存在置信度置初值为10,运动置信度置初值为0。

  ③存储于动态障碍物列表中并且有当前聚类得到的障碍物块与之匹配的障碍物块,将其存在置信度加1,更新其所在位置,并根据经典卡尔曼滤波算法更新得到其速度、加速度以及速度协方差和加速度协方差.考虑到传感器误差,本文认为速度值小于一个较小值(比如0.5m/s)的障碍物块是静止或者接近于静止的,所以如果更新得到的速度大于这个较小值,将其运动置信度加1,反之减1。

  当然在实际操作中,动态障碍物列表中的障碍物块运动置信度和存在置信度都设置了上下限值。最后将动态障碍物列表中那些存在置信度小于一个设定值的障碍物块从列表中删除,因为本文认为这些障碍物块已经从无人驾驶汽车周围环境中消失,这样还能保证动态障碍物列表中的障碍物块数目不会随着时间累积而无限增大。

  3.4 静态障碍物栅格图生成

  更新完动态障碍物列表后,按照如下的Func-tion2对前面栅格化后得到的栅格图进行处理,可以生成一张静态障碍物栅格图。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  4 传感器数据融合

  4.1 传感器数据同步匹配

  因为四线激光传感器Ibeo能直接输出环境中的动态障碍物信息,而Velodyne数据经过上文中的一系列处理才能得到环境中动态障碍物信息,两者的数据采集和处理耗时不同,所以首先需要同步匹配两者的障碍物信息。

  Ibeo输出的动态障碍物信息是用一个个box的格式进行表示的,每个box的参数包括边长a、b,中心位置和速度v的大小方向,如图7所示。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图7 Ibeo输出动态障碍物信息示意图

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图8Velodyne数据和Ibeo数据同步示意图

  本文将box的中心位置朝其速度方向的反方向平移距离S,如图8所示,S的大小满足式(4):

  其中和分别是采集处理Velodyne数据和Ibeo数据的耗时,λ是参数。

  同步完成后,就可以匹配两个传感器的障碍物块信息,本文认定,与某个box有区域重叠的障碍物块,即和该box成功匹配,这样匹配的结果也有以下3种:

  ①没有Velodyne检测到的障碍物块与之成功匹配的box,不作任何处理。

  ②没有box与之成功匹配的Velodyne检测到的障碍物块,如图9中的,也不作任何处理,仍然采用Velodyne的检测结果作为最终结果。

  ③有box与之成功匹配的Velodyne检测到的障碍物块,如图9中的和,它们都需要融合Velodyne和Ibeo数据得到最终运动状态,具体的融合方法见下节。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图9 Velodyne数据和Ibeo数据匹配示意图

  4.2 传感器数据融合

  同步匹配完成后,采用置信距离理论对匹配成功的两个传感器数据进行融合,假设和分别是Velodyne数据计算得到的运动状态和Ibeo输出的运动状态,它们都服从高斯分布,某次测量它们得到的数据分别是和,则它们的概率密度函数见式(5)、(6):

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  最后对满足输出支持传感器个数为2的传感器数据按照式(12)进行融合,最终得到障碍物块的运动状态X,其中l是满足输出支持传感器个数为2的传感器个数。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  融合完成后,考虑到Velodyne数据采集处理耗时,动态障碍物的占据位置在这段时间内实际发生了变化,需要对这些占据位置进行修正。修正方式为,将动态障碍物列表中那些运动置信度大于上面设定值的障碍物块的所有占据位置朝其速度方向平移距离S′,如图10所示,S′的大小满足式(13),其中v′是经过融合后的障碍物块运动速度.这些经过融合、修正后的障碍物块信息都更新存储在动态障碍物列表中。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图10 动态障碍物位置修正示意图

  5 合并动静态障碍物占用栅格图

  经过上面的步骤,得到了一个融合了Velodyne数据计算结果和Ibeo输出结果的动态障碍物列表以及一张静态障碍物占用栅格图。在本文中,障碍物占用栅格图作为无人驾驶汽车描述周围环境的唯一方式,最后还要将动态障碍物的占用信息添加进来,参见Function3对静态障碍物占用栅格图进行处理即可得到最终的障碍物占用栅格图。最终得到的这张障碍物占用栅格图中不仅将动静态障碍物进行了区别标示(静态障碍物占用栅格标示为T=1,动态障碍物占用栅格标示为T=2),实现了动静态障碍物的分割,而且消除了传感器处理数据延时所带来的动态障碍物位置偏差,更准确地对环境信息进行了描述。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  6 实验结果

  6.1 实验平台及场景

  本方法被应用到自主研发的无人驾驶汽车“智能先锋”号上,在一个开放的城区环境中进行了大量的实车测试,如图11所示。这个开放的城区环境南北长6800m,东西长2600m,其中存在着大量的机动车、非机动车以及行人,在这个真实驾驶环境的区域内测试了无人车对各种类型的动态障碍物的检测性能。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图11 无人驾驶汽车实车测试区域

  另外,应用该方法的无人驾驶汽车参加了由国家自然科学基金委主办的“中国智能车未来挑战赛”,并取得了优异的成绩,见图12。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图12“智能先锋”号在2012年“中国智能车未来挑战赛”上成功检测到运动车辆并完成超车

  6.2 结果

  在实验和比赛中,“智能先锋”号的一些参数设置如表1所示。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  “智能先锋”号用Velodyne和Ibeo对环境中的动静态障碍物进行检测,然后将检测到的结果表示在障碍物占用栅格地图上,如图13所示,黑色方框为根据本车行驶状态与环境信息自适应设定的聚类区域,进入到这个黑色方框内的动态障碍物都被成功检测到,并区别于其它的静态障碍物标示在栅格图上,这两个运动目标的检测结果和实际结果对比如表2所示。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图13 检测到动态障碍物并表示在栅格图上

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  表2显示编号为0#的运动目标无论是速度大小

  还是速度方向,其误差都小于编号为2#的运动目标,因为0#运动目标正好处于Ibeo的检测范围内,其运动状态信息是融合了Velodyne和Ibeo的数据,而2#的状态信息只来自Velodyne的数据处理结果。为了得到这两种结果准确率之间具体差异,对一辆基本保持速度大小为30km/h、航向为180?(正南方向)的车辆分别用这两种方式进行检测,并且在实验中,让“智能先锋”按照S形路线行驶,以测试无人驾驶汽车与目标障碍物运动方向在不同夹角下的检测稳定性,结果见图14和图15。

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图14 两种检测方式得到的速度大小对比图

  基于激光传感器的无人驾驶汽车动态障碍物检测跟踪

  图15 两种检测方式得到的速度方向对比图

  结果显示,采用融合Velodyne和Ibeo信息得到运动目标状态的方式相比于只用Velodyne处理结果的方式,检测结果的准确率和稳定性都得到了较大的提升.本方法对无人驾驶汽车前方关键区域采用前者方式进行动态障碍物检测,对其它区域采用后者方式进行检测,既合理地对传感器进行了配置,又保证了无人驾驶汽车行驶的安全性。

  7 结论

  本文提出的应用于无人驾驶汽车的动态障碍物检测及其表示方法,对传感器进行了合理配置,采用3维激光传感器Velodyne检测大范围环境中的动态障碍物信息,对于无人驾驶汽车前方关键区域,采用置信距离理论融合四线激光雷达Ibeo数据和Velodyne检测结果来提高检测准确率,并且根据障碍物的运动状态消除传感器数据处理延时所带来的障碍物位置误差,最终将动态障碍物和静态障碍物区别标示于障碍物占用栅格图上。大量的实验以及自主研发的无人驾驶汽车在“中国智能车未来挑战赛”中的优异表现证明了本方法的可靠性。但是由于传感器自身的局限性,在极其复杂的城市环境中,现有的检测准确率仍然难以满足要求,怎样对传感器进行更合理的配置以及提升检测算法的有效性来进一步提高动态障碍物检测准确率是下一步研究的重点。