Open Source Robotics

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

Foothold Planning

  • 又稱: footstep planning, foothold selection
  • 類別: Control › Locomotion control
  • 標籤: legged-locomotion, motion-planning, terrain, contact-planning, quadrupeds

利用地形資料與機器人的動力學,選擇足式機器人每隻腳的落點,讓每一步都穩定、可達且安全。

定義

落腳點規劃(Foothold planning)是為足式機器人的腳選擇接觸位置的問題。好的落腳點位於堅實、相當平坦且摩擦足夠的地面上,遠離邊緣與坑洞,腿能從機體規劃的位置搆到,並且能在這一步中維持機器人的平衡。對雙足機器人而言,這個問題常稱為腳步規劃(footstep planning),並包含每隻腳的方向;對四足機器人而言,它通常關乎每隻腳在步態序列中的位置。

傳統系統把移動分成數層。感知建立高程地圖,地形分析依坡度、粗糙度與到邊緣的距離為每個格子評分,落腳點規劃器挑選格子,再由較低層的控制器規劃能到達這些格子的機體運動與擺動軌跡。常見的規劃方法包括:把由 Raibert 規則等啟發式給出的名目落腳點,調整到附近評分最高的格子;在離散腳步序列上進行圖搜尋;以及最佳化,例如把每一步指派到數個凸安全區域之一的混合整數規劃。有些規劃器會把落腳點與機體運動一起最佳化,從而同時處理可達性與動態平衡。

學習改變了這個局面。在模擬中訓練的策略可以接收高度取樣或原始深度影像,直接輸出關節指令,隱式地選擇落腳點,這避免了在分開的建圖、規劃與控制模組之間累積的誤差。在需要保證、可解釋性或精確落點的情況,例如在踏腳石上,明確的落腳點規劃仍然有用;而混合式系統則用學習模型為以模型為基礎的控制器評分或提出落腳點。

為何重要

在崎嶇地形上,腳落在哪裡決定了機器人能否維持平衡。落腳點規劃把地形感知轉換成具體的接觸決策,而它是明確進行還是在學習式策略內部進行,會影響足式機器人應付樓梯、瓦礫與間隙的可靠程度。

主要應用

  • 四足機器人的爬樓梯與崎嶇地形移動
  • 人形機器人在雜亂空間中的腳步規劃
  • 跨越間隙與踏腳石
  • 在非結構化地面上的行星機器人與巡檢機器人
  • 用於比較學習式移動策略的模型式基準

實際應用

一台穿越踏腳石場地的四足機器人,使用由其深度攝影機建立的高程地圖。地形濾波器把坡度陡、粗糙度高或靠近邊緣的格子標記為無效。對於接下來的每一步,規劃器從步態與期望速度給出的名目落腳點出發,在一個小鄰域中搜尋成本最低的有效格子,並檢查腿能否從規劃的機體位姿搆到它。選定的落腳點會交給模型預測控制器,由它規劃機體運動與接觸力,而擺動控制器則把每隻腳抬得夠高,以越過石塊邊緣。在地圖不確定的地方,成本函數會偏好較靠近每塊石頭中心的落腳點。

常見誤解

  • 落腳點規劃只適用於緩慢、靜態穩定的步行 — 現代規劃器在短時域內同時規劃落腳點與機體運動,因此能處理動態步態
  • 學習式移動策略不會選擇落腳點 — 它們仍然決定腳落在哪裡,只是根據感知隱式地決定,而不是透過獨立的規劃器
  • 最平坦的格子一定是最好的落腳點 — 可達性、與邊緣的距離、接下來的步伐以及機體的動量,都會影響一個落腳點好不好

誰需要了解

  • 足式移動工程師
  • 為足式機器人建立地形地圖的感知工程師
  • 運動規劃研究人員
  • 人形機器人開發人員

相關技術

  • 高程地圖建置(Elevation Mapping)
  • Raibert 啟發式(Raibert Heuristic)
  • 混合整數凸最佳化(Mixed-Integer Convex Optimization)
  • A 搜尋(A Search)
  • 模型預測控制(Model Predictive Control)

相關術語

  • Elevation Map
  • Terrain Traversability
  • Mixed-Integer Programming
  • Quadruped
  • Gait
  • Model Predictive Control

相關專案

  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • 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

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