loco-3d/crocoddyl

Crocoddyl is an optimal control library for robot control under contact sequence. Its solver is based on various efficient Differential Dynamic Programming (DDP)-like algorithms

解決的問題

Crocoddyl 是一個專為接觸序列下的機器人控制設計的最優控制函式庫。它讓開發者能夠計算機器人的最優軌跡與回饋增益,特別適用於處理與環境複雜互動(多接觸)的機器人。

工作原理

該函式庫實作了高效的微分動態規劃(DDP)演算法。它利用 Pinocchio 函式庫實現機器人動力學的快速計算與解析導數,並支援微分幾何。提供多種求解器(如 FDDP、OdynSQP、Intro 和 Ipopt),並支援多種積分器、代價函數與約束條件。

適用對象

適用於需要高效率最優控制與軌跡最佳化的機器人研究人員與工程師。

主要亮點

  • 多樣化求解器:包含 FDDP、OdynSQP、Intro 等多種最優控制求解器。
  • 高效率:採用快取友善設計,並透過 OpenMP 支援多執行緒。
  • 靈活整合:透過 Boost Python 提供 Python 繫結,並符合 C++11 至 C++20 標準。
  • 進階數學支援:支援解析與稀疏導數、數值微分,以及透過 CppAD 實現的自動微分。
  • 程式碼生成:可透過 CppADCodeGen 產生 C++ 與 Python 程式碼。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案