From 130bfd3f45cf88d62a0775da031093c616406c7e Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Tue, 8 Jul 2025 03:09:27 +0000 Subject: [PATCH] Update README.md --- VirtualTrafficSystem/README.md | 116 +++++++++++++++++++-------------- 1 file changed, 66 insertions(+), 50 deletions(-) diff --git a/VirtualTrafficSystem/README.md b/VirtualTrafficSystem/README.md index acfb521..e958ea8 100644 --- a/VirtualTrafficSystem/README.md +++ b/VirtualTrafficSystem/README.md @@ -1,50 +1,66 @@ -### 简介 - - OpenATC虚拟环境是一个基于SUMO的交通仿真系统,主要功能包括路网编辑、车流仿真、信控方案配置、流量统计等。可用于信号机的上路装机前的软件功能测试、各种智能配时方案的效果验证等。 - -### 准备工作 - - 安装 Python 3.8+ - 安装 SUMO 1.12+ - 安装部署[OpenATC-Admin](https://gitee.com/openatc/open-atc-admin) - 获取[虚拟信号机](https://gitee.com/openatc/open-atc-source/releases)程序 - -### 文档目录 - - open-atc-virtual-system - ├─VirtualTrafficSystem // 联动程序及场景文件目录 - | ├─scenario // 场景文件夹 - │ │ │ param.ini // 联动配置文件 - │ │ ├─6.3VirtualTrafficSystemTest // 虚拟场景,含SUMO文件,虚拟信号机文件,.csv配置文件,.ini配置文件和.py场景启动文件 - │ │ │ ├─sumo // SUMO相关文件 - │ │ │ │ 5junc.net.xml // SUMO路网文件 - │ │ │ │ 5junc.add.xml // SUMO检测器附加文件 - │ │ │ │ 5junc.rou.xml // SUMO车流文件 - │ │ │ │ DealayStatistic.py // 仿真输出文件处理脚本 - │ │ │ │ run.sumocfg // SUMO-GUI启动文件 - │ │ │ ├─VirtualSignalControl // 场景所需所有虚拟信号机文件目录 - │ │ │ │ ├─start.py // 虚拟信号机批量启动脚本 - │ │ │ │ ├─kill.py // 虚拟信号机批量关闭脚本 - │ │ │ │ ├─originfiles // 虚拟信号机主程序文件夹 - │ │ │ │ │ OpenATCMainCtlManager.exe // 虚拟信号机可执行程序 - │ │ │ │ │ .dll // 虚拟信号机相关dll依赖 - │ │ │ │ ├─13001 // 虚拟信号机配置文件夹 - │ │ │ │ │ OpenATCTZParam.json // 虚拟信号机信控方案文件 - │ │ │ │ │ OpenATCHWParam.json // 虚拟信号机配置文件 - │ │ │ │ │ ConfigPort.xml // 虚拟信号机配置文件 - │ │ │ │ │ LocalConfig.xml // 虚拟信号机配置文件 - │ │ │ │ └─13002 // 虚拟信号机配置文件夹 - │ │ │ ├─.ini // 联动配置文件 - │ │ │ ├─.py // 场景启动脚本 - │ │ │ └─devices.csv // 信号机设备与仿真路口对应表 - | | config.py // SUMO相关配置,一些常量及待初始化的参数定义 - | | dettlssumo.py // 信号机通讯的SUMO类定义,从仿真订阅感应线圈数据 - | | junction.py // 仿真交叉口类定义,包含路口及对应设备的一些操作 - | | main_dettls.py // 信号机通讯的主入口,包含检测器数据封装和信号灯状态数据处理 - | | queuedata.py // 一些消息队列的定义 - | | udp.py // UDP_Client和UDP_Server定义 - -### 使用说明 - 进入对应的场景中,正确配置参数后,运行对应场景中的.py,会启动一个该场景下的sumo-gui程序。 - 仿真脚本会将仿真场景的检测器数据发送给信号机,同时会接收信号机发送的信号灯状态,实时改变仿真场景的信号灯状态。 - \ No newline at end of file +# VirtualTrafficSystem + +虚拟交通控制系统(VirtualTrafficSystem)是一个基于SUMO(Simulation of Urban Mobility)的交通仿真平台,用于模拟和测试不同的交通信号控制策略。该项目包含多个场景,涵盖从单一路口到复杂协调控制的多种交通状况。 + +## 准备工作 + +- 安装 [SUMO](https://sumo.dlr.de/docs/Downloads.html) +- 确保Python 3.x环境已安装 +- 安装必要的Python库(如`traci`, `xml.etree.ElementTree`等) + +## 文档目录 + +- `README.md`: 项目简介及使用说明 +- `config.py`: 配置文件 +- `dettlssumo.py`: SUMO仿真接口 +- `junction.py`: 路口设备管理 +- `main_dettls.py`: 主程序逻辑 +- `udp.py`: UDP通信模块 +- `queuedata.py`: 队列数据处理 +- `scenario/`: 各类交通场景配置与数据 +- `simuproject/`: 仿真项目配置与脚本 + +## 使用说明 + +### 启动仿真 + +1. **修改配置文件**:根据需要调整`config.py`中的参数。 +2. **运行主程序**:执行`main_dettls.py`来启动仿真系统。 +3. **启动SUMO**:在`main_dettls.py`中调用`start_sumo()`方法启动SUMO仿真。 +4. **查看日志**:日志文件位于各场景的`log/`目录下。 + +### 场景切换 + +- **选择场景**:通过修改`main_dettls.py`中的参数来选择不同的场景。 +- **加载配置**:每个场景都有自己的配置文件(如`param.ini`),确保正确加载所需的配置。 + +### 信号控制策略测试 + +- **单一路口控制**:使用`scenario/3ReferenceFiles`中的配置进行基础测试。 +- **车辆感应控制**:使用`scenario/7.2VehicleActuatedControl`中的配置进行动态信号控制测试。 +- **自适应控制**:使用`scenario/7.4AdaptiveControl`中的配置进行智能信号控制测试。 +- **同步协调控制**:使用`scenario/8.1SynchronousCoordination`中的配置进行多路口协调测试。 +- **最大绿波带宽控制**:使用`scenario/8.3MaximumGreenwaveBandwidth`中的配置进行绿波带宽优化测试。 + +### 数据分析 + +- **延迟统计**:使用`DealayStatistic.py`对仿真结果进行延迟统计。 +- **队列统计**:同样在`DealayStatistic.py`中提供队列长度统计功能。 + +### 通信模块 + +- **UDP通信**:通过`udp.py`实现SUMO与外部控制系统的UDP通信。 + +## 贡献指南 + +欢迎贡献代码或报告问题。请遵循以下步骤: + +1. Fork仓库 +2. 创建新分支 (`git checkout -b feature/new-feature`) +3. 提交更改 (`git commit -am 'Add some feature'`) +4. 推送分支 (`git push origin feature/new-feature`) +5. 创建Pull Request + +## 许可证 + +本项目采用MIT许可证。详情请参阅[LICENSE](LICENSE)文件。 \ No newline at end of file -- Gitee