Repository navigation
Releases
v0.3.2 — 修图片保存位置点不动
v0.3.1 — README 补图片保存位置
0.3.1 — 小补丁
文档 / 修复
- README 补「图片保存位置可配」说明(0.3.0 只在设置页里有,文档漏了)
- 数据目录 + 桌面(默认)/ 仅数据目录 / 仅桌面 / 自定义目录
- 同步已装插件目录到 0.3.0(之前本地测试还是旧版)
安装
dsh plugin --profile web add dsh-sim-telemetry完整变更见 CHANGELOG.md
v0.3.0 — 12 条赛道 / 211 个弯 + 数据管理
v0.3.0 — 12 条赛道 / 211 个弯 + 数据管理
从「两条赛道」到「十二条赛道」,加上你要的「跑过的圈能翻出来比」。
这一版是赛道校准 + 数据管理的双里程碑。
新增
赛道:2 → 12 条,211 个弯全部实跑校准
| 赛道 | trackId | 弯数 | 弯名来源 |
|---|---|---|---|
| 银石 Silverstone | 7 | 18 | F1 官方(Abbey / Copse / Club…) |
| 蒙扎 Monza | 11 | 11 | F1 官方(Parabolica / Lesmo…) |
| 斯帕 Spa-Francorchamps | 10 | 19 | F1 官方(Eau Rouge / Pouhon…) |
| 巴林 Bahrain | 3 | 15 | 官方编号 Turn 1-15 |
| 摩纳哥 Monaco | 5 | 19 | F1 官方(Hairpin / Rascasse…) |
| 澳大利亚 Albert Park | 0 | 14 | 官方编号 Turn 1-14 |
| 上海 Shanghai | 2 | 16 | 官方编号 Turn 1-16 |
| 铃鹿 Suzuka | 13 | 18 | F1 官方(S Curves / Degner / 130R…) |
| 吉达 Jeddah | 29 | 27 | 官方编号 Turn 1-27 |
| 迈阿密 Miami | 30 | 19 | 官方编号 Turn 1-19 |
| 伊莫拉 Imola | 27 | 19 | F1 官方(Tamburello / Tosa / Rivazza…) |
| 巴塞罗那 Catalunya | 4 | 16 | F1 官方(Campsa / La Caixa) |
每条赛道用 3 份独立实跑数据做三取二交叉验证(每弯位置差 ≤40 米),
不是单份数据凑数。
历史记录管理(设置页)
- 按赛道 / 时间 / 圈数分组列出所有采集
- 显示每圈时间
- 勾选多份:对比 / 打包 zip / 删除(二次确认)
- 数据全在本机,不上传
出图:8 种
单份图(勾 1 份):
- 速度曲线
- 油门刹车
- 轨迹诊断(弯位编号 + 失误标注)
- 赛道图(官方弯名)
- 弯位表
- 逐弯细节(每弯三圈叠加)
圈速对比(勾多份,可填圈号过滤):
7. 成绩单(圈速/极差/极速/均速/全油/滑行 + 自动问题标注)
8. 逐弯 apex 对比(含「问题」和「怎么改」两列)
直道漂移检测
- 高速直道(>280 km/h)用世界坐标拟合直线,算横向偏移 + 方向盘抖动
- 自动标出「发飘」的直道段(偏移 > 0.5m)
- 区分是车/路面在飘,还是驾驶输入问题
图片保存位置可配
数据目录 + 桌面(默认)/ 仅数据目录 / 仅桌面 / 自定义目录
(含对比图——之前漏了复制,已修)
修复
- 赛道长度 bug(重要):
DEFAULT_LEN=5890被所有赛道共用,导致 7007 米的斯帕后段
(Blanchimont / Bus Stop)数据被整段丢弃;现在按 Session 包trackLen自动检测 plot.py赛道名错误:老 trackId 表把 10 写成 Zandvoort(实际是 Spa)- 对比图未复制到「图片保存位置」设置目录
- 圈速 CSV 的 BOM 兼容
安装
# npm 包名(推荐)
dsh plugin --profile web add dsh-sim-telemetry或从 Releases 下载
dsh-sim-telemetry-0.3.0.tgz 本地安装。
装完重启 DSH → 设置左侧出现「赛车遥测」。
完整变更
全部变更:v0.2.4...v0.3.0
v0.2.4 — 两条赛道官方弯名 + 校准工具链
0.2.4 — 两条赛道官方弯名 + 校准工具链
新增
- 蒙扎(Monza)校准:trackId 11 / 5798 米 / 11 弯,三份数据交叉验证 + 官方弯名(Prima Variante / Curva Grande / Seconda Variante / Lesmo 1/2 / Ascari / Parabolica)
- 银石(Silverstone)校准重建:旧表两份数据最多差 870 米(算法凑弯数的缺陷),改为「转角法弯段 + 三份数据三取二」,18 弯全部通过 + 官方弯名
- 报告优先使用校准表分弯 + 显示官方弯名
- 校准工具链:corners_by_angle.py(累计转角找弯)、calibrate_track.py、check_data.py、check_distance.py、make_track_map.py(赛道图 + 弯位表)
安装
�ash dsh plugin --profile web add dsh-sim-telemetry
修复
- 摘要里赛道名错误(trackId 11 被写成 Austin)
v0.2.3 — 从遥测采集升级成比赛工程师
从「遥测采集」升级成「比赛工程师」。
跑完几圈,它不只报一个圈速,而是告诉你:第几弯慢了、为什么慢、该往哪个方向改。
这次更新了什么
数据更全了
- Motion 包:赛车在世界里的坐标、三轴 G 力、车头朝向
- 方向盘转角:能看出打舵习惯和救车动作
- 赛道位置:精确到米,多圈按「同一个弯」对齐
弯道识别换了方法
以前按速度下降找弯 —— S 弯会粘、高速全油弯找不到。
现在按曲率(车头转向速率)找,弯就是弯,跟快慢无关。
弯道数量直接对齐官方:银石 18 个,一个不差。
会看你的失误了
- 速度突然掉 + 横向 G 塌陷 = 失控,自动定位
- 正常刹车不会误报(这条专门调过阈值)
会画你的轨迹
- 用你跑出来的坐标,画成赛道形状
- 标上 18 个弯的编号,报告说「第 13 弯」图上一眼就能找到
- 颜色分级:红=失控、橙=差异大、灰=稳
- 带方向性的建议:
方向 多打 −0.36(打多了要收)、给油 晚 −125 m(晚了要提前)
主动引导
报告检出失误后会直接问「想知道怎么发生的、下次怎么避免吗」——
你说想,它就把这圈和最快圈逐秒对比,告诉你哪一脚刹车踩重了、哪一次方向打多了。
修复
- 采集器被宿主进程树回收(现在能活满整个采集时长)
plot.py残留旧切圈逻辑,导致和报告圈数不一致- Motion 字段偏移(方向向量是 int16,G 和 yaw 全错位)
- python 探测竞态(首次调用必失败)
- spin 误报(阈值太敏感,正常刹车被当成失控)
⚠️ 当前限制
目前只有银石(Silverstone)完成了 18 个弯的弯位校准。
其他 23 条赛道还没填官方弯数,弯道识别会不准 —— 会一条条补。
弯位必须用实跑数据校准(公开资料没有、游戏资源加密),哪条赛道跑过就能校准。
安装
DSH 设置 → 插件 → 填入:
https://github.com/jingjie43/dsh-sim-telemetry
需要 Python 3.10+,面板里有一键安装按钮。
使用
- 游戏里开 UDP 遥测(端口 20777、20Hz、格式 2025)
- 设置里选圈数,点「开始记录」
- 跑满自动停,报告和图全自动生成
v0.2.0 — UDP 端口可配 + Python 自动检测/一键安装
更新内容
- UDP 端口可配置:默认 20777,可在设置里改成和游戏一致的端口(不再写死)
- Python 环境自动检测:要求 3.10+,取消硬编码安装路径;按「指定路径 → py 启动器 → 常见安装目录 → PATH」顺序探测
- 一键安装:设置页能一键装 Python 3.12(winget 优先,失败退回 python.org 官方静默安装),缺 Pillow 也能一键补
- 修复:采集结束后调用的 summary 脚本文件名错误(telemetry_summary.py → summary.py)
- 说明:目前只支持 F1 25 的「2025 赛制」,其他赛季/经典模式与 F2 尚未适配