王琼 郭戈
近年来,随着汽车保有量不断增大和人员往来日渐频繁,地面交通运输流量显著增加.而另一方面,受资金和空间资源所限,道路扩容升级的速度有所放缓.这导致大型城市和主要高速公路的交通状况日益恶化,造成大量的矿物燃料消耗和尾气排放.交通拥堵不仅使运输成本增大,严重污染环境,甚至导致频繁的交通事故,造成巨大的经济损失和人员伤亡.根据2011年国际交通论坛的数据,世界上每年死于交通事故的人数达130多万,如果不采取措施,这个数字将可能上升到190万[1].高德2017年第一季度交通报告显示,北京高峰拥堵延时指数达1.884,平均车速仅24.82km/h.另据估计,在欧洲地区的地面交通排放的二氧化碳占总排放量的29%[2].因此,研究能改善交通运行效率、降低能耗的车辆队列控制系统意义重大,且非常紧迫.
研究表明,有效地控制车辆流,使同一车道的车辆以较小的车间距列队行驶,可显著缓解交通拥堵,提高交通容量,降低车辆油耗,减少尾气排放[3].实验结果显示,重型车辆因空气阻力产生的油耗约占总油耗的四分之一[4],而采用车辆队列控制技术可减少油耗约10%[5−6].可见,车队控制是智能交通控制系统中的关键技术之一.车辆队列控制中的重要问题之一是队列的稳定性.由于车队中的车辆相互耦合,某辆车的加速、减速操作会影响车队中的其他车辆,导致车间距误差沿车队向后传播并放大,可能导致车队不稳定,甚至造成追尾事故.车辆队列稳定性作为一个十分重要的问题已受到诸多研究人员的关注[7−17].例如,文献[7]提出两种基本的纵向控制方法,即车辆跟随控制和点跟随控制;文献[8]考虑网络资源有限,提出一种基于事件触发的控制策略;文献[9]提出基于迭代控制算法和最优控制理论的最优车队控制方法,可使车辆跟随间距最小;文献[10−11]分别研究了传感器失效和网络延时对车辆队列稳定性的影响;文献[12]提出一种可保证车辆队列稳定性的分布式滚动时域控制方法;文献[13]给出了一种车辆协同自适应巡航控制方法,并基于频域方法获得保证车辆队列稳定性的条件;文献[14]研究了不同信息流拓扑结构对车队队列稳定性的影响;文献[15]考虑外界干扰,提出一种可确保车队稳定性的分布式自适应积分滑模控制方法;文献[16]提出一种基于通信可靠性的自适应切换控制策略,确保异质车队的队列稳定性.
车辆列队行驶时车辆间存在耦合作用,车队的油耗和整体性能受空气阻力以及路况影响较大,因此,合理地根据路况控制车队的行驶速度,可显著降低车队的整体油耗,同时保证车队整体性能(如队列稳定性).已有的车辆队列控制文献尚未考虑基于油耗的控制问题,只有单个车辆行驶控制研究的文献中考虑了不同路况以及不同速度和加速度下的油耗特性,并研究了油耗最低的车辆巡航速度[18−19].例如,文献[19]研究车辆从静止加速到指定速度过程中最省油的加速度.考虑到车辆在行驶中反复加/减速、启/制动会消耗能量,文献[20−24]提出了绿色驾驶(或生态驾驶)方法,其中,文献[21−22]通过预测前方交通信息制定车辆控制策略,以尽可能减少变速次数;文献[23]根据现有道路信息和车辆动态模型预测车辆未来状态,然后基于预测状态和发动机油耗模型,给出节能最优控制策略;文献[24−27]对文献[22]进行了扩展,利用道路交通信息、交叉路口的信号灯状态以及车辆油耗模型,提出一种可对油耗进行优化的非线性模型预测控制方法.文献[28]研究了如何基于信号灯信息实现车辆低油耗环保驾驶控制.针对单车的油耗优化控制方法并不能直接推广应用于车队的节油控制,如何针对不同路况确定车队的最优参考速度以降低车队整体油耗仍然是一个尚待解决的开放问题.
本文旨在结合油耗指标和安全性能,研究经济节油的车辆队列控制方法.考虑道路坡度和车队异质性,基于车队模型和油耗模型,提出一种滚动时域动态规划方法(Receding horizon dynamic programming,RHDP),获得车队的最优速度.以此速度作为车队的参考速度,基于车辆非线性模型,采用反步法,设计速度跟踪控制器.本文的主要创新点如下:
1)同时考虑车队油耗及安全控制问题,给出确保车队整体油耗最低和队列稳定性的协同控制方法.
2)在车队速度规划部分,考虑了不同路况下不同质量和大小的异质车队整体油耗,获得车队最优节油参考速度.
3)基于非线性车辆动态模型设计跟踪控制器,比基于线性化的方法更实际.
本文组织结构如下:第1节给出所研究问题的数学描述、基于非线性车辆动态模型的车队建模、油耗模型以及控制目标;第2节基于路况构造车队速度优化问题,给出速度规划方法以及设计车队控制器实现速度跟踪,并进行车队队列稳定性分析;第3节是数值仿真和实验验证;最后,在第4节进行总结.
考虑N辆车组成的车队在有坡度的路况下行驶(见图1),pi,vi,ai分别为第i辆车的位置、速度和加速度,这里i=0,···,N−1,其中,i=0表示领队车,其余车辆为跟随车.领队车定期通过无线通信网络将其速度、加速度信息传给跟随车,每辆跟随车都带有车载传感器以测量自身的位置、速度、加速度以及与前车的车间距.
图1 车辆队列Fig.1 A vehicular platoon
据牛顿第二定律,建立第i辆车纵向行驶时的动力学模型:
其中,Fe,i是发动机提供的力,Fg,i为重力引起的力,Fr,i和Fair,i分别为作用于车身的滚动阻力和空气阻力.具体而言,Fg,i=migsin(θ(t)),其中,g是重力加速度,θ是道路坡度,cr是阻力系数,ρ是空气密度,cD,i是空气阻力系数,Ai是横截面面积.
期望车间距di,ref定义为:
其中,ζ为固定时间.
将车队看作整体,根据车辆模型(1)、(2)和车间距策略(3),我们定义车队状态xp=[sp,vp]T,其中,sp和vp分别为车队的位置和速度.定义车队发动机力Fe,p和质量mp分别为:
则,车队的动态方程可写为:
车辆油耗与三个重要因素有关,分别为质量、滚动阻力和空气阻力,后两者均与道路坡度相关.
根据文献[29],车队的平均机械功率Pp为:
机械功率Pp可直接转化为油耗率Frate,p:
其中,ξ为燃空比,κ为燃料的热值,ψ、L、M、D、ηt、ηtf分别为发动机的摩擦系数、发动机速度、排气量、转换因子、柴油机的效率参数和传动系统效率系数.
本文的目标是针对车队规划速度使得整体油耗成本最低,设计控制器实现车队节油控制并确保车队稳定性,即满足如下三点要求:
3)车队队列稳定性:避免因领队或其他干扰使车间距误差沿队列向后递增,即对所有ω>0,应保证|Gi(s)|=|Gi(jω)|≤1,其中,Gi(s)=δi(s)/δi−1(s),δi(t)=si−1(t)−si(t)−di,ref.
为实现车队节油安全控制,首先给出车队最优参考速度规划,然后设计跟踪控制器,并进行队列稳定性分析.
本节的目的是基于非线性车队模型和油耗模型,根据道路坡度、限速等信息为车队规划最节油参考速度.首先,给出RHDP概述并基于此离散化车队模型,然后构建优化问题1,最后给出求解问题1的优化算法,获得车队最优参考速度v∗p.
2.1.1 RHDP概述与模型离散化
本文采用RHDP方法求解车队油耗最小问题.RHDP方法以时间划分阶段,每一次动态规划(Dynamic programming,DP)在前瞻域内实现,即车队运输总时长的一段时间T内,起始于A点,仅将优化结果的第一项作用于系统,此过程在B点重复,j值代表第j次重复,原理见图2.特别需要指出的是,对于行驶在高速公路的车队,在速度规划层可不考虑车辆速度变化问题,而是假定车队匀速行驶,即加速度ap=0.对于因道路或交通状况变化而加速或减速的问题,我们将在车队速度跟踪控制层考虑和解决.
图2 滚动时域动态规划Fig.2 Illustration of the receding dynamic programming
基于RHDP优化方法,采用欧拉法对式(7)的车队模型在时域离散化,可得:
其中,∆T为量化步长.简化起见,将vp,j记为vp,j(k+1)=F(vp,j(k),Fep,j(k)).
2.1.2 构建优化问题
基于RHDP算法,优化目标可写为:
其中,前瞻域T被分割成H阶段,T=(H−1)∆T,k=1,2,···,H代表第k阶段,j=1,2,···代表第j次循环.车队系统动态方程为:
受力约束:
速度约束:
第j次循环时速度和位置的初始条件:
其中,vp(t)和sp(t)为领队车t时的状态,即,vp(t)=v0(t),sp(t)=s0(t).
2.1.3 RHDP优化算法
针对优化问题,我们给出如下的车队最优速度规划算法.
算法1.最优速度规划方法
1)初始化j:=1.
2)测量领头车当前时刻状态v0(t),vp,j(1)=v0(t).
3)计算J(j,H).
4)h=H−1,H−2,···,1求解动态规划问题
5)将初始状态vp,j(1)代入步骤4)的结果,逆推导求得最优控制输入序列
6)实现序列Fp,j的第一项,即,将Fep,j(1)=作用于系统方程(10),输出最优参考速度.
7)设置j:=j+1并返回步骤2).
注1.这里的RHDP方法通过反复在线计算最优速度,可提高系统的鲁棒性.
注2.规划所得的最优节油速度将传递给领头车,作为车队跟踪控制层的参考速度.
本节的目的是设计控制器使得车队跟踪最优参考速度,实现车队节油安全控制.首先,根据控制器设计需要进行模型处理,然后,采用反步法设计控制器,最后,分析队列稳定性.
2.2.1 模型预处理
由文献[24]可知,方程(2)中第i辆车的发动机提供的力Fe,i满足:
其中,ui为第i辆车的控制输入,ςi是发动机常数.由式(2)和式(17),有:
对式(2)两边求导,且根据式(18),车辆的动态方程可重写为:
其中,fi(vi,ai)和gi(vi)分别为:
2.2.2 控制器设计
针对车队非线性模型,通过反步法设计控制器,确保车队跟踪最优参考速度.
第一步,首先引入误差函数zi1(t):
其中,δi(t)=si−1(t)−si(t)−di,ref为车间距误差,ei(t)=s0(t)−si(t)−idi,ref为跟踪误差.对式(20)两边求导,可得第i辆跟随车的加速度误差:
定义第一个李雅普诺夫函数:
其导数为:
定义第一个虚拟误差:
如果zi,2=0,可得,意味着第一个虚拟控制输入为:
类似第一步,定义第二个李雅普诺夫函数和第二个虚拟误差分别为:
则,第二个虚拟控制输入为:
zi3(t)的导数为:
定义第三个李雅普诺夫函数:
则其导数为:
设计如下反步法控制器:
将式(33)代入式(32)可得:
进行稳定性分析前,先引入如下引理:
引理 1.如果 Ω(t)是一致连续函数,存在且有限,则,t→∞时Ω(t)→0.
针对系统(31)进行稳定性分析.定义如下函数:
2.2.3 队列稳定性分析
在上节中,我们采用反步法设计控制器,本节将基于上节所设计的控制器,对车队进行队列稳定性分析.
将式(33)代入式(19),可得:
其中,kp=ki1+ki1ki2ki3+ki3,kv=ki1ki2+ki2ki3+ki1ki3+2,ka=ki1+ki2+ki3.由式δi(t)=si−1(t)−si(t)−di,ref,可得:
由式(36)和式(37),可得:
式(39)两边取拉氏变换,可得:
根据车队队列稳定性定义,有:
显然,所设计的控制器可确保车队的队列稳定性.
本文首先给出控制方法应用的仿真实验,并与文献[9]不考虑车队油耗且领头车速度为设定值做比较,进而得出相关结论.然后,给出Arduino车队实验,验证所设计控制器的实用性和有效性.
1)速度优化
考虑由5辆车组成的车队,路况见图3,其由三部分组成,包括上坡,平路以及下坡,上下坡坡度角分别为3◦和−3◦.车队中车辆质量分别为m0=20t,m1=20t,m2=35t,m3=40t,m4=40t,车辆横截面面积为A0=A1=A2=A3=A4=10m2,滚动阻力系数cr=3×10−3,空气密度ρ=1.29kg/m3,风阻系数cD,0=0.6,ηi=0.5,发动机时间常数ςi=0.25.车速限制vp,min=72km/h,vp,max=90km/h.油耗模型中燃空配比ξ=1,燃料热值κ=44,L=0.2,M=33,D=5,ψ=737,ηt=0.9,ηtf=0.4.滚动动态规划方法中∆T=2s,H=6.
图3 路况图Fig.3 Scenario of road
基于本文所建立的油耗模型,所提供的滚动动态规划方法以及所考虑到的具体路况(见图3),计算得到最优参考速度曲线见图4.由油耗模型(9)可知,当路况为平路时,车辆以最小速度行驶以减少功率,从而减少油耗;爬坡时,车辆不可避免地需提高速度,以保证车辆能正常行驶,在路况由上坡切换到平路后,车速调整到最小值并保持;下坡路段,由于重力的影响,车速增加并在下坡段保持特定值直至平路段,在平路段,车速回到最小值.图4符合此速度变化规律.
2)速度跟踪
给定控制器参数kp=5.5,kv=9.25,ka=5,所得仿真结果如图5和图6所示.
图4 最优参考速度曲线Fig.4 The pro file of the fuel-efficient velocity
图5 车辆速度曲线Fig.5 Pro file of the velocity
图6 车间距误差曲线Fig.6 Pro file of the spacing error
图5为每辆车的速度变化,显然,车辆可以较好地跟踪设定速度.图6中,所有跟随车辆与其前车的车间距误差在20s内趋于一致,达到稳定状态.
对应于本文所规划的最优参考速度曲线,图7为文献[9]所用的设定领头车速度,图8和图9分别为相应的速度跟踪曲线以及车间距误差曲线,相比于图5和图6,从车队安全控制效果来看,两者并未有明显的区别.
3)车队油耗
表1给出了油耗对比,显然,本文提出的基于速度规划的车队节油安全控制方法比基于领头车速度设定方法在节油上有明显的优势,节油达20.21%,并且如果设定的速度不太合理,这个数据可能会更大.
图7 领头车速度曲线Fig.7 Pro file of the leader0s velocity
图8 车辆速度曲线Fig.8 Pro file of the velocity
另外,从数据可得,同重量的情况下,紧跟随领头车的车辆相比于领头车节油36.6%,如车1与车0,可见编队在节油方面的优势;同为跟随车时,同重量的车辆油耗几乎相同,如车3和车4,不同重量的车辆,尽管为跟随车,相较于其前车油耗仍会增大,如车辆3和2,可见,车辆重量对油耗有明显的影响.
图9 车间距误差曲线Fig.9 Pro file of the spacing error
表1 油耗对比Table 1 Comparison on fuel consumed
为了验证本文所设计控制器的实际应用情况,针对4辆由Arduino芯片为核心控制器设计的智能小车组成的车队进行实验,验证控制器的实用性和有效性,实验场景见图10.小车前端增加的两个红外传感器,用于测量车辆之间的距离.后轮和顶部安装了增量编码器和三轴加速度传感器用于测量车辆的速度和加速度,小车的后上部安装无线传输模块,用来发送编码器和加速度器测量的信息.
图10 Arduino车队实验Fig.10 Arduino platoon in the experiment
从图11(a)和(b)可以看到,车队启动时车间距较大,且之后会有较大的超调,这是实验小车的起动电压较高导致的.实验时对此做了校正,跟随车的车间距最终基本稳定在可接受范围内,速度跟踪效果良好,车队能够保持队列稳定性.
图11 Arduino小车实验Fig.11 Arduino car experiments
本文研究了车队的节油及安全控制,将油耗问题融入到车队控制中,提出协同控制结构.采用滚动时域动态规划方法,得到车队最优参考速度;通过设计非线性跟踪控制器并进行车队队列稳定性分析,实现车队的节油安全控制.
需要指出的是,本文未考虑车队路径规划等运行优化问题,这部分内容很可能对车队节油有所裨益,我们将来的研究中会充分考虑路况,探讨车队油耗最优的路径规划和运行优化等问题.另外,实际中车辆协同控制时的信息反馈和控制动作存在一定滞后,本文的理论研究和实验中并未考虑时滞问题,这也将是我们未来拟解决的重要问题.