5 #ifndef __pinocchio_rnea_derivatives_hpp__ 6 #define __pinocchio_rnea_derivatives_hpp__ 8 #include "pinocchio/multibody/model.hpp" 9 #include "pinocchio/multibody/data.hpp" 11 #include "pinocchio/container/aligned-vector.hpp" 33 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename ReturnMatrixType>
36 DataTpl<Scalar,Options,JointCollectionTpl> & data,
37 const Eigen::MatrixBase<ConfigVectorType> & q,
38 const Eigen::MatrixBase<ReturnMatrixType> & gravity_partial_dq);
66 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2,
67 typename MatrixType1,
typename MatrixType2,
typename MatrixType3>
70 DataTpl<Scalar,Options,JointCollectionTpl> & data,
71 const Eigen::MatrixBase<ConfigVectorType> & q,
72 const Eigen::MatrixBase<TangentVectorType1> & v,
73 const Eigen::MatrixBase<TangentVectorType2> & a,
74 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
75 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
76 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
105 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2,
106 typename MatrixType1,
typename MatrixType2,
typename MatrixType3>
109 DataTpl<Scalar,Options,JointCollectionTpl> & data,
110 const Eigen::MatrixBase<ConfigVectorType> & q,
111 const Eigen::MatrixBase<TangentVectorType1> & v,
112 const Eigen::MatrixBase<TangentVectorType2> & a,
113 const container::aligned_vector< ForceTpl<Scalar,Options> > fext,
114 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
115 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
116 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
139 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2>
143 const Eigen::MatrixBase<ConfigVectorType> & q,
144 const Eigen::MatrixBase<TangentVectorType1> & v,
145 const Eigen::MatrixBase<TangentVectorType2> & a)
173 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename ConfigVectorType,
typename TangentVectorType1,
typename TangentVectorType2>
177 const Eigen::MatrixBase<ConfigVectorType> & q,
178 const Eigen::MatrixBase<TangentVectorType1> & v,
179 const Eigen::MatrixBase<TangentVectorType2> & a,
189 #include "pinocchio/algorithm/rnea-derivatives.hxx" 191 #endif // ifndef __pinocchio_rnea_derivatives_hpp__ MatrixXs dtau_dq
Partial derivative of the joint torque vector with respect to the joint configuration.
MatrixXs M
The joint space inertia matrix (a square matrix of dim model.nv).
void 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 derivatives of the Recursive Newton Euler Algorithms with respect to the joint configura...
Specialization of an std::vector with an aligned allocator. This specialization might be used when th...
MatrixXs dtau_dv
Partial derivative of the joint torque vector with respect to the joint velocity. ...
void computeGeneralizedGravityDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< ReturnMatrixType > &gravity_partial_dq)
Computes the derivative of the generalized gravity contribution with respect to the joint configurati...
Main pinocchio namespace.