仿真上料:夹爪真能夹住通止规(新增 sim_load_gauge.py + 夹爪出力钳位)
仿真里没有"人把规塞进夹爪"这一步,之前整条流程拖到 S07 才暴露(下探 25mm
什么也没碰到,看着像力阈值问题)。新增 scripts/sim_load_gauge.py 顶这一步。
上料为什么难(四个原因叠加,都实测踩过):
1. URDF 里夹爪关节 effort=80Nm → 位置控制器把规顶飞。urdf_normalize 新增
_clamp_grip_effort:按握力 45N 与指节杠杆反推,指节 4.79Nm / 主关节 45N。
2. **指腹接触面不在 tcp_frame 原点上**:URDF 里 inner_finger_pad_joint
z=0.0235、finger_tcp_joint z=0.0360(同父链节同方向)→ 指腹中心比
tcp_frame 高 12.5mm。所以规尖→指腹中心是 0.043,不是夹持段中心的
0.0555。用错值的现象极迷惑:gz 报得出 Contacts、也能读到接触,但规
就是托不住、一路滑下去。ΔZ 扫描实测:0/±5mm 掉、+10~+15mm 夹住。
3. 摆完位就自由落体:ROS 往返 100ms+ 而物理步进 1ms,等合爪指令到达,
规已掉 125mm。改成**像人手一样托着** —— 合爪期间 50Hz 按当前指腹位姿
把规瞬移回两指之间,托到真夹住为止。
4. 合到多少不猜:从松到紧扫开口,扫到"松手后不掉"为止。指腹实际接触面
未必在 tcp_frame 原点,拿"指间间距=开口"反推闭合量会差好几毫米。
结果:漂移 0.4mm、两指 |fnormal|≈46.5N(正好是 45N 设计握力)。
另修 _set_gauge_pose 的 ign service 口径说明与 _gauge_pose_now 的解析。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in: