仿真场景:台面开 90mm 通槽,让工件的贯通孔真能穿过
现象(非常隐蔽,容易被误判成阈值问题):
通止规的通端长 30mm,工件是 12mm 厚板、孔是**贯通孔** —— 真机上通端要
穿过板再伸出去 18mm,靠**台肩落到工件上表面**那一下判"到底了"。
但台面原本是一整块、工件平放在上面 → 孔下方被堵死,规只能进 12mm 就顶
在台面上。于是 S07 一路压到上限都等不到台肩落面的大接触力,报
"下探 N mm 都没触发接触判据"然后 ABORT。
力也不是完全没有(顶台面时切向读 30~45N),所以看起来像"阈值调太高"。
修法:台面沿 Y 开一道 90mm 宽通槽(|y| ≤ 45mm),南北两块各留 5mm 承压面
(工件 100mm 宽,跨在槽上;板是刚体只受重力,够用)。桌腿视觉同步分两块,
别把通槽在画面上堵回去。槽**只开在工件孔位所在的 Y 带**,台面高度一点没动
→ 相机距离、孔检测像素门槛、site 的悬停高度全都不用改。
顺带:contact_max_depth_mm 25 → 35。判"到底了"的是台肩,而台肩在规尖上方
30mm(通端长 30),25mm 的上限**根本到不了**,只会白报超时。
35 = 30(台肩落面)+ 5(对位残差/板厚公差余量)。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -115,8 +115,29 @@
|
||||
<pose>0.55 0 0 0 0 0</pose>
|
||||
<link name="top">
|
||||
<pose>0 0 0.375 0 0 0</pose>
|
||||
<collision name="collision">
|
||||
<geometry><box><size>0.8 1.2 0.05</size></box></geometry>
|
||||
<!-- ===================================================================
|
||||
台面沿 Y 留一道 90mm 宽的通槽(|y| ≤ 45mm),台面分成南北两块。
|
||||
|
||||
为什么必须留这道槽(实测踩过,现象非常隐蔽):
|
||||
通止规的**通端**长 30mm,而工件是 12mm 厚的板、板上的孔是
|
||||
**贯通孔** —— 真机上规的通端要穿过板再伸出去 18mm,靠**台肩**
|
||||
落到工件上表面来判"到底了"。
|
||||
但台面原本是一整块,工件平放在上面 → 孔的下方被台面堵死,
|
||||
规只能进去 12mm 就顶在台面上。于是:
|
||||
S07 一路下压到上限(25mm)都等不到台肩落面的大接触力,
|
||||
报"下探 25mm 都没触发接触判据"然后 ABORT。
|
||||
力也不是完全没有(顶台面时切向读 30~45N),所以看起来像
|
||||
"阈值调太高",很容易被误判成传感器/阈值问题。
|
||||
|
||||
槽只开在工件孔位所在的 Y 带(孔在 y = ±29mm、φ7 见方),
|
||||
不抬高工件、不动台面高度 → 相机距离、孔检测像素门槛、
|
||||
site.yaml 里的悬停高度全都不用改。
|
||||
南北两块各留 y ∈ [±45, ±600]mm,工件(100mm 宽)跨在槽上,
|
||||
两侧各有 5mm 承压面 —— 板是刚体、只受重力,够用。
|
||||
=================================================================== -->
|
||||
<collision name="collision_south">
|
||||
<pose>0 -0.3225 0 0 0 0</pose>
|
||||
<geometry><box><size>0.8 0.555 0.05</size></box></geometry>
|
||||
<surface>
|
||||
<friction>
|
||||
<ode><mu>0.8</mu><mu2>0.8</mu2></ode>
|
||||
@@ -131,19 +152,56 @@
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name="visual">
|
||||
<geometry><box><size>0.8 1.2 0.05</size></box></geometry>
|
||||
<collision name="collision_north">
|
||||
<pose>0 0.3225 0 0 0 0</pose>
|
||||
<geometry><box><size>0.8 0.555 0.05</size></box></geometry>
|
||||
<surface>
|
||||
<friction>
|
||||
<ode><mu>0.8</mu><mu2>0.8</mu2></ode>
|
||||
</friction>
|
||||
<contact>
|
||||
<ode>
|
||||
<kp>1e7</kp>
|
||||
<kd>1e4</kd>
|
||||
<max_vel>0.01</max_vel>
|
||||
<min_depth>0.001</min_depth>
|
||||
</ode>
|
||||
</contact>
|
||||
</surface>
|
||||
</collision>
|
||||
<visual name="visual_south">
|
||||
<pose>0 -0.3225 0 0 0 0</pose>
|
||||
<geometry><box><size>0.8 0.555 0.05</size></box></geometry>
|
||||
<material>
|
||||
<ambient>0.45 0.4 0.35 1</ambient>
|
||||
<diffuse>0.55 0.5 0.42 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
<visual name="visual_north">
|
||||
<pose>0 0.3225 0 0 0 0</pose>
|
||||
<geometry><box><size>0.8 0.555 0.05</size></box></geometry>
|
||||
<material>
|
||||
<ambient>0.45 0.4 0.35 1</ambient>
|
||||
<diffuse>0.55 0.5 0.42 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
</link>
|
||||
<!-- 四条腿,纯视觉:碰撞只保留台面,省掉不必要的接触计算 -->
|
||||
<!-- 桌腿:纯视觉(碰撞只保留台面,省掉不必要的接触计算)。
|
||||
和台面一样沿 Y 分成两块,别把上面那道通槽在画面上堵回去 ——
|
||||
否则"孔是通的"这件事在预览里看不出来,容易被当成模型没改。 -->
|
||||
<link name="legs">
|
||||
<pose>0 0 0.175 0 0 0</pose>
|
||||
<visual name="visual">
|
||||
<geometry><box><size>0.7 1.1 0.35</size></box></geometry>
|
||||
<visual name="visual_south">
|
||||
<pose>0 -0.325 0 0 0 0</pose>
|
||||
<geometry><box><size>0.7 0.45 0.35</size></box></geometry>
|
||||
<material>
|
||||
<ambient>0.3 0.3 0.3 1</ambient>
|
||||
<diffuse>0.35 0.35 0.35 1</diffuse>
|
||||
</material>
|
||||
</visual>
|
||||
<visual name="visual_north">
|
||||
<pose>0 0.325 0 0 0 0</pose>
|
||||
<geometry><box><size>0.7 0.45 0.35</size></box></geometry>
|
||||
<material>
|
||||
<ambient>0.3 0.3 0.3 1</ambient>
|
||||
<diffuse>0.35 0.35 0.35 1</diffuse>
|
||||
|
||||
Reference in New Issue
Block a user