P2:修复 run_all.sh 缺失,消除等待超时陷阱,标注无消费者的配置
修复: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
This commit is contained in:
@@ -481,6 +481,9 @@ network:
|
||||
# 设计约束:仿真与真机共用同一套参数(servo.* / hole_detect.stage2.*),
|
||||
# 只有物理引擎自身的参数放在这里,避免「仿真调好的值搬到真机不生效」。
|
||||
sim:
|
||||
# ⚠️ 这一段目前没有任何代码读取 —— 它是对目标平台的声明,不是能生效的开关。
|
||||
# 改这里的值不会有任何效果,直到 Gazebo 真正接线(见 devices/sim/gazebo/README.md)。
|
||||
# 现在跑 `run_sim.sh` 得到的是 mock 驱动(假数据 + RViz),不是物理仿真。
|
||||
platform: "gazebo"
|
||||
world: "" # 世界文件路径;留空用 Gazebo 默认空场景
|
||||
physics_enable: true
|
||||
|
||||
Reference in New Issue
Block a user