郭睿,张一鸣
1.吉林建筑大学 土木工程学院,吉林长春 130119;
2.吉林大学 汽车工程学院,吉林长春 130022
随着国内汽车保有量的增加[1],城市交通事故频发。据统计,交通事故中86.1%原因是车撞车,其中追尾占40.3%,交叉碰撞占28.8%,十字交叉路口是车辆发生各种碰撞事故的主要地段[2]。使用主动安全系统解决十字路口交叉行驶可能发生碰撞的问题[3],可以提高汽车的安全性。AEB(Autonomous Emergency Braking)作为实现车辆纵向减速安全系统的典型装置,在汽车产品上被广泛应用。GOUNIS K 等人[4]设计了一个基于安全距离的分层AEB 控制系统,该系统由一个规划层的规则控制模块和一个控制层的控制模块组成。LEE J 等人[5]考虑并开发反映曲线几何信息的AEB 系统,以提高曲线行驶车辆的AEB 性能。考虑到路面附着系数对车辆的AEB 功能有重要影响,ZENG D 等人[6]提出了一种改进的智能汽车自动紧急制动AEB 算法,该算法为了发挥电子液压制动器的最优性能,对前方路面附着系数进行了快速评估。
对于路径规划,常用的方法有基于多项式的路径规划、基于数值优化的路径规划以及基于采样的路径规划等[7-10]。ZHOU X 等人[11]结合A*算法和五次多项式,提出了一种新型的混合轨迹规划方法。王安杰等人[12]针对自动驾驶汽车侧方和后方的主动避撞问题,提出了融合障碍物运动预测的预测风险场和基于预测风险场的运动规划方法。XU J 等人[13]提出了一种动态高斯局部规划器DGLP(Dynamic Gaussian Local Planner)方法来解决动态环境中的运动规划问题。ZONG C 等人[14]提出了一种改进的路径规划算法区域抽样RRT(Regional-Sampling RRT)算法。
单一的减速避撞或者是转向避撞都有一定不足,即当车辆之间距离过短时,可能无法实现避撞。复合型智能安全系统可以将减速以及转向结合起来,在转向的同时对车辆实施减速,该研究具有重要意义。PARK J 等人[15]提出一种转向与制动同时运作的复合避撞系统。ZHANG Z 等人[16]提出一种基于模型预测控制的智能汽车纵横向防撞控制策略。ZHANG X 等人[17]提出了一种个性化的运动规划和跟踪控制框架。
综上所述,现在车辆的主动安全系统已经比较成熟,对于避撞的功能研究也十分丰富,但由于十字路口环境的复杂性与多变性,仍然存在以下问题:(1)智能车已经具备完整的AEB 系统,对于转向避撞规划控制的AES(Adversary Emulation System)系统研究也同样丰富,但是对于将两者结合起来的转向制动复合避撞的研究较少,且许多复合避撞采用横纵向相互耦合的控制策略,该种策略不仅计算量大,且实时性、精度都较差,需要对横纵向控制的解耦控制进行研究;(2)关于车辆在无法避免碰撞时最小化人员伤亡的情况研究较少。因此,研究车辆在十字交叉路口的横纵向复合避撞十分重要。
为满足仿真测试,本文搭建的十字路口紧急工况场景具有以下假设:
(1)假设智能车由南向北直线行驶,它车由东向西直线行驶,它车违反了交通法规则强行驶过路口;
(2)十字路口双向均为双车道,暂不考虑除智能车和违法行驶的它车以外车辆;
(3)各车辆简化为矩形,其4 个端点分别为A、B、C、D点,两车尺寸相同,长度均为l,宽度为w。智能车各点由下角标1 表示,它车用2 表示。车道宽度为W,地面附着系数为Φ。
如图1 所示,以初始时刻智能车AB面上中点O为原点,建立的笛卡尔坐标系是全局坐标系。
以车辆几何中心点o为原点建立车辆坐标系。为便于计算,定义智能车A1B1面中点P1(X1,Y1)为智能车坐标点,它车A2B2中点P2(X2,Y2)为它车坐标点。
两车中垂线的交点CP为交叉点,定义智能车A1D1面与它车A2D2面交点CP'为后交叉点。
初始时刻,智能车P1距离交叉点为X0,它车P2距离交叉点为Y0,智能车的速度大小为V10,它车的速度大小为V20。定义当智能车的A1点行驶到后交叉点时,智能车的A1点与它车的C2点的距离为安全距离Xsafe。虽然交通法规中并未明确限定车辆在红绿灯路口的限速,根据同方向有两条以上机动车道的城市道路行驶时,车辆最高时速不应超过50 km/h 的规定,可确定X0与Y0的取值范围为0 ~30 m,V10与V20的取值范围为8 ~15 m/s。
将车辆简化为单轨模型,只包含纵向、侧向及横摆3 个自由度。车辆的非线性动力学模型表达式如下:
其中,m为整车整备质量;φ为车辆的横摆角;x为车辆质心在车辆坐标系下的纵向位移;y为车辆质心在车辆坐标系下的侧向位移;Clf、Clr分别为车辆前、后轮胎的纵向刚度;Ccf、Ccr分别为车辆前、后轮胎的侧向刚度;Sf、Sr分别为前后轮的滑移率;δf为前轮侧向力;a为质心到前轴的距离;b为质心到后轴的距离;X为车辆在全局坐标系下的横坐标;Y为车辆在全局坐标系下的纵坐标;Izz为围绕垂直于地面的车辆纵向轴旋转的惯性特性参数。
横纵向复合避撞规划控制的主体是对车辆轨迹的规划和对轨迹进行跟踪。前者采用改进的Lattice 算法,后者纵向采用基于双环PID 的控制策略,横向采用基于MPC 的控制策略。
常规Lattice算法适用于非紧急情况进行轨迹规划,为了满足本文研究的紧急工况,对其进行了改进。在对规划的轨迹进行跟踪时,如果轨迹满足道路边界条件以及附着条件,则进一步采用相应的控制算法进行轨迹跟踪,否则应考虑车辆之间无法及时避撞情况。
3.1.1 基于Frenet 坐标系的路径族创建
首先将智能车以及它车的位姿信息转换到Frenet坐标系,如图2 所示,红色虚线是车辆当前运行的轨迹方向,红色实线是车辆运行的轨迹线,投影点R是车辆标记点P点在参考线上的投影。
从参考线起点(全局坐标系的原点O)到投影点的路径长度就是车辆在Frenet坐标系下的纵向偏移量,用S表示,而投影点到车辆位置的距离L则是车辆在Frenet 坐标系下的横向偏移量。
规定轨迹初始时刻为t0,轨迹结束时刻为t1。在Frenet 坐标系下,智能车在t0时刻,车辆位置P1为[S0,L0],速度为V10,加速度为a0;在t1时刻,车辆位置P1为[S1,L1],速度为V11,加速度为a1。对智能车的S-t 曲线以及L-S 曲线进行五次多项式拟合。
其中,S为智能车沿着路径前进方向的前进量;L为智能车与路径的横向偏移量;j1、j2、j3、j4、j5、j6为智能车沿着路径前进方向的前进量随着时间变化的五次多项式的系数,负责控制相应项的影响程度;k1、k2、k3、k4、k5、k6为智能车与路径横向偏移量随前进方向前进量变化的五次多项式的系数,负责控制相应项的影响程度,这些系数决定了拟合曲线的形状和特征。
多项式系数的求解需要补足边界条件,因此,对t1、L1、V11分别在允许范围内进行数据采样。其中,为了保障轨迹的合法性,将L1的采样范围限定在旁边的车道边界范围内,且有a0=a1=0、S0=0、S1=X0-w/2、L0=0。将采样得到的m组边界条件带入多项式,即可得到智能车的轨迹族ξ1-ξm。
其中,V10为智能车与所在车道的横向运动速度;a0为t0时刻的加速度;V11为在t1时刻智能车相对于固定坐标系沿切线方向的速度;a1为在t1时刻的加速度;S0为智能车t0时刻沿着路径前进方向初始位置;S1为在t1时刻智能车沿着路径前进方向的位置;L0为智能车t0时刻与路径的横向偏移位置;L1为在t1时刻智能车与路径横向偏移的位置。
3.1.2 基于改进Lattice 算法的最优轨迹获取
本文研究的紧急避撞工况中,智能车加速度与横摆角速度可能较大,常规Lattice 算法规划下加速度或者横摆角速度不满足要求,需要对Lattice 算法进行改进,保障轨迹的可跟踪性。
改进的Lattice 算法为:
(1)对轨迹族的轨迹进行初步筛选,剔除智能车沿轨迹行驶时,加速度与横摆角速度不满足要求的轨迹,使得所有轨迹均为可跟踪行驶的轨迹;
(2)使用十字路口特定的指标对可跟踪行驶的轨迹进行评价,挑选出最优的轨迹。
智能车沿轨迹ξi行驶时的加速度ai、侧向加速度aci以及横摆角速度φ的求解如下:
智能车的横摆角由智能车沿着T轴的速度与N轴的速度之比的反正切求解得:
则智能车的横摆角速度φ为:
智能车沿轨迹行驶的速度vi为:
智能车沿轨迹行驶的加速度ai为:
智能车沿轨迹行驶的侧向加速度aci为:
为保障轨迹的可跟踪性,智能车加速度应满足ai≤Φg,侧向加速度应满足aci≤0.4 g,横摆角速度应满足φ<Ψmax。其中,Ψmax为智能车在该速度条件下能达到的最大的横摆角速度,如图3 所示。
在排除掉不满足跟踪条件的轨迹之后,轨迹族更新为ξ1-ξn。常规Lattice 算法对轨迹进行评价时,考虑速度损失代价、横向偏移代价、碰撞代价、加速度最大值、横向加速度、向心加速度,而本文中由于已经对加速度、侧向加速度以及横摆角速度进行了限制,因此仅考虑纵向偏移代价、横向偏移代价以及最重要的安全距离这3 个指标。
纵向偏移为智能车沿规划轨迹行驶的纵向位移与沿之前的轨迹行驶的纵向位移的差值Scost,即:
横向偏移为智能车沿轨迹行驶的横向位移Lcost,即:
安全距离Xsafe为t1时刻智能车的A1点与它车的D2点的距离,即:
其中,Y为车辆在全局坐标系下的初始纵坐标。
则轨迹的目标函数f为:
通过目标函数找到代价最小的轨迹即为紧急避撞工况下的最优轨迹。
基于双环PID 对智能车进行纵向控制,基于MPC对智能车进行横向控制,即对轨迹的跟踪控制进行解耦,避免直接使用MPC 导致的状态方程矩阵过大、计算速度慢、控制不准确等问题。
3.2.1 基于双环PID 的纵向控制
跟踪控制智能车的纵向位置时,控制量为节气门开度或制动主缸压力。单环PID 控制存在速度偏差和位置偏差的干扰,会使得控制精度大大降低。通过双环PID 对智能车进行纵向控制,通过内环PID 控制器消除速度偏差干扰,内环PID 控制器消除位置偏差干扰,极大地提升控制的精准度,实现智能车对S-t 曲线d的准确跟踪。
根据S-t 曲线可以得到智能车沿最优避撞轨迹行驶时的期望纵向位置与时间的关系,即Xref(t)=S(t),离散化后可得Xref(k),依此对智能车进行纵向控制。PID的离散表达式如下:
其中,Kp为比例系数;Ki为积分系数;Kd为微分系数;e(k)为实际值与目标值之间的偏差;u(k)为控制量。对于外环PID,e(k)=Xref(k)-X(k)为位置偏差,u(k)为智能车此刻的期望速度Vref,选取系数为Kp=20、Ki=10、Kd=0;对于内环PID,e(k)=Xref(k)-V(k)为速度偏差,u(k)为智能车的节气门开度或者制动主缸压力,选取系数为Kp=0.1,Ki=0.5,Kd=0。
3.2.2 基于MPC 的横向控制
通过MPC 对智能车进行横向控制,可以使得智能车对L-S 曲线进行跟踪行驶。将系统状态空间表达式的状态量选取为X=[x,y,φ,φ,X,Y]T,控制量选取为u=δf,输出量矩阵为η=[φ,Y]T,得到车辆的非线性动力学模型状态空间表达式为:
任意时刻参考的状态量Xref、控制量uref、输出量ηref是智能车十字路口紧急工况复合避撞研究中所使用的重要变量,用于描述系统的状态、控制输入和期望输出。据此更新系统状态空间表达式的状态量为:
其中,矩阵A和B分别为智能车在AB面行驶过程中状态量及控制量的系数。
便于算法的求解以及误差计算,将系统的状态方程转换为线性,将其离散化,在第k个步长将式状态方程向前欧拉离散化可得:
其中,误差项d(k)=Xref(k+1)-A1Xref(k)-B1uref(k);矩阵A1=TA(kT)+I;矩阵B1=TB(kT);矩阵C1=C。
令新的状态向量:
可得:
其中,ξ(k+1) 为在第k+1 个步长下的状态向量;矩阵A2=TA[(k+1)T]+I;矩阵B2=TB[(k+1)T];矩阵D=T(A+B);矩阵C2=C。
将输出向量进一步化简,可得输出方程Y(k):
其中,Ψk为步长为k时车辆方向与参考轨迹的夹角;Θk为步长为k时车辆当前相对于参考轨迹的横向位置偏差的角度;Γk为步长为k时车辆当前相对于参考轨迹的横向位置偏差的距离;Фk为步长为k时车辆横向运动方向与车辆朝向的夹角。
用以预测未来Np个时刻的系统输出,确定Nc个时刻的最优控制量。
二次规划求解控制量中的目标函数为:其中,Q为输出权重矩阵;R为控制增量权重矩阵;ρ为松弛因子权重;ε为松弛因子。松弛因子可以防止输出量约束导致的无解,通过调节松弛因子,可以在无解时仍获得系统在该时刻的次优解。
为了验证所提算法的有效性,在Simulink 中搭建算法模型和车辆模型,设置工况进行仿真验证。工况设置如表1 所示。
表1 仿真具体工况
仿真结果如图4 与5 所示。
工况1 中,智能车在3.01 s 时行驶到后交叉点,其侧向加速度先反向增大,1 s 后正向增大,2 s 后慢慢趋于0;而纵向加速度在反向增大后,于1 s 后慢慢降低至0,3 s 内随时间的横摆角速度先减小再增大,在1.5 s 后趋于0.1,此工况下,智能车的横向偏移为3.65 m,预留的安全距离为7.97 m。工况2 中,其侧向加速度先反向增大再正向增大,1 s 后加速度逐渐稳定在0;而纵向加速度在反向增大后,于1 s 后降低,2 s 后趋近于0,4 s 内随时间的横摆角速度先减小,0.5 s 后开始增大,此工况下,智能车在3.7 s 时行驶到后交叉点,智能车的横向偏移为3.97 m,预留的安全距离为12.59 m,均符合避撞的要求。工况1 中,智能车的最大纵向加速度为0.4 g,最大侧向加速度为0.18 g;工况2 中,智能车的最大纵向加速度为0.39 g,最大侧向加速度为0.17 g,均满足加速度限制要求;智能车的最大横摆角速度分别为0.48 rad/s、0.28 rad/s,均小于在该车速下的最大横摆角速度,满足轨迹的跟踪要求;智能车前轮转角作为控制量,其满足控制量范围要求及控制量增量的限制要求;车轮的垂向载荷始终大于0,说明智能车行驶稳定,没有发生侧翻。
本文的内容为横纵向复合避撞规划控制研究。复合避撞是将纵向的减速以及横向的换道结合起来,以达到更好的避撞效果。其中规划部分采用了改进的Lattice 轨迹规划算法,与传统规划算法的区别在于对智能车沿轨迹行驶的加速度以及横摆角速度做出了硬性的要求,排除了智能车不能够跟踪行驶轨迹,优先保障了轨迹的可跟踪性,以防出现规划的最优轨迹智能车跟踪不了的情形。根据规划的S-t 曲线以及L-S曲线进行解耦的横纵向复合控制,根据S-t 曲线使用双环PID 控制智能车在预定时间内到达指定的纵向位置,根据L-S曲线使用MPC 控制智能车在指定的纵向位置时达到规划的横向偏移量以及横摆角。