Template Function pinocchio::computeRNEADerivatives(const ModelTpl<Scalar, Options, JointCollectionTpl>&, DataTpl<Scalar, Options, JointCollectionTpl>&, const Eigen::MatrixBase<ConfigVectorType>&, const Eigen::MatrixBase<TangentVectorType1>&, const Eigen::MatrixBase<TangentVectorType2>&, const Eigen::MatrixBase<MatrixType1>&, const Eigen::MatrixBase<MatrixType2>&, const Eigen::MatrixBase<MatrixType3>&)

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl, typename ConfigVectorType, typename TangentVectorType1, typename TangentVectorType2, typename MatrixType1, typename MatrixType2, typename MatrixType3>
inline void pinocchio::computeRNEADerivatives(const ModelTpl<Scalar, Options, JointCollectionTpl> &model, DataTpl<Scalar, Options, JointCollectionTpl> &data, const Eigen::MatrixBase<ConfigVectorType> &q, const Eigen::MatrixBase<TangentVectorType1> &v, const Eigen::MatrixBase<TangentVectorType2> &a, const Eigen::MatrixBase<MatrixType1> &rnea_partial_dq, const Eigen::MatrixBase<MatrixType2> &rnea_partial_dv, const Eigen::MatrixBase<MatrixType3> &rnea_partial_da)

Computes the partial derivatives of the Recursive Newton Euler Algorithms with respect to the joint configuration, the joint velocity and the joint acceleration.

Remark

rnea_partial_dq, rnea_partial_dv and rnea_partial_da must be first initialized with zeros (rnea_partial_dq.setZero(),etc). As for pinocchio::crba, only the upper triangular part of rnea_partial_da is filled.

See also

pinocchio::rnea

Template Parameters:
  • JointCollection – Collection of Joint types.

  • ConfigVectorType – Type of the joint configuration vector.

  • TangentVectorType1 – Type of the joint velocity vector.

  • TangentVectorType2 – Type of the joint acceleration vector.

  • MatrixType1 – Type of the matrix containing the partial derivative with respect to the joint configuration vector.

  • MatrixType2 – Type of the matrix containing the partial derivative with respect to the joint velocity vector.

  • MatrixType3 – Type of the matrix containing the partial derivative with respect to the joint acceleration vector.

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

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

  • q[in] The joint configuration vector (dim model.nq).

  • v[in] The joint velocity vector (dim model.nv).

  • a[in] The joint acceleration vector (dim model.nv).

  • rnea_partial_dq[out] Partial derivative of the generalized torque vector with respect to the joint configuration.

  • rnea_partial_dv[out] Partial derivative of the generalized torque vector with respect to the joint velocity.

  • rnea_partial_da[out] Partial derivative of the generalized torque vector with respect to the joint acceleration.