Open Source Robotics

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

Differential Flatness

  • 又稱: flatness, differentially flat system, flat outputs
  • 類別: Planning & manipulation › Trajectory optimisation
  • 標籤: nonlinear-control, trajectory-generation, quadrotor, motion-planning, feedforward-control, aerial-robotics

某些非線性系統的一種性質:其完整狀態與輸入可寫成少數幾個平坦輸出及其導數的函數,大幅簡化軌跡規劃與控制。

定義

微分平坦性(differential flatness)是某些非線性動態系統的一種結構性質,由 Michel Fliess、Jean Lévine、Philippe Martin 與 Pierre Rouchon 於 1990 年代形式化。若存在一組輸出(稱為平坦輸出,數量與控制輸入相同),使每個狀態與每個輸入都能表示成這些輸出及其有限階時間導數的函數,則該系統就是微分平坦的。實際上,只要選定平坦輸出隨時間如何移動,就完全決定了整個系統必須如何移動,以及它需要哪些輸入。

這把一個困難的規劃問題轉成一個較容易的問題。規劃器不必在輸入上搜尋並對非線性動態積分,而是可以為平坦輸出畫出任何足夠平滑的曲線,例如通過路徑點的多項式或樣條,再直接算出對應的狀態與輸入。輸入限制這類約束會變成對曲線導數的約束。前饋指令出自同一個計算,回饋控制器只需修正小幅偏差。

四旋翼是機器人領域最知名的例子。Mellinger 與 Kumar 在 2011 年證明,以三維位置與偏航角作為平坦輸出時,四旋翼是微分平坦的。推力由位置的二階導數得出,姿態由所需加速度的方向得出,機體角速度與力矩則由更高階的導數得出。這就是四旋翼軌跡常以最小 snap 多項式產生的原因:snap,也就是位置的四階導數,與力矩輸入直接相關。其他平坦系統包括獨輪車型移動機器人、運動學車輛模型,以及拖曳拖車的車輛。

平坦性有其限制。許多系統並不平坦,而且沒有通用的檢驗方法能判定任意非線性系統是否平坦,或找出其平坦輸出。平坦性也仰賴準確的模型;空氣阻力、旋翼效應與其他未建模項都會破壞這個精確關係。平坦系統與回饋線性化密切相關,因為它們可以透過一種動態狀態回饋轉換成線性系統。

為何重要

微分平坦性讓規劃器能以閉合形式的計算,而非昂貴的非線性最佳化,來產生動態上可行的軌跡;這對每秒必須重新規劃許多次的敏捷載具十分重要。它是標準四旋翼軌跡產生與控制的基礎,也是許多輪式機器人規劃器的基礎。

主要應用

  • 四旋翼軌跡產生 — 通過路徑點的最小 snap 多項式規劃
  • 空中機器人的前饋控制 — 由規劃路徑計算姿態與推力參考值
  • 輪式移動機器人 — 為類車型與差速驅動載具規劃可行路徑
  • 牽引車-拖車系統 — 為拖曳拖車的車輛規劃操駕動作
  • 編隊飛行 — 為多架無人機產生協調且可行的軌跡

實際應用

無人機團隊通常會將路徑規劃為一連串路徑點,在時間與連續性約束下,為位置與偏航擬合使 snap 或 jerk 最小的分段多項式,並沿曲線計算導數來檢查推力與機體角速度限制。在每個控制步,平坦映射會把參考位置、速度、加速度、jerk 與偏航轉換成期望的姿態、推力與角速度,再送入幾何式或串級式姿態控制器。當飛行測試顯示出由阻力或下洗氣流造成的追蹤誤差時,工程師會在模型中加入阻力項,或學習一個修正量,同時保留以平坦性為基礎的架構。

常見誤解

  • 所有機器人都是微分平坦的 — 許多系統並不是,而要為特定系統找到平坦輸出往往很困難
  • 平坦性讓回饋變得不必要 — 它提供前饋參考值;仍需要回饋來處理擾動與模型誤差
  • 平坦性與回饋線性化是同一回事 — 兩者密切相關,但平坦性是系統的一種性質,主要用於規劃,而回饋線性化是一種控制設計技術

誰需要了解

  • 無人機與空中機器人工程師
  • 研究動態載具的運動規劃研究人員
  • 設計軌跡追蹤控制器的控制工程師
  • 研讀非線性控制的研究生

相關技術

  • 最小 snap 軌跡產生(Minimum-Snap Trajectory Generation)
  • 回饋線性化(Feedback Linearization)
  • 軌跡最佳化(Trajectory Optimization)
  • 幾何控制(Geometric Control)
  • 模型預測控制(Model Predictive Control)
  • 多項式樣條(Polynomial Splines)

相關術語

  • Trajectory Planning
  • Feedback Linearization
  • UAV
  • Model Predictive Control

相關專案

  • gym-pybullet-drones: PyBullet Gymnasium environments for single- and multi-agent drone reinforcement learning
  • 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

影片

  • lecture18 final clip3 differentialflatness: underactuated

維基百科

  • 平坦性

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