算法更新: delivery v1.2.1、平整度v1.5、测距v2.2、整车配准v1.3 适配器: vehicle-registration 新增、各算法 manifest 和 adapter 更新 后端: taskCadFiles/source 字段迁移、derivedPointClouds 注册、取消任务联动 前端: ElapsedTime 时长显示、两步算法流程、canRun 逻辑修复 文档: 新增5份算法性能分析报告
2.3 KiB
2.3 KiB
underframe-deflection
高铁底架纵梁挠度测量算法(基于点云)。 输入待测点云 + 理论 CAD + ROI,输出含挠度核心数据的 Excel。
这是什么
两种测量模式:
- 单梁模式(默认) — ROI 已框住单根纵梁(左右各一个 ROI),裁剪后直接测量。 支持流式裁剪超大点云(实测 12GB / 10 亿点整车 PLY),左右各出一份 Excel。这是当前交付的主模式。
- 双梁模式(
--mode dual) — 一片含左右两梁的车底点云 + CAD 配准 + 双梁追踪(v1.1 算法,保留)。
原理(单梁):沿车长切片 → 每片取下表面主平面高度 → 鲁棒拟合直线作理论基准 → 挠度 = 下表面 − 基准。 理论平直的梁,挠度 ≈ 0。
快速开始
pip install -e .[all]
underframe-measure \
--input-cloud train.ply \
--left-roi roi_left_beam.json \
--right-roi roi_right_beam.json \
--cad theoretical.stp \
--out-dir out/
→ out/left/report.xlsx 和 out/right/report.xlsx(左右各一份独立结果)。
test_data/roi_left_beam.json / roi_right_beam.json 是可直接用的样例 ROI。
文档
| 文档 | 面向 | 内容 |
|---|---|---|
| README.md(本文件) | 所有人 | 项目总览、快速开始 |
| USAGE.md | 集成开发者 | 输入三件套、调用方式、输出 Excel 字段、配准开关、异常 |
| DEV_NOTES.md | 维护者 | 本次修改记录:改了什么、为什么、遇到什么问题、怎么解决 |
坐标系约定
x = 车长(纵向),y = 车高(挠度方向),z = 车宽(横向),单位 mm。
ROI JSON 的 bbox 字段用同一坐标系。详见 USAGE.md。
安装
pip install -e .[all] # core + matplotlib(图) + openpyxl(Excel)
pip install -e . # 仅核心 numpy + scipy
安装后注册命令 underframe-measure,Python 内 import underframe_deflection。
状态与版本
- 当前版本:1.2.0(单梁直接测量模式 + 流式裁剪超大点云)
- Python:≥ 3.10(Windows / Linux / macOS)
- License:Proprietary — PKU High-Speed Train Project