Files
ros_contorl/docs/ARCHITECTURE.md
T
arm_dev d93dab31c9 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>
2026-09-23 13:52:28 +08:00

55 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 架构
## 进程(实机跟踪)
```
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`:光影像中心对准工件(倾斜相机时只有某一高度法兰才在正上方)