在避障任務裡,大家習慣用「成功率」當作判斷演算法表現的最後依據,因為直覺上閃過障礙就是成功。但問題是,如果我們完全忽略了環境本身的難度,這個數字的比較就很容易失去意義。Shi 等人在 2024 年的研究就指出,要想公平、客觀地比較不同避障演算法,首先必須有一套能「量化動態環境難度」的方法。為了這件事,他們提出了一個叫做 Survivability(存活性) 的新指標,並透過 150 萬次模擬實驗驗證它和避障成功率之間有非常高的單調關係(Spearman SRCC > 0.9)。有了它,後續做避障研究或建立 Benchmark,就有了一條更清楚的道路可以走。


過去大多數避障研究,都只看最終的成功率,但很少去理會不同測試地圖中,障礙物的數量、大小、速度和運動模式會怎麼影響任務難度。這會造成一個很常見的誤判——同樣的 80% 成功率,可能來自一張「只有幾個慢速障礙物」的簡單地圖,也可能來自「密集、高速、互相干擾」的複雜場景。數字一樣,挑戰卻天差地遠。更尷尬的是,有時候我們甚至很難憑直覺判斷兩張地圖誰比較難。例如圖一中,(b) 明顯比 (a) 簡單,因為只有一位慢速行人,但 (a) 和 (c) 就難分高下了:雖然 (c) 的障礙物少一些,但全都是高速移動的行人。這正好說明了為什麼我們需要一個「與演算法無關、純粹反映環境難度」的客觀指標。Shi 等人的想法很直接——在動態環境中,難度高就應該讓避障成功率下降,兩者應該呈現單調關係。基於這個核心原則,他們測試了多種方法,最後發現 Survivability 在不同規劃器和地圖條件下都能穩定對應成功率,是最適合作為統一難度標準的選擇。

截圖 2025-08-04 下午1.11.29.png

圖一


Survivability 的想法很貼近直覺,就是看看在地圖的不同位置放上一台「不會動的機器人」,它能活多久才被障礙物撞到(圖二c)。具體做法是:先在地圖上均勻取樣一堆格點,每個點都模擬放一台靜態機器人;接著用模擬器(排除感測和控制誤差)回放障礙物的移動軌跡,記下從開始到第一次碰撞的時間;最後把這些時間取平均,作為存活性分數。為了讓數字「越大越難」更直觀,他們還會把這個數值反轉並正規化。結果顯示,Survivability 不但在所有測試中都維持很高的相關性(SRCC=0.932),相對標準差 CV 也只有 0.23,表示同難度的地圖下,不同演算法的表現差異很小,遠優於其他指標(Obstacle Density 的 CV=0.57、VO Feasibility 的 CV=0.46)。

截圖 2025-08-12 上午11.00.24.png

圖二


這個指標的好處是用途很靈活。首先,它可以用來比較不同演算法在各種難度下的表現,比如研究中就發現 Local Primitive 演算法在幾乎所有難度區間都勝過其他規劃器。其次,它還能反過來用來生成指定難度的測試地圖——只要建立存活性和障礙物數量、大小、速度之間的模型,就能用數學方法挑選出剛好達到目標難度的組合,讓測試更有系統。最後,這套方法也能搬到 Gazebo 甚至真實世界使用,不需要真的在現場放靜態機器人,只要錄下障礙物的路徑,就能事後計算存活性,非常適合做標準化評估。

截圖 2025-08-12 上午11.01.03.png

圖三


研究團隊的觀察很務實——能在簡單環境中成功避障的演算法,不代表能處理更困難的場景。如果我們在比較不同方法時,不先對齊測試場景的難度,結論就可能偏頗。Survivability 指標提供了一個簡單、直觀、可模組化的方式,把環境難度數字化,讓成功率的比較更公平、更有解釋力。它的計算方式容易嵌入到現有的模擬器與實驗流程中,也因此有潛力成為未來避障演算法評估的新標準。


撰稿人:周峻廷

聲明:本文由ChatGPT協助撰寫及確認