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 代码。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目