先講清楚邊界:這是工程模擬,不是真實產線資料。畫面裡的是官方工業機器人資產與我自己建的剛性替代幾何,夾持是宣告的彈簧—阻尼耦合,沒有夾爪、沒有摩擦、沒有滑移。
這一題我原本以為是精度問題,做完才知道是幾何不可能。
登記的判準之一是「兩臂在交接瞬間對得多準」,門檻 3 mm。我花了三輪先導追一個卡在 72 mm 不動的數字——換過控制方式、加過閉環、量過負載下垂,最後才發現:那 72 mm 根本不是誤差,是兩組手腕撞在一起之後的停靠距離。
專案在雙臂交接上已經失敗過一次:手術系列的 S12,成功率兩度停在 0.867,而根因寫得很清楚——事前的閉式間距驗算算對了,但算的是器械軸之間的距離,真正會撞到的是手腕組件,沒有被算進去。
後來的 S14 補上了缺的那塊工具:由實際幾何的邊界框生成保守的代理膠囊,包絡關係經過驗證。本篇把這個工具用回交接問題上,問一個可以被推翻的問題:
用被驗證過的保守代理做事前篩選,雙臂交接還會不會被自己的手臂擋住?
第一個坑:零件的放置誤差常數卡在 32 mm,跨 seed 幾乎不變,還會掉 3–5 次。查過座標慣例(逐位元相符),問題不在那裡——夾持把零件的中心拉向法蘭原點,而法蘭原點在腕部連桿的幾何內部,零件因此被拉進手臂自己的碰撞體。用 USD 碰撞群組明確隔開後,32 mm 變 0.03 mm,掉落變 0。
第二個坑:掃描十二個候選交會點,量到完全相同的 −148.67 mm 機身間隙。原因是不步進物理,USD 的連桿變換就不會更新——十二次量到的都是資產的預設姿態。加上步進之後,掃描才有意義,也給出一個沒預期的結果:間隙對姿態極度敏感(±20 mm 抖動盒內擺動 41–63 mm),但把抖動範圍縮小一半,最小間隙幾乎沒有改善。問題不在抖動,在佈局。 把兩臂基座改成側身交會而不是正面對伸後,最小間隙從 41 mm 拉到 55.44 mm,而且是一塊寬的可行區,不是一條脊線。
第三個坑:佈局改好後,四條判準過了三條,交會誤差卡在 72 mm。逐刻度追蹤顯示:抓著 0.5 kg 零件的手臂差命令值 78.44 mm,而且是個常數,在放手瞬間驟降到 0.19 mm——像極了重力下垂。於是我讓另一支手臂改成閉環對準前者的實測位置。IK 每個刻度都成功,誤差小於 0.001 mm,而間距完全不收斂,卡在 72–83 mm。
手臂被命令到對方的位置、IK 也解得出來,卻到不了——到不了只有一個解釋:被擋住了。兩組腕部代理的半徑各約 96 mm,要兩個法蘭到同一點,兩組腕部就得互相穿透,而實體上它們會先撞在一起。72 mm 正是兩組腕部的接觸停靠距離。
這推翻了原本的交接模型:一個位置命令式的交接,不可能讓兩個 TCP 重合。 有意思的是,這個結論在先導階段就已經被推導出來過,只是當時被我記成「腕部間隙這個量在本題不適用」,而不是「你設計的這個姿態不存在」——我把一個關於機構的結論,當成了一個關於量測的例外。
接手的夾具改抓零件的另一個部位:零件由 60 mm 立方改成 300 mm 長桿,兩端各由一支手臂持握。兩腕中心因此名目相距 300 mm,扣掉兩倍腕部代理半徑,事前預期餘裕約 108 mm。
| 指標 | 門檻 | 實測 |
|---|---|---|
| 交接成功率 | ≥0.90 | 30/30 |
| 機身代理間隙 | ≥50 mm | 最小 161.32 mm |
| 交會誤差 | ≤3.0 mm | 最大 0.299 mm |
| 腕部間隙(診斷) | 僅記錄 | 最小 +117.26 mm(改設計前 −34 mm) |
腕部餘裕的實測值 117–121 mm,與「桿長 300 − 2×96」推得的約 108 mm 相符——這是本篇唯一一個真正的閉式預測,而它成立了。
它是在一個由掃描推導出來的佈局上、用一根夠長的桿子量到的。把桿子換回 60 mm 立方,同一批物理、同一個機構,交接立刻不成立。本篇真正量到的是一條設計規則,不是一個成功率:交接的兩個握點,距離必須大於兩組腕部代理半徑之和。 S12 缺的就是這一條。
留下沒解的一件事:抓著 0.5 kg 零件時 48.57 mm 的負載下垂。本篇繞開它——因為交接改成兩端之後,不再需要對準對方的絕對位置——但它仍在那裡,下一次需要絕對定位的任務會直接把它變成誤差。
本篇留下的重力下垂問題,會在正式編號的 F09(力監測精密插入)處理;這份重新編號的合輯接下來先轉到廠區的另一條線——AMR 對接與交管。