付智俊, 郭启翔, 何 薇, 谢 斌
(东风汽车股份有限公司商品研发院, 湖北 武汉 430000)
自动驾驶作为一种能够替代驾驶员并通过完备的控制算法来优化车流行驶轨迹、避免交通事故的先进技术,已经发展成为车辆领域的研究重点。根据周边环境,主要分为结构化道路与非结构化道路的自动驾驶[1]。结构化道路主要指车辆视野良好、周车行驶轨迹比较规律、具有明显交通标示及车道线的道路,例如高速公路、大型工厂及景区内部道路,是目前研究的主要对象。
换道是超车、并线、会车、避撞等自动驾驶的基本工况,Ammoun等[2]提出自动换道是自动驾驶重要的组成部分,车道变换不仅是4%-10%事故的原因,而且10%的道路延误也是由不正常换道引起的。换道问题研究对促进自动驾驶车辆的高效运行有十分重要的意义。目前的换道研究多集中于单车换道情形[3]与V2X (Vehicleto Everything) 换道[4]。单车情形中有驾驶模型[5]、换道意图判别[6]、风险判断[7]、轨迹规划与跟踪、新型控制架构等研究方向。
对于自动驾驶车辆换道轨迹规划,最常用的是曲线插值方法。2000年,Piazzi和Bianco[8]两位学者发现五次多项式曲线可以增加车道变换轨迹的鲁棒性。Papadimitriou和Tomizuk[9]在2003年也使用五次多项式曲线来表示车道变换轨迹,并针对避免固定障碍物的情况提出了换道轨迹规划模型。之后很多学者针对此进行了拓展性研究。2016年,Thomas[10]针对五次多项式提出了一种优化解法,通过将一个确定性约束改为软约束,使轨迹可以满足更多约束条件。
在换道轨迹确定之后,需要设计轨迹跟踪策略以确保车辆沿既定轨迹行驶。目前常用的轨迹跟踪策略有PID控制、MPC控制等。D. de Bruin et al.[11]在2004年使用比例为-微分(PD) 控制器实现车辆换道控制。文献[12-13]提出了具有不同控制特性的控制器,这些控制器属于传统PID控制的变体。C. Kreuzen使用MPC控制方法控制换道过程,并发现模型预测控制(MPC) 的控制方法比PID控制更有前景,因为它能够预测未来的情况并直接将控制算法实施到实时算法中。
为解释换道过程中本车与周围车辆和耦合运动,Nilsson[14]提出了一种有效的车道变换操纵方法,用于具有时变速度的自动车辆。罗禹贡[4]提出了一种实时调整的动态轨迹规划算法,在使用优化方法生成五次多项式曲线的时候把车辆视为一个刚体,考虑车辆横向加速度的约束。香港大学Xu[15]提出一种动态换道设计方法,通过人机界面进行换道时机和换道状态的提醒,该方法仍然需要驾驶员进行最终换道决策。北京理工大学刘凯[16]提出了动态换道模型,并且使用了可变步长离散化方法用于得到预测时域的动力学计算模型,将换道过程分为侧重纵向控制和侧重横向控制的两个连续阶段,通过实车实验取得了良好的效果。
然而,目前常见的策略为单次规划-实时控制,对实时规划控制的研究相对较少。实时规划控制在每个时点都可以基于前车换道意图、当前车辆状态以及剩余换道时间重新规划换道轨迹,并且根据跟踪模型计算控制量。由于轨迹实时更新,自车可以在轨迹规划层面上对跟踪误差进行弥补,并且基于当前状态规划的换道轨迹将更加适合自车后续换道行为。本文参照这一思路,提出基于前车意图识别的自动驾驶车辆实时避障换道策略,设计实时避障换道控制架构并对其中关键技术要点进行研究,最后进行仿真验证。
在一般换道算法中,轨迹规划仅在换道开始时进行调用,计算结果会作为轨迹跟踪模块的参考轨迹并保持至换道结束。本文提出的实时规划-跟踪算法将轨迹规划算法在每个控制周期进行调用,作为当前周期下的最佳参考轨迹,直至换道结束,其原理如图1所示。
该算法的基本思想:在每个控制时点均存在最佳换道轨迹,最佳换道轨迹的评价方法体现在换道轨迹生成模块中,并且随着换道轨迹生成方法的不同而不同。一般换道算法中,车辆控制误差会导致除换道刚开始外的其他时间控制点均无法同时满足位移、速度和加速度条件,从而无法获得最佳换道轨迹,进而影响换道的稳定性。实时规划-跟踪算法的控制误差同样存在,但其在每个控制时点重新考虑位移、速度和加速度条件,将满足这些条件的轨迹作为新的参考轨迹,从而保证了在每个控制点该算法均能采用最佳换道轨迹。由图1可知,该控制架构主要包含环境感知 (即前车驾驶员的驾驶意图)、轨迹规划与跟踪以及最后的车辆动力学控制。
图1 实时规划跟踪算法原理
前车在换道时有明显不同于非换道情形的运动学特征,本文针对原车道前车换道驾驶意图,采用基于NGSIM数据集的随机森林模型识别该非线性关系。NGSIM是美国联邦公路局针对4种道路I-80、US-101、Lank、Peach进行的数据采集,旨在通过向公众提供权威数据的方式提高对道路效率、智能驾驶、辅助驾驶、交通系统分析等研发项目的支持。本文选取了US-101车道上的车辆信息,通过分析车辆换道前的行为,构建合理的前车换道意图识别模型。
随机森林是在决策树模型的基础上采用bootstrap采样方式而获得的分类方法。决策树的每个节点通过随机特征子空间的方式选择分裂点进行分裂,最终这些决策树将按照投票原则输出随机森林模型的最终分类结果,整体的决策流程如图2所示,其中不同决策树的参数独立训练。
图2 随机森林决策流程
决策树模型是一种广泛应用的树状分类器。通过特征工程获得的特征需要具有非线性关系,并且每个特征在树状结构中占据一个节点。每个节点从根节点出发,建立子节点的同时主要做两项工作,一是根据评价指标选择最佳分裂特征,二是选择分裂属性的分裂值。决策过程沿着树状结构不断进行,直到满足建树停止条件。
根据分裂时选择的评价指标不同,决策树算法分为ID3、C4.5和CART共3种。本文随机森林采用CART方法。它选用的评价标准是基尼系数,并且采用二分裂的方式递归创建决策树。基尼系数的计算方法如公式 (1) 所示。在建树选择节点时,CART算法选择基尼系数下降最多的特征属性作为分裂节点。该特征将该节点分为左右2个子节点,以此类推直至满足建树的停止条件。
3.1.1 随机森林的内容
随机森林是bagging集成方法在决策树模型中的应用,主要包括以下三个部分。
1) Bootstrap采样:根据决策树的数量,随机又放回地抽取等量样本,将每次抽取的样本输至对应的决策树模型。需要说明的是,这里每次抽取由于都是有放回的,所以属于等权重采样。
2) 分裂特征选择:针对每个决策树模型,使用CART方法选择。
3) 多数投票:每个决策树首先进行独立类别判断,然后随机森林模型通过投票方式最终决定判别结果。
3.1.2 随机森林的评价指标
随机森林模型属于二分类模型,采用以下评价指标。
1) 准确率:所有预测正确的样本/总的样本,对于正误判断在两种类别中没有偏向情形侧重选择该评价指标。
2) 精确率:将正类预测为正类/所有预测为正类。
3) ROC曲线:ROC曲线上每个点反映分类问题在一定阈值条件下的判断结果,横纵坐标点分别表示具有典型含义的比例值。其中,真正类率(True Positive Rate,TPR),即正确地判断为换道的样本在所有换道样本中所占比例;假正类率 (False Positive Rate,FPR),即错误地判断为换道的样本在所有不换道样本中所占比例。一般随着阈值的变化,真正类率与假正类率反向变动。ROC曲线刻画的是二者之间的变化关系。如果随机分类,那么ROC曲线将趋近斜率为1的直线。
4) AUC ( Area Under Curve):图3中实线下方的面积。该参数考虑了连续分类阈值下的模型综合识别效果。随机分类的AUC接近于0.5,理想分类器的AUC结果为1,优秀的分类器AUC 结果往往位于0.85~0.95之间。
图3 ROC和AUC
特征构造是机器学习模型中最为重要的一个环节,它从本质上决定了在该特征组合下样本是否可分。本节首先从数据集中拆分单个车辆的行驶轨迹,划分之后如图4a所示,然后计算车辆换道次数,定义从小号车道换至大号车道为右换道,从大号车道换道至小号车道为左换道,车道号未发生变化的为不换道,统计结果如图4b所示。数据集中的车辆总数为1916辆,其中80%以上的车辆在整个过程中均没有发生换道现象;271辆车发生左换道,共计349车次;140辆车发生右换道,共计161车次。为了增加换道样本数据,将识别到的右换道数据通过对称方式转化为左换道数据,转化前后如图5所示,转化之后有效换道共计510车次。没有换道行为的数据提取结果如图6所示,有效非换道共计8632车次。需要说明的是,数据集的局部X坐标为垂直于车道中心线的方向,局部Y坐标表示垂直车道中心线方向,为便于展示和理解,本文图表中除附有“局部”字样外,X方向均表示平行车道线方向,Y方向表示垂直于车道线方向。
图4 数据集轨迹图和换道次数占比
图5 换道样本提取
图6 不换道样本提取
通过分析样本特征并结合实际工程中的经验,本课题最终选择了5个样本特征作为随机森林模型的训练特征。特征集合为以下5个。
1) 纵向速度均值:车辆的换道决策与自车纵向车速并不直接相关,车速主要影响换道其他特性参数。例如当车速较大时,换道过程中驾驶员控制横向速度在较小的范围,从而防止出现失稳的情形,车速较小时,横向速度可以较大。纵向车速与其他参数存在非线性关系从而需要纳入到特征选择当中。
2) 纵向加速度:纵向加速度与换道密切相关,通常目标车道的车速要大于原车道,所以换道行为发生前一定时间窗口内,车辆纵向加速度一般为正值,并且持续一段时间。该特征采用均值的方式处理。
3) 横向速度:换道为发生前的一段时间窗口内,车辆必定存在横向速度以及加速度。而对于非换道行为,车辆可能存在波动的横向速度和横向加速度,但是该特征通过均值化后一般接近于0,从而与换道行为的特征存在差别,因此该特征选入模型训练的特征,且针对该特征采用均值化的方式处理。
4) 横向加速度:车辆在换道行为发生前一般会产生较为明显的横向加速度,该特征采用均值化的方式进行处理。
5) 偏离车道中心的距离:在车辆正常驾驶时,车辆往往位于车道中心线附近,一旦车辆偏离车道中心线并且持续一定时间,那么有较大把握可以认为前车具有很强的换道意图。
基于相关文献查阅及调试经验,本文对比了主要的3个参数:学习率、决策树个数、决策树最大深度。综合考虑训练时间和误差收敛情况,决策树数目,即基学习器的数目设定为250,其他参数及设置见表1。
表1 模型调试结果
图7 精确率与召回率训练结果
图8 准确率与AUC训练结果
当学习率取0.05,0.10,0.15,决策树最大深度取3,4,5,6时,训练集合测试集的结果如图7和图8所示。精确率评价指标在参数空间内均保持在90%以上,在最佳参数组合下可以达到93.73%。精确率意味着模型判断出原车道前车出现换道意图时其确实发生换道行为的概率。精确值较高表示出现误报的概率小,换道策略在接收到换道意图识别结果时做出的安全条件判断修正更加合理。召回率只有5%左右,这意味着为了保持较低的误判率,换道意图识别模型会避免对大多数的换道行为的认定。准确率和AUC在全参数组合下均非常接近于1,这一方面是因为模型中不换道模型数据量较大,对其判断正确的样本较多,另外一方面也体现了模型判断的正确性。
多项式曲线是较为常见的轨迹生成模型,相较于其他模型如样条曲线模型,该模型的参数具有更明确的物理含义而且模型方便求解,降低给实时系统带来的计算负担。本文采用五次多项式曲线,在给定换道始末横纵向位置及车辆横纵向状态时,可以通过线性运算得到在车道方向和车道垂向的五次样条轨迹。五次多项式轨迹模型表达式如公式 (2) 所示,边界约束条件如公式(3) 所示,参数含义如图9所示。
图9 五次多项式轨迹参数含义
在横纵向上分别通过求解可得系数如公式 (4)、 (5)所示。
在换道结束时车辆进入目标车道,并且处于稳定状态,所以换道终点纵向加速度.. ,横向速度.,横向加速度..一般设为0。
针对本车道前车换道和目标车道前车减速两种工况,本节设计了统一的安全条件判断模型,如图10所示。
图10 安全条件判断与控制模式
图11 距离条件
自车在接收到周车信息之后,依次进行意图判断、距离条件判断、加速度条件判断。经过条件判断后,算法进入3种控制模式其中之一。每种控制模式有其对应的轨迹规划和横纵向的轨迹跟踪方法。控制模式3的横向控制具有最高的优先级,自车一旦进入模式3进而做出返回原车道的决策后,剩余换道时间内,自车的轨迹规划和横向控制不再发生改变。纵向控制仍可以根据距离和加速度条件判断的结果在不同模式下切换。
原车道前车换道行为判断依据是横向距离超过车道宽度的1/2,目标车道前车的减速行为判断依据是:减速度大于2m/s2持续1s以上。当算法未检测到影响自车换道的周车驾驶行为/意图时,选择模式1,反之算法进入距离条件判断。
距离条件主要是自车基于当前的相对车速,相对距离和减速度判断是否需要调整纵向跟踪策略,如图11所示。CFC避障工况下,原车道前车一般加速换道,影响自车换道安全的主要是自车与前车的相对速度和相对距离;在TFD避障工况下,目标车道前车减速行为是影响换道安全的主要因素。如果换道结束时相对距离大于安全距离阈值,则当前控制模式进入模式1,反之进入加速度条件判断模块。需要说明的是,车辆相对距离计算时采用了车辆质心作为参考点,在安全判断时算法不对车辆外形尺寸进行单独讨论,外形因素包含在中。在联合仿真时实车测试中剔除了外形因素之后的安全距离,取值为5m。
加速度条件主要是自车当检测到距离条件不满足时,对于所需的目标制动减速度的判断。进行加速度条件判断的前提是:安全距离条件不满足。加速度条件判断之后将决定车辆进入模式2或模式3控制状态。如果所需的目标制动减速度未超过设定的阈值,则控制模式选用模式2,反之控制模式选用模式3。
目标制动减速度的计算如图12所示。
图12 加速度条件
需要说明的是,阈值在实车设定时可以通过驾驶风格选项来体现,激进的驾驶风格可以选用较大的阈值,使得换道避障算法在决策时可以自主选用较大制动减速度。阈值具体大小与驾驶风格的对应关系可以通过标定实现。本课题对此不进行探讨,在联合仿真和实车测试时,该阈值设定为5m/s2。
通过对原车道前车和目标车道前车的条件判断,决定自车当前的控制模式分为3种:①模式1针对两种情形:没有检测到周车影响自车驾驶行为 (意图);虽然自车检测到意图但是基于当前的速度分析和加速度分析,在自车完成换道时间内,与周车的纵向距离仍处于安全阈值之内。该两种情形下自车不需要调整轨迹规划和跟踪策略。②模式2针对距离条件不满足但加速度条件满足时的情形,该情形下自车需要将纵向控制切换为目标减速度跟踪控制。③模式3对应最为危险的避障情形,当前车辆允许的最大制动加速度已经无法满足换道需求,此时需要返回原车道。控制模式与相关模块的对应关系如图13所示。
图13 不同控制模式下的轨迹规划与跟踪方法
在具体的轨迹规划和轨迹跟踪方法上,在模式1中,采用常规五次多项式形式进行轨迹跟踪,基于当前自车状态和目标车道(此时为左车道) 位置和速度信息实时设计换道轨迹。轨迹跟踪采用MPC同时输出目标前轮转角和目标车速。前轮转角通过转向传动比输出转向盘转角控制量,目标车速通过车速分段PID控制输出油门或制动减速度控制量。
在模式2中,轨迹规划方法与控制模式1的方法相同。轨迹跟踪在纵向上采用PID闭环控制输出目标制动减速度。目标减速度的计算方法已在图11中得到讨论。轨迹跟踪在横向上采用预瞄模型输出前轮转角,然后通过转向传动比输出转向盘转角。
在模式3中,自车需要返回原车道。轨迹规划同样采用五次多项式形式,不同模式1、2之处在于目标车道设定为原车道。纵向控制采用最大制动减速度控制,横向控制方法和参数同模式2。需要说明的是,纵向控制采用最大制动加速度控制,该制动加速度与路面附着识别、车身状态估计以及横摆力偶矩控制有关,计算逻辑与ESC功能类似,并非本论文讨论的重点,在联合仿真和实车测试时,该值设定为7m/s2。
轨迹跟踪控制器采用MPC+PID联合控制策略。MPC模型由2个模块组成。第1个模块基于车辆三自由度运动学模型。该模型以车辆前轮转角和车速为模型控制量,通过最小化预测模型的成本函数得出最佳控制量。第2个模块通过转向传动比计算出转向盘转角,通过比例模型计算出车辆纵向控制量,即油门和制动强度,系统框架图如图14所示。
图14 MPC控制系统
搭建了仿真平台和实车平台上对换道避障算法进行验证。仿真平台采用CARSIM和MATLAB进行联合仿真。如图15所示。CARSIM提供自车、周车模型以及道路环境,MATLAB进行条件判断、决策矩阵选择、轨迹规划以及轨迹跟踪模块的计算。
采用本课题提出的实时换道避障策略,图16显示了工况1.1的实时仿真轨迹。总体来看,算法通过基于当前自车运动状态设计的五次多项式轨迹可以在每个时间点顺利生成,且较平滑,可以作为换道的跟踪轨迹。
图15 MATLAB与CARSIM联合仿真示意图
自车在纵向15m的位置,规划的轨迹发生了不连贯变化,这主要是因为轨迹参数优化模块在1.55s优化换道长度参数,参数变化如图17a所示。1.55s之前,五次多项式轨迹的距离参数由当前车速与剩余换道时间决定,变化连续;1.55s之后,为了保证换道轨迹的单调性,轨迹参数优化结果单调递增,因此出现了换道轨迹不连贯的情况。换道过程中,横向速度最大值为0.16m/s,均方根值为0.07m/s;横向加速度绝对值最大值为1.32m/s2,均方根值为0.51m/s2;横摆角速度绝对值最大值为7.50°/s,均方根值为3.55°/s。该算法控制车辆完成横向换道距离25%,50%,75%,95%分别用时1.65s,2.25s,2.90s,3.75s。
图16 实时仿真轨迹
图17 换道过程中的车辆动力学状态
本文研究了前车换道意图识别方面的问题,利用前车一段时间窗口内的驾驶行为,如加速度统计值、车道线偏移量等判断前车未来时间窗口内进行换道操作的可能性,从而为换道提供更多决策信息。采用随机森林构建判断模型,通过8632车次的非换道样本以及510车次的换道样本构成的样本空间,模型获得了93.73%的识别精确度。对前车换道意图的识别有利于车辆在换道过程中及时避障,提高行驶安全性。研究了换道过程中轨迹规划与轨迹跟踪的算法。分析了轨迹规划参数的优化方法,为实际决策中避免极端轨迹提供了基础。提出了实时规划跟踪的MPC+PID换道避障算法,构建了安全判断条件和决策矩阵,分析并验证了该算法在正常换道和避障换道工况下的控制效果。