Open Source Robotics

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

Elastic band

  • 又稱: elastic bands, elastic band method
  • 類別: Planning & manipulation › Motion planning
  • 標籤: motion-planning, local-planning, obstacle-avoidance, path-deformation, mobile-robots

一種局部的路徑變形方法,把規劃好的路徑當作一條可伸縮的帶,由內部力拉緊、由外部力推離障礙物,因而能即時適應。

定義

彈性帶(elastic band)是一種即時變形路徑的方法,由 Quinlan 與 Khatib 於 1993 年提出,用來連接全域路徑規劃與反應式控制。來自全域規劃器的無碰撞路徑被表示為一串點,或一串氣泡,也就是圍繞每個點、大小由到最近障礙物的距離決定的自由空間區域。接著,這條帶被當作一個實體物件來處理。內部收縮力就像相鄰點之間的彈簧,把帶拉緊,讓它變得更短、更平滑。外部力由障礙物周圍的排斥勢導出,把帶推離障礙物。每個控制週期,帶都會朝這些力的平衡狀態鬆弛,因此當障礙物移動或出現新的障礙物時,路徑會繞著它彎曲,同時保持起點與終點不變。

氣泡讓帶保持相連:只要相鄰的氣泡彼此重疊,它們之間的直線段就沒有碰撞;帶被拉長或縮短時,會隨之增加或刪除點。由於只是讓路徑變形而不是重新計算,這種方法快到足以在控制迴路中執行。後續研究把這個概念延伸到用於移動機器手臂的彈性條,它讓工作範圍中一系列整台機器人的組態變形;也延伸到時間彈性帶(Timed Elastic Band),它在姿態之間加入時間間隔,並求解一個帶有速度、加速度與運動學限制條件的稀疏最佳化問題。時間彈性帶在 ROS 中可作為區域規劃器使用。

彈性帶不同於勢場方法:後者讓機器人直接沿著吸引勢與排斥勢的梯度移動;而在這裡,力作用於一條已經把起點連到終點的完整路徑上,因此機器人不會困在可能讓純勢場控制器停下的局部極小值中。它仍然是一種局部方法。帶只能連續變形,所以無法跳到另一種繞過障礙物的方式,例如改從左側而不是右側通過;如果障礙物切斷了帶,或通道被封閉,就必須由全域規劃器提供新的路徑。因此,有些變體會在不同的同倫類中保留幾條候選帶。

為何重要

在變動環境中的機器人,需要能在一個控制週期內對移動障礙物做出反應、又不必捨棄全域規劃的路徑。彈性帶及其後繼方法,是為移動機器人與機器手臂提供這種反應層的標準方式,而這種以力為基礎的路徑模型,也被用來為其他用途產生平滑且考量障礙物的軌跡。

主要應用

  • 移動機器人的區域規劃與避障
  • 繞過移動中的人與物體的即時路徑變形
  • 透過彈性條實現移動機器手臂的反應式運動
  • 把全域規劃器給出的路徑平滑化並縮短
  • 為訓練資料與示範產生考量障礙物的軌跡

實際應用

一台倉儲移動機器人從一個以網格為基礎的規劃器收到一條沿著走道的全域路徑。它的區域規劃器把路徑接下來的幾公尺表示為一條時間彈性帶。當有人走進走道時,光達代價地圖記錄到一個新的障礙物,帶上的點被推離它,最佳化過程讓路徑繞過這個人彎曲,同時遵守機器人的速度與加速度限制以及最小轉彎半徑。機器人沿著變形後的路徑前進;這個人走過之後,收縮項會把帶拉回原本的直線。如果走道被完全堵住,帶就無法變形成一條可行的路徑,導航堆疊便會請全域規劃器提供新的路線。

常見誤解

  • 彈性帶是一種全域規劃器 — 它讓既有的路徑變形,需要全域規劃器提供初始路線,並在帶斷開時重新規劃
  • 彈性帶只不過是勢場 — 勢場直接移動機器人,而彈性帶把力施加在一條已經抵達目標的完整路徑上,因而避開會困住純勢場控制器的局部極小值
  • 彈性帶能找到最短路徑 — 它收斂到一條局部較短、平滑的路徑,這條路徑從與初始路徑相同的一側繞過障礙物,未必是全域最短的

誰需要了解

  • 移動機器人導航工程師
  • 研究反應式規劃的運動規劃研究人員
  • 設定 ROS 導航區域規劃器的工程師
  • 學習規劃與控制的機器人學學生

相關技術

  • 時間彈性帶(Timed Elastic Band)
  • 彈性條(Elastic Strips)
  • ROS 導航堆疊(ROS Navigation Stack)
  • 人工勢場(Artificial Potential Fields)
  • 動態視窗法(Dynamic Window Approach)

相關術語

  • Potential Field
  • Obstacle Avoidance
  • Trajectory Planning
  • Motion Planning
  • Probabilistic Roadmap

相關專案

  • 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 以瀏覽我們的開源機器人專案。