iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
AI Engineering

Physical AI 驗證工程:30 天把機器人模擬變成可檢查的證據系列 第 20

Day 20|機器人手術模擬:看起來沒有碰撞,如何證明間隙不是算得太樂觀?

  • 分享至 

  • xImage
  •  

S14 手術台、C-arm 與機械臂重定位:用保守代理建立間隙下界

先講清楚邊界:本篇的 C-arm 只有自製幾何,沒有 X 光、劑量、影像鏈或影像品質。場景中也沒有人員、線纜、鋪單與器械台,因此只能討論這個佈局中的機器對機器間隙。

間隙不是「看起來還有空間」

大型設備重定位時,最容易犯的錯誤是用中心線、連桿原點或肉眼估算距離。這些方法可能算出一個很大的數字,實際幾何卻已經重疊。

Day 17 曾用連桿原點折線嘗試定位雙臂干涉,結果成功與失敗案例都可能得到 0 mm,無法作為證據。Day 19 又顯示,器械軸間距即使安全,較粗的手腕與機身仍可能互相擋住。

這一篇的核心問題是:

C-arm 重定位時,如何計算一個保守的最小間隙下界,而不是一個可能過度樂觀的估計值?

什麼是間隙「下界」?

如果計算得到的下界是 50 mm,意思不是實際間隙剛好等於 50 mm,而是只要代理幾何確實包住真實幾何,真實間隙就不會小於 50 mm。

這次每根機械臂連桿的代理幾何依下列方式建立:

  1. 使用 UsdGeom.BBoxCache 計算連桿實際幾何的邊界框。
  2. 以邊界框最長軸作為膠囊軸線。
  3. 將膠囊半徑設為八個角點到軸線的最大垂直距離。

因為半徑取最大值,膠囊在構造上包住邊界框;邊界框再包住連桿幾何。兩個代理膠囊之間的距離,就可作為實際幾何間隙的保守下界。

半徑不是由肉眼挑選,而是從邊界計算得到。

代理幾何也必須被驗證

只說「膠囊會包住連桿」仍不夠。本篇把包絡餘裕登記為正式門檻:

proxy_enclosure_margin_mm ≥ 0

每次取樣時,系統在世界座標中重新檢查所有邊界框角點是否仍位於代理膠囊內。只要任何角點跑到外面,本篇就判定失敗。

先導試驗曾得到約 −1.67 × 10⁻¹³ mm 的負值。這是浮點捨入,不是幾何真的漏出。修正方式不是放寬門檻,而是在膠囊半徑增加 1 μm,讓包絡嚴格成立。這會讓間隙估計少 2 μm,方向仍是更保守的一側。

原本宣告的作業範圍,在正式執行前就被打掉

最初曾設定一個看起來合理的 C-arm 作業範圍:立柱縱向位置 ±0.25 m、軌道角 ±60°。

正式執行前的閉式掃描顯示,30 個組合中有 17 個是負間隙,表示 C-arm 幾何會直接穿過機械臂。這不是需要再調門檻的情況,而是一個不可接受的佈局。

因此改用掃描結果推導作業範圍,將立柱縱向位置設定在 0.40–0.60 m,並要求軌道掃掠角至少 50°,避免抽到幾乎沒有移動的退化案例。

四個驗收門檻沒有改動;改的是場景範圍與抽樣方式,而且都在正式 seed 前完成。

四個正式門檻與結果

指標 正式結果 鎖定門檻 判定
最小間隙下界 最低 119.1 mm ≥ 50.0 mm 通過
代理包絡餘裕 最低 +0.001 mm ≥ 0 mm 通過
接觸事件 0 0 通過
port 漂移 最高 0.293 mm ≤ 4.0 mm 通過

30 個 seed 全部通過;完整間隙範圍為 119.1–352.5 mm。

最危險的 C-arm 軌道角都落在負角度,也就是設備往機械臂一側擺動時。這符合場景幾何,但仍只適用於本篇的設備尺寸與佈局。

零半徑折線代理究竟樂觀多少?

同一個組態與時刻,用兩種代理計算最小間隙:

代理方法 30 個 seed 中的最小間隙
連桿原點折線,半徑 0 300.5 mm
邊界框生成的保守膠囊 119.1 mm

零半徑折線代理比嚴謹代理樂觀 103.9–199.4 mm,平均約 165.2 mm。它回報的最壞間隙,約是嚴謹下界的 2.5 倍。

如果用兩種方法分別推算 50 mm 邊界:

  • 嚴謹代理的立柱邊界為 311.2 mm。
  • 折線代理的立柱邊界為 174.9 mm。

折線方法會允許 C-arm 再往機械臂方向多推 136.3 mm。在它認為「剛好剩 50 mm」的位置,嚴謹代理算出的間隙是 −90.8 mm,也就是幾何已重疊約 91 mm。

這說明過度樂觀的間隙檢查,可能比沒有檢查更危險,因為它會提供一個看似通過的數字。

一個會讓結果看起來很安全的空集合錯誤

先導試驗曾中止,因為程式發現只建立了 0 根連桿代理,而不是預期的 7 根。

原因是機械臂資產使用 instance,預設走訪方式看不到 instance proxy 中的 mesh。若沒有代理數量檢查,手臂幾何就幾乎從間隙計算中消失,系統反而會回報一個非常大的安全距離。

因此,除了驗證每個代理有沒有包住邊界,也要驗證應有的代理數量是否完整。空集合不一定報錯,卻可能讓所有安全檢查自動通過。

這篇證明了什麼,沒有證明什麼?

本篇可以支持的結論是:在這組自製 C-arm、手術台與機械臂幾何,以及由掃描推導的作業範圍內,保守代理計算出的機器對機器最小間隙下界至少為 119.1 mm,代理包絡檢查與物理接觸檢查也未出現矛盾。

本篇不能支持的結論包括:

  • C-arm 沒有影像、X 光與劑量模型。
  • 場景沒有人員,不能外推為人員安全結論。
  • 沒有線纜、鋪單、器械台與其他術房物件。
  • C-arm 是 kinematic,沒有驅動、負載、結構變形與地面誤差。
  • 本篇只計算間隙,不會在距離變小時主動停機或改道。
  • 下界成立的前提,是邊界框確實涵蓋所有應納入的幾何 purpose。

今天帶走三件事

  1. 安全判斷需要保守下界,不是中心線或肉眼估計值。
  2. 代理幾何的包絡關係與代理數量都必須被驗證。
  3. 粗代理可能把作業邊界推進十多公分,甚至在幾何已重疊時仍回報通過。

下一篇處理碰撞風險的最後一段:如果系統已經發生意外接觸,能否及時偵測、停止推進並沿器械軸撤離?


上一篇
Day 19|機器人手術模擬:間距明明通過,兩支手臂為什麼仍會互相擋住?
下一篇
Day 21|機器人手術模擬:漂移只有 0.38 mm,為什麼正式驗證仍判失敗?
系列文
Physical AI 驗證工程:30 天把機器人模擬變成可檢查的證據25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言