• Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning


    摘要

    近年来,自动驾驶的发展受到广泛关注,对自动驾驶性能的评价至关重要。然而,在路上进行测试既昂贵又低效。虚拟测试是验证和验证自动驾驶汽车的主要方式,虚拟测试的基础是构建模拟场景。在本文中,我们从深度强化学习的角度提出了用于车道变换任务的训练、测试和评估管道。首先,我们为训练和测试设计车道变换场景,其中测试场景包括随机和确定性部分。然后,我们部署了一组由学习和非学习方法组成的基准。我们在设计的训练场景中训练了几种最先进的深度强化学习方法,并在测试场景中提供了训练模型的基准指标评估结果。设计的换道场景和基准均开放,为换道任务提供一致的实验环境。
    关键词:自动驾驶、强化学习、变道场景

    1. LANE CHANGE SCENARIOS(变道场景)

    我们使用 CARLA模拟器,它由一个可扩展的客户端-服务器架构组成。服务器负责模拟本身:传感器渲染、物理计算、世界状态及其参与者的更新等。客户端由一系列模块组成,这些模块控制逻辑并设置演员的世界条件(演员是任何场景中的模拟世界中的实体,例如车辆、传感器、交通灯等)。

    1.1训练场景

    动态训练场景由随机交通流构建,借助 CARLA 模拟器 0.9.9 版中的交通管理工具实现。我们首先构建一个三车道高速公路的地图,该地图可以导入到 CARLA,并选择一个部分用于训练场景生成。对于训练,算法控制的车辆称为自我车辆,其他车辆称为社会车辆。
    由于训练场景中周围社会车辆的数量、位置和速度是随机的,并且会出现意想不到的变道行为,因此可以概括出一系列具有挑战性的实例。
    在这里插入图片描述

    1.2测试场景

    1.2.1随机测试

    对于随机测试场景,其设置类似于训练场景。对于测试场景,如果周围车辆密度高,则自我车辆几乎无法变道。这样的测试场景意义不大。因此,将在自我车辆周围随机生成 4 到 9 辆社交车辆。同时,社交车辆不受随机变道的限制,将保持在初始车道上。

    1.2.2确定性测试

    我们参考组标准进行确定性测试场景设计。我们设计了5大变道测试逻辑场景,通过参数实例化得到400多个具体测试场景。对于确定性测试,变道算法控制的车辆称为测试车辆,其他环境车辆称为目标车辆。在训练场景中训练的变道模型在测试场景中使用统计指标进行测试。

    设计的变道逻辑场景的演示如图 3 所示。测试车辆 (TV) 以目标速度 𝑉 在直线道路上行驶。虚线表示可以更改的车道,实线表示不能更改的车道,车道宽度为𝑋0。图 3 中的 𝑑 和 𝐷 表示 TV 和目标车辆 𝐺𝑉 之间的距离。
    这里我们以子图 © 为例来解释图 3 中的参数。对于 ©,目标车辆 𝐺𝑉1 沿车道中心线以 𝑉1 的速度行驶,放置在 TV 前面,两者之间的纵向距离TV和𝐺𝑉1 是𝐷。 TV 左侧的相邻车道放置一辆目标车辆𝐺𝑉2 沿车道中心线以速度𝑉2 行驶,TV 和𝐺𝑉2 之间的纵向距离为𝑑。这些测试场景提供了一系列不同的示例来测试TV代理的智能。例如,(c)是一个三车道场景,左侧车道有车辆,右侧车道没有车辆,TV需要决定换道的方式。 (e) 是双车道场景,TV需要对突然出现的静止车辆做出及时反应。
    在这里插入图片描述

    2.强化学习公式

    将自我车辆感知范围的鸟瞰图像作为算法的输入,算法的输出是高级换道命令。基于图像的车道变更决策任务被建模为马尔可夫决策过程(MDP)。 MDP 是以下形式的元组:⟨𝑆,𝐴,𝑃,𝑅⟩,其中𝑆 是状态的有限集,𝐴 是动作的有限集,𝑃 动态转换模型𝑃(𝑠𝑡+1 = 𝑠′|𝑠𝑡 = 𝑠, 𝑎𝑡 = 𝑎) 对于每个动作,𝑅 奖励函数 𝑅(𝑠𝑡 = 𝑠, 𝑎𝑡 = 𝑎) = 𝔼(𝑟𝑡|𝑠𝑡 = 𝑠, 𝑎𝑡 = 𝑎, 𝑾] 折扣因子.状态转换模型𝑃和奖励𝑅受特定行为𝑎的影响。 RL 的目标是学习最大化累积奖励的策略 𝜋∗(𝑎|𝑠) 𝐽𝜋 = argmax𝜋𝔼 ∑𝑡 𝛾𝑡−1𝑟𝑡。考虑一个环境𝐸,其中代理通过一组状态、动作和奖励与其交互。在本文中,状态、动作空间和奖励函数设置如下。

    2.1 State

    状态输入是大小为 64×64 的三通道 RGB 图像,对应于自我车辆前方 50 m 和后方 25 m 范围内的架空交通流。自我车辆是蓝色的;社会车辆是绿色的;车道线是红色的;马路两边各有一条单车道宽的人行道,满是灰色。自我车辆在图像中的位置是相对固定的。
    在这里插入图片描述

    2.2 Action

    DRL 算法的输出是一个横向变道命令,对应一个离散的动作空间集为{保持当前车道,向左改变车道,向右改变车道}。

    2.3 Reward

    定义了正奖励𝑟𝑣 = 0.2 ⋅ 𝑣/𝑣𝑇,其中𝑣 是自我速度,𝑣𝑇 = 60 km/h 是自我车辆的期望速度。另一方面,当发生变道时,将给代理一个负奖励𝑟𝑙 = -1.0,此时将不再应用速度奖励。安全主要体现在不会发生碰撞,如果在决策周期内发生本车与其他车辆的碰撞,将在上述奖励的基础上给予-1.0的惩罚,并且碰撞奖励定义为𝑟𝑐。总之,总奖励函数定义为
    在这里插入图片描述

    3.BASELINE

    非学习方法 MOBIL(最小化由车道变化引起的整体制动)
    D3QN(Dueling Double DQN)
    PPO (近端策略优化)
    A2C(Advantage Actor-Critic)

    4. 评估指标

    许多指标可用于衡量代理的行为。对于自动驾驶系统而言,安全性和效率是最受关注的性能指标。
    对于随机测试场景,定义的指标包括𝑆𝑎𝑓𝑒𝑡𝑦𝑅𝑎𝑡𝑒,即所有不碰撞的情节的百分比,以及𝐴𝑣𝑔_𝑣,𝐴𝑣𝑔_𝑙𝑐,𝐴𝑣𝑔_𝑚𝑎𝑥𝑎𝑐𝑐,𝐴𝑣𝑔_𝑡和𝐴𝑣𝑔_𝑙𝑒𝑛,分别指的是:平均速度,平均换道次数,平均最大加速度,成功运行的平均episode时间和所有测试episode平均通过距离。
    对于确定性测试方案,我们使用车道更改安全率𝑆𝑎𝑓𝑒𝑡𝑦𝑅𝑎𝑡𝑒,车道更改成功率𝑆𝑢𝑐𝑐𝑒𝑠𝑠𝑅𝑎𝑡𝑒和平均最大加速度𝐴𝑣𝑔_𝑚𝑎𝑥𝑎𝑐𝑐作为指标来评估测试剂的性能。
    变道安全率是安全变道场景𝑆𝑎𝑓𝑒𝐶𝑜𝑢𝑛𝑡相对于所有场景测试实例𝑇𝑜𝑡𝑎𝑙𝐶𝑜𝑢𝑛𝑡的百分比:
    在这里插入图片描述
    变道成功率是成功变道场景𝑆𝑢𝑐𝑐𝑒𝑠𝑠𝐶𝑜𝑢𝑛𝑡占所有场景测试实例数量𝑇𝑜𝑡𝑎𝑙𝐶𝑜𝑢𝑛𝑡的百分比:
    在这里插入图片描述
    平均最大加速度是所有场景下被测车辆最大加速度的平均值。

    5. 模拟实验

    5.1 Training

    训练场景任务中 RL 基线的学习曲线如图 5 所示。表明 A2C 和 PPO 比 D3QN 具有更快的学习效率,但在训练场景中,这三者的最终学习性能相似。
    在这里插入图片描述

    5.2 Testing

    在这里插入图片描述
    从表1可以看出,在随机测试场景下,A2C代理几乎不能换道,而D3QN和PPO代理具有一定的换道能力。 D3QN 在几种方法中实现了最好的安全性,但其效率低于 MOBIL。值得注意的是,虽然 PPO 方法的换道次数略多,但在所有其他指标上都超过了 MOBIL,显示了基于 DRL 的方法的能力。
    episode的解释:
    在这里插入图片描述
    从表 2 和表 3 可以看出,PPO 代理在确定性测试场景中的表现还是比较好的,达到了与 MOBIL 相当的性能。综合所有测试结果,PPO 方法在我们的设置下表现最好,而非学习方法 MOBIL 提供了强大的基线。 A2C 方法没有学习到好的变道行为,而 D3QN 表现相对平庸。
    在这里插入图片描述

    结论

    在本文中,我们提出了一种用于变道场景的训练、测试和评估流程。在我们对强化学习问题的形式化下,我们构建了训练场景来训练几个最先进的强化学习代理,即 D3QN、A2C 和 PPO。此外,我们实现了非学习变道方法 MOBIL 作为比较基线。此外,我们构建测试场景来评估学习模型并在评估指标下提供基准结果。

  • 相关阅读:
    PR BeatEdit 节奏卡点神器 的报错 beat detection error: IBT failed 和解决路径
    聊聊基于Alink库的推荐系统
    Redis数据类型-需求实战记录
    06 | 链表(上):如何实现LRU缓存淘汰算法?
    四边形不等式
    基于 SpringBoot 2.7.x 使用最新的 Elasticsearch Java API Client 之 ElasticsearchClient
    【LeetCode热题100】--55.跳跃游戏
    【Proteus仿真】【51单片机】井盖安全检测装置设计
    Vue中的路由介绍以及Node.js的使用
    关于网络协议的若干问题(三)
  • 原文地址:https://blog.csdn.net/Elon15/article/details/126116602