一种基于模式切换的驾驶风格的学习巡航控制系统及方法与流程

文档序号:17442542发布日期:2019-04-17 04:58阅读:268来源:国知局
一种基于模式切换的驾驶风格的学习巡航控制系统及方法与流程

本发明属于汽车智能辅助驾驶及汽车安全技术领域,具体的说是一种通过对特定驾驶员风格的模式切换及跟车行为自适应学习进行自适应巡航控制的基于模式切换的驾驶风格的学习巡航控制系统及方法。



背景技术:

随着车辆保有量不断增加,以及随之而来的交通事故的频发,智能驾驶辅助技术收到广泛关注并成为研究热点。车辆智能辅助驾驶系统(adas)能有效缓解驾驶员的疲劳感,在其适用工况内有效保证行车安全。其中典型的纵向智能辅助驾驶系统-自适应巡航控制系统发挥了重要作用,各种控制算法被应用于系统开发,如pid、模糊控制、线性二次型优化控制,模型预测控制等,以获得更好的性能。如申请号201810313067.9和申请号201710826862.3的专利使用模型预测控制方法改善跟车性能。但这些方法仍主要考虑的车辆跟随性能,如安全性、舒适性和经济性等几个方面。

随着车辆保有量不断增加,驾驶人群逐渐多样化,驾驶员人员由于年龄,性别,驾龄,职业等的差异,导致特定驾驶员驾驶风格有着显著的差异性。因此单一参数的自适应巡航控制器无法达到广泛的适应性和驾驶员的接受度,而此种适应性和接受度的下降可能减少驾驶员使用辅助驾驶系统的频率从而无法有效减少安全事故。当控制系统需要较好适应不同的特定驾驶员的驾驶风格时,系统应具有自学习能力。在不同的系统设计时,对驾驶风格的表征与定义会有所区别。一些研究中,根据车头时距的大小将驾驶员分为保守型、一般型、激进型。但人的驾驶习惯在驾驶过程中很难保持不变,并维持在固定车头时距,因此此种方法可能存在风格表征过于单一的情况,从而无法有效提高驾驶员对于系统的适应性及接受度。



技术实现要素:

为了解决上述问题,本发明将驾驶风格定义于不同跟车情况下驾驶员在定速巡航,加速接近,稳态跟车,快速制动几种模式间的切换策略,学习其驾驶风格,并在每种驾驶模式下使用基于连续状态的学习方法进一步学习其驾驶特性,设计一种基于模式切换的驾驶风格学习的自适应学习巡航控制系统及方法。该系统适用于l2级别自动驾驶车辆,目标是有效学习到驾驶员的驾驶风格特性,提高特定驾驶员在不同工况下对于自适应巡航系统的适应性及接受度。可以看到,这是一个双层的学习架构,下层学习是基于连续状态及动作空间的学习问题,目前现有学习方法,由于驾驶特性位置,难以建立模型。因此,存在学习效率低的问题。为了更有效的进行学习,本发明还需对连续状态及动作空间的学习方法进行改进,以提高算法的学习效率。在此基础上,使用双层基于连续状态,离散及连续动作空间学习方法相组合的方法以更好优化系统性能。

本发明技术方案结合附图说明如下:

一种基于模式切换的驾驶风格的学习巡航控制系统,该系统包括智能感知及信号处理模块a、数据存储模块b、模式切换学习模块c、跟车特性学习模块d和车辆执行控制模块e;

所述的智能感知及信号处理模块a,用于获得当前车辆和前方车辆行驶状态信息,对前车驾驶意图识别,确定有限个加速度范围;

所述数据存储模块b,用于存储驾驶员驾驶数据;

所述的模式切换学习模块c,用于建立驾驶员马尔科夫模式切换决策模型,离线求解状态-动作值函数的权值向量;

所述的跟车特性学习模块d,用于根据驾驶员驾驶数据的跟车行为特性网络进行离线训练,并以比例k,k=0.5-0.7更新到理想跟车特性的初始动作神经网络中;

所述的车辆执行控制模块e,用于对控制量即加速度的跟踪,采用pid控制器即可实现对于加速度的执行。

所述的智能感知及信号处理模块a与模式切换学习模块c以及数据存储模块b相连;所述的数据存储模块b与模式切换学习模块c、跟车特性学习模块d相连;所述的模式切换学习模块c与跟车特性学习模块d相连,跟车特性学习模块d与车辆执行控制模块e相连。

所述的驾驶员驾驶数据包括前后车相对距离、前车车速、本车车速、本车加速度、驾驶员操作发动机力矩信号和制动操作车身制动减速度。

一种基于模式切换的驾驶风格的学习巡航控制系统的控制方法,该方法包括以下步骤:

步骤一、通过智能感知及信号处理模块a获得车辆控制算法所需的状态信息,包括:借助车载智能感知模块中车载摄像头、雷达环境感知元件确认前方待跟随车辆,并得到当前车辆和前方车辆行驶状态信息;并且根据前车车速计算得到加速度,作为状态输入;将得到的驾驶数据存储在数据存储模块b中。

步骤二、通过模式切换学习模块c建立驾驶员马尔科夫模式切换决策模型;基于车辆记录的驾驶员日常驾驶数据,包括前后车相对距离,前车车速,本车车速,本车加速度,发动机力矩,制动减速度,离线求解状态-动作值函数的权值向量;具体方法如下:

2.1)马尔科夫决策模型建立:驾驶员驾驶过程中不同模式间的切换表征特定驾驶员驾驶风格,将驾驶员切换模式决策建模为马尔科夫决策过程,确定描述驾驶工况的状态向量,构建相应的基函数;

2.2)基于强化学习的最优问题求解:使用数值逼近方法对状态-动作值函数的权值向量基于贝尔曼最优性方程迭代求解;根据驾驶员驾驶数据,使用数值逼近方法求解强化学习中状态-动作值函数的权值向量;

步骤三、通过跟车特性学习模块d针对特定驾驶员在每种驾驶模式下跟车驾驶特性的不同,基于强化学习中常见的actor-critic框架在连续状态空间及连续动作空间进一步在线学习;使用结合归一化评价方法和引导动作搜索的强化学习方法,提高算法效率及学习成功率,减少算法对于初始权值的依赖性;

步骤四、通过车辆执行控制模块d采用比例-积分-微分pid控制器实现对于决策量即加速度的执行。

所述的步骤2.1)的具体方法如下:

马尔科夫决策模型建立:系统将驾驶风格定义于不同跟车情况下驾驶员在定速巡航,加速接近,稳态跟车,快速制动几种模式间的切换策略;将驾驶员切换模式决策建模为马尔科夫决策过程,进而使用强化学习方法学习;强化学习是一种交互式学习方法,智能体在环境中采取动作获得回报,基于回报进行学习;马尔科夫决策过程建模包括状态,动作,回报函数的设计;智能体在当前状态根据策略采取动作,进行状态转移并得到回报;系统在跟车状态下,描述当前时刻k的驾驶工况的状态向量s(k)为:

s(k)={vh(k),△v(k),△x(k),l(k),a(k-1)}(1)

其中,vh(k)为k时刻本车车速,△v(k)为k时刻相对车速,△x(k)为k时刻相对距离,l(k)为k时刻前车驾驶意图,a(k-1)为k-1时刻的驾驶模式;

在非跟车状态下,描述驾驶工况的状态向量为:

s(k)={vh(k),vref(k)-vh(k),0,0,a(k-1)}(2)

其中,vh(k)为k时刻本车车速,vref(k)为k时刻驾驶员设定车速,a(k-1)为k-1时刻的驾驶模式;非跟车状态下,表示相对距离与前车驾驶意图的状态分量均为0;

动作a∈{1,2,3,4}表示在定速巡航,加速接近,稳态跟车,快速制动模式间切换的动作;根据驾驶员数据ad为驾驶员模式,aπ为当前策略下学习算法输出的动作则回报函数为:

所述的步骤2.2)的具体方法如下:

基于强化学习的最优问题求解:由于状态空间连续,使用表格型值函数无法表征状态-动作值函数,因此需要使用数值逼近方法对状态-动作值函数的权值向量基于贝尔曼最优性方程迭代求解;根据驾驶员的驾驶数据,使用数值逼近方法求解强化学习中状态-动作值函数的权值向量;具体使用基于核函数的最小二乘策略迭代算法对最优策略进行求解;首先使用基于核函数的稀疏化过程得到核字典,选择径向基函数作为核函数,可以表示为:

其中,<·,·>表示两个向量的内积,φ(s(i)),φ(s(j))是相应状态的基函数,可以表示为:

其中,m=a-1,a为当前动作,即仅有当前动作对应的基函数中的项为当前状态向量值,其他值为0;

因此,驾驶员驾驶样本集可以表示为m={s(1),s(2),...,s(k)},特征向量集为φ={φ(s(1)),φ(s(2)),...,φ(s(k))};对特征向量集进行筛选,选取线性相关度大于阈值的特征向量加入核字典对状态值函数进行逼近;当核字典中已经包含t-1(1<t≤n)个特征向量时,核字典可以表示为dt-1={φ(s(j)),(j=1,2,...,t-1)};因此,当判断下一个特征向量是否应该加入核字典时,优化问题建立为:

其中,λ=[λ1,λ2,...,λt-1]为权值向量,式(7)的解为:

其中,λ=[λ1,λ2,...,λt-1]为权值向量,[wt-1]i,j=κ(s(i),s(j))为t-1×t-1维矩阵,wtt=κ(s(t),s(t))为当前特征向量s(t)与自身的内积值,wt-1(s(t))=[κ(s(1),s(t)),κ(s(2),s(t)),...,κ(s(t-1),s(t))]t为字典中已有特征向量与当前特征向量s(t)的内积t-1维列向量;如果ξ>μ,则该特征向量被加入核词典中,反之,则不加入;直到所有的样本被测试过;

然后,强化学习中的状态-动作值函数被评估,使用核词典中的特征向量进行线性逼近,其可以表示为:

其中,为状态s(i)的状态-动作值函数估计值,α=(α1,α2,...,αt)是权重向量;φ(s(i))为状态s(i)的基函数表达,φ(s(j))为状态为s(j)且在字典中的特征向量;最终对所有样本数据筛选得到t维字典;

然后,对所有样本迭代更新求解,线性逼近参数;对第ii时刻样本s(ii)以及第ii+1时刻样本s(ii+1),增量式迭代更新方程为:

其中,w(s(ii)),w(s(ii+1))分别为s(ii),s(ii+1)与字典中的特征向量计算得到的t维向量;aii-1,aii为t*t维矩阵分别对应前后两次迭代更新时矩阵a的值,bii-1,bii为t维列向量分别对应前后两次迭代更新时向量b的值;αii为ii样本迭代计算后估计状态-动作值函数的线性逼近权重向量;则状态-动作值函数的估计值为策略改进中,更新后的策略可以表示为:

迭代持续到数据集内所有的样本状态与动作与当前策略所得到的动作相同,则算法收敛结束;

具体计算过程如下:

步骤(1):初始化,得到当前驾驶数据集m={s(1),s(2),...,s(k)},定义使用的核函数κ(s(i),s(j)),并初始化空核字典d0,阈值μ;

步骤(2):稀疏化,对数据集中每个样本进行循环计算式(8),如果ξ>μ,将当前特征向量加入字典;否则,继续下一样本计算,直到遍历所有样本;

步骤(3):确定核字典后,进行强化学习策略迭代求解,初始化矩阵a,向量b,权值向量α;

步骤(4):对数据集中每个样本计算式(10),以进行迭代更新,直到数据集内策略与当前网络策略一致;

步骤(5):输出权值向量α。

所述的步骤三的具体方法如下:

针对特定驾驶员在每种驾驶模式下跟车驾驶特性不同,且特定驾驶员可能存在不规范或危险驾驶习惯的情况,因此系统也须纠正驾驶员的不恰当的驾驶行为;在系统设计阶段,设定每一模式下较为标准的驾驶的跟车行为特性参数;其参数初值根据标准驾驶数据进行训练,或人为标定;在系统未开启的状态下,在模式切换学习模块学习及时模式切换决策的同时,也在每一模式下,根据以上所述驾驶员数据的跟车行为特性网络进行离线训练,并以一定比例k,k=0.5-0.7更新到理想跟车特性的初始动作神经网络中;持续在系统关闭阶段采集驾驶数据,更新动作网络;系统开启阶段在线学习;以此种方式,在标准驾驶模式与个性驾驶行为学习中平衡学习;提出基于强化学习的actor-critic框架结合归一化评价方法和引导动作搜索的强化学习方法在连续状态空间及连续动作空间学习方法进行在线学习;因此使用结合归一化评价方法和引导动作搜索的强化学习方法,提高算法效率及学习成功率,减少算法对于初始权值的依赖性;具体方法如下:

3.1)结合归一化评价方法和引导动作搜索的强化学习方法:对于不同问题,其期望值所处范围变化较大,需要有针对性的设计回报函数中误差信号的增益,采用归一化的评价方法,简化算法设计,有利于控制器参数的调整;同时,使用历史动作回报引导动作搜索,确保每次策略更新方向的正确性,从而提高算法效率及学习成功率,减少算法对于初始权值的依赖性;使用神经网络对策略函数与状态值函数进行逼近,基于强化学习中的ac框架;同时综合动作的搜索与利用,则动作选择可以用正态函数表示为:

其中,s为状态量,a为动作值,θ为动作网络权值,μ(s;θ)为网络输出的动作均值,σ为动作选择方差;使用时序差分方法作为误差信号对进行计算,这里使用多步预测的时序差分方法计算误差信号,同时此种误差估计方式也可以用于多车异步训练提高训练速度;优势函数可以表示为:

其中,γ∈(0,1)表示折扣函数;v(s(k)),v(s(t+k))分别为状态s(t),s(t+k)的状态值函数。rt+i为t+i时刻回报值;

下面对状态量进行归一化处理,假设在状态s时,实际量和期望量为x和x*,下一时刻状态s'时,实际量和状态量为x'和x'*;使用x和x*分别为归一化的上界和下界,则变量x,x*,x',x'*归一化后对应的变量y,y*,y',y'*可以表示为:

因此评价信号可以表示为:

其中,y=min(y'*,1),m为常数参数;

对于跟踪问题而言,归一化后问题被统一为y'达到零点;由于初始权值的随机性,式(13)无法准确估计误差信号,因此使用归一化的评价作为监督信号,若二者符号相同,则使用式(13)作为误差信号估计,否则使用评价信号进行更新;此种情况下评价信号表示为:

具体计算过程如下:

步骤(1):初始化:策略网络权值θ,值函数网络权值w及对应初始学习率,批量样本数n,最大步数n;

步骤(2):初始化环境;

步骤(3):在环境中批量样本数n中,得到当前状态,动作,回报,执行状态转移;

步骤(4):如果状态未达终态或到达最大步数,重复步骤(3),直到达到批量样本数n;

步骤(5):

步骤(6):在批量样本中,由后向前循环计算r=ri+γr以及评价信号d和优势函数at;如果,sign(d)==sign(at),更新否则,更新

步骤(7):判断策略是否收敛,如果不收敛,则重复步骤(2)-(5)。直到策略收敛。

3.2)强化学习跟车特性系统建立:在系统设计阶段,设定每一模式下较为标准的驾驶的跟车行为特性参数,通过仿真环境中在线的学习系统学习得到车载控制器的系统参数初值;并以一定比例k,k=0.5-0.7更新到动作神经网络中;其参数初值根据标准驾驶数据进行训练,或人为标定;在在线学习阶段,进一步使用结合归一化评价方法和引导动作搜索的强化学习方法,跟车特性学习模块再进行在线学习逐步对控制器向标准跟车模式更新,逐步影响驾驶员的驾驶习性;并持续在系统关闭阶段采集驾驶数据,更新动作网络;系统开启阶段在线学习。以此种方式,在标准驾驶模式与个性驾驶行为学习中平衡学习,使得系统与驾驶员更好的融合,具体实施过程为:

马尔科夫决策过程使用相似的设计,跟车以及非跟车状态下的状态分别为:

其中,跟车状态下,vh(k)为k时刻本车车速,△v(k)为k时刻相对车速,△x(k)为k时刻相对距离,l(k)为k时刻前车驾驶意图,th(k)=△x(k)/v1(k)为车头时距,△th(k)=thtar(k)-th(k)为期望时距与当前时距之差;thtar(k)为根据当前驾驶员的驾驶风格确定的跟车时距;非跟车状态下,th(k)=thtar(k)+c(vset(k)-vh(k));c=0.1为一系统设定常数;动作量为加速度,回报为:

其中,vref(k)为k时刻的期望速度,vh(k)为k时刻本车车速,△x(k)为k时刻相对距离,△xcra碰撞发生时的距离,th(k)=△x(k)/v1(k)为车头时距,thmax为最大跟车时距,超过此时距认定跟车任务失败;

跟车状态下,我们将对于时距的跟踪问题转化为速度的跟踪问题,当前时刻的期望速度vref(k)vref(k)由上一时刻的状态量决定,可表示为:

其中,△x(k-1)为k-1时刻相对距离,d0为安全距离,△t=△t*n,△t为系统的控制周期,n=10为一常数,sl=(vl(k-1)+vl(k))/2*△t,vl(k-1),vl(k)为前方车辆在k,k-1时刻的速度,vh(k-1)为k-1时刻本车车速,thtar(k)为根据当前驾驶员的驾驶风格确定的跟车时距,h∈(0,1)为一系统固定参数;非跟车状态下,vref(k)=vset(k);

接着对评价函数进行归一化,得到

相应的上下界为yv(k)=min(1,yvref(k));因此评价信号为:

其中,m为常数参数;而当评价信号为负时,临近的与其搜索方向相反状态下的dbase=vh(k)-vh(k-1)作为基准被加入到评价信号中进一步帮助判断动作搜索的正确方向;vh(k-1),vh(k)为k-1,k时刻本车车速;

策略网络和状态值函数网络使用神经网络作为函数逼近器,被表示为:

其中,分别为动作网络和状态值函数网络第l层第j个神经元输出值,代表激活函数,分别代表动作网络和状态值函数网络第l层第j个神经元和第l-1层第i个神经元之间的权值系数,分别为动作网络和状态值函数网络第l-1层第j个神经元输出值,分别为动作网络和状态值函数网络第l层第j个神经元偏置值;

在第l层神经网络,基于链式法则及反向传播方式,网络权重及偏置的更新过程被表示为:

其中,

dω分别为网络第l层第j个神经元和第l-1层第i个神经元之间的权值系数和其改变值,为第l层到第l+1层神经元之间权值系数向量,为第l-1层第i个神经元的输出值,为网络第l层第j个神经元偏置值和其改变值,δl,分别表示第l层的偏差向量和第l层第j个神经元的偏差,激活函数在输入层和输出层均选取双曲正切函数。

步骤一中所述的当前车辆和前方车辆行驶状态信息包括当前车辆与前方车辆的速度信息和相对车距信息。

本发明的有益效果为:

1.使用模糊逻辑方法在实车环境下确定有限个加速度范围对驾驶意图进行识别;

2.驾驶模式切换表征驾驶风格,建立驾驶员马尔科夫模式切换决策模型,使用离线强化学习方法基于驾驶数据学习。

3.在模式切换的基础上,对每种模式跟车特性在线学习。此种在线学习系统可在高精度仿真软件中训练,并直接在实车环境下验证。

4.提出结合归一化评价方法和引导动作搜索的强化学习方法,提高在连续状态空间及连续动作空间问题的学习效率。

附图说明

图1为本发明的系统结构框图;

图2为本发明的系统的总体流程示意图;

图3为驾驶意图识别模块图;

图4a为加速度隶属度函数

图4b为加速度变化率隶属度函数图;

图5为评价函数简图;

图6为强化学习在线学习跟车系统框图;

图7为结合归一化评价方法和引导动作搜索的强化学习算法简图;

具体实施方式

为了使得系统能学习得到多种工况下的驾驶员驾驶风格,具有更好的自适应跟车系统性能,提高特定驾驶员对于自适应巡航系统的接受度。本发明提出基于模式切换的驾驶风格学习的自适应学习巡航控制系统,该系统考虑特定驾驶员驾驶风格,将风格定义为不同跟车情况下驾驶员在定速巡航,加速接近,稳态跟车,快速制动几种模式间的切换策略及各个策略下的跟车特性。系统包含多个子模块,分别为智能感知及信号处理模块a、数据存储模块b、模式切换学习模块c、跟车特性学习模块d和车辆执行控制模块e。

一种基于模式切换的驾驶风格学习的自适应学习巡航控制系统,其结构框图如图1所示,主要包括:智能感知及信号处理模块a、数据存储模块b、模式切换学习模块c、跟车特性学习模块d和车辆执行控制模块e。其中智能感知及信号处理模块a通过车载摄像头,雷达环境感知元件,感知元件内部的融合识别方法得到当前车辆和前方车辆行驶状态信息;并通过速度,加速度,加速度变化率信号使用模糊逻辑方法利用对驾驶意图进行识别确定有限个加速度范围。数据存储模块b,从车身can总线中通过车辆网关直接得到信息,包括前后车相对距离,前车车速,本车车速,本车加速度,驾驶员操作发动机力矩信号,制动操作车身制动减速度信息。模式切换学习模块c,建立驾驶员马尔科夫模式切换决策模型,基于以上所述驾驶数据,离线求解状态-动作值函数的权值向量;跟车特性学习模块d,在模式切换学习模块学习及时模式切换决策的同时,也在每一模式下,根据以上所述驾驶员数据的跟车行为特性网络进行离线训练,并以一定比例k(k=0.5-0.7)更新到理想跟车特性的初始动作神经网络中。提出基于强化学习的actor-critic框架结合归一化评价方法和引导动作搜索的强化学习方法在连续状态空间及连续动作空间学习方法,在系统开启后,缓慢学习理想的跟车行为。持续在系统关闭阶段采集驾驶数据,更新动作网络;系统开启阶段在线学习。以此种方式,在标准驾驶模式与个性驾驶行为学习中平衡学习。在结构框图图1中,给出了本系统各个模块的系统模块关系。智能感知及信号处理模块a与模式切换学习模块c以及数据存储模块b相连;数据存储模块b与模式切换学习模块c、跟车特性学习模块d相连;模式切换学习模块c与跟车特性学习模块d相连,跟车特性学习模块d与车辆执行控制模块e相连。

在此基础上,图2给出了本发明的整体技术方案流程图,具体实施过程为:

如图1、图2所示,智能感知及信号处理模块a常开,获得当前车辆和前方车辆行驶状态信息,对前车驾驶意图识别。系统操纵状态关闭时,驾驶员操纵车辆,输入操作值,系统储存驾驶员驾驶数据,直到数据量满足训练要求大小。模式切换学习模块c离线学习跟车模式切换策略,跟车特性学习模块d学习每种模式下跟车驾驶特性,并以一定比例k(k=0.5-0.7)更新到动作神经网络中。其参数初值可根据标准驾驶数据进行训练,或人为标定。在在线学习阶段,进一步使用结合归一化评价方法和引导动作搜索的强化学习方法,跟车特性学习模块再进行在线学习逐步对控制器向标准跟车模式更新,逐步影响驾驶员的驾驶习性。并持续在系统关闭阶段采集驾驶数据,更新动作网络;系统开启阶段在线学习。以此种方式,在标准驾驶模式与个性驾驶行为学习中平衡学习,使得系统与驾驶员更好的融合。

本发明具有驾驶风格自学习能力的自适应巡航控制系统的各模块具体工作过程如下:

步骤一、智能感知及信号处理模块a需要获得车辆控制算法所需的状态信息,包括:借助车载智能感知模块中车载摄像头,雷达环境感知元件,通过内部融合识别方法确认前方待跟随车辆,并得到当前车辆和前方车辆行驶状态信息,包括当前车辆与前方车辆的速度信息、相对车距信息;通过can总线读取本车车速,发动机力矩,制动减速度这些状态信息。特殊地,驾驶风格学习模块需要根据前车车速计算得到加速度,作为状态输入。由于在实车环境下,由于传感器误差等因素加速度波动较大,因此可以使用模糊逻辑方法识别猛加速(a),正常加减速(n),猛减速(d)三个驾驶意图。驾驶意图识别模块如图3所示。在模糊逻辑算法中,使用常用的mamdani型模糊逻辑,图4a和图4b为加速度和加速度变化率的隶属度函数,模糊规则采用代数加权和方式,加速度和加速度变化率的权值系数分别为0.6,0.4。最终清晰化方式为最大隶属度函数中取大。得到的驾驶数据存储在数据存储模块b中。

步骤二、模式切换学习模块c建立驾驶员马尔科夫模式切换决策模型;基于车辆记录的驾驶员日常驾驶数据,包括前后车相对距离,前车车速,本车车速,本车加速度,发动机力矩,制动减速度,离线求解状态-动作值函数的权值向量。包括以下部分:

2.1)马尔科夫决策模型建立:系统将驾驶风格定义于不同跟车情况下驾驶员在定速巡航,加速接近,稳态跟车,快速制动几种模式间的切换策略;将驾驶员切换模式决策建模为马尔科夫决策过程,进而使用强化学习方法学习。强化学习是一种交互式学习方法,智能体在环境中采取动作获得回报,基于回报进行学习。一般情况下,马尔科夫决策过程建模包括状态,动作,回报函数的设计。智能体在当前状态根据策略采取动作,进行状态转移并得到回报。系统在跟车状态下,描述当前时刻k的驾驶工况的状态向量s(k)为:

s(k)={vh(k),△v(k),△x(k),l(k),a(k-1)}(1)

其中vh(k)为k时刻本车车速,△v(k)为k时刻相对车速,△x(k)为k时刻相对距离,l(k)为k时刻前车驾驶意图,a(k-1)为k-1时刻的驾驶模式,在非跟车状态下,描述驾驶工况的状态向量为:

s(k)={vh(k),vref(k)-vh(k),0,0,a(k-1)}(2)

其中,vh(k)为k时刻本车车速,vref(k)为k时刻驾驶员设定车速,a(k-1)为k-1时刻的驾驶模式。非跟车状态下,表示相对距离与前车驾驶意图的状态分量均为0。

动作a∈{1,2,3,4}表示在定速巡航,加速接近,稳态跟车,快速制动模式间切换的动作。根据驾驶员数据ad为驾驶员模式,aπ为当前策略下学习算法输出的动作,则回报函数为:

2.2)基于强化学习的最优问题求解:由于状态空间连续,使用表格型值函数无法表征状态-动作值函数,因此需要使用数值逼近方法对状态-动作值函数的权值向量基于贝尔曼最优性方程迭代求解。根据驾驶员的驾驶数据,使用数值逼近方法求解强化学习中状态-动作值函数的权值向量。这里使用基于核函数的最小二乘策略迭代算法对最优策略进行求解。首先使用基于核函数的稀疏化过程得到核字典。选择径向基函数作为核函数,可以表示为:

其中,<·,·>表示两个向量的内积,φ(s(i)),φ(s(j))是相应状态的基函数,可以表示为:

其中,m=a-1,a为当前动作,即仅有当前动作对应的基函数中的项为当前状态向量值,其他值为0。例如,当动作a=1时,其基函数可以表示为:

因此,驾驶员驾驶样本集可以表示为m={s(1),s(2),...,s(k)},特征向量集为φ={φ(s(1)),φ(s(2)),...,φ(s(k))}。对特征向量集进行筛选,选取线性相关度大于阈值的特征向量加入核字典对状态值函数进行逼近。当核字典中已经包含t-1(1<t≤n)个特征向量时,核字典可以表示为dt-1={φ(s(j)),(j=1,2,...,t-1)}。因此,当判断下一个特征向量是否应该加入核字典时,优化问题建立为:

其中,λ=[λ1,λ2,...,λt-1]为权值向量,式(7)的解为:

其中,λ=[λ1,λ2,...,λt-1]为权值向量,[wt-1]i,j=κ(s(i),s(j))为t-1×t-1维矩阵,wtt=κ(s(t),s(t))为当前特征向量s(t)与自身的内积值,wt-1(s(t))=[κ(s(1),s(t)),κ(s(2),s(t)),...,κ(s(t-1),s(t))]t为字典中已有特征向量与当前特征向量s(t)的内积t-1维列向量。如果ξ>μ,则该特征向量被加入核词典中,反之,则不加入。直到所有的样本被测试过。

然后,强化学习中的状态-动作值函数被评估,使用核词典中的特征向量进行线性逼近,其可以表示为:

其中,为状态s(i)的状态-动作值函数估计值,α=(α1,α2,...,αt)是权重向量。φ(s(i))为状态s(i)的基函数表达,φ(s(j))为状态为s(j)且在字典中的特征向量。最终对所有样本数据筛选得到t维字典。

然后,对所有样本迭代更新求解,线性逼近参数。对第ii时刻样本s(ii)以及第ii+1时刻样本s(ii+1),增量式迭代更新方程为:

其中,w(s(ii)),w(s(ii+1))分别为s(ii),s(ii+1)与字典中的特征向量计算得到的t维向量。aii-1,aii为t*t维矩阵分别对应前后两次迭代更新时矩阵a的值,bii-1,bii为t维列向量分别对应前后两次迭代更新时向量b的值。αii为ii样本迭代计算后估计状态-动作值函数的线性逼近权重向量。则状态-动作值函数的估计值为策略改进中,更新后的策略可以表示为:

迭代持续到数据集内所有的样本状态与动作与当前策略所得到的动作相同,则算法收敛结束。

本模块的具体计算过程如下所述。

步骤(1):初始化,得到当前驾驶数据集m={s(1),s(2),...,s(k)},定义使用的核函数κ(s(i),s(j)),并初始化空核字典d0,阈值μ;

步骤(2):稀疏化,对数据集中每个样本进行循环计算式(8),如果ξ>μ,将当前特征向量加入字典;否则,继续下一样本计算,直到遍历所有样本。

步骤(3):确定核字典后,进行强化学习策略迭代求解,初始化矩阵a,向量b,权值向量α。

步骤(4):对数据集中每个样本计算式(10),以进行迭代更新,直到数据集内策略与当前网络策略一致。

步骤(5):输出权值向量α。

步骤三、跟车特性学习模块d,针对特定驾驶员在每种驾驶模式下跟车驾驶特性不同,且特定驾驶员可能存在不规范或危险驾驶习惯的情况,因此系统也须纠正驾驶员的不恰当的驾驶行为。在系统设计阶段,设定每一模式下较为标准的驾驶的跟车行为特性参数。其参数初值可根据标准驾驶数据进行训练,或人为标定。在系统未开启的状态下,在模式切换学习模块学习及时模式切换决策的同时,也在每一模式下,根据以上所述驾驶员数据的跟车行为特性网络进行离线训练,并以一定比例k(k=0.5-0.7)更新到理想跟车特性的初始动作神经网络中。持续在系统关闭阶段采集驾驶数据,更新动作网络;系统开启阶段在线学习。以此种方式,在标准驾驶模式与个性驾驶行为学习中平衡学习。提出基于强化学习的actor-critic框架结合归一化评价方法和引导动作搜索的强化学习方法在连续状态空间及连续动作空间学习方法进行在线学习;因此提出结合归一化评价方法和引导动作搜索的强化学习方法,提高算法效率及学习成功率,减少算法对于初始权值的依赖性,包括以下工作过程:

3.1)结合归一化评价方法和引导动作搜索的强化学习方法的提出:对于不同问题,其期望值所处范围变化较大,需要有针对性的设计回报函数中误差信号的增益,采用归一化的评价方法,可简化算法设计,同时有利于控制器参数的调整。同时,使用历史动作回报引导动作搜索,确保每次策略更新方向的正确性,从而提高算法效率及学习成功率,减少算法对于初始权值的依赖性。这里使用神经网络对策略函数与状态值函数进行逼近,基于强化学习中的ac框架。同时综合动作的搜索与利用,则动作选择可以用正态函数表示为:

其中,s为状态量,a为动作值,θ为动作网络权值,μ(s;θ)为网络输出的动作均值,σ为动作选择方差。通常情况下使用时序差分方法作为误差信号对进行计算,这里使用多步预测的时序差分方法计算误差信号,同时此种误差估计方式也可以用于多车异步训练提高训练速度。优势函数可以表示为:

其中,γ∈(0,1)表示折扣函数。v(s(k)),v(s(t+k))分别为状态s(t),s(t+k)的状态值函数。rt+i为t+i时刻回报值。

下面对状态量进行归一化处理,假设在状态s时,实际量和期望量为x和x*,下一时刻状态s'时,实际量和状态量为x'和x'*。使用x和x*分别为归一化的上界和下界,则变量x,x*,x',x'*归一化后对应的变量y,y*,y',y'*可以表示为:

因此评价信号可以表示为:

其中,y=min(y'*,1)。m为常数参数。此评价函数的可视化形式如图4所示。对于跟踪问题而言,归一化后问题被统一为y'达到零点。由于初始权值的随机性,式(13)可能无法准确估计误差信号,因此使用归一化的评价作为监督信号,若二者符号相同,则使用式(13)作为误差信号估计,否则使用评价信号进行更新。此种情况下评价信号可以表示为:

其具体计算过程如下所述:

步骤(1):初始化:策略网络权值θ,值函数网络权值w及对应初始学习率,批量样本数n,最大步数n;

步骤(2):初始化环境;

步骤(3):在环境中批量样本数n中,得到当前状态,动作,回报,执行状态转移;

步骤(4):如果状态未达终态或到达最大步数,重复步骤(3),直到达到批量样本数n;

步骤(5):

步骤(6):在批量样本中,由后向前循环计算r=ri+γr以及评价信号d和优势函数at。如果,sign(d)==sign(at),更新否则,更新

步骤(7):判断策略是否收敛,如果不收敛,则重复步骤(2)-(5)。直到策略收敛。

同时,由于在无模型的强化学习方法中,只有实际作用于被控对象的动作才能被评估,且连续空间的动作维数巨大,为提高算法效率,这里在控制的较短时域内假设系统状态不发生加大变化,使用历史动作的回报帮助判断当前动作回报,引导智能体在动作空间内搜索动作。

3.2)强化学习跟车特性系统建立:强化学习在线学习跟车系统框图如图5所示,在系统设计阶段,设定每一模式下较为标准的驾驶的跟车行为特性参数,通过仿真环境中在线的学习系统学习得到车载控制器的系统参数初值。并以一定比例k(k=0.5-0.7)更新到动作神经网络中。其参数初值可根据标准驾驶数据进行训练,或人为标定。在在线学习阶段,进一步使用结合归一化评价方法和引导动作搜索的强化学习方法,跟车特性学习模块再进行在线学习逐步对控制器向标准跟车模式更新,逐步影响驾驶员的驾驶习性。并持续在系统关闭阶段采集驾驶数据,更新动作网络;系统开启阶段在线学习。以此种方式,在标准驾驶模式与个性驾驶行为学习中平衡学习,使得系统与驾驶员更好的融合,具体实施过程为:

马尔科夫决策过程使用相似的设计,跟车以及非跟车状态下的状态分别为:

其中,跟车状态下,vh(k)为k时刻本车车速,△v(k)为k时刻相对车速,△x(k)为k时刻相对距离,l(k)为k时刻前车驾驶意图,th(k)=△x(k)/v1(k)为车头时距,△th(k)=thtar(k)-th(k)为期望时距与当前时距之差。thtar(k)为根据当前驾驶员的驾驶风格确定的跟车时距。非跟车状态下,th(k)=thtar(k)+c(vset(k)-vh(k))。c=0.1为一系统设定常数。动作量为加速度,回报为:

其中,vref(k)为k时刻的期望速度,vh(k)为k时刻本车车速,△x(k)为k时刻相对距离,△xcra碰撞发生时的距离,th(k)=△x(k)/v1(k)为车头时距,thmax为最大跟车时距,超过此时距认定跟车任务失败。

跟车状态下,我们将对于时距的跟踪问题转化为速度的跟踪问题,当前时刻的期望速度vref(k)vref(k)由上一时刻的状态量决定,可表示为:

其中,△x(k-1)为k-1时刻相对距离,d0为安全距离,△t=△t*n,△t为系统的控制周期,n=10为一常数,sl=(vl(k-1)+vl(k))/2*△t,vl(k-1),vl(k)为前方车辆在k,k-1时刻的速度,vh(k-1)为k-1时刻本车车速,thtar(k)为根据当前驾驶员的驾驶风格确定的跟车时距,h∈(0,1)为一系统固定参数。非跟车状态下,vref(k)=vset(k)。

接着对评价函数进行归一化,得到

相应的上下界为因此评价信号为:

m为常数参数。而当评价信号为负时,临近的与其搜索方向相反状态下的dbase=vh(k)-vh(k-1)作为基准被加入到评价信号中进一步帮助判断动作搜索的正确方向。vh(k-1),vh(k)为k-1,k时刻本车车速。

策略网络和状态值函数网络使用神经网络作为函数逼近器,可以被表示为:

其中分别为动作网络和状态值函数网络第l层第j个神经元输出值,代表激活函数,分别代表动作网络和状态值函数网络第l层第j个神经元和第l-1层第i个神经元之间的权值系数,分别为动作网络和状态值函数网络第l-1层第j个神经元输出值,分别为动作网络和状态值函数网络第l层第j个神经元偏置值。

在第l层神经网络,基于链式法则及反向传播方式,网络权重及偏置的更新过程可以被表示为:

其中,

dω分别为网络第l层第j个神经元和第l-1层第i个神经元之间的权值系数和其改变值,为第l层到第l+1层神经元之间权值系数向量,为第l-1层第i个神经元的输出值。为网络第l层第j个神经元偏置值和其改变值。δl,分别表示第l层的偏差向量和第l层第j个神经元的偏差。激活函数在输入层和输出层均选取双曲正切函数。算法的整体框图如图6所示。

步骤四、通过车辆执行控制模块d采用比例-积分-微分pid控制器实现对于决策量即加速度的执行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1