Files
massive-cloud/alg/delivery_v1.2/coupler_panel_release/README.md
lipan cec0766e67 feat: 升级算法包 delivery_v1.1 → v1.2,新增任务级 CAD 与测距面板
- 算法包替换为 delivery_v1.2(coupler_panel 新增 autotune/layer_select,underframe_deflection 新增 single_beam 管线),删除 delivery_v1.1
- manifests/adapters 的 PYTHONPATH 与版本说明同步更新到 v1.2
- 新增任务级 CAD 文件支持(task_cad_files 表、上传/读取路由、TaskManager 全选与加载显示)
- 新增 train-measurement 自定义前端面板(YAML 编辑器 + 可视化 ROI 配置 + 3D 取点)
- PointCloudViewer 支持 PLY 叠加层渲染与 ROI 拾取
- Dockerfile 改用 Miniforge 安装 pythonocc-core,修复 libgomp/libstdc++ 依赖
2026-06-11 02:30:04 +00:00

69 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# coupler-panel-validation
高铁车钩面板**偏转角测量**算法。输入待测点云 + ROI + 理论 CAD,输出面板相对车体纵轴的两个方向偏转角及最大偏差,并生成 Excel 报表。
## 这个项目做什么
给定一块车钩安装面板的扫描点云,算法测量它相对理论安装姿态的**偏转**:
- `θ_right` —— 面板法向在一个方向上的偏转角(度)
- `θ_ref` —— 面板法向在另一个方向上的偏转角(度)
- `dx_y_max` / `dx_z_max` —— 由偏转引起的最大 x 向偏差(mm)
支持两种输入规模:
- **单零件点云**(对零件 STP 采样得到的稠密点云)
- **整车扫描点云**(GB 级 PLY,用 ROI 框出车钩区域后内部流式裁剪)
## 三件套输入(集成主路径)
| 输入 | 说明 |
|---|---|
| **ROI JSON** | 6 个数的轴对齐包围盒,框出待测面板区域(即裁剪超参数) |
| **点云 PLY** | 待测点云,可为整车(多 GB),算法内部按 ROI 流式裁剪 |
| **CAD STP** | 理论模型,作辅助 / 审计 |
输出:`eval_report.xlsx`(含两个偏转角的 GT / 预测 / 误差 + 中间量 + 运行时间)。
## 快速开始
```bash
# 安装(锁定版本见 requirements.txt)
python -m pip install -r requirements.txt
pip install -e ".[all]"
# 三件套集成入口
python examples/run_integration.py \
--roi examples/roi_train2_coupler.json \
--cloud /path/to/train_2_1T.ply \
--stp /path/to/asm.stp \
--out runs/train2 \
--profile train2_coupler
```
库调用:
```python
from coupler_panel.pipeline import run_coupler_measurement_pipeline
from coupler_panel.roi_select import load_roi_json
result = run_coupler_measurement_pipeline(
input_cloud = "train_2_1T.ply",
out_dir = "runs/train2",
profile = "train2_coupler",
roi_spec = load_roi_json("roi_train2_coupler.json"),
)
print(result.theta_right_deg, result.theta_ref_deg)
```
## 文档
| 文档 | 内容 |
|---|---|
| [USAGE.md](USAGE.md) | **集成方使用指南** —— 三件套输入、API、ROI JSON、profile、输出、坐标系 |
| [CHANGES.md](CHANGES.md) | **修改记录** —— 每轮改了什么、为什么、遇到的问题与定位解决 |
## 坐标系约定
- 算法以面板法向 `n=(n_x,n_y,n_z)` 相对 x 轴的夹角定义偏转,强制 `n_x>0`。
- **坐标轴含义由数据集决定**:项目标称约定为 x=纵向、y=宽度、z=高度;但某些整车数据集为 x=车长、y=车高、z=车宽(y/z 对调)。偏转角公式对称、理论 0 不受影响,但 `D_y_max`/`D_z_max` 对应的物理轴随之对调。ROI JSON 的六个边界必须与**点云自身坐标系**一致。详见 USAGE.md。