算法更新: delivery v1.2.1、平整度v1.5、测距v2.2、整车配准v1.3 适配器: vehicle-registration 新增、各算法 manifest 和 adapter 更新 后端: taskCadFiles/source 字段迁移、derivedPointClouds 注册、取消任务联动 前端: ElapsedTime 时长显示、两步算法流程、canRun 逻辑修复 文档: 新增5份算法性能分析报告
69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# 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。
|