宋宇欣 文凯凯 邓基辰
(杭州电子科技大学,浙江杭州 310018)
近年来,汽车行业的研究方向逐渐转向智能驾驶领域。车道偏离预警和车道保持控制系统作为智能驾驶的重要组成部分,是实现智能驾驶的前提。目前,车道偏离预警系统大多利用车外的摄像头采集车道线等周边环境信息,再利用图像处理技术对车道进行检测,将检测结果与当前车辆行驶状态进行综合比较,判断车辆是否偏离了既定车道[1]。
现阶段常用的偏离决策算法主要有当前时刻侧向位移法(CLD)、瞬时横向加速度法(CLV)、预瞄轨迹偏离法(DTD)、跨道时间判定法(TLC)等4种类型。胡骁等[2]提出了1种基于特征颜色识别的边缘检测算法,红-绿-蓝(RGB)分量值是颜色识别所考察的特征。该方法将特征颜色区域通过设定好的转移函数进行标记,然后对候选区域实施边缘检测,忽略大量的无效边缘。该方法的检测结果最终依靠RGB分量的阈值分割进行处理,在一定程度上不够准确。何建辉等[3]提出了车道线检测算法,通过动态划分检测区域,改进了传统的固定区域检测算法。该方法通过对检测车道线的摄像头进行标定并获取参数,对偏离时间设置阈值条件,以控制系统决策是否进行预警。钟泽滨[4]提出的方法可以对车道线进行精确检测。该方法利用卷积神经网络,对当前车道线的对称情况进行精确检测,并设置偏离安全阈值,若检测结果超出安全阈值,则对驾驶员发出预警信息。
本文基于摄像头采集到的图像信息,提出了一种自适应车道偏离识别算法。该算法可以对车辆在直道或弯道2种不同工况下的行驶状态进行车道偏离判断,既保证了计算的速度又保证了结果的准确性。最后,采用仿真方法,通过车道偏离识别出的数据,使用比例-积分-微分(PID)算法对车辆行驶状态进行控制,使车辆在预定的车道内行驶,以此验证了所提出的车道偏离识别算法的有效性。
车道偏离识别算法将摄像头采集到的车道线信息分为直道信息和弯道信息。若系统检测到当前行驶车道为直道,则采用偏离判断基准线法判断是否发出预警信息;若系统检测到当前行驶车道为弯道,则采用触线时间阀值法结合车身传感器传输的车辆状态信息进行判断。车道偏离识别算法流程图如图1所示。
图1 车道偏离识别算法流程图
车辆在直线车道上行驶时,根据成像原理,两平行车道线在摄像头内呈梯形。若摄像头的视距足够长,甚至会出现2条直道线交叉并消失的情况,即车道线呈三角形,如图2所示。图中,线段QM、QN分别为左右车道线,P1P2为引入的偏离判断的基准线。其中,感兴趣区域(ROI)为车辆前端采集车道线信息所用摄像头的图像处理区域。
图2 直道工况下车道线摄像头内成像
当车辆在直道工况下行驶且未发生偏移时,左右两侧车道线与偏离判断基准线的向量关系如图3所示。
图3 直道工况下未发生偏移时,两车道线与偏离判断基准线向量图
由图3可知,车道线QM、QN始终在偏离判断基准线的顺时针方向,且无交叉现象。由向量的外积可知:lQM×lP1P2>0;lQN×lP1P2>0。
在直道工况中,车辆偏离分为左偏离和右偏离。针对这2种不同的偏离行驶特点,下文进行详细分析。
1.1.1 车辆向左偏移行驶
车辆向左侧车道发生偏离时的摄像头内成像示意图如图4所示,向量关系图如图5所示。
图4 直道工况下车辆向左偏移时摄像头内成像
图5 直道工况下向左偏移时,两车道线与偏离判断基准线向量图
车道线在摄像头视野内呈向左倾斜的三角形,偏离判断基准线P1P2与左侧车道线QM相交。QP1始终在QM的顺时针方向,即lQP1×lQM>0。此时,安全阈值S1为:
(1)
综上可知,当车辆在直道工况下行驶且向左侧偏移时,S1>0。
1.1.2 车辆向右偏移行驶
车辆向右侧车道发生偏离时的摄像头内成像示意图如图6所示,向量关系图如图7所示。
图7 直道工况下向右偏移时,两车道线与偏离判断基准线向量图
车道线在摄像头视野内呈向右倾斜的三角形,偏离判断基准线P1P2与右侧车道线QN相交。QP2始终在QN的逆时针方向,即lQP2×lQN<0。此时,安全阈值S2为:
(2)
综上可知,当车辆在直道工况下行驶且向右侧偏移时,S2<0。
在弯道工况时采用TLC算法。其主要原理为车辆在偏离车道行驶过程中,车辆本身的航向角、车速和方向盘转角等参数不变,计算车辆的某一轮胎和车道线进行线接触时所用的时间为tTLC。当该时间值小于一定的阈值时,车道偏离预警系统被激活,给予驾驶员提醒信息。本文TCL算法的基本公式如下:
(3)
式中:dx代表汽车接触到车道线时所行驶的距离,单位m;vx代表当前汽车的纵向速度,单位m/s。
车辆在弯道工况行驶向左偏移的示意图如图8所示。
图8 弯道工况下车辆向左偏移示意图
在图8中,点A表示车辆的左前侧车轮;点O表示车道线的曲率中心;点B表示汽车左前轮与曲率中心连线与车道线的交点;点C表示不改变驾驶方向车辆左前轮与车道线接触的点;点D为过曲率中心向AC所作垂线,此时相对偏航角为α。
结合公式(3),可计算车辆在弯道工况下行驶偏离车道的跨线时间tTLC为:
(4)
式中:dx为汽车接触到车道线时所行驶的距离,单位m;vx为当前汽车的纵向速度,单位m/s;r为曲率半径,单位m;yr为车轮左前轮到边界线的距离,单位m;α为相对偏航角,单位(°)。
车辆在弯道工况行驶向右偏移计算方法同式(4)。
基于真实的道路状况,运用仿真软件对比例-积分-微分(PID)控制算法下的车辆直道和恒曲率弯道中的运行情况进行了仿真,以验证文中所设计的不同工况下的偏离判断的有效性。
基于直道的普遍性,考虑到驾驶员在直道上行驶的各种干扰因素,如疲劳、走神等,本文仿真了直道工况。仿真的直道行驶工况如图9所示。
图9 车辆直道行驶工况
在直道行驶工况中,在PID控制算法下的车辆行驶轨迹如图10所示。从图10可以看出,横向位移在车辆行驶约20 m后被控制住。大约在100 m后,横向位移基本为零。该仿真意味着车道偏离被系统正确识别后,车辆被控制沿着预期的车道中心线继续行驶。
图10 直道工况中PID控制算法下的车辆行驶轨迹
相较于直道,弯道更加考验驾驶员的技术,尤其一些连续弯道地段是交通事故的高发区。因此,实现弯道驾驶的自动化是汽车行业发展的必然趋势。如图11所示,本文采用了恒曲率弯道模型。在算法模型中,技术人员设置汽车动力学模型的转向输入为0,系统仅检测车道线,在控制器施加主动控制附加横摆力矩的作用下,观察汽车是否能够自主调节,在恒曲率弯道内行驶。在PID控制算法下,车辆仿真行驶的轨迹如图12所示。
图11 恒曲率弯道下车辆的行驶轨迹
图12 PID控制下车辆弯道行驶的轨迹
在驾驶员不操作车辆方向盘的情况下,运用PID控制算法,系统可以接管车辆。从图12中可以看出,车辆实际行驶线与理想的车道中心线基本重合,可以顺利通过恒曲率车道。这也就意味着车道偏离识别算法能够正确识别出弯道线。
车辆驾驶的智能化是行业发展的必然趋势,同时,也意味着对汽车安全的更高要求。本文提出了自适应车道偏离识别算法,分别针对直道和弯道2种不同车道,采用不同的车道线识别方式进行识别,提高了识别的速度和精度。本研究采用仿真的手段,运用自适应车道偏离识别算法获取的数据,通过PID控制算法分别仿真了车辆在直道和弯道下车辆的行驶状况。仿真结果表明,本自适应车道偏离识别算法所提供的数据可以保障车辆在预期的车道内行驶,算法具备有效性。