52c108de07
修复:run_all.sh 不存在,但被三处依赖 - docs/HOLE_DETECT.md 有 4 处用法示例; - pipeline.launch.py 文件头写着"相机 / 触觉由 scripts/run_all.sh 负责拉起一次"; - run_pipeline.sh 唯一职责就是 exec 它。 也就是说文档在教用户跑一个不存在的脚本,而 run_pipeline.sh 执行必然失败。 按 pipeline.launch.py 的实际参数(skip_stage1/2/3、target_hole、insert_depth_mm、 screw_pitch_mm、preview、resnap)重建:先确认控制器 ACTIVE,再拉起相机与触觉 (都已就绪则跳过),最后 exec pipeline.launch.py。无硬件时会明确报错退出。 修复:判活循环反复撞超时,脚本看起来像卡死 服务/话题不存在时,`ros2 service call` / `ros2 topic echo` 每次都要耗满 timeout 才返回。原写法 30 次循环最坏等 165s(实测无 ROS 时白等 63s)。改成先 `ros2 service list` / `topic list` 探测,再决定要不要 call/echo。 - run_stage2_locate.sh、run_stage3_search.sh 同步修复(165s → ~0s) - run_all.sh 一开始就按正确顺序写 - run_handeye.sh 原本就是对的(这次是向它对齐) 标注:site.yaml 的 sim 段没有任何消费者 它声明 platform: gazebo,但 Gazebo 尚未接线,改它不会有任何效果。 加注释说明真实现状,避免用户以为改了就生效。 澄清:camera 与 cameras 不是重复键,两者都在读 - camera(单数)= 当前激活相机的参数,被各 launch 与节点读 - cameras(复数)= 相机目录(型号/序列号),被 export_site_env.py 读 命名容易混淆,但删任一个都会坏的。 保留:fetch_isaac_flexiv.sh 一度按"0 引用"删除,随后发现 thirdparty/ 里确实存在 isaac_sim_ws 与 flexiv_sim_plugin,说明这条路线被真实使用过;且该脚本还负责 clone flexiv_rdk(核心依赖)。已恢复,并在 scripts/README.md 标为"搁置未用"。 docs/scripts/README.md 补上 run_all.sh、rdk_drag_bridge.py、fetch_isaac_flexiv.sh, 并新增"排查脚本卡住时的常识"一节记录判活顺序。 测试:198 passed
config/
| 文件 | git | 说明 |
|---|---|---|
site.example.yaml |
提交 | 模板。克隆后复制为 site.yaml |
site.yaml |
不提交 | 本机 SN、IP、相机、锁高、权重路径 |
fastdds_visual_servo.xml |
提交 | 可选 DDS;默认 site.yaml 里 fastdds_profile: "" |
改跟踪 / 手眼 / 相机:只改 site.yaml。字段说明见 docs/SITE_CONFIG.md。