d93dab31c9
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>
75 lines
3.5 KiB
Markdown
75 lines
3.5 KiB
Markdown
# site.yaml
|
||
|
||
路径:`~/ros2/config/site.yaml`(从 `config/site.example.yaml` 复制,**不进 git**)。
|
||
目录总表:[WORKSPACE.md](WORKSPACE.md)。查看解析:`bash ~/ros2/scripts/show_site_config.sh`
|
||
|
||
改完后重启对应进程才会进节点(夹爪 CLI 每次重读)。
|
||
|
||
## 三台相机
|
||
|
||
| 相机 | 序列号 | 位置 | 脚本 |
|
||
|------|--------|------|------|
|
||
| 左腕 D405 | `352122274408` | 89 平行夹爪 | `run_camera_d405.sh --arm 89` |
|
||
| 右腕 D405 | `260522274442` | 91 旋转夹爪(新,易过曝) | `run_camera_d405.sh --arm 91` |
|
||
| 中间 D435 | `262522073161` | 双臂之间手外 | `run_camera_d435.sh --preview` |
|
||
|
||
列出:`bash ~/ros2/scripts/list_realsense.sh`
|
||
|
||
右腕过曝:`robots[]` 里 `ae_limit_us: 1500` 且关投射器。仍亮则把该臂 `auto_exposure: false` 并设 `exposure_us: 800`。
|
||
|
||
## 双臂(89 / 91)
|
||
|
||
89 和 91 **各有一份** 手眼、腕部相机序列号、夹爪串口、named poses。
|
||
`robot.robots[]` 里写该臂覆盖项;`run_*.sh --arm 89|91` 会合并进去。
|
||
|
||
| 臂 | SN | IP | 手眼 | 夹爪 |
|
||
|----|----|----|------|------|
|
||
| 左 89 | Rizon4-063989 | 192.168.2.101 | `handeye/results/89_eye_in_hand.yaml` | PGEA `/dev/ttyUSB0` |
|
||
| 右 91 | Rizon4-063991 | 192.168.2.100 | `handeye/results/91_eye_in_hand.yaml` | RGI `/dev/ttyUSB1` |
|
||
|
||
```bash
|
||
bash ~/ros2/scripts/run_real.sh --arm 89
|
||
bash ~/ros2/scripts/run_camera_d405.sh --arm 89 --preview
|
||
bash ~/ros2/scripts/run_visual_servo_rt.sh --arm 89 --control
|
||
bash ~/ros2/scripts/run_handeye.sh --arm 91 teach # 91 必须单独标定
|
||
```
|
||
|
||
每个终端都要带同一 `--arm`,或改 `robot.sn`。不要把 89 的 `T_4x4` 拷到 91。
|
||
|
||
棋盘尺寸仍是全局 `handeye.board_*`(两臂共用同一块板)。
|
||
|
||
## 谁读哪些段
|
||
|
||
| 段 | 读者 |
|
||
|----|------|
|
||
| `robot` `network` | `run_real.sh`、RDK 工具切换 |
|
||
| `camera` | `run_camera_d405.sh`;`overlay_hold_sec` 运行中会跟文件 |
|
||
| `paths` `yolo` `servo` | `visual_servo.launch.py` |
|
||
| `handeye` `paths.handeye_*` | `run_handeye.sh` |
|
||
| `gripper` | `run_gripper.sh` / `dh_pgea` / `dual_gripper` |
|
||
| `hole_detect` | `run_hole_detect.sh`(算法参数也在这一段) |
|
||
| `tactile` | `run_tactile.sh` |
|
||
| `go_home` | `go_home.sh` |
|
||
|
||
## 常改项
|
||
|
||
| 键 | 含义 |
|
||
|----|------|
|
||
| `robot.sn` / `--arm` | 当前臂。可被 `run_real.sh --arm 91` 覆盖 |
|
||
| `robot.robots[].camera.serial` | 该臂腕部 D405。91 必须单独填写 |
|
||
| `robot.robots[].paths.handeye_file` | 该臂手眼结果(`handeye/results/<臂号>_<模式>.yaml`),禁止混用 |
|
||
| `paths.yolo_weights` | 写 `.onnx` 或 `.pt`;`backend: tensorrt` 时须有同名 `.engine`(见 `models/README.md`) |
|
||
| `yolo.imgsz` | 必须等于模型输入边长 |
|
||
| `yolo.backend` | `tensorrt` / `onnx` / `auto` |
|
||
| `camera.serial` `width` `height` `fps` | D405 流。改分辨率要重启相机 |
|
||
| `servo.ee_z_m` | 法兰锁高 [m];**写在 `robots[].servo`,89/91 分开** |
|
||
| `servo.xy_track` | `hover`(法兰/爪心正对工件)或 `lookat` |
|
||
| `camera.name` | `d405_left` / `d405_right`,话题与预览按臂分开 |
|
||
| `servo.v_max_xy` `kp_xy` `a_max` | 跟踪快慢 |
|
||
| `gripper.force_pct` `open_position` `close_position` | 左臂 PGEA 力与开度 |
|
||
| `robots[].gripper.port` `model` | 该臂串口与型号(91 为 RGI) |
|
||
| `hole_detect.backend` `hough_*` `conf` | 入孔检测 |
|
||
| `tactile.left_video` `right_video` `config` | Orisys 左右指设备与 dd03 |
|
||
|
||
路径写成**绝对路径**。换机器改 `USER` 和 SN,不要改 Python。
|