跳转到主要内容

模拟高速公路驾驶任务的仿真环境。

项目描述

highway-env

build Documentation Status Downloads Codacy Badge GitHub contributors

Edouard Leurent开发和维护的用于自动驾驶和战术决策任务的仿真环境的集合。


highway-env中可用环境的一个示例。

在Google Colab上试用! Open In Colab

环境

高速公路

env = gymnasium.make("highway-v0")

在这个任务中,ego-车辆正在多车道高速公路上驾驶,路上有其他车辆。代理的目标是在避免与相邻车辆碰撞的同时,达到高速行驶。在道路右侧行驶也会获得奖励。


高速公路-v0环境。

还有更快的变体,highway-fast-v0,为了提高大规模训练速度,仿真精度有所降低。

合并

env = gymnasium.make("merge-v0")

在这个任务中,ego-车辆从主高速公路开始,但很快就会接近一个路口,入口匝道上有来车。现在代理的目标是在为车辆腾出空间以便它们可以安全并入交通的同时,保持高速行驶。


合并-v0环境。

环岛

env = gymnasium.make("roundabout-v0")

在这个任务中,ego-车辆正在接近一个交通繁忙的环岛。它将自动遵循其预定路线,但必须处理车道变换和纵向控制,以便尽可能快速地通过环岛,同时避免碰撞。


环岛-v0环境。

停车

env = gymnasium.make("parking-v0")

这是一个基于目标条件的连续控制任务,其中ego-车辆必须以适当的航向停放在指定的空间中。


停车-v0环境。

交叉路口

env = gymnasium.make("intersection-v0")

这是一个密集交通的交叉路口协商任务。


交叉路口-v0环境。

赛道

env = gymnasium.make("racetrack-v0")

这是一个涉及车道保持和障碍物避让的连续控制任务。


赛道-v0环境。

代理示例

解决highway-env环境的代理可在eleurent/rl-agentsDLR-RM/stable-baselines3存储库中找到。

请参阅文档以获取一些示例和笔记本。

深度Q网络


解决highway-v0的DQN代理。

这个无模型的基于价值的强化学习代理通过函数近似执行Q学习,使用神经网络来表示状态-动作值函数Q。

深度确定策略梯度


解决parking-v0的DDPG代理。

这个无模型的基于策略的强化学习代理通过梯度上升直接优化。它使用Hindsight Experience Replay来高效地学习如何解决基于目标的任务。

值迭代


解决highway-v0的值迭代代理。

值迭代仅适用于有限离散MDP,因此环境首先使用env.to_finite_mdp()通过有限-mdp环境进行近似。这种简化的状态表示用预测的碰撞时间(TTC)来描述道路上的附近交通。转换模型简单,假设每辆车都将以恒定速度行驶,不改变车道。这种模型偏差可能成为错误的原因。

然后代理执行值迭代来计算相应的最优状态值函数。

蒙特卡洛树搜索

这个代理利用转换和奖励模型来执行最优轨迹的随机树搜索(Coulom, 2006)。对状态表示或转换模型没有特定要求。


解决highway-v0的MCTS代理。

安装

pip install highway-env

用法

import gymnasium as gym

env = gym.make('highway-v0', render_mode='human')

obs, info = env.reset()
done = truncated = False
while not (done or truncated):
    action = ... # Your agent code here
    obs, reward, done, truncated, info = env.step(action)

文档

请在线阅读文档

开发路线图

以下是未来开发工作的路线图

引用

如果您在您的作品中使用了此项目,请考虑引用它。

@misc{highway-env,
  author = {Leurent, Edouard},
  title = {An Environment for Autonomous Driving Decision-Making},
  year = {2018},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/eleurent/highway-env}},
}

使用highway-env的出版物和预印本列表(请提交一个拉取请求以添加缺失条目)

博士论文

硕士学位论文

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

highway_env-1.10.1.tar.gz (89.5 kB 查看哈希值

上传时间

构建分布

highway_env-1.10.1-py3-none-any.whl (105.0 kB 查看哈希值

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面