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>
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# 架构
|
||
|
||
## 进程(实机跟踪)
|
||
|
||
```
|
||
run_real.sh Flexiv RDK + ros2_control + named_pose
|
||
run_camera_d405.sh 该臂 D405 → /d405_left 或 /d405_right(彩图+对齐深度+预览)
|
||
run_visual_servo_rt.sh
|
||
perception_node YOLO + 平面中心 → /visual_servo/filtered_point
|
||
servo_node 100 Hz,法兰 hover / 锁高 → JointTrajectory
|
||
static TF flange → camera(手眼 T)
|
||
run_gripper.sh 可选,IPC Modbus PGEA 或 RGI
|
||
run_dual_gripper.sh 双爪同一节点
|
||
run_hole_detect.sh 入孔检测(当前臂 D405)
|
||
run_tactile.sh Orisys 左右指视触觉
|
||
```
|
||
|
||
RDK 独占:`run_real.sh` 与 `run_handeye.sh teach`(RDK 拖拽)不能同时开。
|
||
D405 USB 独占:相机节点与示教/标定自己开会互斥;wrapper 会先停旧相机。
|
||
|
||
## 目录
|
||
|
||
```
|
||
~/ros2/
|
||
├── README.md # 克隆后怎么跑
|
||
├── config/
|
||
│ ├── site.example.yaml # 模板(入库)
|
||
│ └── site.yaml # 本机配置(不入库)
|
||
├── docs/ # 说明;总表见 WORKSPACE.md
|
||
├── handeye/ # 手眼标定,见 handeye/README.md
|
||
├── models/ # 算法权重模块,见 models/README.md
|
||
├── scripts/ # 唯一操作入口
|
||
├── src/ # ROS 2 包
|
||
├── build/ install/ log/ # colcon,不入库
|
||
```
|
||
|
||
## 配置流
|
||
|
||
```
|
||
config/site.yaml
|
||
→ scripts/lib/export_site_env.py SITE_* 环境变量 + ROS 覆盖字典
|
||
→ run_*.sh / visual_servo.launch.py
|
||
→ 节点参数(覆盖包内 perception.yaml / servo.yaml)
|
||
```
|
||
|
||
包内 yaml 只是默认值,日常不要改。
|
||
|
||
## 跟踪几何
|
||
|
||
手眼 `T_cam_to_gripper`(`handeye/results/<臂号>_<模式>.yaml`)把相机点变到法兰。
|
||
`servo.xy_track`:
|
||
|
||
- `hover`:基座系法兰 XY = 工件 3D 点 XY,任意 `ee_z_m`
|
||
- `lookat`:光影像中心对准工件(倾斜相机时只有某一高度法兰才在正上方)
|