一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于生成对抗模仿学习的车辆个性化跟驰控制方法与流程

2022-03-09 10:08:22 来源:中国专利 TAG:


1.本发明涉及自动驾驶技术领域,具体涉及一种基于生成对抗模仿学习的车辆个性化跟驰控制方法。


背景技术:

2.在自动驾驶技术的发展过程中,从最初的定速巡航,到自适应巡航,再到最终的完全自动驾驶,车辆自主跟驰控制一直是车辆主动安全技术和车辆自动驾驶技术的关键技术之一。
3.现有自主跟驰控制技术主要分为两大类型:基于模型的(model-based)控制和基于数据(data-driven)的控制。其中,基于模型的跟驰控制方法通过建立车辆运动学/动力学模型,描述车辆纵向运动的碰撞风险,并结合跟车过程中的跟驰效率、乘员舒适性等指标,采用约束优化方法对车辆纵向加速度进行控制。得益于芯片算力,仿真技术和ai技术的快速发展,深度强化学习技术为自动驾驶控制策略提供了全新的思路,其通过设置奖励函数,利用智能体与仿真环境不断交互试错,优化控制策略,不仅可以减少系统动力学建模和调参的成本,还可以通过在奖励函数中添加驾驶习性指标,通过对驾驶员实际驾驶数据的学习,使得跟驰控制更符合不同驾驶员的驾驶习惯。
4.但是在目前,奖励函数的制定一般仍基于主观对跟驰系统性能的评判,难以客观、全面地反应系统状态空间和输出的隐性关系,使得基于传统深度强化学习的跟驰控制,在个性化和宜人性方面还存在一定的局限。


技术实现要素:

5.针对现有技术存在的不足,本发明提出一种基于生成对抗模仿学习的车辆个性化跟驰控制方法,以解决现有的基于深度强化学习的跟驰控制技术中,通过制定奖励函数无法客观、全面反映驾驶员驾驶习惯的技术问题。
6.本发明采用的技术方案是,一种基于生成对抗模仿学习的车辆个性化跟驰控制方法,包括以下步骤:
7.建立模拟跟车仿真环境,模拟跟车仿真环境包括道路模型、主车和前车;
8.在模拟跟车仿真环境中设置前车不同的速度曲线;
9.据前车不同的速度曲线在模拟跟车仿真环境中进行模拟驾驶跟驰试验,采集主车和前车的驾驶数据得到连续跟驰片段,选取多个连续跟驰片段建立驾驶员跟驰数据集;
10.使用生成对抗网络模仿强化学习方法,根据驾驶员跟驰数据集构建车辆个性化跟驰控制模型;
11.使用车辆个性化跟驰控制模型对车辆进行个性化跟驰控制。
12.进一步的,建立模拟跟车仿真环境包括:
13.采用自动驾驶仿真平台搭建模拟跟车仿真环境;
14.对于主车采用车辆动力学仿真软件进行主车动力学建模;
15.采用随机交通流模型描述周围车辆运动情况。
16.进一步的,前车不同的速度曲线包括:前车匀速行驶、减速行驶、紧急制动、随机变速行驶。
17.进一步的,跟驰状态包括:主车与前车的相对距离d,主车与前车的相对速度vr,主车车速vh,动作为主车纵向加速度ah。
18.进一步的,构建车辆个性化跟驰控制模型包括:
19.以主车与前车的相对距离、相对速度、主车车速作为输入,以主车纵向加速度作为输出,建立策略生成神经网络;
20.以主车与前车的相对距离、相对速度、主车车速及主车纵向加速度作为输入,以真、假值作为输出,建立判别神经网络;
21.从驾驶员数据集均匀抽样获得一个连续跟驰片段:
22.其中分别代表第m步跟驰状态和驾驶员实际动作;
23.将获得的一个连续跟驰片段输入到策略生成神经网络与仿真环境进行交互,获得仿真跟驰片段:其中分别代表仿真过程第n步的跟驰状态和策略生成神经网络输出动作;
24.将仿真跟驰片段输入到判别神经网络中,采用判别神经网络对策略生成神经网络输出的真实程度进行判别;
25.使用多个连续跟驰片段训练策略生成神经网络;
26.使用多个仿真跟驰片段训练判别神经网络;
27.采用梯度下降方法更新判别神经网络参数。
28.进一步的,策略生成神经网络的输入层神经元为3个,分别为相对距离、主车车速和相对速度;输出层神经元为1个,为主车纵向加速度;隐藏层为2层,每个隐藏层的神经元分别为5个;策略生成神经网络表示为:
29.f=π(as;ω)
30.其中,a表示动作,a=[ah];s表示车辆状态,s=[d,vh,vr];ω表示策略生成神经网络参数。
[0031]
进一步的,判别神经网络的输入层神经元为4个,分别为相对距离、主车车速、相对速度和主车纵向加速度,输出层神经元为1个,其值为(0,1);隐藏层为2层,每个隐藏层的神经元分别为5个;判别神经网络表示为:
[0032]
pa=d(s,a;θ)∈(0,1)
[0033]
其中,s表示车辆状态,s=[d,vh,vr];a表示动作,a=[ah];θ表示判别神经网络参数。
[0034]
进一步的,从驾驶员数据集均匀抽样获得一个连续跟驰片段时,以片段中主车初始状态和前车运行轨迹作为仿真场景,定义当前策略生成神经网络参数对策略生成神经网络各动作进行概率抽样以控制主车与环境交互,满足停止条件时仿真停止,记录仿真跟驰片段数据;停止条件包括:
[0035]
样本数据读取完毕;
[0036]
两车相撞;
[0037]
主车速度小或等于0。
[0038]
进一步的,采用判别神经网络对策略生成神经网络输出的真实程度进行判别时,定义交叉熵作为第k步回报函数rk=logd(sk,ak;θ),将智能体与环境交互轨迹代入回报函数,得到每一步含有回报的轨迹:
[0039][0040]
其中,分别代表仿真过程第n步的跟驰状态和策略生成神经网络输出动作。
[0041]
进一步的,对策略生成神经网络、判别神经网络进行训练时,策略生成神经网络的目标函数为:
[0042][0043]
其中,ω代表待更新网络参数,ω
now
代表当前网络参数;
[0044]
判别神经网络的损失函数为:
[0045][0046]
其中,m为连续跟驰片段采样点数,n为仿真跟驰片段采样点数;
[0047]
采用梯度下降方法更新判别神经网络参数,参数更新公式为:
[0048][0049]
其中,θ
old
为当前判别网络参数,θ
new
为更新后判别网络参数,λ为学习率。
[0050]
由上述技术方案可知,本发明的有益技术效果如下:
[0051]
1.无需人为定义奖励函数,通过生成网络和判别网络使得策略网络更符合驾驶员行为特性,使得跟驰控制策略更符合驾驶员驾驶习惯。
[0052]
2.基于模拟驾驶装置通过建立不同仿真场景进行驾驶员驾驶数据采集,系统结构较为简单,成本低,且相较实际道路驾驶更加安全。
附图说明
[0053]
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
[0054]
图1为本发明实施例的车辆个性化跟驰控制流程示意图;
[0055]
图2为本发明实施例的车辆个性化跟驰控制策略框图;
[0056]
图3为本发明实施例的策略生成神经网络结构图;
[0057]
图4为本发明实施例的判别神经网络结构图;
[0058]
图5为本发明实施例的截断函数示意图。
具体实施方式
[0059]
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范
围。
[0060]
需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
[0061]
实施例
[0062]
本实施例提供了一种基于生成对抗模仿学习的车辆个性化跟驰控制方法,如图1所示,具体包括以下步骤:
[0063]
步骤1、建立模拟跟车仿真环境,模拟跟车仿真环境包括道路模型、主车和前车。
[0064]
在具体的实施方式中,采用自动驾驶仿真平台prescan搭建模拟跟车仿真环境;模拟跟车仿真环境包括道路模型、主车和前车。对于主车采用车辆动力学仿真软件carsim进行主车动力学建模,得到主车carsim模型。对于周围车辆,采用随机交通流模型描述周围车辆运动情况。在本实施例中,主车为采用自动驾驶个性化跟驰控制的车辆,前车为与主车处于同一车道内,位于主车前面、被主车跟驰的车辆。
[0065]
步骤2、在模拟跟车仿真环境中设置前车不同的速度曲线。
[0066]
具体的,前车不同的速度曲线包括:前车匀速行驶、减速行驶、紧急制动、随机变速行驶,设置前车不同的速度曲线可以模拟主车不同的跟驰工况。
[0067]
步骤3、根据前车不同的速度曲线在模拟跟车仿真环境中进行模拟驾驶跟驰试验,采集主车和前车的驾驶数据得到连续跟驰片段,选取多个连续跟驰片段建立驾驶员跟驰数据集。
[0068]
在具体的实施方式中,在模拟跟车仿真环境中采用罗技g29作为模拟驾驶设备,驾驶员控制方向盘与油门/制动踏板,驾驶模拟器采集方向盘转角、油门踏板开度及制动踏板开度信号,传输到主车carsim模型。
[0069]
根据前车不同的速度曲线,驾驶员在模拟跟车仿真环境的模拟不同跟驰工况,进行多次模拟驾驶跟驰试验,采集主车与同车道内前车的驾驶数据得到跟驰状态,跟驰状态包括:主车与前车的相对距离d,主车与前车的相对速度vr,主车车速vh以及主车纵向加速度ah。选择相对距离,主车速度和相对速度作为车辆状态s,即s=[d,vh,vr];选择主车纵向加速度作为动作a,即a=[ah]。
[0070]
在具体的实施方式中,采集到的试验数据可以体现为多个不同的连续跟驰片段,即进行了k次模拟驾驶试验,但是每次的试验时间不一样,比如第一次是8秒,第二次是10秒,每一次试验都对应着一个连续跟驰片段,每一个连续跟驰片段中均包含有相对距离、相对速度、主车车速和主车纵向加速度4种驾驶数据。在采集试验数据时,采样频率不作限定,优选频率采样为5hz,则第一次试验8秒的采样点数为40,第二次10秒的采样点数为50。
[0071]
选取多个连续跟驰片段作为驾驶员数据集γ,具体如下:
[0072]
γ={τ
(1)

(2)
,...,τ
(k)
}
[0073]
其中:τ=[s1,a1,s2,a2,...,sm,am],k为连续跟驰片段数量,m为每个片段中的采样点数。
[0074]
步骤4、使用生成对抗网络模仿强化学习方法,根据驾驶员跟驰数据集构建车辆个性化跟驰控制模型
[0075]
如图2所示,构建车辆个性化跟驰控制模型具体包括:
[0076]
步骤4.1、以主车与前车的相对距离、相对速度、主车车速作为输入,以主车纵向加
速度作为输出,建立策略生成神经网络
[0077]
在本实施例中,采用主车纵向加速度a=[ah]作为动作,在具体的实施方式中,设定主车纵向加速度范围为-3m/s2≤ah≤3m/s2。
[0078]
策略生成神经网络结构如图3所示,其输入层神经元为3个,分别为相对距离、主车车速和相对速度;输出层神经元为1个,即主车纵向加速度,隐藏层为2层,每个隐藏层的神经元分别为5个。策略生成神经网络表示为:
[0079]
f=π(a|s;ω)
[0080]
其中,a表示动作,a=[ah];s表示车辆状态,s=[d,vh,vr];ω表示策略生成神经网络参数,参数包括网络层数、每层的神经元个数。
[0081]
步骤4.2、以主车与前车的相对距离、相对速度、主车车速及主车纵向加速度作为输入,以真、假值作为输出,建立判别神经网络
[0082]
判别神经网络结构如图4所示,其输入层的神经元为4个,为相对距离、主车车速、相对速度和主车纵向加速度[d,vh,vr,ah],输出层神经元为1个,其值为(0,1),输出越接近1表示为“真”,即该动作为驾驶员行为,越接近0表示为“假”,即该动作为策略生成神经网络生成的。隐藏层为2层,每个隐藏层的神经元分别为5个。判别神经网络表示为:
[0083]
pa=d(s,a;θ)∈(0,1)
[0084]
其中,s表示车辆状态,s=[d,vh,vr];a表示动作,a=[ah];θ表示判别神经网络参数,参数包括网络层数、每层的神经元个数。
[0085]
步骤4.3、从驾驶员数据集均匀抽样获得一个连续跟驰片段
[0086]
在本实施例中,将从驾驶员数据集均匀抽样获得的连续跟驰片段记为:其中分别代表第m步跟驰状态和驾驶员实际动作。
[0087]
从驾驶员数据集均匀抽样获得跟连续驰片段为所有片段中的任意一条。
[0088]
步骤4.4、将获得的一个连续跟驰片段分别输入到策略生成神经网络与仿真环境进行交互,获得仿真跟驰片段;将仿真跟驰片段输入到判别神经网络中,采用判别神经网络对策略生成神经网络输出的真实程度进行判别
[0089]
以步骤4.3获得的连续跟驰片段中主车初始状态和前车运行轨迹作为仿真场景,定义当前策略生成神经网络参数为ω
now
,对策略生成神经网络π(a|s;ω
now
)各动作进行概率抽样以控制主车与环境交互,满足仿真停止条件时停止仿真,获得仿真跟驰片段数据其中分别代表仿真过程第n步的跟驰状态和策略生成神经网络输出动作;
[0090]
仿真停止的条件如以下任意一条:
[0091]
样本数据读取完毕;
[0092]
两车相撞(相对距离d≤0);
[0093]
主车速度vh≤0。
[0094]
在本步骤中,m,n分别代表两条连续跟驰片段的长度;
[0095]
当采用判别神经网络对策略生成神经网络输出的真实程度进行判别时,在具体的实施方式中,定义交叉熵作为第k步回报函数:
[0096]rk
=logd(sk,ak;θ)
[0097]
将智能体与环境交互轨迹代入回报函数,得到每一步含有回报的轨迹:
[0098][0099]
其中,分别代表仿真过程第n步的跟驰状态和策略生成神经网络输出动作。
[0100]
通过上述方式,判别神经网络可对策略生成神经网络输出的真实程度进行判别,输出越接近1表示为“真”,即该动作为驾驶员行为,越接近0表示为“假”,即该动作为策略生成神经网络生成的。
[0101]
步骤4.5、使用多个连续跟驰片段训练策略生成神经网络
[0102]
通过步骤4.3可获得多个连续跟驰片段,使用多个连续跟驰片段对策略生成神经网络进行训练。具体的,训练时采用近端策略优化方法(proximal policy optimization,ppo)更新策略生成神经网络,定义目标函数为:
[0103][0104]
其中,ω代表待更新网络参数,ω
now
代表当前网络参数;k代表步数,π()为策略生成神经网络,r
t
为回报函数。
[0105]
设计基于最大化剪切近端策略优化函数,则性能目标更新为:
[0106][0107]
策略生成神经网络参数更新方法如下式所示:
[0108][0109]
其中ω
new
代表更新后网络参数,代表截断函数,其中ε为截断参数;函数y=clip(x,a,b)如图5所示。在本实施例中,采用基于adam的随机梯度上升求解ω
new

[0110]
步骤4.6、使用多个仿真跟驰片段训练判别神经网络
[0111]
通过步骤4.5可获得多个仿真跟驰片段,使用多个仿真跟驰片段对判别神经网络进行训练。具体的,训练时定义损失函数为:
[0112][0113]
其中,其中,m为连续跟驰片段采样点数,d()为判别神经网络,n为仿真跟驰片段采样点数。上式中的第一项越小,代表越大,第二项越小,代表越小,说明判别器损失函数g能更好的够判别系统输入是由驾驶员输入还是由决策网络生成的。
[0114]
步骤4.7:采用梯度下降方法更新判别神经网络参数
[0115]
具体的,参数更新公式为:
[0116][0117]
其中,θ
old
为当前判别网络参数,θ
new
为更新后判别网络参数,λ为学习率,代表对θ求偏导。
[0118]
重复执行步骤4.3-4.7,从驾驶员数据集中获得多个连续跟驰片段,通过智能体与环境不断交互试错,对策略生成神经网络和判别神经网络进行训练直至收敛,最终收敛时通过步骤4.4获得的策略生成神经网络即为车辆个性化跟驰控制模型,策略生成神经网络的输出即为个性化跟驰控制策略。
[0119]
步骤5、使用车辆个性化跟驰控制模型对车辆进行个性化跟驰控制。
[0120]
通过采用本实施例的技术方案,无需人为定义奖励函数,通过生成网络和判别网络使得策略网络更符合驾驶员行为特性,使得跟驰控制策略更符合驾驶员驾驶习惯。
[0121]
同时,基于模拟驾驶装置通过建立不同仿真场景进行驾驶员驾驶数据采集,系统结构较为简单,成本低,且相较实际道路驾驶更加安全。
[0122]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献