5 #ifndef __pinocchio_algorithm_rnea_derivatives_hpp__
6 #define __pinocchio_algorithm_rnea_derivatives_hpp__
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/data.hpp"
11 #include "pinocchio/container/aligned-vector.hpp"
38 template<
typename,
int>
class JointCollectionTpl,
39 typename ConfigVectorType,
40 typename ReturnMatrixType>
44 const Eigen::MatrixBase<ConfigVectorType> & q,
45 const Eigen::MatrixBase<ReturnMatrixType> & gravity_partial_dq);
71 template<
typename,
int>
class JointCollectionTpl,
72 typename ConfigVectorType,
73 typename ReturnMatrixType>
77 const Eigen::MatrixBase<ConfigVectorType> & q,
79 const Eigen::MatrixBase<ReturnMatrixType> & static_torque_partial_dq);
113 template<
typename,
int>
class JointCollectionTpl,
114 typename ConfigVectorType,
115 typename TangentVectorType1,
116 typename TangentVectorType2,
117 typename MatrixType1,
118 typename MatrixType2,
119 typename MatrixType3>
123 const Eigen::MatrixBase<ConfigVectorType> & q,
124 const Eigen::MatrixBase<TangentVectorType1> & v,
125 const Eigen::MatrixBase<TangentVectorType2> & a,
126 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
127 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
128 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
164 template<
typename,
int>
class JointCollectionTpl,
165 typename ConfigVectorType,
166 typename TangentVectorType1,
167 typename TangentVectorType2,
168 typename MatrixType1,
169 typename MatrixType2,
170 typename MatrixType3>
174 const Eigen::MatrixBase<ConfigVectorType> & q,
175 const Eigen::MatrixBase<TangentVectorType1> & v,
176 const Eigen::MatrixBase<TangentVectorType2> & a,
178 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
179 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
180 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
208 template<
typename,
int>
class JointCollectionTpl,
209 typename ConfigVectorType,
210 typename TangentVectorType1,
211 typename TangentVectorType2>
215 const Eigen::MatrixBase<ConfigVectorType> & q,
216 const Eigen::MatrixBase<TangentVectorType1> & v,
217 const Eigen::MatrixBase<TangentVectorType2> & a);
247 template<
typename,
int>
class JointCollectionTpl,
248 typename ConfigVectorType,
249 typename TangentVectorType1,
250 typename TangentVectorType2>
254 const Eigen::MatrixBase<ConfigVectorType> & q,
255 const Eigen::MatrixBase<TangentVectorType1> & v,
256 const Eigen::MatrixBase<TangentVectorType2> & a,
261 #include "pinocchio/algorithm/rnea-derivatives.hxx"
263 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
264 #include "pinocchio/algorithm/rnea-derivatives.txx"
Main pinocchio namespace.
void computeStaticTorqueDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const container::aligned_vector< ForceTpl< Scalar, Options >> &fext, const Eigen::MatrixBase< ReturnMatrixType > &static_torque_partial_dq)
Computes the partial derivative of the generalized gravity and external forces contributions (a....
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 partial derivatives of the Recursive Newton Euler Algorithms with respect to the joint c...
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 partial derivative of the generalized gravity contribution with respect to the joint con...