Open Source Robotics

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

Dubins Car

  • 又稱: Dubins vehicle
  • 類別: Planning & manipulation › Motion planning
  • 標籤: motion-planning, kinematics, nonholonomic, fixed-wing, path-planning

一種以固定速度前進、轉向速率有界的平面車輛模型;它在兩個姿態之間的最短路徑最多由三段圓弧與直線段構成。

定義

Dubins 車(Dubins car)是一種車輛的運動學模型,車輛只能以固定速度前進,而且轉彎不能比某個最小半徑更急。它的狀態是位置 (x, y) 與航向 θ,其運動遵循 ẋ = v cos θ, ẏ = v sin θ, θ̇ = u,且 |u| ≤ v / R_min。與允許任意前進速度、也能停車、倒車與原地轉向的單輪車模型相比,Dubins 車速度固定、曲率有界,因此既不能停下,也不能原地轉向。與單輪車一樣,它受到非完整約束:不能橫向移動。

此模型以 Lester Dubins 命名,他在 1957 年證明,在沒有障礙物的平面上,兩個姿態之間曲率有界的最短路徑最多由三段構成,每一段要不是直線(S),就是以最小半徑向左(L)或向右(R)轉彎的圓弧。只有六種組合可能是最佳的:LSL、RSR、LSR、RSL、LRL 與 RLR,因此規劃器可以用封閉形式算出每個候選路徑,並保留最短的那一條。Reeds 與 Shepp(1990)把這個結果延伸到也能倒車的車輛,得到 Reeds-Shepp 車,其最佳路徑族更大。

Dubins 路徑是固定翼飛機、船隻與類車機器人規劃中的標準元件。RRT 與 RRT* 等以取樣為基礎的規劃器把它當作局部轉向函數,涵蓋規劃器與路線規劃器則用它在曲率限制下排定航點順序。三維延伸通常稱為 Dubins 飛機,加入了具有有界爬升率或下降率的高度維度。此模型有一些值得記住的限制:實際車輛無法在左滿舵、直行與右滿舵之間瞬間切換,因此各段銜接處的曲率跳變必須由控制器平滑,或改用回旋曲線或其他曲率連續的路徑來規劃;而風或水流會以純模型忽略的方式改變對地速度。

為何重要

許多載具,包括固定翼無人機、船隻與高速行駛的汽車,確實只能向前移動並受最小轉彎半徑限制。Dubins 車以最簡單的模型掌握這一點,並提供封閉形式的最短路徑,因此成為這類載具規劃與控制的參考基準。

主要應用

  • 固定翼 UAV 的路徑規劃
  • 類車機器人以取樣為基礎之規劃器中的轉向函數
  • 海上載具的航點路線規劃
  • 受曲率限制的涵蓋路徑與巡檢路徑
  • 具有轉彎限制的路線問題,例如 Dubins 旅行推銷員問題

實際應用

一架固定翼測量無人機必須依序通過一系列航點,每個航點都有規定的航向。規劃器使用飛機在巡航速度下的最小轉彎半徑,並為風預留裕度,計算相鄰航點姿態之間的 Dubins 路徑,再把結果串成一條航線,由導引律逐段跟隨。當多架這類飛機需要協同時,例如在把固定翼飛機建模為 3D Dubins 載具的分散式路徑跟隨研究中,協同律必須在無法減速到停止或原地等待的情況下運作。

常見誤解

  • Dubins 車與單輪車模型是同一回事 — 單輪車可以改變速度、停下與原地轉向,Dubins 車則以固定速度前進且曲率有界
  • 實際車輛可以精確跟隨 Dubins 路徑 — 這些路徑含有曲率的瞬間變化,實際的轉向或傾斜轉彎必須將其平滑
  • Dubins 解在有障礙物時也是最佳的 — 六種路徑的結論只在無障礙平面上成立;有障礙物時,Dubins 線段只是更大規劃器中的局部連接

誰需要了解

  • 固定翼 UAV 導引與規劃工程師
  • 運動規劃研究人員
  • 海上載具與自駕車開發者
  • 學習非完整規劃的機器人學學生

相關技術

  • Reeds-Shepp 曲線(Reeds-Shepp Curves)
  • Dubins 飛機模型(Dubins Airplane Model)
  • 回旋曲線路徑(Clothoid Paths)
  • 開放運動規劃函式庫(Open Motion Planning Library,OMPL)
  • Hybrid A*

相關術語

  • Unicycle Model
  • Nonholonomic Constraint
  • RRT*
  • Trajectory Planning
  • UAV
  • Formation Control

相關專案

  • ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • 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
  • 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

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