Ruckig
供機器人與機器使用的即時、受加加速度限制之時間最佳軌跡生成
授權條款
MIT
概述
Ruckig 是一個供機器人與機器使用的即時運動生成函式庫,能即時計算時間最佳、受加加速度限制的軌跡。它從任意初始狀態出發,生成通往目標路徑點(含位置、速度與加速度)的軌跡,並受速度、加速度與加加速度約束限制,保證狀態到狀態運動的解為時間最佳。
Ruckig 是第一個能處理任意目標狀態的 Type V 軌跡生成器,比 Reflexxes Type IV 函式庫更強大、更快速。它的計算時間低於一毫秒,適用於短至 250 微秒的控制週期,位置/速度的數值精度在 1e-8 以內,限制值則在 1e-12 以內,並已透過超過 50 億條隨機軌跡驗證。
核心函式庫以 C++ 撰寫,零相依性,支援 C++20 到 C++03,並可透過 pip 取得 Python 綁定。它可整合主要的機器人框架,包括作為軌跡處理外掛的 MoveIt 2(ROS 2)、CoppeliaSim,以及用於控制 Franka Emika 機器人的 Frankx。
由卡爾斯魯厄理工學院(KIT)開發,並於 RSS 2021 發表。
Ruckig 是一個即時運動生成函式庫,能即時計算機器人與機器在時間上最佳、受急動度(jerk)限制的軌跡。它由卡爾斯魯厄理工學院(KIT)開發並發表於 RSS 2021,已成為機器人領域部署最廣泛的開源運動規劃元件之一,在正式生產環境中已計算超過 50 億條軌跡。
此函式庫是第一個適用於任意目標狀態的 Type V 軌跡產生器,超越了知名的 Reflexxes Type IV 函式庫的能力。給定任意初始狀態(位置、速度、加速度),以及帶有速度/加速度/急動度限制的目標航點,Ruckig 能在不到一毫秒內計算出數學上最佳的軌跡,速度足以應付短至 250 微秒的控制週期。數值精度經驗證,位置/速度誤差在 1e-8 以內,限制誤差在 1e-12 以內。
Ruckig 以 C++ 撰寫,零外部依賴,支援從 C++03 到 C++20 的編譯器標準,並可透過 pip 安裝 Python 綁定。零依賴的設計讓它能輕鬆整合到任何機器人軟體堆疊中。此函式庫已整合進 MoveIt 2(ROS 2)作為軌跡處理外掛、用於模擬的 CoppeliaSim,以及用於 Franka Emika 機器人控制的 Frankx。
數學上的嚴謹、即時效能與無縫整合的結合,使 Ruckig 成為全球研究實驗室與工業機器人公司的標準元件。
為何重要
平順且限制加加速度的軌跡生成,是機器人在真實世界運作的關鍵。Ruckig 提供零相依性的即時解決方案,已整合進 MoveIt 2,並為數百個研究實驗室與公司所使用。
解決的問題
為必須即時回應感測器輸入的機器人,即時生成平順、限制加加速度的運動曲線,同時遵守速度、加速度與加加速度約束
重點
- 在一毫秒內完成時間最佳、受加加速度限制的軌跡生成
- C++ 核心零相依性,易於整合進任何機器人軟體堆疊
- 開箱即整合於 MoveIt 2(ROS 2)與 CoppeliaSim
- 已透過 50 億條以上的隨機軌跡驗證,限制值精度達 1e-12
適用對象
- 機器手臂開發者
- 運動規劃工程師
- ROS 2 / MoveIt 開發者
- 工業自動化工程師
限制
- 社群版不支援中間路徑點的計算(Pro 版功能)
- 位置限制僅於 Pro 版提供
- 任意訊號的追蹤介面需要 Pro 版
- Python API 文件不如 C++ 完整