文档:把 S07 过不去的根因写进 GAUGE_ASSEMBLY(防再次误判成阈值问题)
这一轮走过一次弯路:S07 ABORT 报"没触发接触判据",第一反应是阈值标高了, 于是调预算、开台面通槽 —— 那些确实是独立的 bug(该修,已修),但**没有 解决 S07**。真实根因是「工具靠夹持摩擦抱住 → 轴向力传不到指垫触觉」, µ·N ≈ 23N 而台肩落面一步就产生 25N,必然打滑。 把完整因果链(5 步,每步附日志证据)和三个可选修法写进 §6,并标明推荐 第 1 条(改读腕部 FT)—— 避免下一个人又对着触觉阈值试半天。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+40
-1
@@ -157,10 +157,49 @@ ros2 topic pub --once /gauge/reload_ok std_msgs/msg/Bool "{data: true}"
|
|||||||
|----|------|
|
|----|------|
|
||||||
| S02 夹持确认 | 预留(`grip_check: false`)。现在没有"规确实在爪里"的**可信**判据,靠触觉猜会误判 |
|
| S02 夹持确认 | 预留(`grip_check: false`)。现在没有"规确实在爪里"的**可信**判据,靠触觉猜会误判 |
|
||||||
| S03 手外粗定位 | 需要 eye-to-hand 标定文件;没有就明确报缺哪个文件、怎么生成,并回 S04 |
|
| S03 手外粗定位 | 需要 eye-to-hand 标定文件;没有就明确报缺哪个文件、怎么生成,并回 S04 |
|
||||||
| S07 接触判据 | 阈值**未在真机上标定**(仿真里做过通路验证) |
|
| S07 接触判据 | 阈值**未在真机上标定**(仿真里做过通路验证)。⚠️ 见下面「S07 为什么在仿真里过不去」 |
|
||||||
| S08/S09 力矩到位判据 | 同上,属现场标定项 |
|
| S08/S09 力矩到位判据 | 同上,属现场标定项 |
|
||||||
| 真机全流程 | **未跑过**(本仓库当前无真机)。干跑 / 仿真 / 单测已过,见 §7 |
|
| 真机全流程 | **未跑过**(本仓库当前无真机)。干跑 / 仿真 / 单测已过,见 §7 |
|
||||||
|
|
||||||
|
### S07 为什么在仿真里过不去(2026-09-24 查到根因,别再往阈值上调)
|
||||||
|
|
||||||
|
**先说结论:不是阈值调高了,是「通止规靠夹持摩擦驱动」这件事本身决定了
|
||||||
|
轴向力传不到指上。** 要动的是判据**用哪个传感器**,不是阈值大小。
|
||||||
|
|
||||||
|
排查过程(先走过一次弯路,记下来免得重走):S07 在 25mm 处 ABORT,
|
||||||
|
报「下探 25mm 都没触发接触判据」。**第一反应是阈值标高了**,于是:
|
||||||
|
25→35mm 下探预算、台面开 90mm 通槽让贯通孔真能穿过 —— 都做了,都该做
|
||||||
|
(确实是独立的 bug),但**没解决 S07**。真实因果链是:
|
||||||
|
|
||||||
|
| # | 实测到的 | 日志证据 |
|
||||||
|
|---|---------|---------|
|
||||||
|
| 1 | 悬停时规尖已在工件面下 **23mm** | `悬停时尖端离面 -23.0mm`(工具几何自检) |
|
||||||
|
| 2 | 台肩本应在"再下压 7mm"时落面,但切向读数**全程 0.0** | `下压 4.49~17.97mm 切向 (-0.0, -0.0)` |
|
||||||
|
| 3 | 读数恒 0 ⇒ 规**在爪里打滑**了:没跟着往下走,而是相对爪往上溜 | —— |
|
||||||
|
| 4 | 溜到 ~20mm 时规**顶到掌心**(变成刚性接触)→ 切向力突跳到 **225.9** | `下压 19.91mm 切向 (225.9, 56.8)` |
|
||||||
|
| 5 | 阈值 300 差一点没够 → 判据不触发 → 臂继续压到 25mm 顶死 | `连续 5 步实测零位移` |
|
||||||
|
|
||||||
|
关键一环是**为什么读数恒 0**:规靠指垫摩擦夹持,轴向力要经摩擦传给指。
|
||||||
|
摩擦上限 = µ·N,`gauge/model.sdf` 的夹持段 µ=0.25、实测握力 N≈46N →
|
||||||
|
单指 ~11.5N、两指 ~23N。而台肩一旦落面,接触刚度 5e4 N/m 意味着**过压
|
||||||
|
0.5mm 就是 25N** —— 一步 0.5mm 的步进就让轴向力越过摩擦上限,规打滑。
|
||||||
|
所以"台肩落面"那一下的力**根本传不到手指触觉上**,读数停在 0 是对的。
|
||||||
|
|
||||||
|
**真机同理会这样**(不是仿真特有):只要工具是靠夹持摩擦抱住的,轴向力
|
||||||
|
就传不到指垫。**正确修法是换判据来源**,三选一(按可信度排序):
|
||||||
|
|
||||||
|
1. **用法兰/腕部的力扭矩传感器**(本工作区的 Orisys 就在这一层)—— 轴向
|
||||||
|
力直接落在它上面,不经摩擦,物理上最干净。**推荐这条。**
|
||||||
|
2. 用**位置停滞**判"到底了":连续若干步实测零位移即视为到位。现成的
|
||||||
|
`descend_progress` / `DESCEND_STALL_STEPS` 已经能测出来,只是现在把它
|
||||||
|
当**错误**报,改成"当作到达信号"即可。缺点是没有力的大小、区分不出
|
||||||
|
"顶到台面"和"顶到异物"。
|
||||||
|
3. 仍用指垫触觉,但阈值要按 **µ·N 反推**(≈23N 量级),且必须把夹持段
|
||||||
|
摩擦系数与握力一起标进 `site.yaml`。**最不推荐**:换了规/换了指垫就得重标。
|
||||||
|
|
||||||
|
**下一步(不要再对着触觉阈值试)**:实现第 1 条 —— S07 判据改读腕部 FT 的
|
||||||
|
轴向分量,触觉只作兜底。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 7. 验收命令(都是真跑过的)
|
## 7. 验收命令(都是真跑过的)
|
||||||
|
|||||||
Reference in New Issue
Block a user