Skip to content

Frequently Asked Questions

Carlos Mastalli edited this page Apr 25, 2019 · 6 revisions

Does Crocoddyl depend on Pinocchio?

No, it doesn't; Crocoddyl main core classes are agnostic to any physics engine. However, we have conveniently defined different action and cost models that strictly depend on Pinocchio.


Why do we need to define data classes for action and cost models?

Crocoddyl has been designed to be efficient. Creating data structures allow us to define static methods and to avoid waste of time with dynamic memory allocation.


Is the Crocoddyl API compatible with the use of polynomials for the control trajectory?

Yes, it is. Polynomials can be implemented by modifying the integration classes, however, we have only implemented piecewise constant at the moment.


Is the Crocoddyl API compatible with soft contact models?

Yes, it is. You can model soft contact dynamics through a dedicated differential action model. So far, we haven't implemented yet.


Is Crocoddyl compatible with line contacts, point contacts, rolling and surface contacts?

Yes, it is with the exception of line contacts.


What about handling different representations for the motion constraint and the associated contact forces?

This would break the symmetry of the KKT matrix for the dynamics, making it more difficult to solve the problem. We shouldn't do do that.