Template Function pinocchio::getJointKinematicHessian(const ModelTpl<Scalar, Options, JointCollectionTpl>&, const DataTpl<Scalar, Options, JointCollectionTpl>&, const Model::JointIndex, const ReferenceFrame, Tensor<Scalar, 3, Options>&)

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
inline void pinocchio::getJointKinematicHessian(const ModelTpl<Scalar, Options, JointCollectionTpl> &model, const DataTpl<Scalar, Options, JointCollectionTpl> &data, const Model::JointIndex joint_id, const ReferenceFrame rf, Tensor<Scalar, 3, Options> &kinematic_hessian)

Retrieves the kinematic Hessian of a given joint according to the values aleardy computed by computeJointKinematicHessians and stored in data. While the kinematic Jacobian of a given joint frame corresponds to the first order derivative of the placement variation with respect to \( q \), the kinematic Hessian corresponds to the second order derivation of placement variation, which in turns also corresponds to the first order derivative of the kinematic Jacobian. The frame in which the kinematic Hessian is precised by the input argument rf.

Remark

This function is also related to

See also

computeJointKinematicHessians. kinematic_hessian has to be initialized with zero when calling this function for the first time and there is no dynamic memory allocation.

Template Parameters:
  • Scalar – Scalar type of the kinematic model.

  • Options – Alignement options of the kinematic model.

  • JointCollection – Collection of Joint types.

  • ConfigVectorType – Type of the joint configuration vector.

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

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

  • joint_id[in] Index of the joint in model.

  • rf[in] Reference frame with respect to which the derivative of the Jacobian is expressed

  • kinematic_hessian[out] Second order derivative of the joint placement w.r.t. \( q \) expressed in the frame given by rf.