徐杨 陆丽萍 褚端峰 黄子超
统计显示,90%以上的交通事故都是由驾驶员的失误操作引起.近年来,随着Google、百度等公司在无人驾驶方面的研发推动,使得人们热切期待利用无人车辆来彻底解决交通事故问题.欲完全取代人类驾驶员,无人车辆的自动驾驶系统需足够智能化,以应对复杂的道路交通场景.特别地,无人车辆需在全局路径规划得到的起点与终点之间的最优路径基础上,根据动态交通环境以及自车运动状态,进行局部的轨迹规划,以实现动态避障.轨迹规划在机器人领域已被广泛研究并用于障碍物的规避[1].无人车可看作是一种轮式机器人,因此可借鉴一些机器人领域的轨迹规划方法.当然两者的轨迹规划也有很大的不同,例如,无人车的运行速度相比于普通机器人来说要快得多,行车环境也是动态变化的,无人车的轨迹规划还需要考虑道路的结构信息以及一些交通规则.另外,无人车在轨迹规划的过程中要考虑车辆的运动学、动力学特性以及满足轮胎等因素的约束.目前已经有很多学者对无人车的轨迹规划进行了研究[2−5],常见的无人车轨迹规划算法包括基于特定函数的轨迹规划方法[2]、基于搜索的轨迹规划方法(随机搜索法[3]、栅格法)、基于优化的轨迹规划方法(模型预测方法[4]、人工势场法等).
人工势场是最具吸引力的路径规划算法之一,它最早被用于机器人的路径规划[6].通过为障碍物、道路结构以及目标点分配合理的势场函数,人工势场可为车辆规划出一条通往目标点且无碰撞的路径.人工势场的主要优势在于结构简单、可用不同的势场函数比较精确地描述各类障碍物、道路结构等影响因素.目前,已经有许多学者将人工势场用于自动驾驶车辆的轨迹规划.Wang等[7]基于势场理论提出了一种驾驶安全势场模型,包括静止障碍物(静止的车辆、道路边界)势场、运动障碍物势场、驾驶员行为势场,最后根据驾驶安全势场模型可以实现车辆的轨迹规划.Wolf等[8]提出了相应的势场函数来描述行车环境中的各类影响因素,然后用梯度下降法来进行轨迹规划.Cao等[9]根据障碍物、道路边界、目标点的特征设计了谐波函数形式的势场模型,通过梯度下降法得到最优的轨迹.基于这种架构,Ji等[10]先通过构建环境势场,分别用三角函数和指数函数形式来描述道路边界和障碍物,再进行轨迹规划,最后通过模型预测控制实现轨迹跟踪.然而,这些方法在产生最优轨迹时,并未考虑车辆的一些特性,这可能导致规划出的轨迹并不适合于车辆进行跟随.
模型预测控制也可用来进行轨迹规划.Abbas等[11]基于障碍物与车辆的间距建立了避障目标函数,然后把它引入到模型预测算法的目标函数中,以实现障碍物的规避.Park等[12]把障碍物信息以视差的形式引入到模型预测控制的框架中进行避障.Mousavi等[13]把障碍物和道路结构以约束条件的形式引入到模型预测控制中实现障碍物规避.从上述文献可知,基于模型预测控制的路径规划方法通常把障碍物、道路等影响因素当作是一种约束或用单一的目标函数来描述所有这些因素.当前的无人车辆或机器人的轨迹规划与跟踪控制通常分为两个独立的单元,即采用人工势场等方法实现轨迹规划,再通过鲁棒控制、最优控制等方法实现对规划出的轨迹进行跟踪.Huang等[14]首次提出了一种基于人工势场的模型预测控制器,兼具轨迹规划与跟踪控制的功能.然而,该研究采用较为简单的车辆运动学模型,其跟踪控制精度有待进一步提高.
为此,本文基于车辆动力学模型,利用人工势场与模型预测控制相结合,通过模型预测控制中的优化算法来实现最优轨迹选择,提出一种针对轨迹规划与跟踪的统一建模方法,即在无人车辆轨迹规划的同时,实现对无人车辆的纵横向耦合控制.
本文的结构如下:第1节介绍无人车辆轨迹规划的框架,主要根据车道线、环境车、目标点等多影响因素建立势场函数;第2节利用车辆动力学建模,并基于模型预测控制方法设计轨迹跟踪控制器,并实现对最优局部轨迹的规划与跟踪;第3节通过不同的交通场景,对无人车辆轨迹规划与跟踪控制器进行验证分析;第4节分对全文进行总结.
行车环境建模主要是对无人车辆在行驶过程中可能遭遇的静态和动态交通环境进行建模,以量化交通环境对无人车辆构成的风险.在正常情况下,车辆应沿着车道中心线以一个稳定的速度前行,当遭遇本车道前方慢行的障碍车辆时,应执行换道超车动作,或在遭遇他车道的干扰车辆时伺机寻找换道时机.在这个过程中,车辆始终必须保证其既不能同其他的环境车(包括障碍车辆和干扰车辆)发生碰撞,也不能驶出道路边界线.
假设被控车行驶的路线足够长,那么在行车过程中经历的环境主要包括车道线(包括分道线和道路边界线)、环境车和目标点。因此,可将行车环境对被控车的总势场U定义为分道线势场Ulane,道路边界线势场Uroad,环境车势场Ucar和目标点势场Ugoal等各类势场的总和.
车道线包括分道线和车道边界线两类.其中,分道线势场的作用是确保车辆沿着在车道内行驶,避免不必要的换道.所以在分道线位置势场取最大值,往两边减小.同时,分道线的势场应该足够小,以确保被控车在需要换道避障时能跨越.本文采用类高斯函数[8]进行建模.
其中,Alane是分道线势场系数,ylane,i表示第i条分道线在Y方向上的(位置X为行车方向,Y为垂直方向,且两者相较于道路最右侧车道的中心线上),σlane表示分道线势场的收敛系数,由车道宽度决定.图1是道路势场示意图.图1(a)表示一个三车道道路结构的分道线势场示意图,设车道宽为3m,则两条分道线在Y方向的位置分别为y=1.5m和y=4.5m.
车道边界线的作用是防止车辆驶出道路,是严格不可逾越的,因而被控车在靠近车道边界线时,势场值应迅速增大,在道路边界线达到最大值.根据这个特征,采用一个常用于机器人轨迹规划的势场函数,道路边界的具体势场函数形式下:
图1 道路势场示意图Fig.1 Sketch of road potential
其中,Aroad为道路边界势场系数,j∈{1,2},yroad,j为第j条道路边界线的位置.两条道路边界线在Y方向的位置分别为y=−1.5m和y=7.5m,图1(b)是道路边界线势场的示意图.
因此,车道线的总势场表示为分道线与道路边界线势场的和,如图1(c)所示.
环境车势场的建立,可保证被控车与其周围的环境车保持相对安全,且能够引导被控车从环境车后方换道.对环境车而言,附近区域的危险程度的纵横向分布并不均匀,因此横向和纵向的势场分布也有很大的差异.一般地,在横向上,被控车可距其1米甚至更近,但在纵向上这个距离却非常危险.在纵向上,除相对距离因素外,环境车与被控车的相对速度也是影响环境车势场的一个重要因素.
以车尾中心为原点建立局部坐标系(如图2所示),对环境车的纵向势场进行分析.为了更安全地引导后方被控车进行换道,在环境车后方增加一个三角形区域,在其前方增加一个矩形区域,这两个区域跟车身所在区域一样,也是被控车不可逾越的区域.车身所在区域,即x∈[0,L],纵向势场取最大值Acar.
车辆前方,即x∈[L,L+s],这个势场主要是为了防止相邻车道的环境车在换至本车道时与被控车过于靠近.距离s与当前车辆的速度相关,速度越快,距离应该相应增大,所以s的计算公式为s=ρ×V+Smin,在这个范围内的纵向势场值也取最大值Acar,其中V表示当前环境车的速度,ρ是比例系数,Smin表示设定的最小安全距离.
图2 环境车的局部坐标系Fig.2 Coordinate system of the environment vehicle
车辆后方的纵向势场比较特殊,分两部分考虑.
1)x∈[−S,0],这部分的纵向势场值也取最大值,作为一个不可靠近的区域,S的计算方式如下:
其中,Vr表示相对速度,∆T表示延迟时间.
2)x<−S,当环境车的速度比被控车快,即相对速度小于0时,该势场为0;当相对速度大于0时,势场值应该与到(−S,0)的距离成反比,距离越近势场值越大,势场函数采用汤川势形式[8],这种形式的函数在远距离的时候,随着距离的减小上升比较平缓,近距离的时候则上升迅速,符合环境车与被控车之间的交互,具体如下:
其中,Acar,long是纵向势场系数,K表示到(−S,0)的距离.在计算K之前,对被控车的横坐标进行一个转化,x∗=x×τ,其中τ∈(0,1],使被控车与环境车的距离比实际更近一点,这样可以在很安全的距离引导被控车进行换道.τ的值由相对速度决定,相对速度越大,τ值越小.图3是不同τ值下的纵向势场值变化曲线.实验发现,当相对速度小于5m/s时,τ取0.5左右比较合适.
环境车的整体势场可在其纵向势场的基础上向外延伸,并采用一个类高斯函数[14]的形式进行计算.因此,环境车的总势场计算方式如下:
其中,σcar表示环境车势场的收敛系数,决定了横向的影响范围,根据车道宽来决定.d表示横向距离,如图2所示,当计算点处于区域1,2,3时,d值分别取d1,d2,d3.图4为环境车周围势场的分布示意图,该环境车在坐标(50m,0)点处,与被控车之间的相对速度为3m/s.
图3 环境车的纵向势场值随距离变化图Fig.3 Longitudinal potential of the environment vehicle with respect to the relative distance
图4 环境车的势场示意图Fig.4 Sketch of the environment vehicle's potential
目标点势场也称为方向势场,该势场的作用是保证被控车朝车道前方行驶,即车辆前方的势场值要低于后方的势场值,势场点离被控车越远,势场值就越小,势场值与该距离成反比,但总是正值.采用的势场函数如下:
其中,ε是正的势场常数,κ是较小的势场系数,目标点势场可使被控车保持向前行驶的趋势.
行车环境的人工势场建模为无人车辆规避风险提供了可供选择的轨迹,在此基础上,本文通过模型预测控制器中的优化算法对轨迹进行决策,以规划出最优轨迹,并进行控制输出,实现无人车辆轨迹规划与跟踪的统一建模.
在设计模型预测控制器之前,首先选择单轨模型来进行车辆动力学建模,具体如下:
其中,m为车辆质量,u,v,r分别表示纵向速度、横向速度和横摆角速度.Iz表示车辆绕z轴的转动惯量,分别表示车辆所受的纵向力、横向力、横摆力矩.X,Y表示车辆在大地坐标系下的位置,ϕ表示车辆的横摆角.
假设车辆为前轮转向,并且考虑到车辆的前轮转角比较小,可得
其中,Fcf,Fcr分别表示前后轮受到的侧向力;a,b分别表示前、后轴距.轮胎的纵向力和侧向力可分别表示为以轮胎侧偏角、滑移率、路面附着系数与垂向载荷为参数的函数.若路面附着系数已知,垂向载荷为
由于前轮转角较小,根据线性轮胎模型可得
其中,Cf,Cr分别为前后轮侧偏刚度,αf,αr分别为前后轮侧偏角.侧偏角的计算如下:
其中,β为质心侧偏角.侧偏刚度可由轮胎侧向力与侧偏角的关系曲线获得,在侧偏角比较小的时候,两者近似为线性关系.
综上所述,可得车辆动力学模型如下:
其中,
在该状态空间系统中,状态量选取为[X,Y,ϕ,u,v,r]T,控制量选取为[ax,δ]T.
一般地,模型预测控制器主要包括预测模型的建立、目标函数的设计和约束条件的确定三部分.其中,预测模型是基础,主要作用是根据对象的历史信息和未来的控制输入序列,预测出系统未来的输出.为了能够预测车辆在未来一个时域内的状态,需要将连续的车辆动力学模型进行离散化,得到离散化后的预测模型.
其中,控制量是车辆的纵向加速度和前轮转角.为实现无人车辆局部路径规划与跟踪的统一建模,本文在考虑车速跟踪、控制增量的同时,将行车环境势场作为一部分增加到模型预测控制器的目标函数中,利用其优化算法实现轨迹规划.该目标函数的形式如下:
其中,∆U(t)表示t时刻下的优化控制输入,x(t)表示当前时刻t下的状态量,u(t−1)表示上一时刻的控制量,(t+i|t)表示在当前时刻t之后i步的预测值,Np表示预测时域,Nc表示控制时域,Vdes表示车辆在无障碍下的一个期望速度,Q,R,S分别代表各部分的权重.目标函数主要包括三部分:1)环境势场,通过建立的车辆动力学模型结合势场函数计算出预测时域内被控车所受的势场值,势场值越大,则行车风险越大,局部路径的规划主要取决于这一部分;2)为了保证车辆在没有干扰的情况下,能够维持当前的速度行驶;3)控制增量,控制增量最小,可避免车辆运动状态出现大幅变化.
对于约束条件的设计,首先考虑对控制过程中的控制量和控制增量进行约束.根据现有汽车理论及相关文献,纵向加速度一般取值为−0.4g~0.2g,前轮转角一般取值在−25◦~25◦之间.由于在目标函数中采用了控制增量,因而也须对其进行约束,加速度变化率一般在−2g/s~2g/s之间,前轮转角速度一般为−9.4◦/s~9.4◦/s.
同时,考虑到当车辆行驶在附着系数较低的路面时,须确保操纵稳定性.车辆的质心侧偏角或轮胎侧偏角是衡量车辆操纵稳定性的关键之一.文献[15]分析了质心侧偏角对车辆稳定性的影响,给出了判断稳定性的准则.车辆在极限工况下之所以会失稳,主要是因为轮胎与地面产生的轮胎力达到饱和.轮胎力饱和与轮胎侧偏角存在一定关系,因而可根据路面附着条件来约束轮胎侧偏角.轮胎侧偏角的计算方法如式(13),轮胎侧偏角的约束如下:
其中,αmin和αmax分别为轮胎侧偏角的下限和上限.根据轮胎模型,轮胎力饱和时轮胎侧偏角与路面附着条件有关.一般地,低附着路面条件下的轮胎侧偏角极限值应限制在 [−2◦,2◦].
因此,无人车辆轨迹规划与跟踪可统一描述为如下优化问题:
在每个控制周期内完成求解后,得到控制增量序列如下:
将上述控制增量序列的第1个元素,作为实际的控制输出增量作用于系统.
无人车辆的行车环境动态多变,为简化对本文涉及的模型预测控制器进行验证,选取了3种典型交通场景,包括普通超车、相邻车道有干扰的超车、跟车.如图5所示,第1个场景假设超车时相邻车道空闲,车辆可保持当前车速对前方慢速车辆进行超越;第2个场景假设车辆在超车时相邻车道有其他环境车辆干扰,此时被控车须降速行驶并等待超车时机;第3个场景假设前方各车道都有慢速车辆,此时被控车只能减速并跟随前方的慢速车辆.这三个场景都在较好的路面附着条件下完成.
图5 各场景示意图Fig.5 Sketch of each scenario
此外,进行车辆的操纵稳定性实验.即在不同的路面附着条件下进行双移线实验.
通过车辆动力学仿真软件CarSim与MATLAB/Simulink的联合仿真进行验证,模型预测控制器及仿真车辆的参数如表1所示.
表1 控制器参数Table 1 Controller parameters
值得注意的是,对于无人车辆的纵向控制,控制器输出的是车辆纵向加速度.实际过程中,应将纵向加速度转化为纵向合力,根据车辆传动系和制动系的逆模型,计算得到对应的节气门开度和制动压力.本文直接将纵向加速度输出给CarSim软件,并由该软件自带的速度调节器来调节车速.
图6 各场景关键时刻势场分布图Fig.6 Potential distributions at key moments in several scenarios
图7 各场景的被控车速度变化图Fig.7 Speed variation diagram of the subject vehicle in several scenarios
图6是各场景关键时刻势场分布图,图7是各场景被控车速度变化图.场景1为普通超车,前方有两辆慢速行驶的环境车分处两个车道.在此场景中,被控车在遇到慢速环境车进行换道时,相邻车道一直存在足够换道空间.图6(a)为首次换道时的势场分布,实心点表示当前被控车的位置,星号为预测轨迹.可见,预测轨迹开始偏向相邻车道,被控车将要进行换道.图7(a)是被控车的纵向速度随时间变化图,整个过程中的被控车速度始终维持在预定速度25m/s左右,只在两次换道过程中有略微下降.
图8 各场景的控制增量以及控制量变化图Fig.8 Responses of the control increment and the control quantity variation in several scenarios
场景2是在相邻车道存在干扰的超车.在此场景中,除前方有慢速行驶的环境车外,被控车的侧方也有环境车干扰.由于受到侧方环境车的影响,被控车在靠近前方慢速车辆时无法立即进行换道,只能先减速跟随,等待相邻车道有足够安全的换道空间.图6(b)为被控车周边的势场分布,从中可知,由于侧方环境车2的势场影响,预测轨迹并未偏向相邻车道.当被控车减速行驶一段时间后,即相邻车道有足够安全空间时,被控车才加速并进行换道.此刻势场分布与场景1类似,预测轨迹会偏向相邻车道.图7(b)是整个过程中被控车的纵向速度响应,被控车的纵向速度在经历一段时间下降后,会在换道时机出现时加速,直至换道完成便上升至预定的车速.
场景3为普通跟车.在此场景中,本车道和相邻车道的前方均有慢速行驶的环境车,因而被控车无法实施换道超车,只能降速并保持跟前方慢速行驶的环境车一致.如图6(c)所示,由于相邻车道环境车2的势场影响,被控车在此时的预测轨迹也未偏向相邻车道.图7(c)是在该场景中的被控车纵向速度响应,在其行驶一段时间后,速度开始下降,直至与前方环境车1的车速一致,并匀速行驶.
图8是控制量纵向加速度和前轮转角的变化情况,左侧从上到下依次是场景1、场景2、场景3中被控车控制量的变化情况,右侧是控制增量变化情况.由图8可知,控制量以及控制增量的变化范围都在约束范围之内.
在仿真过程中,被控车的其他运动状态还包括轨迹、侧向加速度、横摆角与横摆加速度,如图9所示.图9(a)是3个场景中的被控车轨迹图,场景1中的被控车进行了两次换道;场景2中的被控车进行了一次换道,且换道时间相比场景1的首次换道要晚,这是因为受侧方环境车2的影响,一开始没有足够的安全换道空间;场景3中的被控车则一直在本车道行驶.
图9 仿真场景中被控车的轨迹、侧向加速度、横摆角、横摆角速度的响应图Fig.9 Responses of the trajectory,lateral acceleration,yaw angle and yaw rate of the controlled vehicle in the simulation scenarios
同样,被控车在3个场景中的运动变化也反映在侧向加速度、横摆角与横摆角速度等车辆运动状态的响应中(如图9所示),即场景1中被控车的运动状态会有两次变化,这两次变化的趋势大致对称,方向正好相反;场景2中被控车的运动状态出现1次变化,时间较场景1中第1次变化晚;场景3中被控车的侧向加速度、横摆角、横摆角速度则基本维持在0左右,表明被控车始终未进行换道.
场景4是不同附着系数路面的双移线实验.选取高附着路面(附着系数µ=0.9)以及低附着路面(附着系数µ=0.3)分别进行实验,对比结果如图10所示.
图10 场景4的行车轨迹和轮胎侧偏角响应图Fig.10 Responses of the trajectory and the slip angle in Scenario 4
在高附着条件下,轮胎侧偏角最大值未超过4◦,轨迹比较平顺.但是,在低附着路面且未引入轮胎侧偏角约束的条件下,车辆的行车轨迹在140米处有明显抖动,且轮胎侧偏角最大值超过了6◦;当引入轮胎侧偏角约束后,其值始终限定在−2◦~2◦,且车辆的双移线行驶轨迹相比无约束情况明显减少了抖动,有效防止出现轮胎力饱和的情况,提高了车辆行驶的稳定性.
本文提出一种针对无人车辆轨迹规划与跟踪控制的统一建模方法,通过人工势场来描述行车环境,并将行车环境势场引入到模型预测控制的目标函数中,以实现轨迹规划与跟踪的统一建模.由于在进行模型预测控制器设计时,采用了纵横向耦合的车辆动力学模型,因而可以在无人车辆路径规划的过程中实现车辆的纵横向控制.