彭 聪,刘秋锦,杨 克
(1. 北京航空航天大学机器人所,北京 100083;2. 奥迪(中国)企业管理有限公司,北京100015;3. 北京汽车股份有限公司汽车研究院,北京101300)
当前在先进汽车驾驶辅助系统的研究上,国内外已获得不少成果[1-2]。这些成果按照适用的工况可划分为车-路和车-车两类。如M. SHINo等提出的利用车速和撞线时间监测车-路之间的偏离程度[3-4];又如,基于车载视觉检测算法,G.KIM等[5]提出的车-车间距预警系统;以及基于车辆运行特性,许伦辉等[6]提出的双车道超车模型。但可同时适用于这两种工况的车辆行驶安全辅助系统却仍在探究中。究其原因是缺乏对行驶车辆周边安全域的综合界定和提取方法。
行驶车辆周边安全域的边界分为可见的和非可见的两类。在车-路工况中,车道线为安全域的可见边界;在车-车工况中,前车视觉盲区和车辆外流场为安全域的非可见边界。傅立敏等[7]利用计算流体动力学(computational fluid dynamics, CFD)的数值计算,研究了并行轿车的外流场所产生的气动阻力变化,得出在超车时两车并行的安全车距应为0.5~1倍车宽。这表明汽车外流场的分布区域应该作为行驶安全域的非可见边界。
车道线因其可见边界而不难被提取,故如何获取非可见的车辆外流场分布为难点和重点。路面工况复杂多变,现有技术无法精准地采集行驶车辆的实时外流场。为实时获取行驶车辆的外流场分布,一种可能的方式为离线计算预存,在线近似匹配。在Fluent中计算典型工况下行驶车辆的外流场分布,并离线预存为数据库。在车辆行驶中,根据采集的实时工况,对外流场数据库实施在线实时检索,从而间接地获取车辆当前的外流场分布位点。最后依据行驶车辆的横向位置、撞线时间、及轨迹线上流场的纵、横向流速特征辨识出车辆当前的行驶安全状态。
众所周知,车身正向迎风面积较小且具有流线型减阻设计,所以前车前方的气流区及视觉盲区均较小。前车侧向气流的冲击可能导致后车横向操纵力失稳[7],故前车的两侧为行驶的危险区之一。前车驾驶员的视觉盲区主要位于前车后方的大片区域,故前车后方的大片区域为后车追尾的危险区。车辆周边危险区域的这种分布形态与汽车外流场的分布形态基本一致。因此提出以下科学假设:行驶车辆外流场的分布区能够涵盖车-车之间的危险区。由于行驶汽车外流场的分布难以实测,所以CFD的数值模拟[8-9]被广泛用于行驶车辆外流场的计算和获取。
图1为路面上车辆行驶时周边安全域的边界示意图。其中车1的行驶安全域边界为左右两侧的车道线及前车外围的边界曲线ABC。车2的行驶安全域边界则为左右两侧车道线和前车外围的边界曲线CDE。
图1 车辆周边安全域的示意Fig. 1 Diagram of the security zone around the vehicle
车道线为路面的可见边界,由车载视觉技术可获取。前车外流场分布区的非可见边界ABCDE曲线,由流场中具有指定流速阈值的节点位置可确定。前车方位、车速和行驶轨迹可影响其外流场的位置及分布。笔者亦采用车载视觉系统[8-9]对前车进行定位及测速,再利用车辆动力学模型预测车辆的行驶轨迹。预先计算在典型路况下车辆外流场的分布并预存为待检索的数据库,然后依据车辆的方位、车速、车数及行驶轨迹等对数据库进行在线检索,获取当前工况下外流场的近似分布。
沿用川崎等人提出了多传感器融合的理念[10],本研究的车辆行驶安全状态识别也是一个集成系统,如图2。由图2可知,车道线、车辆行驶轨迹预测和车辆外流场分布的获取是获取行驶安全域边界的3大首要任务。
图2 行驶车辆安全状态识别系统的框架Fig. 2 Schematic of identification for safety states of driving vehicle
采用马雷等[11]提出的车载单目视觉系统识别车辆周边的车道线。依照文献[11]中的方法,利用斜置安装的CCD相机采集路面图像,然后建立如图3的车辆随体坐标系。将路面图像下方3/4的区域设定为车道所在区,以像素为单位对图像进行分割,沿X轴正向,将像素在180以内的部分作为图像处理区域。经过二值化、滤波等预处理后,依据其灰度分布的梯度特征,提取车道线的边缘特征。以如式(1)的二次曲线拟合出图像中的车道线[11-13],最终获取车道线的位置。
X=aY2+bY+c
(1)
式中:a、b、c为待定参数,由图像处理中的设定的目标函数确定。
图3 在路面图像中建立的坐标系[11]Fig. 3 Coordinate system established in the pavement image[11]
在SIMULINK中建立如图4的二自由度车辆动力学模型。将探测系统采集的车辆行驶车速uc和前轮转角δ作为动力学模型的输入。当驾驶员在感知外界信息时,其肢体基本无动作的输出,所以车辆行驶车速uc和前轮转角δ均将保持不变。侧向速度νc和横摆角速度r为模型的输出。轨迹预测的预警时间Tw=2.5 s,动力学模型所需的其他参数参见文献[14]。据此可求解出在预警时间内车辆的侧向车速νc和横摆角速度r。
图4 二自由度车辆动力学模型Fig. 4 Model of two-degree-of-freedom vehicle dynamics
在大地坐标系中,设车辆沿X轴的速度为纵向车速Vx,沿Y轴的速度为横向车速Vy,车辆的航向角为φ。航向角φ的值等于横摆角速度r从0~t时刻的积分。则依据式(2)可算出纵、横向车速Vx和Vy。
(2)
再利用式(3)对纵、横向车速Vx和Vy进行积分,即可获取在t时刻车辆质心的位置(X,Y),质心经过的各点(X,Y)即为汽车在0~t内所行驶的轨迹。
(3)
当前进方向的车速为20 m/s,前轮转角δ为0.03 rad,且预警时间Tw为2.5 s时,根据以上逻辑,预测的车辆行驶轨迹Y=f(X)如图5。为了研究周边环境特征相对于本车的安全状态,需利用坐标变换获取在车辆随体坐标系中轨迹线的位置。
图5 车速为20 m/s时的行驶轨迹Fig. 5 Trajectory of a vehicle at a speed of 20 m/s
1.4.1 外流场建模与计算
建立汽车及其计算域的几何模型。采用动网格使汽车模型运动,气体介质静止。将车速和两车间的纵、横向间距等连续型变量离散化为几个典型的数值,例如取车速为15、20、30 m/s等。针对不同车数及其相对方位下,直线或曲线行驶等典型工况,分别计算其所对应的外流场分布。
车身外形尺寸设定为:长×宽×高=5 m×2 m×1.5 m。为防止汽车模型冲出计算域,当设定的行驶时间为2.5 s、车速为15 m/s时,计算域的尺寸取为长×宽×高=80 m×8 m×4 m,如图6。将几何模型导入ICEM中进行网格划分,再导入FLUENT中,并将C++定义的车辆运动规律加载于求解器中。求解器中主要参数的设定见表1,最后求解计算。
图6 几何模型及其网格划分Fig. 6 Geometric model and its meshing
表1 FLUENT主要参数的设置Table 1 Main parameter setting of FLUENT
1.4.2 外流场分布的计算结果
车-车的行驶安全域分布于车辆随体坐标系的水平面内,故只需分析水平截面内的纵、横向流速。在图6的几何建模中,在z轴上车高的尺寸范围定为[-1,0.5],因此z=0的水平截面可覆盖车身的最大外轮廓。故笔者均在该平面上进行流速分布区的分析。且因所用计算平台能力的限制,在100万网格数的计算域中,近壁面处的精度略显不足,故取流速大于1 m/s的区域为速度场影响区。
以15 m/s的车速直线行驶时单车外流场的流速分布如图7。
图7 单车外流场的流速分布云图Fig. 7 Contours of velocity in the flow field around a vehicle
图7的外流场中,纵、横向流速的二维分布如图8。由图8可获取车速为15 m/s时单车直线行驶时外流场在纵、横向的分布范围。在3个典型车速下,单车直线行驶时在水平截面内外流场的流速分布范围如表2。随着车速的增大,在纵、横向上速度场的分布区也增大;反之,则缩小。其他车速下的外流场分布区域同理可得。
图8 车速为15 m/s时纵、横向流速的二维分布Fig. 8 Vertical and lateral velocity distribution of air flowaround a single vehicle driving at a speed of 15 m/s
表2 不同车速下气流速度分布范围Table 2 Flow velocity distribution range at different vehicle speeds
笔者暂时仅给出纵向间距为5 m、横向间距为0.75 m的两车以20 m/s车速同向直线行驶时的流速分布(如图9)以及单车以15 m/s的车速曲线行驶时的外流场分布(如图10)。在路面行驶时工况种类繁多,车辆外流场的形态也各异。虽然流场分布的获取思路仍可采用,但在多车外流场耦合及曲线行驶的工况下车辆行驶安全状态识别的准确性还有待完善。
图9 直线行驶时两车外围流速分布的云图Fig. 9 Flow velocity contours around two vehicles driving straightly
图10 单车曲线行驶时外围流速分布的云图Fig. 10 Flow velocity contours around a vehicle driving deviously
1.4.3 外流场分布数据库的建立
对不同的车速,两车相对方位、行驶轨迹等工况及其组合,分别建模和计算,从而构建各个典型工况所对应的外流场分布的数据库。由于采用的动网格,故利用坐标变换将以上外流场分布由大地坐标系转换至车辆的随体坐标系中,并以一个四维矩阵的形式预存为外流场分布数据库。矩阵中每个元素均为一张在z=0平面内外流场的各点流速u与该点位置(x,y)一一对应的二维数表。
车辆外围的速度场分布间接地反映了车辆周边各点的危险分布形势。根据实时工况,系统对数据库的典型工况进行在线检索,从而获取当前外流场的分布。在外流场分布区内,任意一点的流速u与该点的位置(x,y)一一对应。由图8可知,这两者之间的关系为:流场中某一点处的流速u越大,该点距离车身的纵向距离x和横向距离y越小,则该点处的危险性越大。
提取了车道线和外流场共同构成的安全域边界后,需确定车辆当前的行驶安全状态特征。为了便于理解,分别分析在车-路和车-车两种交通路况下,车辆的行驶安全状态。
在路面仅有本车时,只需分析车-路的安全特征,如图11。车辆质心与较近的车道线的横向距离为w。获取车辆行驶轨迹及车道线后,横向位置特征w′=w/wl定义为w和车道宽度wl的比值,表征车辆当前所处的横向位置。
图11 只有本车时的车-路方位示意Fig. 11 Diagram of the vehicle-road condition with one vehicle
时间特征定义为抵达所偏向的车道线时车辆所需的时间,即撞线时间t。t的获取方法如下:车辆偏离车道时,行驶轨迹将与偏向的车道线相交。故将式(2)代入式(3),对时间t积分后,得出行驶轨迹关于时间t的参数方程,最后与式(1)联立求解。即可获取撞线时间t。
由图11可知:在同一段道路上,设在时刻1,时刻2和时刻3时,车辆的撞线时间分别为t1,t2和t3,与车道线的横向距离分别为w1,w2和w3。若t1=t2,当w2 由位置特征w′的定义可知其取值范围为[0,1]。出于安全考虑,预留给驾驶员的反应时间[14]设为1.0 s,设定的预警时间Tw=2.5 s,限定撞线时间t的取值范围为[1,2.5]。 当路面还有其他车辆时,除了w′和t两项特征外,还需分析车-车工况的安全特征。如图12,灰色线封闭曲线为侧前方的车辆2外流场的流速分布等值线。在车辆1的随体坐标系X0Y中轨迹线上A点坐标为(XA,YA),车辆2的位置为(h,k)。 根据两车的相对车速获取车辆2的外流场。基本假设为车辆2外流场分布区即为车辆1的行驶安全域。实际行车中,若车辆1与车辆2的相对车距减小,更易发生相碰,此时需更早预警,所以车辆2的行驶安全域即外流场分布区应更大;反之,则需推迟预警,车辆2的外流场分布区应更小。因此,检索出的外流场分布范围应采用相对车距,即相对车速的变化而自适应地增大或减小。为此,笔者提出相对车速u′的计算方法,如式(4): (4) 式中:uf和ur分别为前车速度和后车速度。对外流场的数据库进行检索时,利用式(4)的相对车速即可检索出的范围大小符合以上安全要求的外流场分布。 通过坐标变换,获取车辆1的随体坐标系中各点在车辆2随体坐标中的对应坐标。利用坐标变换式(5),获取点A在车辆2的随体坐标系x0y中的坐标(xA,yA)。从预存的流场分布矩阵中检索出点A处的流速u=(ux,uy),同理获取轨迹线上其他各点(X,Y)的流速(ux,uy)。 (5) 再根据流场中某点的纵、横流速,具体分析车辆行至该点时所处的安全状态。设在点A外流场边界上,该点处的纵、横流速分别为4 m/s和-1.5 m/s。当车辆1经过时间t′到达A点时,就横向位置w′和撞线时间t而言,车辆偏离程度不严重,但此时车辆1已进入车辆2的气流影响区。在图8中查找纵、横流速分别为4 m/s和-1.5 m/s的节点位置为(32,1.5),该点离车辆2的纵向距离为5.5 m,横向距离为0.75 m。两车距离已很小,比较危险。若仍沿着当前的轨迹行驶,轨迹线上后续各点的流速梯度将急剧增大,两车急速靠近,危险性增大。故在车-车工况下,外流场的纵、横向流速uX和uY两项特征可表征车辆的行驶安全状态。由于行驶轨迹可能会穿越前车的流场分布区,故选取轨迹线上各点的纵、横向流速最大值uX=max(ux)和uY=max(uy)作为两车距离的间接特征。 图12 两车的车-车方位示意Fig. 12 Diagram of the vehicle-vehicle condition with two vehicles 在流场影响区内,当某点的纵向流速uX大于5 m/s时,由图8可知该点离车身太近,留给驾驶员做出避让的时间很短,预警已晚。故限定uX的取值范围为[-1,5];同理,限定uY的取值范围为[-2,2]。 当提取的w′、t、uX和uY超出以上取值区间时,取各自较近的阈限值。再将这4项特征组建为车辆行驶安全状态的特征向量ξ=(w′,t,uX,uY)。 根据状态向量ξ的取值,辨识出车辆当前的行驶安全状态。解决这类多特征的模式识别问题,常用的方法有模糊模式识别[15]和基于神经网络的模式识别[16]。安全预警系统的实时性要求较高,故笔者选用结构更简单,速度更快的概率神经网络(probabilistic neural network, PNN)进行模式识别。 利用文献[17]中设计的车载视觉系统获取行驶车辆的横向位置w′和撞线时间t。从检索的外流场中提取当前轨迹线上的纵、横向流速特征uX和uY,组建为特征向量ξ。随机抽取30个时刻的采样点,其数值见表3。 对30个采样点的原始数据进行预处理。常见的神经网络应用中,往往固定训练样本,并指定网络的目标输出,再对网络进行训练。但在辅助驾驶的应用中,很难在训练前就采集到各种工况下的样本。神经网络应具备根据实时的采样自学习、自训练和自更新的能力。因此需给予PNN网络依据分类阈值自行确定训练样本的目标输出的能力。但状态向量的4项状态特征的最佳取值分布方向不一致,不便于计算和类别的划分。为此构造了一组如式(6)的压缩变换算子。通过式(6)使特征向量ξ各个特征的取值在区间[0,1]之内,并使各特征的取值呈现出方向的一致性,即数值越大,在各维度上行驶车辆的风险也越大。 (6) 对原始数据经过以上的处理后,形成PNN网络的训练和待识别样本X=(x1,x2,x3,x4)。取前20个数据样本P=X1~20作为训练样本,对PNN网络进行训练,后10个数据样本作为测试样本集p=X21~30。然后,在MATLAB中采用mapminmax函数对样本X的数据矩阵归一化。 表3 随机抽取30个采样点的特征数据Table 3 Feature data of 30 samples selected randomly 在MATLAB的PNN神经网络工具箱中,其主要参数为扩散速度spread和目标输出T。对这两项参数的确定方法如下: 1)通过程序的自循环确定网络的扩散速度spread取值。通过spread=1/i(i=1,2,…,10)的循环取值和对比,发现spread=0.6时, PNN网络对20个训练样本和10个待识别样本的计算速度最快,因此最终PNN网络的扩散速度设定为0.6。 2)在确定网络的目标输出T之前,需分析在车辆行驶安全状态中4项特征各自所占的权重。当车辆的位置特征w′变化时车仍在本车道内,而撞线时间t预示车将闯入其他车道或偏出道路,所以后者的危险性更大。横向流速uX和纵向流速uY分别表征纵、横向的车间距离,常用车速下纵向附着大于横向附着,且轴距大于轮距,就碰撞的后果而言,横向更危险。当w′和t的值偏小时,潜在后果是违章,而当uX和uY的值偏小时,潜在后果是相撞。故就危险性而言,应为横向流速uX和纵向流速uY的取值分配更大的权重。故样本X的4项特征所占有的权值分配设为向量G=[0.10,0.25,0.30,0.35]。 3)算法根据4项特征的权重G自行确定PNN网络对20个训练样本的目标输出T。依据权重G,将4项特征融合成一个评估车辆行驶安全状态的综合指标D=GXT,其值越大,车辆当前的综合行驶状态越危险。D的取值区间为[0,1],以0.25为间隔,将车辆的行驶状态均分为4个级别:非常危险,比较危险,比较安全和非常安全。为了便于计算,将这4个级别依次写成向量的形式:[1,0,0,0]、[0,1,0,0]、[0,0,1,0]和[0,0,0,1]。计算所得的20个训练样本P所对应的目标输出T为: 利用训练样本P和目标输出T对构建的PNN网络进行训练,并对测试样本p的安全状态进行辨识,其结果见表4。识别结果显示:6号样本所属的安全状态为比较安全,该判别不合理。因为6号样本的撞线时间约为0.83 s,驾驶员平均反应时间约1 s,已没有足够的时间做出避让操作,发生危险的可能性较大,理应归为比较危险。其他9个测试样本的结果均比较合理,因此测试样本p的识别正确率为90%。这表明该网络对车辆行驶安全状态的识别效果比较满意。 导致最终6号样本的识别出现偏差的原因除了网络的训练样本较少外,更可能是特征提取中的累积误差。如车载视觉探测系统精度不高、外流场的CFD数值计算量大和实际工况多、待检索的外流场数据库精细程度不够等。这些不足有望在车联网技术普及中得以解决。车联网技术的计算能力和大数据优势,可使车载终端只需提供本车的位置及路面影像,图像及CFD计算及数据共享任务则由云端的数据控制中心完成。这将使待检索的外流场数据库所囊括的工况更丰富,车速和车距的离散化更精细,从而使各个车辆接收的车道线、周边车辆的方位及其外流场分布等信息更快、更精准。 提出了一种基于CFD的车辆行驶安全状态识别方法。在车道线和外流场分布所围成的安全域中,为获取车辆的位置、撞线时间、行驶轨迹上纵、横向的最大流速等4项行驶安全状态特征,分别进行了车道线的拟合和车辆行驶轨迹的预测,并提出以CFD离线计算、在线检索的方法提取典型工况下行驶车辆外流场的分布。最后利用PNN神经网络对这4项特征的模式识别获得了90%的正确率,即对车辆行驶安全状态的识别效果良好。从而在理论上初步验证了该方法在综合交通路况下的可行性。这为辅助驾驶系统的研究提供了一种新思路。 然而本研究仍存在待改进之处。当前4项状态指标的选取是基于假设和推理,还需更可靠的实验依据。此外,辅助驾驶的实时性要求非常高,尽管笔者提出的流场数据库和计算方式均为离线获取,且对模式识别的样本采取限量和自训练、自更新的策略以减少计算耗时,但这种策略牺牲了准确性要求。有待车联网技术来化解这一矛盾。2.2 外流场中纵、横向流速特征
3 行驶车辆安全状态的识别
3.1 样本数据的归一化
3.2 神经网络主要参数的确定
3.3 测试样本的识别结果
4 结 论