P4d:文档同步 —— 修掉 P3 手眼路径迁移后遗留的过期引用,并指向新的 weights 工具

P3 把 handeye 相关文件从 src/arm_application/config/ 迁到了仓库根的 handeye/,
但文档还写着老路径。这类"代码改了、文档没跟"的偏差最麻烦:新人照着文档敲
命令会直接报文件不存在,然后开始怀疑人生。

同步内容
- docs/HANDEYE.md / WORKSPACE.md / SITE_CONFIG.md / ARCHITECTURE.md:
  手眼结果与示教点位改指 handeye/results|poses/<臂号>_<模式>.yaml,
  临时目录改指 handeye/tmp/<臂号>/,并补上 --mode / --points / --auto-solve。
- docs/INTERFACES.md / TRACKING.md / docs/HOLE_DETECT.md / README.md:
  权重那一行从 export_yolo_trt.sh 改为 weights.sh,并注明前者已是兼容转发壳。
- docs/HOLE_DETECT.md:hole_weights / workpiece_weights 的实际取值改为
  models/hole_insert/detect_best_1.onnx(原文档写的是不存在的 best.pt)。
- scripts/merge_handeye_poses.py:只更新文件头注释里的示例路径。

多处改为指向 models/README.md 与 handeye/README.md,避免同一套规则在
七八个文件里各写一遍、然后各自漂移。

验证:rg 扫 docs/ README.md,已无 handeye_poses_/handeye_result_/
/tmp/handeye 之类过期路径残留。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
arm_dev
2026-09-23 13:52:28 +08:00
parent a89250d05d
commit d93dab31c9
9 changed files with 45 additions and 36 deletions
+16 -14
View File
@@ -21,8 +21,8 @@
| `config/fastdds_visual_servo.xml` | 是 | 可选 FastDDS;默认不用 |
| `scripts/` | 是 | 唯一操作入口 |
| `src/` | 是 | ROS 2 包源码 |
| `models/yolo/` | 目录是;`.pt/.onnx/.engine` **否** | 工件 YOLO 权重,自己放 |
| `models/hole_insert/` | 目录是;权重二进制 **否** | 入孔 YOLO(`backend=yolo` 时) |
| `handeye/` | 目录是;`tmp/` 内容 **否** | 手眼标定配置 / 采点 / 结果,见 `handeye/README.md` |
| `models/` | 目录与 `.labels.yaml` 是;权重二进制 **否** | 算法权重模块,见 `models/README.md` |
| `build/` `install/` `log/` | **否** | `colcon` 产物,本地编译生成 |
| `thirdparty/` `vendor/` | **否** | 可选离线 RDK / Isaac 克隆 |
| `.gitignore` | 是 | 上面「否」的规则 |
@@ -61,9 +61,9 @@
| 脚本 | 作用 |
|------|------|
| `run_handeye.sh --arm … teach` | RDK 软拖拽记点。必须先停 `run_real.sh`(RDK 独占) |
| `run_handeye.sh --arm … merge` | 把 `/tmp/handeye_calib_XX/taught_poses.txt` 写入该臂 `handeye_poses_XX.yaml` |
| `run_handeye.sh --arm … calibrate` | 走 12 点拍棋盘,解 T,写入 `handeye_result_XX.yaml`。需要 T1 实机 + T2 相机 |
| `run_handeye.sh --arm … teach` | RDK 软拖拽记点。必须先停 `run_real.sh`(RDK 独占)。`--mode eye_in_hand\|eye_to_hand`、`--points N`、`--ros --auto-solve` |
| `run_handeye.sh --arm … merge` | 把 `handeye/tmp/<臂号>/taught_poses.txt` 写入该臂 `handeye/poses/<臂号>_<模式>.yaml` |
| `run_handeye.sh --arm … calibrate` | 走一遍示教点拍棋盘,解 T,写入 `handeye/results/<臂号>_<模式>.yaml`。需要 T1 实机 + T2 相机 |
| `run_handeye.sh --arm … show` | 打印该臂板尺寸、poses 路径、点数 |
| `merge_handeye_poses.py` | merge 的实现,一般不直接调 |
@@ -82,7 +82,8 @@
| `check_robot_network.sh` `fix_robot_lan.sh` | 查/修工控机到机器人网段 |
| `test_rdk_python.sh` | 测 RDK Python 能否连上 |
| `rdk_switch_tool.sh` | 切换 Studio Tools 名(`site.yaml` `robot.tool_name`) |
| `export_yolo_trt.sh` | ONNX → TensorRT `.engine` |
| `weights.sh` | 权重模块入口(list / labels / convert / doctor / show),见 `models/README.md` |
| `export_yolo_trt.sh` | **旧命令**,转发壳 → `weights.sh convert --to engine` |
| `run_sim.sh` `run_mock_demo.sh` | 无真机 mock |
| `run_display.sh` | RViz 等显示 |
| `convert_traj.sh` `convert_flexiv_traj.py` | 非夕轨迹 → ROS |
@@ -114,9 +115,9 @@
`arm_application` 节点见该包 README。手眼结果:
- `src/arm_application/config/handeye_result_89.yaml` / `_91.yaml` — **相机→法兰** `T_4x4`,标定写入
- `handeye_poses_89.yaml` / `_91.yaml` — 示教关节
- `perception.yaml` `servo.yaml` `handeye_calibrate.yaml` — 默认值,被 site 覆盖
- `handeye/results/<臂号>_<模式>.yaml` — **相机→法兰** `T_4x4`,标定写入(见 `handeye/README.md`)
- `handeye/poses/<臂号>_<模式>.yaml` — 示教关节
- `perception.yaml` `servo.yaml` — 默认值,被 site 覆盖;标定参数在 `handeye/calibrate.yaml`
### Flexiv 官方(一般不要改)
@@ -133,11 +134,12 @@
---
## `models/yolo/` 与 `models/hole_insert/`
## `models/` — 算法权重模块
工件跟踪权重放 `models/yolo/`,`site.yaml` → `paths.yolo_weights`。
入孔 `backend: yolo` 的孔模型放 `models/hole_insert/`。
二进制不进 git。`backend: tensorrt` 时必须有同名 `.engine`(`export_yolo_trt.sh`)。
权重、标签与转换规则见 **`models/README.md`**(布局 `models/<分组>/<模型名>.{pt,onnx,engine}`
与旁挂 `<模型名>.labels.yaml`、`weights.sh` 用法)。
工件跟踪权重走 `site.yaml` → `paths.yolo_weights`;入孔孔模型走 `hole_detect.weights`。
二进制不进 git(`.labels.yaml` 进),`backend: tensorrt` 时必须有同名 `.engine`。
---
@@ -164,7 +166,7 @@
```bash
cd ~/ros2
cp config/site.example.yaml config/site.yaml # 填硬件
# 权重放到 models/yolo/,改 site.yaml paths.yolo_weights
# 权重放到 models/<分组>/(布局见 models/README.md),改 site.yaml paths.yolo_weights
conda activate ros_flexiv
source scripts/env.sh
./scripts/build_all.sh