Open Source Robotics

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

Potential Field

  • 又稱: artificial potential field, APF
  • 類別: Planning & manipulation › Motion planning
  • 標籤: motion-planning, obstacle-avoidance, reactive-control, navigation, gradient-descent

一種規劃與控制方法:目標產生吸引,障礙物產生排斥,機器人沿著合成勢的梯度運動;簡單且具反應性,但容易陷入局部極小值。

定義

在人工勢場(artificial potential field)法中,機器人被視為在一個純量場 U(q) 中運動的質點,該純量場定義在它的工作範圍或組態空間上。吸引勢(通常是到目標距離的二次函數)把它拉向目標。排斥勢在機器人接近障礙物時急遽增大,在影響距離之外則為零,把它推離障礙物。機器人被指令沿著負梯度 −∇U 運動,負梯度扮演虛擬力的角色。Khatib(1986)提出這個方法,用於機器手臂與移動機器人的即時避障,他把虛擬力施加在手臂上的若干點,並透過雅可比矩陣的轉置把它們映射成關節扭矩。

它的吸引人之處在於計算是局部的,而且成本很低。每一步只需要目前到附近障礙物的距離,因此這個方法能對移動中的障礙物立即反應,並以控制頻率執行。主要的限制是,沿著梯度運動會停在 U 的任何局部極小值,也就是吸引力與排斥力互相抵消的地方:機器人可能被困在 U 形障礙物內,或停在兩個相距很近的障礙物之間的縫隙前。勢場在狹窄通道中也可能振盪;當障礙物緊鄰目標時,排斥作用可能讓機器人無法抵達目標。

有幾種補救方法。由 Rimon 與 Koditschek 提出的導航函數,是針對某些類別的環境所建構、只在目標處有一個極小值的勢函數;調和勢函數則透過其建構方式避免了虛假的極小值。更常見的做法,是把勢場與提供中間路徑點的全域規劃器結合,與用來脫離極小值的隨機運動結合,或是把它當成以最佳化為基礎之控制器中的一項。沿著由目標與障礙物建構的成本之梯度下降,這個想法以其他名稱出現在當前的研究中,例如軌跡最佳化器中的有號距離場成本,以及用於反應式操作的動態組合成本地形。

為何重要

勢場是取得反應式避障最簡單的方法之一,而它的局部極小值問題,是說明為何要把反應式控制與全域規劃結合的標準例子。沿著目標與障礙物成本的梯度運動,至今仍是許多反應式控制器與軌跡最佳化器的核心。

主要應用

  • 移動機器人的反應式避障
  • 機器手臂在人員或移動物體附近的即時防碰撞
  • 具機器人間排斥作用的多機器人與群體協調
  • 無人機在雜亂空間中的導航
  • 位於全域路徑規劃器之下的局部控制層
  • 軌跡最佳化與反應式操作中的成本項

實際應用

一台小型差速驅動機器人使用 2D 光達在實驗室中移動。每次掃描時,控制器計算一個指向下一個路徑點的吸引力,以及來自設定影響距離內每一個光達回波的排斥力,將它們加總,再把結果轉換成線速度與角速度指令。機器人不需重新規劃,就能繞過走過的人。當它被困在兩張桌子形成的角落時,團隊根據目標仍很遠、速度卻接近零來偵測這種停滯,並讓全域規劃器在障礙物周圍插入一個中間路徑點。他們也為排斥力設定上限,並將指令速度平滑化,避免機器人在門口振盪。

常見誤解

  • 沿著勢場運動一定能抵達目標 — 沿著梯度運動可能停在吸引力與排斥力互相抵消的局部極小值
  • 勢場是一種完備的規劃方法 — 它是局部且反應式的,在必須保證取得路徑時,通常會搭配全域規劃器使用
  • 排斥越強,機器人一定越安全 — 過強或範圍過寬的排斥可能堵住狹窄通道並造成振盪

誰需要了解

  • 移動機器人與導航工程師
  • 從事防碰撞的機器手臂控制工程師
  • 多機器人與無人機開發者
  • 學習經典運動規劃的學生

相關技術

  • 導航函數(Navigation Functions)
  • Vector Field Histogram
  • Dynamic Window Approach
  • 有號距離場(Signed Distance Fields)
  • 操作空間公式(Operational Space Formulation)

相關術語

  • Obstacle Avoidance
  • Motion Planning
  • Configuration Space
  • Signed Distance Field
  • Operational Space Control
  • Control Barrier Function

相關專案

  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
  • OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
  • MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking

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