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++ 依赖
This commit is contained in:
68
alg/delivery_v1.2/coupler_panel_release/README.md
Normal file
68
alg/delivery_v1.2/coupler_panel_release/README.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# 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。
|
||||
Reference in New Issue
Block a user