TrainSimulation

🚄 列车驾驶仿真与评价系统

Version Python License Status

**一个列车驾驶仿真与实时评价系统** [功能特点](#-功能特点) • [快速开始](#-快速开始) • [使用指南](#-使用指南) • [评价指标](#-评价指标) • [开发团队](#-开发团队)

📑 项目概述

这是一个集成了驾驶仿真和实时评价的完整列车操作系统。通过实时TCP网络通信,系统可以对驾驶员的操作进行即时评估,同时支持离线数据分析和评价报告生成。

🌟 亮点功能

🚀 功能特点

### 🎮 驾驶仿真系统 - ⚙️ 真实的列车动力学模型 - 🔄 人工/自动驾驶模式切换 - ⏱️ 1-10倍速仿真调节 - 📈 实时速度-位置曲线 - 🎯 现代风格仪表盘界面 - 📝 完整日志记录系统 ### ⚖️ 驾驶评价系统 - 📊 实时数据评价 - 🎯 超调量分析 - 😊 舒适度评估 - ⏰ 准点率计算 - 📏 停车误差测量 - 📋 离线数据分析 - 📑 评价报告生成

💻 系统要求

必需环境

Python >= 3.7
PyQt5
pandas
numpy
matplotlib
scipy

⚡ 快速开始

📥 安装步骤

1️⃣ 克隆项目仓库

git clone [repository-url]
cd train-simulation-system

2️⃣ 安装依赖

pip install -r requirements.txt

🎮 使用指南

对于exe版本的文件,直接双击运行即可,以下为源码版本的使用指南。

🔌 启动系统

1️⃣ 启动评价系统

python evaluation.py

2️⃣ 启动仿真系统

python main.py

⌨️ 快捷键操作

按键功能
Q切换至牵引工况
W切换至惰行工况
E切换至制动工况
O增加当前工况力度
P减小当前工况力度

仿真输出文件

最后一次仿真结束时,将生成三个文件:

📊 评价指标

🎯 超调量

定义: 实际速度超过目标速度的百分比
公式: overshoot = (actual_speed - target_speed) / target_speed * 100

😊 舒适度等级

| 等级 | 加速度范围 | 描述 | |:—-:|:———-:|:—-:| | 🟢 | ≤ 0.28 m/s² | 极舒适 | | 🟡 | 0.28 ~ 1.23 m/s² | 舒适 | | 🟠 | 1.23 ~ 2.12 m/s² | 不舒适 | | 🔴 | > 2.12 m/s² | 无法忍受 |

⏱️ 准点率

标准: 允许偏差 ±180秒(3分钟)

📏 停车误差

计算: error = |actual_position - target_position|

📁 项目结构

graph TD
    A[train-simulation-system] --> B[simulation]
    A --> C[evaluation]
    A --> D[data]
    A --> E[logs]
    
    B --> B1[main.py]
    B --> B2[gui.py]
    B --> B3[simulation.py]
    B --> B4[pid.py]
    B --> B5[widgets.py]
    B --> B6[network_client.py]
    
    C --> C1[evaluation_system.py]
    C --> C2[metrics.py]
    
    D --> D1[列车目标速度曲线.xlsx]
    D --> D2[ATP顶棚速度数据.xls]
    D --> D3[制动特性曲线.xls]
    D --> D4[牵引特性曲线.xls]
TrainSimulation/
├── TrainSimulation_App/        # 可执行文件目录
│   ├── TrainEvaluator.exe     # 仿真驾驶评价软件
│   ├── TrainSimulator.exe     # 列车驾驶仿真软件
│   └── logs/                  # 仿真输出目录
│       ├── *.png             # 速度曲线图
│       ├── *.log             # 操作日志
│       └── *.csv             # 运行数据
│
└── TrainSimulation_Code/       # 源代码目录
    ├── evaluate.py            # 评价系统源码
    ├── main.py               # 主程序
    ├── gui.py                # 图形界面
    ├── widgets.py            # 界面组件
    ├── simulation.py         # 仿真逻辑
    └── pid.py                # PID控制器

⚠️ 注意事项

🛠️ 故障排除

💥 系统无法启动 - ✅ 检查Python版本 (>= 3.7) - ✅ 验证依赖安装情况 - ✅ 确认数据文件完整性
🌐 网络连接失败 - ✅ 确认评价系统已启动 - ✅ 检查端口5000占用情况 - ✅ 查看防火墙设置

👥 开发团队

开发者

📜 许可证

本项目采用 MIT 许可证。


Copyright © 2024 Chenkai Luo at Tongji University