影片觀看重點:觀察物件通過分流區時,分類結果、出力時間與最後進入的通道是否一致;影片是情境說明,正式判定仍以紀錄資料為準。
先講清楚邊界:這是工程模擬,不是真實產線資料。案例沒有相機影像、影像辨識模型、空氣流場或真實輸送帶。物件分類由真實半徑加上高斯雜訊產生;所謂氣嘴,則是以側向力脈衝代替。
想像一條高速輸送帶,上面有大、中、小三種物件。系統先判斷物件類別,再在正確的時間出力,把物件送進指定通道。
最後如果有一個物件走錯通道,可能有兩個原因:
兩種錯誤在產線末端看起來一樣,維修方式卻完全不同。第一種要檢查感測與分類門檻;第二種要檢查延遲、線速、出力位置與控制時序。
因此,本篇不只問「分流錯誤率是多少」,而是先把錯誤拆成兩個欄位:
class_error_rate:分類結果是否錯誤。timing_error_rate:分類正確時,出力是否錯過有效時間窗。這是本篇最重要的入門觀念:先把可能的失敗機制分開,總錯誤率才有診斷價值。
名稱雖然有「視覺分類」,實驗裡其實沒有相機、影像、鏡頭畸變、光線變化或神經網路。
系統直接取得圓柱物件的真實半徑,再加入標準差 0.6 mm 的高斯雜訊,最後用 14 mm 與 18 mm 兩條門檻分成三類。
所以這個案例可以驗證的是:
它不能證明任何真實影像辨識模型的準確率。若日後接上相機,反光、遮擋、曝光、景深與模型偏差都要另外驗證。
物件在控制延遲期間仍持續前進。若輸送帶速度為 v、致動延遲為 τa、模擬時間步為 dt,延遲期間前進的距離約為:
v × (τa + dt)
這段距離必須小於分流有效區的半寬 GATE_HALF_W:
v × (τa + dt) ≤ GATE_HALF_W
這條式子很簡單,卻能在正式執行前先回答一件事:目前線速與延遲的組合,理論上是否還來得及出力?
如果解析估算已經超出時間窗,就不應期待多跑幾次模擬會自動變好。
本案例最後不是只調氣嘴力量,而是同時處理四個互相牽動的條件:
最後採用的主要設計值為:
這些參數經過多輪先導才一起收斂。它提醒我們:控制延遲、幾何空間、線速與安定時間是同一個設計問題,不是四張互不相關的設定表。
| 指標 | 正式結果 | 鎖定門檻 | 判定 |
|---|---|---|---|
| 總分流錯誤率 | 0.0100 | ≤ 0.0200 | 通過 |
| 出力時序錯誤率 | 0.0000 | ≤ 0.0000 | 通過 |
| 通道安定速度 | 0 mm/s | ≤ 5 mm/s | 通過 |
| 跨通道事件 | 0 | ≤ 0 | 通過 |
| 分類錯誤率 | 0.0100 | 僅記錄 | — |
| 重複試驗 | 99/100 | — | 通過 |
| 數值收斂 | 通過 | — | 通過 |
100 個 seed 中有 99 個完成正確分流。唯一一次錯誤是半徑雜訊把物件推過分類門檻,屬於分類錯誤;時序錯誤則是 0/100。
換句話說,本次線速、延遲與分流窗的組合沒有錯過出力時機。若只看總錯誤率 1%,我們可能會去調氣嘴時間;把錯誤拆開後才知道,真正該檢查的是分類雜訊與門檻距離。
解析模型預測的分類錯誤率約為 0.000572,也就是約萬分之 5.72;正式試驗卻看到 1/100,也就是 1%。
第一眼看起來差很多,但 100 次試驗對罕見事件仍然太少。依這個理論錯誤率,100 次中至少看到一次錯誤的機率仍約為 5.6%,不是不可能發生。
因此,本篇不能用 100 個樣本判定真正錯誤率究竟是 1% 還是 0.0572%。若要分辨這兩個量級,樣本數還需要增加約兩個數量級。
這也是很實用的科普重點:一次罕見錯誤可以提醒你系統不是零風險,但不能單靠一次事件估計真正的失敗率。
本案例使用 PhysX 的 linearDamping 讓物件進入通道後逐漸安定。它不是一個直接施加的連續阻力,而是每個模擬子步套用的速度衰減。
所以,時間步改變時,實際離散行為也可能改變。阻尼設得過大,反而會放大連續公式與離散模擬之間的差異。本案例最後把等效阻尼固定在 8/s,並另外做時間步收斂檢查。
這裡不能寫成「阻尼越大,物件一定越快穩定」。在數位模擬中,任何看似直覺的參數都要確認它在求解器裡實際如何作用。
可以支持的結論:在指定剛體幾何、線速、延遲、分流窗與等效側向力條件下,100 個 seed 的時序錯誤為 0,總錯誤為 1/100,而且唯一錯誤來自分類雜訊。
不能支持的結論:
Day 24 會沿著同一個問題往前走:如果物件位置要從相機座標轉到機械臂座標,校正資料是不是拍得越多就一定越準?