15#include <boost/fusion/container/vector.hpp> 17#include "pinocchio/macros.hpp" 18#include "pinocchio/eigen-common.hpp" 19#include "pinocchio/fwd.hpp" 21#include "pinocchio/math.hpp" 23#include "pinocchio/spatial.hpp" 25#include "pinocchio/multibody.hpp" 26#include "pinocchio/multibody/joint.hpp" 27#include "pinocchio/multibody/visitor.hpp" 29#include "pinocchio/algorithm/check.hpp" 57 template<
typename,
int>
class JointCollectionTpl,
58 typename ConfigVectorType,
59 typename ReturnMatrixType>
61 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
62 DataTpl<Scalar, Options, JointCollectionTpl> & data,
63 const Eigen::MatrixBase<ConfigVectorType> & q,
64 const Eigen::MatrixBase<ReturnMatrixType> & gravity_partial_dq);
90 template<
typename,
int>
class JointCollectionTpl,
91 typename ConfigVectorType,
92 typename ReturnMatrixType>
94 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
95 DataTpl<Scalar, Options, JointCollectionTpl> & data,
96 const Eigen::MatrixBase<ConfigVectorType> & q,
97 const std::vector<ForceTpl<Scalar, Options>> & fext,
98 const Eigen::MatrixBase<ReturnMatrixType> & static_torque_partial_dq);
132 template<
typename,
int>
class JointCollectionTpl,
133 typename ConfigVectorType,
134 typename TangentVectorType1,
135 typename TangentVectorType2,
136 typename MatrixType1,
137 typename MatrixType2,
138 typename MatrixType3>
140 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
141 DataTpl<Scalar, Options, JointCollectionTpl> & data,
142 const Eigen::MatrixBase<ConfigVectorType> & q,
143 const Eigen::MatrixBase<TangentVectorType1> & v,
144 const Eigen::MatrixBase<TangentVectorType2> & a,
145 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
146 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
147 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
183 template<
typename,
int>
class JointCollectionTpl,
184 typename ConfigVectorType,
185 typename TangentVectorType1,
186 typename TangentVectorType2,
187 typename MatrixType1,
188 typename MatrixType2,
189 typename MatrixType3>
191 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
192 DataTpl<Scalar, Options, JointCollectionTpl> & data,
193 const Eigen::MatrixBase<ConfigVectorType> & q,
194 const Eigen::MatrixBase<TangentVectorType1> & v,
195 const Eigen::MatrixBase<TangentVectorType2> & a,
196 const std::vector<ForceTpl<Scalar, Options>> & fext,
197 const Eigen::MatrixBase<MatrixType1> & rnea_partial_dq,
198 const Eigen::MatrixBase<MatrixType2> & rnea_partial_dv,
199 const Eigen::MatrixBase<MatrixType3> & rnea_partial_da);
227 template<
typename,
int>
class JointCollectionTpl,
228 typename ConfigVectorType,
229 typename TangentVectorType1,
230 typename TangentVectorType2>
232 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
233 DataTpl<Scalar, Options, JointCollectionTpl> & data,
234 const Eigen::MatrixBase<ConfigVectorType> & q,
235 const Eigen::MatrixBase<TangentVectorType1> & v,
236 const Eigen::MatrixBase<TangentVectorType2> & a);
266 template<
typename,
int>
class JointCollectionTpl,
267 typename ConfigVectorType,
268 typename TangentVectorType1,
269 typename TangentVectorType2>
271 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
272 DataTpl<Scalar, Options, JointCollectionTpl> & data,
273 const Eigen::MatrixBase<ConfigVectorType> & q,
274 const Eigen::MatrixBase<TangentVectorType1> & v,
275 const Eigen::MatrixBase<TangentVectorType2> & a,
276 const std::vector<ForceTpl<Scalar, Options>> & fext);
281#include "pinocchio/src/algorithm/rnea-derivatives.hxx" Main pinocchio namespace.
void computeStaticTorqueDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const std::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...