A Reinforcement Learning-Based Vehicle Platoon Control Strategy for Reducing Energy Consumption in Traffic Oscillations
一种基于强化学习的车辆队列控制策略,用于减少交通振荡中的能量消耗
文章目录
- A Reinforcement Learning-Based Vehicle Platoon Control Strategy for Reducing Energy Consumption in Traffic Oscillations
- 一种基于强化学习的车辆队列控制策略,用于减少交通振荡中的能量消耗
- 摘要
- 前言
- 相关工作
- A.现有的车队控制策略
- B.强化学习在自动驾驶车辆控制中的应用
- 多智能体强化学习算法
- 准备工作和方法
- 初步知识
- 强化学习:
- 前车-领导追随类型
- 通信近端策略优化算法
- 1)通讯协议:
- 2)带有课程学习的算法
- 现有方法
- 实验设计
- 仿真平台开发
- 训练环境及参数设置
- 燃油消耗
- 仿真分析结果
- 训练结果
- 在混合流量中测试基于CommPPO的策略
- 测试车辆队列规模的影响
- 结论与讨论
- 附录
摘要
摘要:车辆队列将是未来道路上最主要的驾驶模式。据我们所知,很少有强化学习(RL)算法应用于具有大规模动作和状态空间的车辆队列控制。一些基于RL的方法被应用于解决单智能体问题。如果我们需要解决多智能体问题,我们将使用多智能体RL算法,因为参数空间随着所涉及的智能体数量的增加呈指数增长。以前的多智能体强化学习算法通常会向智能体提供冗余信息,指示大量无用或不相关的信息,这可能导致收敛训练和从共享信息中提取模式变得困难。此外,随机动作通常会导致崩溃,尤其是在训练开始时。在这项研究中,提出了一种通信邻近策略优化(CommPPO)算法来解决上述问题。具体来说,CommPPO模型采用参数共享结构,允许智能体数量的动态变化,可以很好地处理各种队列动力学,包括分裂和合并。CommPPO的通信协议由两部分组成。在状态部分,采用了队列中广泛使用的前车-领导跟随者类型通信拓扑,将全局和局部状态信息传输给智能体。在奖励部分,提出了一种新的奖励沟通信道,以解决一些现有多智能体RL中的虚假奖励和“惰性智能体”问题。此外,采用课程学习方法来减少事故并加快训练速度。为了验证所提出的队列控制策略,两个现有的多智能体RL和一个传统的队列控制策略被应用在相同的场景中进行比较。结果表明,CommPPO算法获得了更多的奖励,实现了最大的油耗降低(11.6%)。
关键词:通信信道、油耗、多智能体、强化学习(RL)、车辆队列。
A Reinforcement Learning-Based Vehicle Platoon Control Strategy for Reducing Energy Consumption in Traffic Oscillations | IEEE Journals & Magazine | IEEE Xplore
前言
交通运输是能源消耗和温室气体排放的主要来源之一。在欧洲,交通运输消耗了33%的能源,占总排放量的23%[1]。道路运输占温室气体排放总量的72.8%,占交通能源需求的73.4%[2]。因此,减少交通相关的燃料消耗是一个关键问题。
随着车对车(V2V)通信技术的发展,车队将成为城市和高速公路上最主要的驾驶模式[2],[3]。车辆队列是基于特定信息类型一起行驶的车辆车队。现有研究大多采用最优控制理论[例如模型预测控制(MPC)]来提高队列的燃油效率,该理论由燃油消耗最小化的成本函数制定,并通过启发式算法求解,以找到每个车辆队列的最优动作[4]–[6]。然而,长/大规模车辆队列规模导致解空间维度高,这显着增加了计算复杂性并降低了实际应用的可行性。
近年来,强化学习(RL)方法已应用于各种微观交通场景(例如自动驾驶汽车),并因其良好的性能而引起了广泛关注[7],[8]。据我们所知,一些深度强化学习算法已应用于车辆队列控制。为了控制车辆队列,应确定所有车辆的加速度(或速度)。如果简单地采用单智能体强化学习来获取所有车辆的联合动作,动作和状态的数量会随着队列规模的增加呈指数级增长,这使得问题变得棘手。因此,由于联合行动空间的维度极高,集中式强化学习对于大规模队列控制来说是不可行的[9]、[10]。
此前,人们提出了许多多智能体强化学习算法来解决大规模动作问题。一些早期的研究人员采用独立学习器来优化团队奖励[11],[12]。由于从单个智能体的角度来看,环境仅被部分观察到,因此智能体可能会收到源自其队友(未观察到的)行为的虚假奖励信号。由于所谓的非平稳问题,独立强化学习常常不成功[13]。后来,一些研究人员采用氮平行参与者在集中批评者的指导下进行控制氮智能体。集中训练与分散执行的结构使得强化学习在多智能体环境中成为可能[14]、[15]。然而,根据[16],当智能体数量较多时,训练完全集中的批评家就变得不切实际。
为了进一步提高多智能体强化学习的性能,提出了一些通信协议来增强智能体之间的合作[3]、[17]–[19]。合作智能体通过通信了解其他智能体的行为。然而,当存在大量智能体时,共享所有智能体的信息和通信可能没有帮助,因为智能体很难从共享信息中区分出有价值的信息[10]。此外,它通常会花费大量的计算资源和复杂的神经网络和信息类型[9],[10]。
本文提出了一种通信近端策略优化(CommPPO)算法来控制车辆队列。主要贡献如下三点。
- 本研究构建了一个多智能体强化学习框架来控制车辆队列,以实现保证交通安全和驾驶效率的目标。
通过仔细平衡两个关键要素(交通安全和驾驶效率),所提出的基于强化学习的队列控制框架即使在联网自动驾驶车辆(CAV)和人类驾驶车辆(HDV)的混合交通中也能确保车辆队列的合理驾驶状态。我们需要较大的探索率来帮助产生更好的性能,但它通常会带来大量的碰撞,特别是在大型车辆队列中。因此,我们在开始阶段采用课程学习来训练小型队列并加快训练速度:首先学习简单的任务(即小型队列),然后基于该知识来解决困难的任务(即,一个更长/大的队列)。
- 设计了一种新颖的信息通信协议来增强智能体之间的合作,以提高多智能体系统的性能。
所提出的通信协议中有两个信息传输通道。一是状态传输通道:在充分观测的基础上,采用广泛使用的前车-领导跟随类型车辆队列,将精心选择的状态信息传输给智能体,解决了部分观测带来的非平稳问题,避免了信息传递效率低下。另一种是奖励传输通道:不直接采用局部或全局奖励,而是提出一种新的奖励传播通道,为每个智能体分配更明确和有代表性的奖励,避免“懒惰智能体”问题。
- 采用参数共享的强化学习结构来降低计算复杂度并控制具有可变智能体数量的智能体。
我们提出的CommPPO算法采用参数共享结构,其中每个智能体共享单个网络的权重,以降低大型系统中的计算复杂度。由于各种队列的动态,包括队列的分裂和合并,智能体的数量随着智能体在环境中的进出而变化。参数共享结构很好地处理了不同智能体使用一组参数的问题。
在本研究中,我们的目标是通过车辆队列控制来提高能源效率。高油耗通常发生在高速公路和城市道路上加减速频繁的交通振荡场景。因此,模拟了各种流量振荡场景,通过与现有算法进行比较来测试CommPPO的性能。
本文的其余部分组织如下。第二节回顾相关工作。第三节介绍了基于CommPPO的车辆队列控制策略的方法。第四节介绍了仿真平台和实验设计。第五节介绍了实验结果。第六节总结并讨论了未来的方向。
相关工作
A.现有的车队控制策略
在车队中,后车可以知道前车要做什么,这有助于他们主动对前车的动态做出反应。此外,基于预定义的通信类型,相邻两辆车可以通过协同驾驶有效地调整其内部间隙。因此,车队在未来的道路上将越来越普遍。事实上,队列策略已广泛应用于能源管理系统中[2]、[20]。
早期的研究提出了离线速度建议方法来降低能耗,而最近的研究则应用最优控制理论(例如MPC)算法来计算每个步骤的最佳速度[4]、[6]、[21]。最优控制问题由燃油消耗最小化的成本函数表示,并通过启发式算法求解,以找到每辆车的最优动作。虽然这种方法理论上可以得到油耗最小化问题的数学最优解,但它是基于假设队列的前身在整个视野内以匀速运动的假设来制定的,这是不现实的,因为它可能在实际场景中加速或减速。因此,最佳解决方案是特定于前车轨迹的,并且当前车运动有较大扰动时可能无法很好地工作。另外,MPC算法在线计算工作量较大,降低了长/大规模车辆队列量的可行性。
B.强化学习在自动驾驶车辆控制中的应用
近年来,各种强化学习算法被应用于自动驾驶车辆控制,主要分为三类[22]。第一类侧重于更好的驾驶状态,通过训练自动驾驶车辆学习平稳高效的驾驶策略来进行跟车或变道操作[23],[24]。第二类使用V2V和车辆到基础设施通信来导出数据驱动的自动驾驶汽车驾驶策略。主要方法采用基于actor-critic的强化学习算法来制定类人的跟车模型[25]、[26]。第三类控制自动驾驶汽车在复杂城市场景中的运动。最近的研究包括对自动驾驶汽车在红绿灯处停车/行驶的决策进行建模,并训练自动驾驶汽车在停车场进行探索并避开物体[8]、[27]、[28]。
多智能体强化学习算法
自1990年代以来,对RL的研究由来已久。一些早期研究采用了分散式学习器(例如,独立Q-learning)来控制大规模智能体系统,其中每个智能体访问其局部观察,并且所有智能体都试图优化联合(即团队)奖励[11]。智能体共享相同的网络结构和相应的参数。每个智能体都将其余智能体视为环境的一部分,从而可以在广泛的系统中应用。后来,随着深度学习的发展,一些研究将独立学习者训练成深度学习者Q网络(DQN)或深度循环Q网络(DRQN),并获得了更好的性能[12],[29]。最近,通过结合信任区域策略优化(TRPO)算法,将参数共享结构应用于连续动作场景。对三个多智能体学习问题的实证结果表明,参数共享TRPO(PS-TRPO)可以扩展到具有大量智能体的系统,并且在具有连续动作空间的领域中表现良好[30]。一般来说,每个智能体都面临着一个非平稳学习问题,因为环境的动态会随着智能体通过学习改变他们的行为而有效地改变。由于环境不稳定,智能体往往会从其队友那里获得虚假奖励[13]。
为了解决非平稳性问题,大多数多智能体强化学习算法采用集中式训练和去中心化执行的结构来实现智能体的协调。具有分散执行的集中式训练允许智能体学习和构建单个动作值函数,从而在单个级别进行优化,从而优化联合动作值函数[29]。智能体在集中式批评家的指导下学习策略,而每个智能体在执行中独立产生行动。Sunehag等人[13]提出了一种价值分解网络(VDN)算法来分解每个智能体的总价值函数。直观地说,VDN测量每个智能体对观察到的联合奖励的影响,假设联合动作价值函数可以加性分解为 N 个智能体的 N 个 Q 函数,其中每个 Q 函数仅依赖于局部状态动作历史。[16],[29]使用混合网络(Qmix)和Q变换(QTRAN),通过使用神经网络来表达局部之间的关系,从而放宽了假设Q价值与全局Q值。最近的一些研究[14],[15]将分散执行的集中式训练应用于连续行动领域[例如,多智能体深度确定性策略梯度(MADDPG)和反事实多智能体(COMA)],并在各种合作和竞争环境中获得了更好的性能。
为了加强智能体之间的合作,各种通信协议被集成到一个多智能体系统中。代表性的解决方案包括可微分智能体间学习(DIAL)[31]和CommNet[17]。为了了解其他智能体的操作,他们在多智能体设置中采用了单个网络,在层之间通过智能体模块传递平均消息。后来,提出了一种策略梯度算法,即多智能体双向协调网络(BiCNet)[18]。它使用双向递归神经网络,使异构智能体可以与不同的参数集进行通信。结果表明,BiCNet能够在战斗游戏中发现几种有效的协作方式。最近的工作,如靶向多智能体通信(TarMAC)和几乎可分解Q-functions(NDQs),尝试了其他方法来调整通信信道以获得更好的信息传输[32],[33]。
以前的多智能体强化学习算法通常可能会向智能体提供冗余信息,表明存在大量无用或不相关的信息,这可能导致收敛训练和从共享信息中提取模式的困难。这一局限性激发了我们提出CommPPO算法来提高智能体之间的通信效率。
准备工作和方法
初步知识
强化学习:
RL是一种学习工具,智能体通过学习最大化数字预定义的奖励(或最小化惩罚)来与环境交互,以学习如何在没有任何先验知识的情况下在环境中的行为[22]。执行操作后,RL智能体会在每个时间步 t t t收到来自环境的反馈关于其行动的表现。使用此反馈(奖励或惩罚),它会迭代更新其操作策略以达到最佳控制策略。深度强化学习在国际象棋中的成功应用,如Alpha GO[34],激发了深度强化学习的大量工程应用,包括智能交通和自动驾驶汽车。
作为经典的强化学习算法,基于Q值的RL(例如,深度Q network)在离散动作空间中表现良好,但无法处理连续动作空间。为了解决这些困难,[35]引入了一种策略梯度方法,使智能体能够在基于策略的RL算法(例如,策略近端优化)将策略表述为连续函数时,在连续空间中更新策略。
在策略梯度算法中,决定策略更新方向的目标函数可以写成如下:
L
PG
=
E
t
[
log
π
θ
(
a
t
∣
s
t
)
A
t
^
]
\begin{equation*} L^{\text {PG}}=\mathbb {E}_{t}\left [{\log \pi _\theta \left ({a_{t}|s_{t}}\right)\hat {A_{t}}}\right] \tag{1}\end{equation*}
LPG=Et[logπθ(at∣st)At^](1)
其中
E
t
\mathbb {E}_{t}
Et是有限批次样本的平均值,
a
t
a_t
at是时间步
t
t
t时的动作,
s
t
s_t
st是时间步
t
t
t时的状态,
π
θ
\pi _\theta
πθ是时间步
t
t
t时具有参数
θ
\theta
θ的策略或参与者,
A
t
^
\hat {A_{t}}
At^是时间步
t
t
t的优势函数的估计。
通过定义
r
t
(
θ
)
=
(
π
θ
(
a
t
∣
s
t
)
)
/
(
π
θ
old
(
a
t
∣
s
t
)
)
r_{t}(\theta)=({\pi _\theta (a_{t}|s_{t})})/ ({\pi _{\theta _{\text {old}}}(a_{t}|s_{t})})
rt(θ)=(πθ(at∣st))/(πθold(at∣st))表示策略
π
θ
\pi _\theta
πθ的概率的概率比,可以根据(2)更新参数θ。当
A
t
^
\hat {A_{t}}
At^时,
π
θ
(
a
t
∣
s
t
)
{\pi _\theta (a_{t}|s_{t})}
πθ(at∣st)将受到鼓励,反之亦然
L
(
θ
)
=
E
t
[
π
θ
(
a
t
∣
s
t
)
π
θ
o
l
d
(
a
t
∣
s
t
)
A
^
t
]
.
\begin{equation*} L\left ({\theta }\right)=\mathbb {E}_{t}\left [{\frac {\pi _{\theta }\left ({a_{t} \mid s_{t}}\right)}{\pi _{\theta _{\mathrm{ o l d}}}\left ({a_{t} \mid s_{t}}\right)} \hat {A}_{t}}\right].\tag{2}\end{equation*}
L(θ)=Et[πθold(at∣st)πθ(at∣st)A^t].(2)
然而,如果没有约束,
L
(
θ
)
L(θ)
L(θ)的最小化将导致过大的策略更新。为了惩罚政策的变化并确保重要性抽样的效率,Schulman等人[35]提出了(3)中提出的剪裁PPO,被本文采用:
L
KLPEN
=
E
^
t
[
min
(
r
t
(
θ
)
A
^
t
,
c
l
i
p
(
r
t
(
θ
)
,
1
−
ϵ
,
1
+
ϵ
)
A
^
t
)
]
\begin{equation*} L^{\text {KLPEN}}=\widehat {\mathbb {E}}_{t}\left [{\min \left ({r_{t}\left ({\theta }\right) \hat {A}_{t}, \mathrm {clip}\left ({r_{t}\left ({\theta }\right), 1-\epsilon, 1+\epsilon }\right) \hat {A}_{t}}\right)}\right]\quad \tag{3}\end{equation*}
LKLPEN=E
t[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)](3)
其中
ϵ
\epsilon
ϵ是要训练的超参数。
前车-领导追随类型
前车-领导追随类型可能是车辆队列中使用最广泛的通信拓扑,本研究也采用这种协议来增强智能体之间的合作。从图1的交通网络部分可以看出,一个拥有N辆CAV的队列跟随一辆HDV。假设:每个CAV都有一个车载传感器来检测其前身的速度和位置,2)V2V通信技术使领先的CAV能够向队列中的其他CAV广播信息。请注意,先前的研究[36]、[37]充分接受了这些假设。基于上述假设,将修改后的前车-领导追随类型应用于状态通信,并且CAV接收两种信息:1)其前车的状态(黄色虚线)和2)其领航车的状态队列(蓝色虚线)。在我们当前的研究中,主要重点是提出一个强化学习框架,该框架可以找到最佳的车辆队列控制策略以减少能源。因此,我们没有考虑通信故障。
通信近端策略优化算法
多智能体系统的非平稳性质使得经验回放样本变得过时并对训练产生负面影响。解决此问题的一种可能方法是禁用经验回放,转而依赖异步训练。因此,本文采用了在线更新的RL算法PPO。本节详细介绍了拟议CommPPO的原则。
1)通讯协议:
车辆队列是一个具有显式交互关系的多智能体系统。换句话说,一种因素对其他因素的影响是明确且已知的。更具体地说,由于车辆队列只能在一个方向上移动,因此只有前面的智能体会影响其后面的智能体,并且可以根据其序数来计算影响力。例如,领先车辆会影响所有车辆。但是,它不会受到其他车辆的影响,而队列中的最后一辆车受到其前车的影响,并且对其他车辆没有影响。对于这种系统,我们认为通过采用专门的通信通道可以进一步提高算法在通用通信类型下的性能。
从图1中的CommPPO结构部分可以看出,每个具有共享参数的智能体控制一辆对应的车辆。在车辆队列中,只有第一辆车可以检测到影响整个队列的全局状态。它将初步信息广播给其他智能体。此外,每个智能体都会受到其前任的影响。因此,对于智能体 i i i,它从智能体1接收全局状态 o global o_{\text {global}} oglobal,从智能体 i − 1 i − 1 i−1接收本地状态 o i _ global o_{i\_{}{\text {global}}} oi_global。相应的索引也包含在状态向量中,以便不同的智能体可以产生不同的动作值,即使接收到相同的动作值全局和局部状态。
除了Actor部分之外,Critic部分也形成为参数共享结构。仅使用全局奖励的一个潜在缺点是“懒惰智能体”问题,即一个智能体学习有用的策略,而其他智能体则不鼓励学习[13]。事实上,每个智能体往往都有自己的目标来推动协作。如果简单地为每个智能体分配本地奖励,智能体可能会收到源自其他智能体的虚假奖励信号。因此,使用奖励传播通道提出了反映智能体之间相互作用的复合奖励(见图1)。更具体地说,在
N
N
N个智能体队列中,智能体
m
m
m影响其后续车辆,因此智能体
m
m
m的实际奖励可以通过以下等式计算:
R
m
=
∑
i
=
m
N
r
i
∗
discount
(
i
−
m
)
\begin{equation*} R_{m}=\sum _{i=m}^{N}r_{i}*\text {discount}^{\left ({i-m}\right)} \tag{4}\end{equation*}
Rm=i=m∑Nri∗discount(i−m)(4)
其中
r
i
r_i
ri是智能体
i
i
i根据其流量状态计算的奖励,
R
m
R_m
Rm是智能体
m
m
m更新critic的奖励,
d
i
s
c
o
u
n
t
discount
discount是折扣因子。请注意,前车的影响可能与车辆顺序、速度、相对速度、加速度、距离等有关。我们假设它只受顺序的影响,因为影响评估不是本研究的主要重点。此外,前面的智能体的影响通过车辆串衰减并保持恒定的折扣因子。
2)带有课程学习的算法
强化学习的动作很可能在预定义的范围内随机分布,特别是在训练开始时。当实施随机动作来控制车辆队列时,车辆之间可能会发生碰撞,并且训练也会中断。在大多数情况下,交通碰撞会随着随机动作迅速发生,特别是在长/大规模车辆队列场景中,因此智能体很难学习最优策略。因此,为了更好的训练,本研究采用了课程学习方法:首先学习简单的任务,然后基于该知识来解决困难的任务。更具体地说,训练两个CAV队列,并且一开始只有两个智能体采样数据。当他们稳定移动后,训练一个由四个CAV队列组成的队列,然后是八个、十六个……通过简单的课程学习方法,智能体数量加倍,直到目标智能体数量。
算法1描述了基于单智能体PPO的参数共享训练方法。我们首先初始化演员和评论家网络并设置步长参数。智能体人数根据课程学习逐渐增加。在算法的每次迭代中,来自不同智能体(
S
S
S、
A
A
A、
R
R
R和
S
n
e
x
t
S_{next}
Snext)的采样轨迹被收集在一起以更新网络中的参数。与分布式PPO(DPPO)[38]不同,每个工作人员根据自己的经验计算梯度并将其传递给中央PPO,CommPPO通过最大化以下目标来计算所有轨迹的梯度,以获得更稳健的性能:
L
(
θ
)
=
E
i
∼
[
1
,
m
]
[
min
(
r
t
(
θ
)
A
^
t
,
c
l
i
p
(
r
t
(
θ
)
,
1
−
ϵ
,
1
+
ϵ
)
A
^
t
)
]
\begin{align*} L\left ({\theta }\right)=\mathbb {E}_{i \sim \left [{1,m}\right]}\left [{\min \left ({r_{t}\left ({\theta }\right) \hat {A}_{t}, \mathrm {clip}\left ({r_{t}\left ({\theta }\right), 1-\epsilon, 1+\epsilon }\right) \hat {A}_{t}}\right)}\right] \\\tag{5} \end{align*}
L(θ)=Ei∼[1,m][min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]
在(5)中,括号中的项与OpenAI[35]提出的clipped PPO中的目标函数相同,这体现了参数向量 θ \theta θ的策略 π θ \pi _\theta πθ的优势。 min ( . ) \min(.) min(.)函数中的第一项是 r t ( θ ) A ^ t r_{t}\left ({\theta }\right) \hat {A}_{t} rt(θ)A^t,这是策略 π θ \pi _\theta πθ的优势。通过最大化 r t ( θ ) A ^ t r_{t}\left ({\theta }\right) \hat {A}_{t} rt(θ)A^t可以获得更好的策略。如果没有约束,就会导致策略更新过大,降低算法的更新稳定性。因此,引入第二项公式 c l i p ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) \mathrm {clip}\left ({r_{t}\left ({\theta }\right), 1-\epsilon, 1+\epsilon }\right) clip(rt(θ),1−ϵ,1+ϵ),通过裁剪概率比来修改目标函数,从而消除将 r t ( θ ) r_t (\theta) rt(θ)移出区间 [ 1 − ϵ , 1 + ϵ ] [1-\epsilon, 1+\epsilon ] [1−ϵ,1+ϵ]。最后,通过选择最小值来确定目标的下限。在本研究中,我们将 m m m个参数共享智能体采样的所有转换对( s t s_t st、 a t a_t at、 r t r_t rt和 s t + 1 s_{t+1} st+1)收集在一起,以更新(5)中的参数 θ \theta θ。这种选择使得每个智能体均匀地为中央更新做出贡献,避免了“懒惰智能体”问题。
3)关键要素:图1展示了CommPPO算法与流量网络之间的交互。对于顺序决策问题,强化学习中有三个关键要素:状态、行动和奖励。CommPPO智能体从交通模拟网络感知状态值 s t s_t st并采取行动来控制队列的行为。执行动作后,智能体从交通模拟环境中接收奖励值rt,然后获得下一个状态值 s t + 1 s_{t+1} st+1。每个智能体在每个时间步接收一个转换( s t s_t st、 a t a_t at、 r t r_t rt和 s t + 1 s_{t+1} st+1)。一段时间后,我们收集每个智能体采样的所有转换,并且来自一个智能体的一系列转换称为一个轨迹。最终,CommPPO根据所有智能体收集的轨迹计算梯度。因此,智能体人对政策梯度有同等的贡献。降低了采样数据之间的相关性,保证了算法的稳定性。最优策略对所有智能体都有利,并且最终收敛于集体目标。
a)动作:每个智能体通过调整加速度来控制其对应的CAV,这被认为是基于CommPPO的队列控制策略中的动作。以往研究中推荐的CAV控制的总体原则是为驾驶员提供更舒适的驾驶体验。因此,之前的研究应用了 − 3 m / s 2 -3m/s^2 −3m/s2和 3 m / s 2 3m/s^2 3m/s2的加速度范围来进行CAV控制(参见[23]、[25]),我们的研究也采用了该加速度范围。
b)状态:在CommPPO算法中,状态空间由反映队列的交通状态的几个变量来表示。对于 C A V i CAV_i CAVi,根据通信拓扑,状态向量由五个变量组成:1)HDV和CAV_i之间的速度差(前者减去后者);2) C A V i CAV_i CAVi与其前身 C A V i − 1 CAV_{i−1} CAVi−1之间的速度差(后者减去前者);3) C A V i CAV_i CAVi的速度;4) C A V i CAV_i CAVi与其前身 C A V i − 1 CAV_{i−1} CAVi−1之间的差距;5)序数i。值得一提的是,对于 C A V 1 CAV_1 CAV1,其前身是HDV,因此第一个值等于第二个值。
c)奖励:本文旨在在保证交通安全和效率的情况下,最大限度地减少交通振荡场景下的燃料消耗。根据文献[8],频繁加减速的低速行驶状态是导致油耗高的主要因素。因此,智能体受到加速度惩罚,定义为实际加速度与加速度界限之比的平方范数。
在现实场景中,车辆不能为了燃油效率而完全牺牲交通安全或行驶速度。否则,可能会出现一些异常驾驶行为(例如撞车)。为了确保可接受的行驶速度并避免低速行驶状态,当前方间隙大于间隙阈值 L t h r e s h o l d L_{threshold} Lthreshold时添加惩罚。根据文献[39],当前方间隙大于120m时,车辆处于自由流动状态,因此将 L t h r e s h o l d L_{threshold} Lthreshold值设置为120m,以保证车辆保持跟车模式。
此外,为了避免碰撞,引入了最大冲突加速度。交通冲突是代表碰撞风险的交通安全指标[40],[41]。当交通冲突指数超过预设阈值时,就有可能发生交通冲突。因此,当发生交通冲突时,车辆可以主动减速以避免碰撞。避免碰撞减速度(DRAC)是现有研究中广泛使用的交通冲突指标[40],[42],特别是在评估追尾碰撞风险时。DRAC定义为后车为匹配前车速度以避免碰撞所需的最小减速度,如下:
DRAC
i
=
{
(
v
i
−
v
i
−
1
)
2
x
i
−
1
−
x
i
−
L
i
−
1
,
if
v
i
>
v
i
−
1
0
,
else
\begin{align*} \text {DRAC}_{i}=\begin{cases} \displaystyle \frac {\left ({v_{i}-v_{i-1}}\right)^{2}}{x_{i-1}-x_{i}-L_{i-1}}, & \text {if } v_{i}>v_{i-1} \\ \displaystyle 0, & \text {else } \end{cases}\tag{6}\end{align*}
DRACi=⎩
⎨
⎧xi−1−xi−Li−1(vi−vi−1)2,0,if vi>vi−1else (6)
DRAC基于反应时间的假设,CAV控制信号的计算时间在某种程度上可以被认为是CAV的反应时间。在现实场景中,如果DRAC超出其阈值,一辆CAV需要立即减速以避免碰撞。因此,我们引入DRAC作为反映交通安全状态的指标,它可以根据V2V通信技术获得的即时交通状态来计算,而无需了解人类驾驶员的反应。为了判断是否发生交通冲突,应用了最大阈值指标,即最大可用减速率(MADR)。如果DRAC>MADR,则认为后面的车辆与前车发生冲突。在文献中,本研究采用了广泛接受的MADR值
1.4
m
/
s
2
1.4m/s^2
1.4m/s2。因此,可以相应地计算出无交通冲突(
a
c
o
n
f
l
i
c
t
a_{conflict}
aconflict)的最大加速度。当实际加速度
a
a
a大于
a
c
o
n
f
l
i
c
t
a_{conflict}
aconflict时添加惩罚。车辆的加速度被设置为
a
a
a和
a
c
o
n
f
l
i
c
t
a_{conflict}
aconflict的最小值。总体而言,当智能体脱离跟车模式或与前一个智能体发生交通冲突时,就会受到惩罚。智能体i的奖励值可以计算如下:
r
i
=
{
−
(
a
a
max
)
2
−
1
,
if gap
>
L
threshold
or
a
>
a
conflict
−
(
a
a
max
)
2
,
else
\begin{align*} {r_{i}}=\begin{cases} \displaystyle -\left ({\frac {a}{a_{\max }}}\right)^{2}-1, & {~\text {if }} \text {gap}>\text {$L_{\text {threshold}}$or } a>a_{\text {conflict}} \\ \displaystyle -\left ({\frac {a}{a_{\max }}}\right)^{2}, & \text {else} \end{cases}\!\!\! \\\tag{7}\end{align*}
ri=⎩
⎨
⎧−(amaxa)2−1,−(amaxa)2, if gap>Lthresholdor a>aconflictelse
其中
a
a
a是车辆
i
i
i的瞬时加速度,
g
a
p
gap
gap是车辆i前方的间隙,
a
max
a_{\max}
amax是加速度界限。
d)神经网络:每个智能体使用两种神经网络,用于策略生成的参与者和用于策略改进的批评者。有一个批评者网络用于计算策略优势,两个参与者网络用于在参数更新之前和之后构建两种策略。Criteria部分采用中间层有100个神经元的三层全连接神经网络。输入层是状态变量(5个神经元),输出层是对应状态的Q值(1个神经元)。Actor部分采用两个三层全连接神经网络,中间层有100个神经元。两个网络的输入层都是状态变量(5个神经元),输出层分别是动作分布的平均值(1个神经元)和标准差(1个神经元)。
现有方法
1)现有多智能体强化学习算法:为了测试所提出的CommPPO的性能,引入了两种现有的多智能体强化学习策略PS-PPO和BiCNet进行比较[18]、[30]。事实上,PS-PPO源于PS-TRPO,它采用独立学习器来训练参数共享智能体。为了集中与不同结构的比较,我们将TRPO替换为PPO。BiCNet可以应用于具有可变数量智能体的多智能体系统中,适用于车辆队列控制。在BiCNet中,通信发生在潜在空间(即隐藏层)。它还采用了参数共享的结构。然而,它提出了双向循环神经网络来对其模型的参与者和批评者网络进行建模,并在大规模系统中获得了良好的性能。读者可以参考[18]和[30]了解更多详细信息。
2)传统队列控制策略:为了进一步验证CommPPO在能源效率方面的有效性,在相同场景中应用了最广泛使用的队列控制策略MPC。本节简要介绍该MPC算法,更多详细信息请参考先前的研究[4]、[43]、[44]。根据[4],采用分布式MPC队列控制策略以获得可接受的计算速度。在基于MPC的队列控制策略中,状态空间函数可以写成如下:
x
˙
(
t
)
=
A
x
(
t
)
+
B
u
(
t
)
\begin{equation*} \dot {x}\left ({t}\right)=A x\left ({t}\right)+B u\left ({t}\right) \tag{8}\end{equation*}
x˙(t)=Ax(t)+Bu(t)(8)
其中
A
=
(
0
1
0
1
)
,
B
=
(
−
τ
−
1
)
x
(
t
)
=
(
s
i
−
1
−
s
i
−
(
v
i
∗
τ
+
L
)
v
i
−
1
−
v
i
)
,
u
(
t
)
=
a
i
.
\begin{align*} A=&\left ({\begin{array}{ll} 0 &\quad 1 \\ 0 &\quad 1 \end{array}}\right),\quad B=\left ({\begin{array}{l} -\tau \\ -1 \end{array}}\right) \\ x\left ({t}\right)=&\left ({\begin{array}{c} s_{i-1}-s_{i}-\left ({v_{i} * \tau +L}\right) \\ v_{i-1}-v_{i} \end{array}}\right),\quad u\left ({t}\right)=a_{i}.\end{align*}
A=x(t)=(0011),B=(−τ−1)(si−1−si−(vi∗τ+L)vi−1−vi),u(t)=ai.
目标函数可以写成如下:
J
=
∑
k
=
t
t
+
N
{
x
(
k
)
′
Q
x
(
k
)
+
u
(
k
)
′
R
u
(
k
)
+
ω
f
(
k
)
v
}
\begin{equation*} J=\sum _{k=t}^{t+N}\left \{{x\left ({k}\right)^{\prime } Q x\left ({k}\right)+u\left ({k}\right)^{\prime } R u\left ({k}\right)+\omega f\left ({k}\right)_{v}}\right \} \tag{9}\end{equation*}
J=k=t∑t+N{x(k)′Qx(k)+u(k)′Ru(k)+ωf(k)v}(9)
具有以下约束:1)状态空间函数
x
˙
(
t
)
=
A
x
(
t
)
+
B
u
(
t
)
\dot {x}(t)=A x(t)+B u(t)
x˙(t)=Ax(t)+Bu(t)和2)变量约束:
0
≤
v
≤
v
max
0 \leq v \leq v_{\max }
0≤v≤vmax,
a
min
≤
a
≤
a
max
a_{\min } \leq a \leq a_{\max }
amin≤a≤amax,
s
i
−
1
−
s
i
>
l
i
+
L
s_{i-1}-s_{i}>l_{i}+L
si−1−si>li+L,其中
Q
=
(
2
0
0
1
)
,
R
=
2
,
ω
\begin{align*} Q=\left ({\begin{array}{ll} 2 &\quad 0 \\ 0 &\quad 1 \end{array}}\right),\quad R=2,~\omega\end{align*}
Q=(2001),R=2, ω
为权重系数,
s
i
s_i
si、
v
i
v_i
vi、
a
i
a_i
ai、
l
i
l_i
li分别表示车辆
i
i
i的位置、速度、加速度、车长,
a
min
a_{\min}
amin、
a
max
a_{\max}
amax、
v
max
v_{\max}
vmax、
L
L
L、
τ
\tau
τ、
N
N
N分别为最小加速度、最大加速度,分别是最大速度、最小间距、恒定时间间隙和预测范围。参数设置如下:
ω
=
10
\omega=10
ω=10,
a
min
=
−
3
m
/
s
2
a_{\min}=−3m/s^2
amin=−3m/s2;
a
max
=
3
m
/
s
2
a_{\max}=3m/s^2
amax=3m/s2;
v
max
=
33
m
/
s
v_{\max}=33m/s
vmax=33m/s,
L
=
2
m
L=2m
L=2m;
τ
=
2
s
\tau=2s
τ=2s,
N
=
10
N=10
N=10。注意,采用相对较大的车头时距以获得更好的减振性能。
在基于MPC的控制策略中,CAV由MPC算法控制,而HDV由智能驾驶员模型(IDM)控制。这里, u ( k ) u(k) u(k)可以通过求解每个时间步的最优函数(9)来计算,这是控制每辆车的最优加速度。这一点可以参考[4]、[6]以获取更多信息。
实验设计
仿真平台开发
本文采用交通仿真软件Simulation of Urban Mobility(SUMO)来模拟车辆队列的动态。 SUMO 已成为各种现有研究中新兴且广泛使用的交通模拟平台[45]-[47]。与其他微观模拟相比,SUMO提供了大量的跟车和变道模型,可以满足研究需求。更重要的是,作为一款开源软件,SUMO赋予用户更高的权限来进行更进一步、更深入的开发。它还支持与其他软件的通信和交互,例如导入 python 包和连接到静脉 [47]–[49]。
在未来的道路上,CAV和HDV可能同时存在,并且混合交通场景将持续较长时间。本研究采用广泛使用的跟驰模型(IDM)来模拟HDV的运动。我们选择这个模型是因为IDM中的参数可以快速准确地校准。此外,它可以很好地模拟具有无碰撞行为的HDV反应模式[50],[51]。读者可以参考[52]和[53]了解更多细节和模型参数。
训练环境及参数设置
交通振荡就是所谓的走走停停波,这是高速公路和城市道路上的常见现象[8],[41]。走走停停的行为表示一辆车减速一段时间,然后加速到原来的速度。然后,其后续车辆依次进行走走停停的行为。这一系列走走停停的行为造成了大量的交通拥堵。此外,根据[8],频繁的加速和减速很大程度上导致了高燃油消耗。因此,我们尝试将CommPPO应用于交通振荡场景中,以实现燃料消耗最小化。
在此场景中,一辆领先的车辆后面跟着一个由16辆车组成的队列在单车道高速公路上装载(请注意,队列的大小逐渐增加)。初始车头时距和速度分别为 2 s 2s 2s和 20 m / s 20m/s 20m/s。前车保持原始速度40秒,然后减速30秒( − 1 m / s 2 −1m/s^2 −1m/s2),然后加速( 1 m / s 2 1m/s^2 1m/s2)一段时间,直到达到原始速度。然后,它保持速度直到模拟结束。总运行时间为150秒。值得一提的是,当模拟时间耗尽时,一集就会结束。
燃油消耗
在本研究中,我们尝试测试基于CommPPO的队列控制策略在不同振荡场景中的效果。为了确保公平比较,假设CAV和HDV具有相同的物理和空气动力学特性。换句话说,它们在计算油耗方面是相等的。根据[54],阻力包括空气动力、滚动力和倾斜力。力的总和
F
w
F_w
Fw可以通过以下等式计算:
F
w
=
F
air
+
F
r
+
F
G
F
air
=
1
/
2
ρ
air
A
f
C
D
v
2
F
r
=
m
g
C
r
cos
α
F
G
=
m
g
sin
α
\begin{align*} F_{w}=&F_{\text {air}}+F_{r}+F_{G}\tag{10}\\ F_{\text {air}}=&1/2\rho _{\text {air}} A_{f} C_{D} v^{2}\tag{11}\\ F_{r}=&mgC_{r}\cos \alpha \tag{12}\\ F_{G}=&mg\sin \alpha\tag{13}\end{align*}
Fw=Fair=Fr=FG=Fair+Fr+FG1/2ρairAfCDv2mgCrcosαmgsinα(10)(11)(12)(13)
式中,
F
a
i
r
F_{air}
Fair、
F
r
F_r
Fr、
F
G
F_G
FG分别指车辆所受的空气阻力、滚动阻力和重力,v为车辆的瞬时速度。
物理和空气动力学特性值根据[8]列在表I中。燃料消耗方程的精确推导可能非常复杂,并且不是这里的主要目标。相反,速度和控制输入的近似可微函数足以开发生态驾驶算法。对于典型车辆,如果
F
w
F_w
Fw非负,则每秒的燃油消耗量(毫升/秒)可以表示如下:
f
V
=
b
0
+
b
1
v
+
b
2
v
2
+
b
3
v
3
.
\begin{equation*} f_{V}=b_{0}+b_{1} v+b_{2} v^{2}+b_{3} v^{3}.\tag{14}\end{equation*}
fV=b0+b1v+b2v2+b3v3.(14)
否则,燃油消耗量可表示为
f
V
=
b
0
+
b
1
v
+
b
2
v
2
+
b
3
v
3
+
a
(
c
0
+
c
1
v
+
c
2
v
2
)
\begin{equation*} f_{V}=b_{0}+b_{1} v+b_{2} v^{2}+b_{3} v^{3}+a\left ({c_{0}+c_{1} v+c_{2} v^{2}}\right) \tag{15}\end{equation*}
fV=b0+b1v+b2v2+b3v3+a(c0+c1v+c2v2)(15)
其中
a
a
a是车辆的加速度,
b
0
b_0
b0、
b
1
b_1
b1、
b
2
b_2
b2、
b
3
b_3
b3、
c
0
c_0
c0、
c
1
c_1
c1和
c
2
c_2
c2是根据[54]通过曲线拟合过程获得的模型系数:
b
0
=
0.1569
b_{0}=0.1569
b0=0.1569,
b
1
=
2.450
×
1
0
−
2
b_{1}=2.450\times10^{-2}
b1=2.450×10−2,
b
2
=
−
7.415
×
1
0
−
4
b_{2}=-7.415\times10^{-4}
b2=−7.415×10−4,
b
3
=
5.975
×
1
0
−
5
b_{3}=5.975\times10^{-5}
b3=5.975×10−5,
c
0
=
0.07224
c_{0}=0.07224
c0=0.07224,
c
1
=
9.681
×
1
0
−
2
c_{1}=9.681\times10^{-2}
c1=9.681×10−2
仿真分析结果
训练结果
基于CommPPO的车辆队列通过与SUMO的交互进行训练。为了提高训练效果,本研究采用了简单的课程学习,当奖励增益为正且足够小时,智能体数量增加[55]。最终的训练参数如表二所示。我们对0到1.0之间的六个折扣因子值进行了敏感性分析。每个实验重复3次,结果显示平均值。随着折扣因子的增加,奖励值呈现凸趋势,当折扣因子等于0.4时获得最大奖励(-0.23),这决定了奖励函数。由于强化学习是一种启发式算法,通过更精确地调整折扣因子可以进一步提高性能。我们通过绘制奖励与训练次数的关系图来比较三种多智能体强化学习算法的收敛性能(见图2)。结果发现,CommPPO比其他两种算法获得了更多的奖励。使用课程学习,奖励随着智能体数量的增加而逐渐增加,并且在训练过程中优于其他算法。
通过绘制奖励与训练集数的关系,三种多智能体RL算法的收敛性能(见图2)。发现CommPPO比其他两种算法获得了更多的奖励。使用课程学习,奖励随着智能体数量的增加而逐渐增加,并且在训练过程中优于其他算法。为了进一步测试车辆队列控制算法的性能,车辆轨迹的时空图绘制在图3中。该图显示了车辆位置和速度的变化。车辆以紫色低速行驶,以黄色高速行驶。在SUMO中车辆由传统IDM模型控制的基线场景中,振荡很好地形成并持续传播到上游。每辆车都会经历紧急减速。相比之下,使用基于CommPPO的控制,车辆队列几乎可以抑制振荡。从轨迹可以看出,基于CommPPO控制的车辆主动减速到合适的速度,以保持前方相对较大的间隙,从而减少振荡的传播。结果表明,基于CommPPO控制的油耗分别为0.343和0.388Ah/km,降低了11.6%。然而,在BiCNet和PS-PPO控制的场景中,振荡仅得到部分抑制,车辆在经历振荡后试图与其前身保持更大的差距。结果表明,仅降低了2.79%和3.45%的油耗。原因可能是通讯CommPPO中的信道为智能体提供了更多有价值的信息,以便车辆可以知道领导者会做什么并主动采取行动。为了探究不同算法控制的车辆的真实行驶状态,最后一辆车的加速度曲线也绘制在图3中。发现仅在CommPPO控制的场景下,加速度的最大绝对值(0.95m/s)小于前车的初始绝对加速度(1m/s)。因此,交通波动得到抑制,车辆行驶平稳。
可以注意到,车辆在基准情况下恢复到原始状态,而在其他情况下则不会恢复到更省油的驾驶模式。没有必要总是保持最高速度(或理想速度限制),因为根据燃料消耗函数(相对于速度的凹曲线),相对较低的速度往往会带来较少的燃料消耗。因此,车辆不太可能在短时间内恢复初始速度。同时,为了缓解未来可能出现的振荡,车辆往往会与前车保持较大的差距,这导致了振荡前后交通状态的差异。实际上,强化学习是一种启发式算法,因此多智能体强化学习控制的系统并不具有均匀的平衡状态。换句话说,RL控制下的队列的车间间隙不一定恢复到初始值。在文献[8]提出的基于单智能体强化学习的振荡缓解策略中,振荡前后的交通状态也并不总是相同,这反映了强化学习算法的相同特性,即受扰动影响平衡状态可能会改变。
为了测试CommPPO在不同速度场景下的性能,模拟了高速(30m/s)和低速(15m/s)场景。从图4的油耗曲线可以看出,CommPPO控制的瞬时油耗几乎始终保持最低值。为了探究其原因,图4还绘制了交通扰动曲线。交通扰动定义为加速度的平均平方值。结果发现,CommPPO中的扰动保持在相对较低的值,特别是在振荡触发后的时间内(40秒后)。由于更多的交通干扰反映了车辆更频繁的加速和减速,因此在其他算法控制的场景中燃料消耗值更高。请注意,车速也是油耗的影响因素。由于CommPPO中的车辆保持相对较高的速度,而其他算法中的车辆在80秒左右的短时间内保持极低的速度,因此CommPPO中的燃料消耗值在该时间段内最高。
在混合流量中测试基于CommPPO的策略
CAV和HDV混合交通场景将在未来较长时期内持续。而且,不同道路上CAV和HDV的比例也不同。一般来说,长/大规模车辆队列不太可能形成CAV渗透率低的环境。在混合交通中,CAV和HDV在高速公路上随机分布,因此CAV的普及率不一定是100%。为了测试基于CommPPO的车辆队列对整个交通的影响,模拟了不同CAV普及率的几种场景,并应用广泛使用的车辆队列控制算法MPC进行比较。
在此场景中,具有预定义轨迹(如下所示)的领先车辆在高速公路上装载,随后以2秒的车头时距插入32辆跟随车辆。前车轨迹定义如下:1)保持匀速(20m/s)50s;2)减速(−1m/s2)30s(速度降至零,车辆停止,减速度为零);3)加速(1m/s2)至原始速度,然后保持匀速直至200s。
我们测试了不同CAV普及率0%、25%、50%、75%和100%五种场景下的燃油消耗,结果如表3所示。结果表明,随着CAV普及率的提高,两种策略都会带来更多的燃油消耗。原因是在渗透率较低的情况下,CAV无法利用从其他CAV获得的稀疏信息表现良好,反之亦然。与基于MPC的策略相比,基于CommPPO的策略有助于降低一倍以上的油耗。此外,在CAV渗透率较低的环境中,与广泛使用的基于MPC的队列控制策略(降低3.42%)相比,所提出的策略仍然呈现出可接受的性能(降低10.25%)。
计算出平均旅行时间并显示在表IV中。如果尾随车辆的速度不是理想的速度限制,交通效率可能会降低。因此,我们对奖励函数中前方差距较大的车辆进行惩罚,以保持车辆处于跟车状态[见(7)]。然后,交通干扰和燃料消耗(减少16.63%)得到很好的减少,但交通效率略有牺牲(减少4.94%)(见表IV)。
当有多(2)辆CAV一起导航,并且它们的车辆间距小于间隙阈值 L t h r e s h o l d L_{threshold} Lthreshold时,它们属于同一队列,并且第一辆车是该队列的领导者。在典型场景(无振荡)下,CAV跟随队列中的前车并保持相对恒定的速度,以减少不必要的燃油消耗。在振荡场景中,当触发振荡并且前方车辆依次进行走走停停的行为时,队列中的CAV可以获取振荡信息并主动采取行动以减少交通干扰。具体来说,队列中的领先CAV将干扰信息广播给其后续车辆,后续车辆会不同程度地减速以与前车保持差距,这在很大程度上缓解了交通干扰。CAV的行动旨在最大限度地减少燃料消耗和交通干扰。
在本文中,我们根据计算时间分析了计算负担。为了验证所提出的策略,我们计算了每个时间步的平均运行时间并与现有策略进行比较。结果表明,在基于MPC的策略控制场景中,平均运行时间随着CAV渗透率的增加而激增,而在基于CommPPO的策略控制场景中,平均运行时间在初始值附近波动(见图5)。此外,在所有场景中,基于CommPPO的控制策略比基于MPC的策略花费的时间更少(例如,在50%CAV的环境中,每个时间步平均花费0.62秒)。原因是在MPC中,决策变量随着CAV数量的增加而呈指数增长,并且每个时间步都需要求解具有数百个决策变量和约束的目标函数。相比之下,在CommPPO中,具有良好训练参数的神经网络直接在运行时产生动作,而无需递归迭代。此外,并行智能体独立执行动作,因此计算速度不会随着渗透率的增加而增加。根据[56],车辆队列的实时部署能力要求给定交通状态,以便训练有素的智能体能够迅速采取行动(即远小于0.1秒)。我们计算了CommPPO算法在不同队列规模下的平均计算时间,结果表明每一步的最大计算时间为0.04s。因此,参数共享结构满足了CAV控制统计实时运行的需要。
需要注意的是,一方面,MPC即使在有延迟的工业过程中也能有效解决复杂的优化问题,因此它适用于有通信或反应延迟的队列。另一方面,由于计算复杂度巨大,MPC更适合具有大量延迟的系统,而不是需要实时操作的队列控场景。随着5G和专用短距离通信等先进通信技术的发展,会出现有限的延迟,在某些场景下可以忽略不计[57]。之前许多关于深度强化学习模型开发的研究也假设了理想环境,没有考虑信息延迟[8]、[23],因此本研究也没有考虑这一点。
测试车辆队列规模的影响
由于参数共享结构,训练有素的CommPPO算法可以直接应用于任何队列规模(即座席数量)的车辆队列。在本节中,比较了不同队列规模的基于CommPPO的车辆队列的性能。与以往场景不同的是,模拟了更严重的交通振荡,以测试振荡抑制性能。前车轨迹定义如下:1)保持匀速( 30 m / s 30m/s 30m/s)50s;2)减速( − 1 m / s 2 −1m/s^2 −1m/s2)50s(速度降至零,车辆停止,减速度为零);3)加速( 1 m / s 2 1m/s^2 1m/s2)至原始速度,然后保持匀速直至200s。
为了保持一致,CAV渗透率始终设置为50%,模拟了四种不同队列规模的场景:1)一个32辆车的队列;2)两个16辆车的队列;3)4个8车队列;4)8个4辆车队列。它们均匀地分布在交通上,车辆轨迹的时空图如图6所示。从图中可以看出,随着队列规模的减小,最后一辆车的轨迹变得更加平滑。统计发现,混合交通中分散分布的小队列实现的燃油消耗降低幅度最大(8.89%)。原因可能是,在存在各种不可预测因素的混合交通中(例如HDV紧急减速),小型车辆队列对交通干扰更加敏感,能够更迅速地采取行动。因此,队列分解能够抑制更严重的波动。
结论与讨论
本研究提出了一种多智能体强化学习算法CommPPO来控制车辆队列,以提高交通振荡时的能源效率。具有共享参数的一个智能体控制每辆车,因此CommPPO可以处理具有可变智能体编号的系统。针对状态和奖励通信提出了两种不同的通信协议:1)广泛使用的前驱-领导者追随者类型将本地和全局状态信息传输给每个智能体;2)采用奖励传播通道来避免虚假奖励和“懒惰的经纪人。”此外,采用简单的课程学习方法来加快训练速度。CommPPO智能体与SUMO递归交互以学习和探索最佳操作。借助通信渠道,基于CommPPO的队列中的车辆能够主动对领先车辆的动态做出反应,避免紧急减速。因此,与其他多智能体强化学习算法和MPC算法相比,减少了更多的交通干扰和燃料消耗。在混合交通中,由于CAV在从其他CAV获得丰富信息的环境中表现更好,因此燃料消耗随着CAV渗透率的增加而降低。此外,与长/大规模车辆队列相比,单独分布在混合交通中的几个小队列可以实现更好的燃油效率。
这项研究试图阐明如何将多智能体强化学习应用于车队,同时保证安全性和驾驶效率。事实证明,由多个并行智能体控制的车辆可以通过预定义的通信类型实现集体目标。在提出的CommPPO算法中,两个通信通道可以解决现有多智能体强化学习的一些关键问题(例如,非平稳问题、虚假奖励和“懒惰智能体”)。较快的计算速度和在混合交通中良好的性能使该算法更适用于未来的道路。在本文中,状态和奖励之间的关系是相对关系,而不是绝对关系。例如,给定相同的状态值,智能体可能会收到不同的奖励值,甚至采取相同的操作。
如今,自动驾驶汽车和相关路边通信设备在城市环境中并不那么受欢迎,尤其是商业用途的汽车。因此,所提出的控制策略可能不适用于某些没有先进信息传输设备的场景。最近,在测试领域开发了许多先进的远程信息处理技术来支持自动车辆控制(例如蜂窝基站)[57],[58],因此所提出的控制策略可能适用于具有这些技术的场景。此外,车辆队列是一个独特的多智能体系统,具有明确的交互关系(例如,一个智能体仅对其后续智能体有影响),因此CommPPO在具有部分或有限观察的系统中可能不实用。
附录
我们制作了一个演示视频,展示如何使用提出的CommPPO算法在SUMO软件中控制车辆队列。模拟了交通振荡场景,该视频中所提出的策略减轻振荡的效果非常明显。本文代码和视频可以在https://github.com/fengbaozhiling1/CommPPO找到。