14#include <boost/fusion/container/vector.hpp> 16#include "pinocchio/macros.hpp" 17#include "pinocchio/eigen-common.hpp" 18#include "pinocchio/fwd.hpp" 20#include "pinocchio/math.hpp" 22#include "pinocchio/spatial.hpp" 24#include "pinocchio/multibody.hpp" 25#include "pinocchio/multibody/joint.hpp" 26#include "pinocchio/multibody/visitor.hpp" 28#include "pinocchio/algorithm/check.hpp" 69 template<
typename,
int>
class JointCollectionTpl,
70 typename ConfigVectorType,
71 typename TangentVectorType1,
72 typename TangentVectorType2,
73 typename Matrix6xLike0,
74 typename Matrix6xLike1,
75 typename Matrix6xLike2,
76 typename Matrix6xLike3>
78 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
79 DataTpl<Scalar, Options, JointCollectionTpl> & data,
80 const Eigen::MatrixBase<ConfigVectorType> & q,
81 const Eigen::MatrixBase<TangentVectorType1> & v,
82 const Eigen::MatrixBase<TangentVectorType2> & a,
83 const Eigen::MatrixBase<Matrix6xLike0> & dh_dq,
84 const Eigen::MatrixBase<Matrix6xLike1> & dhdot_dq,
85 const Eigen::MatrixBase<Matrix6xLike2> & dhdot_dv,
86 const Eigen::MatrixBase<Matrix6xLike3> & dhdot_da);
115 template<
typename,
int>
class JointCollectionTpl,
116 typename Matrix6xLike0,
117 typename Matrix6xLike1,
118 typename Matrix6xLike2,
119 typename Matrix6xLike3>
121 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
122 DataTpl<Scalar, Options, JointCollectionTpl> & data,
123 const Eigen::MatrixBase<Matrix6xLike1> & dh_dq,
124 const Eigen::MatrixBase<Matrix6xLike1> & dhdot_dq,
125 const Eigen::MatrixBase<Matrix6xLike2> & dhdot_dv,
126 const Eigen::MatrixBase<Matrix6xLike3> & dhdot_da);
130#include "pinocchio/src/algorithm/centroidal-derivatives.hxx" Main pinocchio namespace.
void getCentroidalDynamicsDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Matrix6xLike1 > &dh_dq, const Eigen::MatrixBase< Matrix6xLike1 > &dhdot_dq, const Eigen::MatrixBase< Matrix6xLike2 > &dhdot_dv, const Eigen::MatrixBase< Matrix6xLike3 > &dhdot_da)
Retrive the analytical derivatives of the centroidal dynamics from the RNEA derivatives....
void computeCentroidalDynamicsDerivatives(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< Matrix6xLike0 > &dh_dq, const Eigen::MatrixBase< Matrix6xLike1 > &dhdot_dq, const Eigen::MatrixBase< Matrix6xLike2 > &dhdot_dv, const Eigen::MatrixBase< Matrix6xLike3 > &dhdot_da)
Computes the analytical derivatives of the centroidal dynamics with respect to the joint configuratio...