Template Function pinocchio::getKKTContactDynamicMatrixInverse

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl, typename ConstraintMatrixType, typename KKTMatrixType>
inline void pinocchio::getKKTContactDynamicMatrixInverse(const ModelTpl<Scalar, Options, JointCollectionTpl> &model, const DataTpl<Scalar, Options, JointCollectionTpl> &data, const Eigen::MatrixBase<ConstraintMatrixType> &J, const Eigen::MatrixBase<KKTMatrixType> &KKTMatrix_inv)

Computes the inverse of the KKT matrix for dynamics with contact constraints. It computes the following matrix:

Remark

The matrix is defined when one’s call forwardDynamics/impulseDynamics. This method makes use of the matrix decompositions performed during the forwardDynamics/impulseDynamics and returns the inverse. The jacobian should be the same that the one provided to forwardDynamics/impulseDynamics. Thus forward Dynamics/impulseDynamics should have been called first.

Parameters:
  • model[in] The model structure of the rigid body system.

  • data[in] The data structure of the rigid body system.

  • J[in] Jacobian of the constraints.

  • KKTMatrix_inv[out] inverse of the MJtJ matrix.