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,
71 template<
typename,
int>
class JointCollectionTpl,
72 typename ConfigVectorType,
77 const Eigen::MatrixBase<ConfigVectorType> & q,
113 template<
typename,
int>
class JointCollectionTpl,
114 typename ConfigVectorType,
123 const Eigen::MatrixBase<ConfigVectorType> & q,
124 const Eigen::MatrixBase<TangentVectorType1> & v,
125 const Eigen::MatrixBase<TangentVectorType2> &
a,
164 template<
typename,
int>
class JointCollectionTpl,
165 typename ConfigVectorType,
174 const Eigen::MatrixBase<ConfigVectorType> & q,
175 const Eigen::MatrixBase<TangentVectorType1> & v,
176 const Eigen::MatrixBase<TangentVectorType2> &
a,
208 template<
typename,
int>
class JointCollectionTpl,
209 typename ConfigVectorType,
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,
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 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 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 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...