**技術副標:**S04 雙 PSM 避碰與器械交會
**證據邊界:**工程模擬|剛性替代模型|非臨床證據
🎬 實驗影片:觀看 S04 實驗影片
🧪 完整驗證頁面:查看 S04 指標、門檻與限制
**觀看重點:**比較避碰守衛關閉與開啟時的器械間隙,再觀察守衛啟動後,兩支器械是否仍能完成原定路徑。
在微創手術情境中,兩支器械可能從不同的 port 進入同一個工作區域,並在畫面外發生交會。這裡的 PSM 是 Patient Side Manipulator 的縮寫,用來表示病人端器械操作臂的角色,不代表本篇使用特定廠牌的手術機器人。
若系統只靠畫面判斷,等操作者看到兩支器械接近時,可能已經太晚。因此,控制系統通常需要一個避碰守衛:持續計算兩支器械之間的距離,太近時就停止或讓路。
可是,「太近」到底是多少?設成 5 mm,停止命令發出後,器械可能因原有速度繼續滑行而碰撞;設成 200 mm,系統又可能過度保守,讓兩支器械幾乎無法同時工作。
本篇只回答一個問題:如何從器械的接近速度與驅動特性推導避碰門檻,並驗證它真的能阻止幾何交會?
可以把避碰守衛想成道路上的煞車系統。駕駛踩下煞車,不代表車輛在同一瞬間停止;真正需要的安全距離,取決於當下速度與煞停距離。
機械臂也一樣。本專案的位置型驅動使用固定時間常數 τ = 0.15 s。當停止命令發出後,器械仍會沿原方向滑行一小段,近似為:
滑行距離 ≈ 當下接近速度 × 驅動時間常數
這個比喻只用來說明停止需要距離;真實器械還會受到控制器、機構彈性、網路延遲、摩擦、接觸與量測雜訊影響,本篇沒有建立完整實體模型。
在正式測試前,專案先使用不進入評估的設計 seed 量測兩支器械的接近速度。最大值為 209.2 mm/s,乘上 0.15 s,得到約 31.4 mm 的預估滑行距離。再加入安全係數後,停止門檻設定為 60 mm;間隙恢復到 70 mm 才重新前進,避免系統在門檻附近反覆啟停。
每個 seed 都使用同一組軌跡執行兩次:
本篇沒有模擬器械接觸力。兩支器械軸也沒有碰撞體,因此可以在模擬中互相穿過。這裡的「碰撞」是幾何定義:當兩條器械軸線的最短距離小於兩倍軸半徑,也就是 8 mm,就判定發生交會。
這代表本篇驗證的是幾何避碰邏輯,不是器械碰撞後的力、變形或組織傷害。
第一次執行時,煞停模型誤差為 13.845 mm,超過 10 mm 門檻。進一步檢查後發現,問題不在門檻,也不在煞停模型,而在量測方法。
原本的量測窗從守衛觸發一路算到系統恢復,中間同時包含兩個階段:前 0.5 秒是兩臂停止,之後 B 臂開始後退。但 B 臂沿原路後退,不一定代表它真的遠離 A 臂;在部分幾何位置,後退反而讓間隙繼續縮小。
因此,原本指標把「停止後滑行」與「後退讓路」混在一起,量到的不是單純煞停距離。修正方式是只量兩臂都被凍結的 0.5 秒。門檻沒有改,第一次執行的資料也完整保留,再使用互斥 seed 重跑。
這個案例提醒我:安全機制本身可以正確,但如果量測窗沒有清楚定義,仍會得到錯誤結論。
| 核心指標 | 實測 | 門檻 | 判定 |
|---|---|---|---|
collision_count |
0(30/30) | ≤ 0 | 有限度通過 |
對照段有 14 個 seed 發生幾何交會;守衛開啟後,30 個 seed 都沒有交會。其他重要結果包括:
這些結果支持:60 mm 門檻不是反覆嘗試後調出來,而是由接近速度與驅動時間常數推導,並在本篇模擬條件下阻止了幾何交會。
如果只看碰撞次數,這個守衛似乎成功。但 30 個 seed 中,只有 1 個完成全部巡覽;其餘 29 個 seed 的 B 臂都沒有走完原定路徑,最長還剩 337.7 mm。
原因是本篇守衛只會停止與沿原路後退,不會重新規畫替代路徑。它把「碰撞」轉換成「停滯」,並沒有完整解決雙臂協作問題。
因此判定是有限度通過:安全側的幾何守衛成立,但任務可用性尚未成立。下一步需要的是能理解當下幾何關係的重新規畫,而不是只依固定優先權後退。
本篇使用無雜訊、無延遲的關節姿態,沒有接觸力、操作者行為或即時重規畫。34.96 mm 是本模擬環境的幾何餘裕,不是臨床安全距離。下一篇會處理另一種問題:當鏡頭失去有效資訊時,器械還留在 port 裡,系統如何在看不見的情況下退回?