SUMO-RL是一个专为交通信号控制设计的强化学习框架。它基于SUMO(Simulation of Urban MObility)交通仿真软件,为研究人员和工程师提供了一个简单而强大的接口,用于创建和实验各种交通信号控制策略。
SUMO-RL的主要目标包括:
SUMO-RL的核心是SumoEnvironment类。它可以根据需要实例化为单智能体或多智能体环境:
TrafficSignal类负责使用TraCI API获取交通信息和控制交通灯。
要使用SUMO-RL,首先需要安装SUMO和SUMO-RL包。
添加SUMO稳定版仓库:
sudo add-apt-repository ppa:sumo/stable
更新并安装SUMO:
sudo apt-get update
sudo apt-get install sumo sumo-tools sumo-doc
设置SUMO_HOME环境变量:
echo 'export SUMO_HOME="/usr/share/sumo"' >> ~/.bashrc
source ~/.bashrc
SUMO-RL可以通过pip安装 稳定版:
pip install sumo-rl
或者从GitHub安装最新版:
git clone https://github.com/LucasAlegre/sumo-rl
cd sumo-rl
pip install -e .
SUMO-RL中的强化学习环境由观察空间、动作空间和奖励函数组成。
默认的观察向量包含以下信息:
obs = [phase_one_hot, min_green, lane_1_density,...,lane_n_density, lane_1_queue,...,lane_n_queue]
phase_one_hot
: 当前绿灯相位的one-hot编码min_green
: 当前相位是否已经持续最小绿灯时间的二进制变量lane_i_density
: 第i条进入车道的车辆密度lane_i_queue
: 第i条进入车道的排队车辆数量用户可以通过继承ObservationFunction类来自定义观察空间。
动作空间是离散的。每隔delta_time
秒,每个交通信号智能体可以选择下一个绿灯相位配置。
例如,在双向单交叉口场景中,有4种离散动作对应不同的绿灯相位配置。
需要注意的是,每次相位变化时,新相位之前会有一个持续yellow_time
秒的黄灯相位。
默认的奖励函数是累积车辆延迟的变化:
即奖励是总延迟(所有接近车辆等待时间之和)相对于上一时间步的变化。
用户可以在SumoEnvironment构造函数中使用reward_fn
参数选择不同的奖励函数,也可以自定义奖励函数:
def my_reward_fn(traffic_signal): return traffic_signal.get_average_speed() env = SumoEnvironment(..., reward_fn=my_reward_fn)
SUMO-RL支持Gymnasium和PettingZoo两种API,分别用于单智能体和多智能体环境。
对于只有一个交通灯的网络,可以使用标准的Gymnasium环境:
import gymnasium as gym import sumo_rl env = gym.make('sumo-rl-v0', net_file='path_to_your_network.net.xml', route_file='path_to_your_routefile.rou.xml', out_csv_name='path_to_output.csv', use_gui=True, num_seconds=100000) obs, info = env.reset() done = False while not done: next_obs, reward, terminated, truncated, info = env.step(env.action_space.sample()) done = terminated or truncated
对于多智能体环境,可以使用PettingZoo API:
import sumo_rl env = sumo_rl.parallel_env(net_file='nets/RESCO/grid4x4/grid4x4.net.xml', route_file='nets/RESCO/grid4x4/grid4x4_1.rou.xml', use_gui=True, num_seconds=3600) observations = env.reset() while env.agents: actions = {agent: env.action_space(agent).sample() for agent in env.agents} # 这里可以插入您的策略 observations, rewards, terminations, truncations, infos = env.step(actions)
SUMO-RL还包含了RESCO(Reinforcement Learning Benchmarks for Traffic Signal Control)的网络和路由文件,这为研究人员提供了标准化的测试环境。
SUMO-RL提供了多个实验示例,展示如何实例化环境并训练RL智能体:
使用Q-learning在单向单交叉口场景:
python experiments/ql_single-intersection.py
使用RLlib PPO在4x4网格场景:
python experiments/ppo_4x4grid.py
使用stable-baselines3 DQN在双向单交叉口场景:
python experiments/dqn_2way-single-intersection.py
这些示例为研究人员提供了良好的起点,可以根据需要进行修改和扩展。
SUMO-RL还提供了结果可视化工具:
python outputs/plot.py -f outputs/4x4grid/ppo_conn0_ep2
SUMO-RL为交通信号控制领域的强化学习研究提供了一个强大而灵活的工具。它简化了环境设置和实验过程,支持单智能体和多智能体学习,并与主流RL库兼容。通过提供标准化的基准测试和丰富的示例,SUMO-RL正在推动交通信号控制的智能化发展。
无论您是研究人员、工程师还是对智能交通感兴趣的学生,SUMO-RL都为您提供了探索和创新的平台。随着城市化进程的加速和交通问题的日益突出,基于强化学习的智能交通信号控制系统必将在未来的智慧城市中发挥重要作用。
如果您在研究中使用了SUMO-RL,请引用以下信息:
@misc{sumorl,
author = {Lucas N. Alegre},
title = {{SUMO-RL}},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/LucasAlegre/sumo-rl}},
}
SUMO-RL正在被越来越多的研究所采用,相关论文列表不断增长。这不仅证明了该工具的价值,也展示了交通信号控制领域正在蓬勃发展。我们期待看到更多基于SUMO-RL的创新研究成果,共同推动智能交通的进步。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习 生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号