Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Narrow Passage Problem

  • 又稱: narrow passages
  • 類別: Planning & manipulation › Motion planning
  • 標籤: motion-planning, sampling-based-planning, configuration-space, planner-failure-modes

以取樣為基礎的規劃器在處理自由空間中狹窄走廊時遇到的困難:隨機樣本很少落在其中,因此規劃變慢,或最後採用一條很長的繞行路線。

定義

狹窄通道問題(narrow passage problem)是機率路線圖與快速探索隨機樹等以取樣為基礎的運動規劃器最廣為人知的弱點。這些規劃器透過抽取隨機樣本,並以短的無碰撞運動將它們連接起來,藉此探索組態空間。如果唯一的路線或最短的路線必須穿過自由空間中在一個或多個方向上很薄的區域,均勻樣本落在其中的機率與其體積成正比,而這個體積非常小。即使有樣本落在裡面,也不一定能與兩側的鄰居連接。於是規劃器需要非常多的樣本才能找到這條通道,或是會先找到一條較長的路線。

這種效應會隨維度增加而加劇。在 2D 地圖中,比機器人稍寬一點的空隙很容易取樣到;但對於伸進貨架的 7 關節機器手臂、把插銷插進孔中,或讓零件穿過治具,有效的組態可能在一個高維空間中形成薄薄的一片,其體積占比變得極小。以取樣為基礎之規劃器的理論分析,例如擴張性(expansiveness)與自由空間的 ε-良好性(ε-goodness),把這種依賴關係明確表達出來:收斂保證仍然成立,但所需的樣本數會隨著通道變窄而急遽上升。

許多補救方法會把取樣偏向自由空間的邊界與空隙。高斯取樣把樣本保留在障礙物表面附近;橋測試保留兩端都處於碰撞狀態之短線段的中點;以障礙物為基礎的取樣器與中軸取樣器把樣本推向邊界或走廊的中間;學習而來的取樣器則預測有用的組態位於何處。其他方法會藉由縮小障礙物或放寬約束來暫時擴大自由空間,在較容易的問題中規劃,再修復路徑。在工程實務上,選擇位置恰當的中間路徑點或目標區域往往很有效。

為何重要

許多實際任務都是狹窄通道問題:插入、伸進雜亂的貨架與料箱,以及穿過門口或狹窄的治具。認出這個問題,就能解釋規劃器為何逾時與繞路,並指向在取樣器上修正,而不是單純提高時間上限。

主要應用

  • 插銷入孔的插入作業與組裝到治具中
  • 手臂伸進貨架、櫃子與料箱的運動
  • 穿過門口與狹窄走廊的移動機器人與車輛
  • 機械零件的拆卸與可維護性分析
  • 為運動規劃器進行基準測試與設計取樣策略

實際應用

一支機器手臂必須把零件放進治具,每側只有幾公釐的間隙。使用均勻取樣器時,規劃器常常逾時,或回傳繞著治具大幅擺動的路徑。團隊把碰撞網格稍微縮小,發現規劃變快,藉此確認原因。接著他們在治具上方加入一個預插入姿態作為中間目標,把最後的接近動作改為經過碰撞檢查的笛卡兒直線運動,並為其餘的自由運動加入一個把樣本集中在障礙物表面附近的取樣器。規劃時間下降,繞行路線也消失了。

常見誤解

  • 狹窄通道就是實體上狹窄的空隙 — 它是在組態空間中狹窄;對於必須精確旋轉的長物體,寬敞的門口仍可能是狹窄通道
  • 多給時間總能解決 — 所需的樣本數可能隨維度與狹窄程度急遽增加,因此更好的取樣或分解通常更有幫助
  • 機率完備性代表規劃器會很快找到通道 — 完備性只保證最終會成功
  • 只有以取樣為基礎的規劃器會受影響 — 網格搜尋與最佳化在薄的自由空間區域中也會遇到困難,原因是解析度限制或不佳的初始猜測

誰需要了解

  • 使用 OMPL、MoveIt 或類似函式庫的運動規劃工程師
  • 從事插入與組裝的操作工程師
  • 為規劃器開發取樣策略的研究人員
  • 學習以取樣為基礎之規劃的學生

相關技術

  • 高斯取樣(Gaussian sampling)
  • 橋測試取樣(bridge test sampling)
  • 以障礙物為基礎的 PRM(obstacle-based PRM)
  • 中軸 PRM(medial-axis PRM)
  • 學習而來的取樣分布(learned sampling distributions)
  • OMPL

相關術語

  • Probabilistic Roadmap
  • Rapidly-exploring random tree
  • Configuration Space
  • RRT*
  • Homotopy Class
  • Peg-in-hole insertion

相關專案

  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
  • Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines
  • NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。