Configuration Space Distance Fields for Manipulation Planning
作者: Yiming Li, Xuemin Chi, Amirreza Razmjoo, Sylvain Calinon · RSS 2024
授權條款
- 開放取用
- 論文: CC BY 4.0
以下內容皆依據論文全文,依其 CC BY 4.0 授權條款使用;圖表已標示作者。
一句話摘要
直接在關節角上定義距離場,讓全身 IK 變成一步梯度投影,並使規劃器在 7-DoF Franka 上避開 SDF 造成的局部極小值。
為何重要
原本就以距離函數為輸入的規劃器與控制器(QP、iLQR、geometric fabrics)可以用 CDF 取代 SDF,直接在關節空間中運作。在平面機器人與 Franka 上,同樣的規劃器使用 CDF 時,成功率比使用 SDF 時更高、追蹤誤差更低。
問題
有號距離場通常定義在 3D 任務空間中,因此操作控制會先在那裡量測距離,再以迭代方式求解逆向運動學以找出關節運動。由於正向運動學是非線性的,從關節空間來看,這個場會失去單位梯度的性質,而基於梯度的求解器可能在梯度消失之處或奇異點停滯。
提出的方法
組態空間距離場(CDF)以弧度表示讓機器人任一部分與某一點接觸所需的最小關節運動;它滿足程函方程(eikonal equation),因此沿梯度投影即可抵達最近的接觸組態。接觸組態是離線針對工作空間中的每個網格點,以機器人 SDF 模型搭配批次 L-BFGS 求得;逐點的場在線上以取最小值運算融合;而一個 5 層 MLP(神經 CDF)則提供精簡、不需網格且可微分的版本。
關鍵見解
- 定義在關節角上的距離場保有單位範數梯度,因此針對接觸目標的全身 IK 可化簡為一次投影 q′ = q − f_c ∇f_c,不需要 Gauss-Newton 迭代。
- 場值只取決於接觸連桿之前的關節;當接觸組態樣本很少時,逐連桿取最小值可提升精度。
- 逐點的場可以預先計算,並在線上以取最小值(即組態空間中的聯集)加以組合,因此此表示法不依賴特定場景。
- 場的梯度會沿著在關節空間中繞過障礙物的彎曲路徑,這有助於反應式規劃器避開任務空間 SDF 中出現的局部極小值。
主要結果
- Franka 上從 10,000 個隨機初始組態出發的全身 IK(表 II):採用 2 步投影的 CDF 在 10.6 ms 內找到 8,773 個有效解;SDF + L-BFGS 在 971 ms 內找到 3,652 個,Neural-JSDF + L-BFGS 在 272 ms 內找到 264 個。內文表示這相當於每秒超過 700,000 個有效解,是 SDF 方法的 180 倍。
- 神經 CDF 的精度:經過 3 次投影迭代後,MAE 為 1.39 ± 0.51 cm,投影成功率為 91.1 ± 8.12%(門檻 3 cm);在 RTX 3090 上,批次大小為 1 時 GPU 推論耗時 0.49 ms,批次大小為 10^5 時為 4.61 ms。
- Franka 上 100 次執行的運動規劃:CDF 搭配 IPOPT、QRQP、OSQP、qpOASES 與 geometric fabrics 的成功率為 88–93%,SDF 則為 38–74%;iLQR 為 48% 對 38%。在 2-DoF 平面機器人上,CDF 達到 76–95%,SDF 為 40–68%。
- 模擬中的守門員任務(100 次投擲):使用 CDF 時手臂攔截到球的比例為 82%,使用 SDF 時為 35%。
- 雙臂大箱子接觸規劃:CDF + 篩選的規劃時間為 7.65 s、平均關節距離 1.37 rad,SDF + Gauss-Newton 最佳化則為 54.80 s 與 2.85 rad。
- 使用神經 CDF 的 QP 控制器執行頻率超過 200 Hz;神經 CDF 在一張 RTX 3090 上訓練約需 2 小時。
限制
- 此場不帶正負號,在接觸組態樣本很少時,對接近接觸的組態並不準確;作者建議加入符號資訊。
- 它是依據單一機器人的幾何與運動學建立,每種機器人型號都必須重新計算;擴展到完整人形機器人這類長運動鏈仍是待解問題。
- 離線計算很慢(找出接觸組態需要 1–10 s),網格版本的記憶體效率不佳,神經版本則犧牲了精度;作者指出網路訓練尚未完全最佳化。
- 距離是以角度(關節的歐氏)距離衡量;組態空間流形上的測地距離留待未來研究。
- 真實機器人規劃實驗只以定性方式呈現(圖 8),沒有成功率,而守門員任務只在模擬中進行。
對領域的影響
入圍 RSS 2024 傑出論文獎決選,被引用 48 次。官方專案頁面連結了程式碼:github.com/yimingli1998/cdf。
摘要
有號距離場是機器人領域常用的一種隱式形狀表示法,它以容易與控制、最佳化及學習技術結合的形式,提供物體與障礙物的幾何資訊。SDF 最常用來表示任務空間中的距離,這對應於我們在 3D 世界中所感知、熟悉的距離概念。然而,在數學上 SDF 也可以用於其他空間,包括機器人的組態空間。對機械手臂而言,這個組態空間通常對應於機器人每個關節的關節角。在機器人規劃中,習慣上會表達組態空間的哪些部分不會與障礙物碰撞,但較少把這項資訊視為組態空間中的距離場。在本文中,我們展示在機器人組態空間中考慮 SDF 以用於最佳化的潛力,我們稱之為組態空間距離場。與在任務空間中使用 SDF 類似,CDF 提供高效率的關節角距離查詢,並可直接取得導數。大多數方法把整體計算拆成兩部分,先在任務空間中計算一部分,接著在組態空間中計算另一部分。相對地,CDF 讓控制、最佳化與學習問題能以統一的方式運用這種隱式結構。具體而言,我們提出一種計算與融合 CDF 的高效率演算法,可推廣到任意場景。我們也提出對應的神經 CDF 表示法,使用多層感知器,以獲得精簡且連續的表示,同時提升計算效率。我們以平面避障範例,以及 7 軸 Franka 機器人上的逆向運動學與操作規劃任務,展示 CDF 的有效性。
連結
- arXiv 2406.01137: https://arxiv.org/abs/2406.01137
- DOI 10.48550/arXiv.2406.01137: https://doi.org/10.48550/arXiv.2406.01137
- PDF: https://arxiv.org/pdf/2406.01137v1
- 程式碼: https://github.com/yimingli1998/cdf
- 專案頁面: https://sites.google.com/view/cdfmp/home