一种基于课程强化学习的单车换道汇入车队控制方法
未命名
08-05
阅读:131
评论:0
1.本发明属于自动驾驶技术领域,主要涉及一种基于课程强化学习的单车换道汇入车队控制方法。
背景技术:
2.单车换道汇入车队是多车协同驾驶的重要研究内容之一,其主要任务是单个车辆(以下简称单车)根据不同道路条件,基于无线自组织网络,通过交互协作方式来完成避障、换道、加入车队等一系列驾驶操作。车辆列队行驶一方面有利于降低道路交通控制管理的复杂程度,有效改善道路交通的拥堵程度;另一方面有利于提高道路交通行驶的一致性和连续性,减少环境污染的同时保障道路交通安全。
3.国内外关于协同驾驶控制的方法主要有3种:基于最优控制理论的方法、基于势函数的方法、基于通信网络拓扑的方法,单车换道汇入多是通过基于规则的轨迹规划决策和跟踪控制来实现。这种方法在无自由流车辆时简单易实现、可操作性强,但在有交通流情况或饱和交通流情况,单车汇入需要考虑本车道和目标车道前后车以及要汇入的车队成员等多辆车的相对状态关系,路径的求解更加复杂难度更高;且规划和控制往往都孤立地优化各自模块的设计,难保证全系统最优;另外,路径规划的误差会向跟踪控制模块传播,增加了控制模块的不可靠性。
4.机器学习中的强化学习通过智能体和环境不断交互学习得到最大化累积奖励的策略函数,这类方法属于传感器端直接到控制端的控制方法,在复杂场景应用下有着更易开发的优势、且端到端的特性更易保证全局最优不存在模块间误差放大的情况,在饱和交通流下控制单车汇入车队的复杂场景有很大的应用前景。
技术实现要素:
5.本发明的目的使提供一种基于课程强化学习的单车换道汇入车队控制方法,建立从车辆状态空间到连续动作空间的神经网络,并利用近端策略优化算法(ppo)结合课程学习对所建立的策略网络进行训练优化,实现在复杂饱和交通流环境下安全高效全局最优地控制智能体完成避障、换道汇入等操作。
6.本发明的技术方案是:
7.一种基于课程强化学习的单车换道汇入车队控制方法,包括以下步骤:
8.s1:在单车跨车道追赶入队训练过程中,依据任务难度从简单到复杂设置强化学习训练课程;
9.s2:依据车载传感器获得的周围环境车辆信息和控制对象,确定强化学习的状态空间和动作空间;
10.s3:根据车辆状态和目标任务,多维分级地设置奖励函数引导车辆完成追赶、换道进入车队;
11.s4:依据近端策略优化算法搭建环境探索模块,包括环境迭代、状态动作奖励的收
集,并利用adam优化器更新网络;
12.s5:依据所设置的课程选择相应的奖励函数进行训练,并对每个课程训练后的网络进行随机数种子实验,对课程学习最终训练得到的策略神经网络进行场景测试,检验该模型目标任务的完成度。
13.优选的,所述的s1中的课程设置具体为以下4个课程:
14.课程1:纵向控制,无其他交通参与者的情况下,智能体学会控制纵向速度在限速范围内;
15.课程2:横向控制,车队环境即智能体在车队后相邻车道30m处,智能体学会横纵向控制进入车队间隙;
16.课程3:随机位置入队,车队环境即智能体在车队后100m内随机位置进行入队训练,智能体学会横纵向控制进入车队;
17.课程4:有自由流随机位置入队,自由流+车队环境:智能体在车队后100m内随机位置,周围有其他自由流车辆干扰;智能体学会绕开自由流车辆,并通过横纵向控制进入车队。
18.优选的,所述的步骤s2中的状态向量s是在车联网环境下,对于车载传感器获得的自车及周边车辆的位置、速度和航向角信息进行拼接和二次处理得到;
19.状态向量s=[v1,v2,
…
,vi,d],其中向量vi=[xi,yi,v
xi
,v
yi
,cos(hi),sin(hi)]表示第i辆车的纵向位置、横向位置、纵向速度、横向速度以及航向角h的两个三角函数值,向量d=[v
p
,gap1,gap2,gap3,cos(d),sin(d)]代表车队内目标位置相关的状态,具体包括车队速度、车队中从头车到尾车两两车辆之间的间隙、自车位置到车队间隙的所需航向角的两个三角函数值;
[0020]
动作空间选择连续动作空间,动作向量a=[δ,a],其中δ为方向盘转角,a为车辆加速度,均归一化到[-1,1]。其中,加速度为负代表减速,为正代表加速,加速度范围为[-2,2]m/s2;方向盘转角为负代表左转,为正代表右转,方向盘转角范围为[-pi/36,pi/36]。
[0021]
优选的,所述的步骤s3中奖励函数r表示为如下,具体包括:距离奖励、速度奖励、状态奖励、碰撞惩罚和出界惩罚,从多个维度约束车辆行为引导自车完成目标任务;
[0022]rtotal
=r
distance
+r
speed
+r
state
+r
collision
+r
out_of_road
[0023]
其中r
total
表示总奖励;r
distance
表示距离奖励;r
speed
表示速度奖励;r
state
表示状态奖励;
[0024]rcollision
表示碰撞惩罚;r
out_of_road
表示出界惩罚。
[0025]
优选的,距离奖励r
distance
设置为多级分级奖励,距离奖励的表示如下:
[0026][0027]
其中l为自车距目标点的距离,当车辆在距车队间隙30m以内,奖励随l的减小呈线性增长;在距目标点6m以内奖励随l的减小呈指数增长;l大于等于30m时,给自车-10的惩罚。
[0028]
优选的,速度奖励r
speed
也设置为分级奖励,表示如下:
[0029][0030]
其中δ
speed
=|v-v
p
|,表示自车速度v和车队速度v
p
的差距,当速度差在2m/s内,速度奖励为10;当速度差在2-5m/s的时候,δ越小,速度奖励随之线性增长;当速度差大于5m/s时,给自车-50的惩罚。
[0031]
优选的,状态奖励r
state
表示如下:
[0032][0033]
用于衡量自车当前状态s
ego
和成为车队成员后的目标状态s
destination
的差异,这两个状态差异越大,奖励越小。
[0034]
优选的,碰撞惩罚r
collision
和出界惩罚r
out_of_road
分别表示如下:
[0035][0036][0037]
优选的,所述的s4中近端策略优化算法的目标函数如下:
[0038][0039]
其中,是最小化函数min的第一项,表示新旧策略的概率比;π
θ
(a
t
|s
t
)表示更新后的策略π
θ
在s
t
状态下做出a
t
动作的概率;π
θ
(a
t
|s
t
)表示更新后的策略在s
t
状态下做出a
t
动作的概率;θ表示策略神经网络的权重和偏置参数;
[0040]
为优势函数,表示在状态s
t
下动作a
t
相对于均值的偏差;
[0041]
是最小化函数的第二项,是通过[1-ε,1+ε]裁剪ratio(θ)形成的替代目标函数;
[0042]
最后,策略网络的参数θ通过adam优化器执行多个梯度上升来更新网络,更新规则如下:
[0043][0044]
其中θ
′
是新参数,η是学习率。
[0045]
优选的,所述的s5中的随机数种子实验的目标在于:充分考虑模型初始化参数的不确定性对网络训练时奖励收敛时间、训练后网络所能达到的性能的影响,从而更全面的评价模型;所述的s5中的场景测试目的在于:充分检验模型的泛化能力,通过改变车队间隙、车队和自车初始化速度以及自由流车辆的位置考验自车的入队能力。
[0046]
与现有技术相比,本发明具有以下有益效果:
[0047]
1)本发明充分利用深度强化学习控制方法端到端的特性,创新地解决了复杂饱和交通流单车汇入过程控制问题,避免了传统规划控制方法繁杂的车辆位姿和相对位置的分析计算,为解决单车换道汇入控制提供了一种新的思路。
[0048]
2)真实控制问题建模成强化学习往往会出现稀疏奖励问题,本发明针对复杂饱和交通流单车汇入场景首次设计不同任务难度的强化学习课程,克服稀疏奖励难收敛、易发散难收敛等问题,指导智能体最终完成避障、追赶、换道等操作。
[0049]
说明书附图
[0050]
图1是基于课程强化学习单车换道汇入车队控制方法流程图;
[0051]
图2是课程设置说明图;
[0052]
图3是强化学习基本要素说明图;
[0053]
图4是ppo算法训练流程图。
具体实施方式
[0054]
下面结合实施例和附图对本发明进行详细说明。本发明保护范围不限于实施例,本领域技术人员在权利要求限定的范围内做出任何改动也属于本发明保护的范围。
[0055]
本发明基于课程强化学习单车换道汇入车队控制方法,如图1所示,包括以下步骤:
[0056]
s1:在单车跨车道追赶入队训练过程中,依据任务难度从简单到复杂设置强化学习训练课程;
[0057]
s2:依据车载传感器获得的周围环境车辆信息和控制对象,确定强化学习的状态空间和动作空间;
[0058]
s3:根据车辆状态和目标任务,多维分级地设置奖励函数引导车辆完成追赶、换道进入车队;
[0059]
s4:依据近端策略优化算法(ppo)搭建环境探索模块,包括环境迭代、状态动作奖励的收集,并利用adam优化器更新网络;
[0060]
s5:依据所设置的课程选择相应的奖励函数进行训练,并对每个课程训练后的网络进行随机数种子实验。对课程学习最终训练得到的策略神经网络进行场景测试,检验该模型目标任务的完成度。
[0061]
具体实施例基于pytorch深度学习框架实现python编程,利用开源highway-env环境与策略神经网络交互获得经验,ppo算法框架实现模型更新,另外为了便于分析模型的有效性,利用matplotlib第三方库进行结果的可视化展示。
[0062]
具体实施例:
[0063]
s1:在单车跨车道追赶入队训练过程中,依据任务难度从简单到复杂设置强化学习训练课程,具体的课程设置包括4个阶段,如图2所示:
[0064]
·
课程1:纵向控制,无其他交通参与者的情况下,智能体学会控制纵向速度在限速范围内;
[0065]
·
课程2:横向控制,车队环境即智能体在车队后相邻车道30m处,智能体学会横纵向控制进入车队间隙;
[0066]
·
课程3:随机位置入队,车队环境即智能体在车队后100m内随机位置进行入队训
练,智能体学会横纵向控制进入车队;
[0067]
·
课程4:有自由流随机位置入队,自由流+车队环境即智能体在车队后100m内随机位置,周围有其他自由流车辆干扰;智能体学会绕开自由流车辆,并通过横纵向控制进入车队。
[0068]
s2:确定强化学习的状态空间和动作空间。状态向量s是在车联网环境下,对于车载传感器获得的自车及周边车辆的位置、速度和航向角信息进行拼接和二次处理得到。状态向量s=[v1,v2,
…
,vi,d],其中向量vi=[xi,yi,v
xi
,v
yi
,cos(hi),sin(hi)]表示第i辆车的纵向位置、横向位置、纵向速度、横向速度以及航向角h的两个三角函数值,向量d=[v
p
,gap1,gap2,gap3,cos(d),sin(d)]代表和车队内目标位置相关的状态,具体包括车队速度、车队中从头车到尾车两两车辆之间的间隙、自车位置到车队间隙的所需航向角的两个三角函数值。
[0069]
动作空间选择连续动作空间,动作向量a=[δ,a],其中δ为方向盘转角,a为车辆加速度,均归一化到[-1,1]。其中,加速度为负代表减速,为正代表加速,加速度范围为[-2,2]m/s2;方向盘转角为负代表左转,为正代表右转,方向盘转角范围为[-pi/36,pi/36]。
[0070]
s3:确定强化学习的奖励函数。奖励函数r表示为如下,具体包括:距离奖励、速度奖励、状态奖励、碰撞惩罚和出界惩罚,从多个维度约束车辆行为引导自车完成目标任务。
[0071]rtotal
=r
distance
+r
speed
+r
state
+r
collision
+r
out_of_road
[0072]
其中r
total
表示总奖励;r
distance
表示距离奖励;r
speed
表示速度奖励;r
state
表示状态奖励;
[0073]rcollision
表示碰撞惩罚;r
out_of_road
表示出界惩罚。
[0074]
1)距离奖励r
distance
设置为多级分级奖励,其中l为自车距目标点的距离,当车辆在距车队间隙30m以内,奖励随l的减小呈线性增长;在距目标点6m以内奖励随l的减小呈指数增长;l大于等于30m时,给自车-10的惩罚。距离奖励的表示如下:
[0075][0076]
2)速度奖励r
speed
也设置为分级奖励,其中δ
speed
=|v-v
p
|,表示自车速度和车队速度的差距,当速度差在2m/s内,速度奖励为10;当速度差在2-5m/s的时候,δ越小,速度奖励随之线性增长;当速度差大于5m/s时,给自车-50的惩罚。速度奖励表示如下:
[0077][0078]
3)状态奖励r
state
用于衡量自车当前状态s
ego
和成为车队成员后的目标状态s
destination
的差异,这两个状态差异越大,奖励越小。状态奖励表示如下:
[0079][0080]
4)碰撞惩罚r
collision
和出界惩罚r
out_of_road
分别在车辆发生碰撞和出界后给予一定
的惩罚,具体表示如下:
[0081][0082]
至此步骤s2和步骤s3共同确定了强化学习的各要素,强化学习要素图如图3所示。
[0083]
s4:基于pytorch搭建的策略神经网络(actor网络)和critic网络均由1个输入层、2个全连接层、1个输出层构成。策略神经网络(actor网络)输入层的维度等于步骤一确定状态空间维度6*(i+1)
×
1,其中i表示路上总共行驶的车辆数,两个全连接层的维度分别为128
×
1和64
×
1,输出层的维度由动作空间确定2
×
1。critic网络的输出层为1
×
1,其余输入和隐藏层网络的数量同actor网络。
[0084]
具体训练过程如下:首先,初始化actor网络和critic网络,初始化环境。然后,开始训练,智能体观察环境得到状态s
t
,actor网络输出动作a
t
,环境反馈给智能体奖励r
t
,和本回合是否结束done,环境变为下一状态s
t+1
,得到一个四元组[state,action,reward,done]。之后,智能体不断和环境highway-env交互获得多个四元组,对所有四元组堆栈形成更新神经网络的数据库,堆栈的层数horizon_length=1024。最后,利用近端策略优化算法多次更新策略神经网络的参数,更新次数repeat_times=6。近端策略优化算法的目标函数如下:
[0085][0086]
其中,是最小化函数min的第一项,表示新旧策略的概率比;π
θ
(a
t
|s
t
)表示更新后的策略π
θ
在s
t
状态下做出a
t
动作的概率;π
θ
(a
t
|s
t
)表示更新后的策略在s
t
状态下做出a
t
动作的概率;θ表示策略神经网络的权重和偏置参数;
[0087]
为优势函数,表示在状态s
t
下动作a
t
相对于均值的偏差;
[0088]
是最小化函数的第二项,是通过[1-ε,1+ε]裁剪ratio(θ)形成的替代目标函数。最后,策略网络的参数θ通过adam优化器执行多个梯度上升来更新网络,更新规则如下:
[0089][0090]
其中θ
′
是新参数,η是学习率。
[0091]
单个课程的训练方法如图4所示,具体的ppo算法超参数值的选择如下:
[0092]
超参数参数含义参数值εppo目标函数中的裁剪范围0.25ηadam优化器的学习率6
×
10-5
horizon_length单次收集样本的数量1024repeat_times每次样本库更新actor的次数6
[0093]
通过课程学习、超参数调优的方式优化训练过程,得到输出连续动作的策略神经
网络。
[0094]
s5:依据所设置的课程选择相应的奖励函数进行训练,并对每个课程训练后的网络进行随机数种子实验,对课程学习最终训练得到的策略神经网络进行场景测试。随机数种子实验的目标在于:充分考虑模型初始化参数的不确定性对网络训练时奖励收敛时间、训练后网络所能达到的性能的影响,从而更全面的评价每个课程训练模型;场景测试目的在于:充分检验模型的泛化能力,通过改变车队间隙、车队和自车初始化速度、以及自由流车辆的位置考验自车的入队能力。
技术特征:
1.一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,包括以下步骤:s1:在单车跨车道追赶入队训练过程中,依据任务难度从简单到复杂设置强化学习训练课程;s2:依据车载传感器获得的周围环境车辆信息和控制对象,确定强化学习的状态空间和动作空间;s3:根据车辆状态和目标任务,多维分级地设置奖励函数引导车辆完成追赶、换道进入车队;s4:依据近端策略优化算法搭建环境探索模块,包括环境迭代、状态动作奖励的收集,并利用adam优化器更新网络;s5:依据所设置的课程选择相应的奖励函数进行训练,并对每个课程训练后的网络进行随机数种子实验,对课程学习最终训练得到的策略神经网络进行场景测试,检验该模型目标任务的完成度。2.根据权利1所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,所述的s1中的课程设置具体为以下4个课程:课程1:纵向控制,无其他交通参与者的情况下,智能体学会控制纵向速度在限速范围内;课程2:横向控制,车队环境即智能体在车队后相邻车道30m处,智能体学会横纵向控制进入车队间隙;课程3:随机位置入队,车队环境即智能体在车队后100m内随机位置进行入队训练,智能体学会横纵向控制进入车队;课程4:有自由流随机位置入队,自由流和车队环境:智能体在车队后100m内随机位置,周围有其他自由流车辆干扰;智能体学会绕开自由流车辆,并通过横纵向控制进入车队。3.根据权利1所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,所述的步骤s2中的状态向量s是在车联网环境下,对于车载传感器获得的自车及周边车辆的位置、速度和航向角信息进行拼接和二次处理得到;状态向量s=[v1,v2,
…
,v
i
,d],其中向量v
i
=[x
i
,y
i
,v
xi
,v
yi
,cos(h
i
),sin(h
i
)]表示第i辆车的纵向位置、横向位置、纵向速度、横向速度以及航向角h的两个三角函数值,向量d=[v
p
,gap1,gap2,gap3,cos(d),sin(d)]代表车队内目标位置相关的状态,具体包括车队速度、车队中从头车到尾车两两车辆之间的间隙、自车位置到车队间隙的所需航向角的两个三角函数值;动作空间选择连续动作空间,动作向量a=[δ,a],其中δ为方向盘转角,a为车辆加速度,均归一化到[-1,1];其中,加速度为负代表减速,为正代表加速,加速度范围为[-2,2]m/s2;方向盘转角为负代表左转,为正代表右转,方向盘转角范围为[-pi/36,pi/36]。4.根据权利1所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,所述的步骤s3中具体包括:距离奖励、速度奖励、状态奖励、碰撞惩罚和出界惩罚,从多个维度约束车辆行为引导自车完成目标任务,奖励函数r表示为如下;r
total
=r
distance
+r
speed
+r
state
+r
collision
+r
out_of_road
其中r
total
表示总奖励;r
distance
表示距离奖励;r
speed
表示速度奖励;r
state
表示状态奖励;r
collision
表示碰撞惩罚;r
out_of_road
表示出界惩罚。
5.根据权利4所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,距离奖励r
distance
设置为多级分级奖励,距离奖励的表示如下:其中l为自车距目标点的距离,当车辆在距车队间隙30m以内,奖励随l的减小呈线性增长;在距目标点6m以内奖励随l的减小呈指数增长;l大于等于30m时,给自车-10的惩罚。6.根据权利4所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,速度奖励r
speed
也设置为分级奖励,表示如下:其中δ
speed
=|v-v
p
|,表示自车速度v和车队速度v
p
的差距,当速度差在2m/s内,速度奖励为10;当速度差在2-5m/s的时候,δ越小,速度奖励随之线性增长;当速度差大于5m/s时,给自车-50的惩罚。7.根据权利4所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,状态奖励r
state
表示如下:用于衡量自车当前状态s
ego
和成为车队成员后的目标状态s
destination
的差异,这两个状态差异越大,奖励越小。8.根据权利4所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,碰撞惩罚r
collision
和出界惩罚r
out_of_road
分别表示如下:分别表示如下:9.根据权利1所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,所述的s4中近端策略优化算法的目标函数如下:
其中,是最小化函数min的第一项,表示新旧策略的概率比;π
θ
(a
t
|s
t
)表示更新后的策略π
θ
在s
t
状态下做出a
t
动作的概率;π
θ
(a
t
|s
t
)表示更新后的策略在s
t
状态下做出a
t
动作的概率;θ表示策略神经网络的权重和偏置参数;为优势函数,表示在状态s
t
下动作a
t
相对于均值的偏差;是最小化函数的第二项,是通过[1-ε,1+ε]裁剪ratio(θ)形成的替代目标函数;最后,策略网络的参数θ通过adam优化器执行多个梯度上升来更新网络,更新规则如下:其中θ
′
是新参数,η是学习率。10.根据权利1所述的一种基于课程强化学习的单车换道汇入车队控制方法,其特征在于,所述的s5中的随机数种子实验的目标在于:充分考虑模型初始化参数的不确定性对网络训练时奖励收敛时间、训练后网络所能达到的性能的影响,从而更全面的评价模型;所述的s5中的场景测试目的在于:充分检验模型的泛化能力,通过改变车队间隙、车队和自车初始化速度以及自由流车辆的位置考验自车的入队能力。
技术总结
本发明涉及一种基于课程强化学习的单车换道汇入车队控制方法,依据任务难度从简单到复杂设置强化学习训练课程;依据车载传感器获得的周围环境车辆信息和控制对象,确定强化学习的状态空间和动作空间,根据车辆状态和目标任务,多维分级地设置奖励函数引导车辆完成追赶、换道进入车队;搭建Actor网络、Critic网络,并依据近端策略优化算法搭建环境探索模块,利用Adam优化器更新网络;选择相应的奖励函数进行训练,对每个课程训练后的网络进行随机数种子实验,并对课程学习最终训练得到的策略神经网络进行场景测试,检验该模型目标任务的完成度。本发明解决复杂交通流情境下单车汇入车队过程中稀疏奖励造成的训练慢难收敛问题。过程中稀疏奖励造成的训练慢难收敛问题。过程中稀疏奖励造成的训练慢难收敛问题。
技术研发人员:刘宏飞 杨笑 万金涛 赵子睿
受保护的技术使用者:吉林大学
技术研发日:2023.04.18
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
