MENU

Fun & Interesting

Tutorial - Crocoddyl - Nicolas Mansard

Video Not Working? Fix It Now

Crocoddyl is an optimal control solver targeting whole-body model predictive control on the manipulator and legged robots. It is built from the beginning on the separation between the front-end (graph of cost and constraints, integration, evaluation of the function and their derivatives) and the back-end (numerical constrained solver). While offering a generic interface, the front end is mostly built upon the rigid body dynamic library Pinocchio, which empowers Crocoddyl with a very efficient evaluation of the costs, dynamics, and their derivatives and offering the possibility to code-generate the whole computational pipelines. For legged robots, contact constraints are directly handled inside the robot dynamic and solved with an original algorithm, enabling robust and efficient evaluation. The evaluation graph is built following the "discretize first, solve second" approach, enabling a complete decoupling of the back-end and the front-end. Several back-end solvers are proposed, mostly implementing variations of the DDP algorithm. The main DDP solver implements a multiple shooting strategy and box constraints. We are releasing an equality/inequality-constraint augmented Lagrangian solver and a solver able to consider external parameters (such as contact location, timings, or codesign parameters). Crocoddyl has been used for implementing online whole-body model predictive control with low-level torque servo on humanoid, manipulator, and quadruped robots. Guidelines for reproducing the controllers will be proposed. Crocoddyl is also a living international collaboration based on open sourcing and BSD-3 licensing. It features lead developments by LAAS-CNRS, Inria Paris, University of Edinburgh, University of Oxford, University of Trento, Max Planck Institute, or NY University. We are happy to guide new users, and contributions are welcome.

Comment