No version for distro humble showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

No version for distro jazzy showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

No version for distro kilted showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

No version for distro github showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

No version for distro galactic showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

No version for distro iron showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

No version for distro melodic showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange

No version for distro noetic showing rolling. Known supported distros are highlighted in the buttons above.
Package symbol

crocoddyl package from crocoddyl repo

crocoddyl

ROS Distro
rolling

Package Summary

Tags No category tags.
Version 3.2.0
License BSD-3-Clause
Build type CMAKE
Use RECOMMENDED

Repository Summary

Description 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
Checkout URI https://github.com/loco-3d/crocoddyl.git
VCS Type git
VCS Version devel
Last Updated 2025-12-09
Dev Status MAINTAINED
Released UNRELEASED
Tags robotics conda motion-planning ros code-generation trajectory-optimization optimal-control differential-dynamic-programming legged-robotics model-predictive-control crocoddyl
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Crocoddyl optimal control library

Additional Links

Maintainers

  • Carlos Mastalli
  • Wolfgang Merkt
  • Guilhem Saurel

Authors

No additional authors.

Crocoddyl Logo

Documentation AUR package nixpkgs stable 24.05 package nixpkgs unstable package Code style: black </p> ## Introduction **[Crocoddyl](https://cmastalli.github.io/publications/crocoddyl20icra.html)** is an optimal control library for robot control under contact sequence. Its solvers are based on novel and efficient differential dynamic programming (DDP) algorithms. **Crocoddyl** computes optimal trajectories and feedback gains. It uses **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** for fast computation of robot dynamics and analytical derivatives. If you want to learn more about **Crocoddyl** and its solvers, we suggest reading [[1]](#1) [[2]](#2) [[3]](#3) and visiting [PUBLICATIONS.md](https://github.com/loco-3d/crocoddyl/blob/master/PUBLICATIONS.md). If you want to follow the current developments and contribute, please directly refer to the [devel branch](https://github.com/loco-3d/cddp/tree/devel). ## :crocodile: Crocoddyl features

**Crocoddyl** is versatile: * Various optimal control solvers (DDP, FDDP, BoxFDDP, Ipopt, etc) * Analytical and sparse derivatives via **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Differential geometry support leveraging **[Pinocchio](https://github.com/stack-of-tasks/pinocchio)** * Various integrators, dynamics, costs and constraints * Numerical differentiation support * Automatic differentiation support via **[CppAD](https://github.com/coin-or/CppAD)** **Crocoddyl** is efficient and flexible: * Cache friendly * Multi-threading support via **[OpenMP](https://www.openmp.org/)** * Python bindings (including abstractions) via **[Boost Python](https://wiki.python.org/moin/boost.python)** * C++11/14/17/20 compliant * Extensively tested * Code generation in both C++ and Python via **[CppADCoGen](https://github.com/joaoleal/CppADCodeGen)** ## :penguin: Installation **Crocoddyl** can be easily installed on various Linux (Ubuntu, Fedora, etc.) and Unix distributions (Mac OS X, BSD, etc.). Below, there are different ways to install Crocoddyl. ### On ArchLinux With your favorite AUR helper, eg. paru: ```bash paru -Syu crocoddyl ``` ### :dragon: From Just run the following command in the terminal: ```bash conda install crocoddyl -c conda-forge ``` Conda installation supports [![conda install](https://anaconda.org/conda-forge/crocoddyl/badges/platforms.svg)](https://anaconda.org/conda-forge/crocoddyl). ### From Nix `crocoddyl` & `python3Packages.crocoddyl` are available in [nixpkgs](https://github.com/NixOS/nixpkgs/). This repository is also a flake, so you may: - run a python shell with crocoddyl: `nix run github:loco-3d/crocoddyl` - use it in your own flake: `crocoddyl.url = "github:loco-3d/crocoddyl";` The build cache use by CI and developers is [gepetto.cachix.org](https://app.cachix.org/cache/gepetto) ### :snake: From Just run the following command in the terminal: ```bash pip install --user crocoddyl ``` ### :turtle: With ROS Just clone it (with `--recursive`) into a catkin workspace and compile it. ### :package: From Debian / Ubuntu packages, with [robotpkg](http://robotpkg.openrobots.org) 1. If you have never added robotpkg's software repository, [do it now](http://robotpkg.openrobots.org/debian.html): ```bash sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF File truncated at 100 lines [see the full file](https://github.com/loco-3d/crocoddyl/tree/devel/./README.md)
CHANGELOG

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[3.2.0] - 2025-12-09

  • Introduced the actuation limits to handle thrusters and general action models in https://github.com/loco-3d/crocoddyl/pull/1455
  • Introduced safe difference and integration functions for states in https://github.com/loco-3d/crocoddyl/pull/1448
  • ROS: jrl_cmakemodules dependency + kilted CI in https://github.com/loco-3d/crocoddyl/pull/1441

[3.1.0] - 2025-10-02

  • Allow use of BUILD_STANDALONE_PYTHON_INTERFACE CMake option in https://github.com/loco-3d/crocoddyl/pull/1434
  • Migrated notebooks to Meshcat in https://github.com/loco-3d/crocoddyl/pull/1404
  • Updated the rotation transpose in contact wrench cone to re-use the same object to avoid additional transpose operations. https://github.com/loco-3d/crocoddyl/pull/1343
  • Switched to a multiply operation instead of divide for efficiency. https://github.com/loco-3d/crocoddyl/pull/1343
  • Fix Python bindings of action getters in https://github.com/loco-3d/crocoddyl/pull/1374
  • Created independent Python modules associated to each scalar in https://github.com/loco-3d/crocoddyl/pull/1372
  • Introduced CodeGen and AutoDiff in Python + pre-compiled headers in https://github.com/loco-3d/crocoddyl/pull/1370
  • Introduced explicit template instantiation in https://github.com/loco-3d/crocoddyl/pull/1367
  • Fixed error message building crocoddyl.launch crocoddyl.rviz as Python files in https://github.com/loco-3d/crocoddyl/pull/1369
  • Created Python bindings for (diff)-action getters in https://github.com/loco-3d/crocoddyl/pull/1362
  • Enabled casting and multi-scalar Python bindings in https://github.com/loco-3d/crocoddyl/pull/1346
  • Compute LU decomposition using permutationP in https://github.com/loco-3d/crocoddyl/pull/1351
  • Force DifferentialActionDataContactInvDynamics to update df_du for all contacts in https://github.com/loco-3d/crocoddyl/pull/1348
  • Add a nix shortcut start jupyter lab, with eg. `nix run .#jupyter in https://github.com/loco-3d/crocoddyl/pull/1396

[3.0.1] - 2025-03-21

  • Add install version in https://github.com/loco-3d/crocoddyl/pull/1355
  • Removed absolute path for boost library in https://github.com/loco-3d/crocoddyl/pull/1353
  • Fixed checking of positive semi-define condition in LQR problems in https://github.com/loco-3d/crocoddyl/pull/1352

[3.0.0] - 2025-03-19

  • :warning: BREAKING: replaced boost shared pointers by std ones in https://github.com/loco-3d/crocoddyl/pull/1339
  • :warning: BREAKING: require pinocchio >= 3.4.0

[2.2.0] - 2025-02-10

  • Changed return policy in std::vector of Eigen’s vector and matrices to be compliant with Pinocchio in https://github.com/loco-3d/crocoddyl/pull/1338
  • Prevent users to improperly setting residual references in https://github.com/loco-3d/crocoddyl/pull/1332
  • Fixed the inequality constraints’ feasibility computation by incorporating bounds into the calculation in https://github.com/loco-3d/crocoddyl/pull/1307
  • Improved the action factory used for unit testing in https://github.com/loco-3d/crocoddyl/pull/1300
  • Ignore ruff issues in ipython notebook files in https://github.com/loco-3d/crocoddyl/pull/1297
  • Improved efficiency for computing impulse-dynamics derivatives in https://github.com/loco-3d/crocoddyl/pull/1294
  • Fixed bug of wrench cone fields not being updated with setters in https://github.com/loco-3d/crocoddyl/pull/1274
  • Replaced parent by parentJoint (which was introduced in Pinocchio 3) in https://github.com/loco-3d/crocoddyl/pull/1271
  • Introduced the notion of terminal dimension, residuals and constraints in https://github.com/loco-3d/crocoddyl/pull/1269
  • General clean ups about std::size_t in https://github.com/loco-3d/crocoddyl/pull/1265
  • Fixed issues in LQR extensions in https://github.com/loco-3d/crocoddyl/pull/1263
  • Computed dynamic feasibility everytime in https://github.com/loco-3d/crocoddyl/pull/1262
  • Extend LQR actions in https://github.com/loco-3d/crocoddyl/pull/1261
  • Print log with grad absolute + updated logs with Pinocchio 3 in https://github.com/loco-3d/crocoddyl/pull/1260

[2.1.0] - 2024-05-31

  • Updated black + isort + flake8 to ruff in https://github.com/loco-3d/crocoddyl/pull/1256
  • Exported version for Python in https://github.com/loco-3d/crocoddyl/pull/1254
  • Added pinocchio 3 preliminary support in https://github.com/loco-3d/crocoddyl/pull/1253
  • Updated CMake packaging in https://github.com/loco-3d/crocoddyl/pull/1249
  • Fixed ruff reported error in https://github.com/loco-3d/crocoddyl/pull/1248
  • Fixed yapf reported errors in https://github.com/loco-3d/crocoddyl/pull/1238
  • Tested Python stubs in Conda CI in https://github.com/loco-3d/crocoddyl/pull/1228
  • Fixed Rviz display in https://github.com/loco-3d/crocoddyl/pull/1227
  • Improved CI, updated cmake and fixed launch file in https://github.com/loco-3d/crocoddyl/pull/1220
  • Introduced a Rviz display in https://github.com/loco-3d/crocoddyl/pull/1216
  • Enabled display of thrust and simplied displayers code in https://github.com/loco-3d/crocoddyl/pull/1215
  • Introduced floating base thruster actuation model in https://github.com/loco-3d/crocoddyl/pull/1213
  • Fixed quadruped and biped examples in https://github.com/loco-3d/crocoddyl/pull/1208
  • Fixed terminal computation in Python models in https://github.com/loco-3d/crocoddyl/pull/1204
  • Fixed handling of unbounded values for ActivationBounds in https://github.com/loco-3d/crocoddyl/pull/1191

[2.0.2] - 2023-12-07

  • Added nu, ng, and nh setters for Python bindings in https://github.com/loco-3d/crocoddyl/pull/1192
  • Added CHANGELOG.md in https://github.com/loco-3d/crocoddyl/pull/1188
  • Supported nu==0 in actuation models in https://github.com/loco-3d/crocoddyl/pull/1188
  • Included Python bindings for Crocoddyl exceptions by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1186
  • Updated cmake submodule update by @jcarpentier in https://github.com/loco-3d/crocoddyl/pull/1186
  • Fixed getters for contraints bounds by skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1180
  • Extended solver abstract and callbacks for arbitrary solvers by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1179
  • Fixed the check of pair_id in collision residual by @ArthurH91 in https://github.com/loco-3d/crocoddyl/pull/1178
  • Exploited control-residual structure when computing Lu, Luu by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1176
  • Added LWA fram convention and introduced different axis for 1d contacts by @skleff1994 in https://github.com/loco-3d/crocoddyl/pull/1172
  • Python bindings for setting control bounds by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1171
  • Fixed missed scalar in cost sum and activation data by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1165
  • Added actuation unit tests by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1161
  • Introduced method for obtaining the dimension of floating-bases by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1160
  • Fixed set_reference in state residual by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1158
  • Enabled CONDA CI jobs with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1156
  • Added other CI jobs by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1152
  • Fixed compiltation issue when building with CppADCodeGen by @cmastalli in https://github.com/loco-3d/crocoddyl/pull/1151
  • Fixed include order used in frames.cpp by @ManifoldFR in https://github.com/loco-3d/crocoddyl/pull/1150

[2.0.1] - 2023-06-17

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged crocoddyl at Robotics Stack Exchange