13#include <boost/fusion/container/vector.hpp> 15#include "pinocchio/macros.hpp" 16#include "pinocchio/eigen-common.hpp" 17#include "pinocchio/unsupported.hpp" 19#include "pinocchio/utils/check.hpp" 21#include "pinocchio/math.hpp" 23#include "pinocchio/spatial.hpp" 25#include "pinocchio/multibody.hpp" 26#include "pinocchio/multibody/joint.hpp" 28#include "pinocchio/constraints.hpp" 29#include "pinocchio/algorithm/check.hpp" 30#include "pinocchio/algorithm/constrained-dynamics-derivatives.hpp" 31#include "pinocchio/algorithm/jacobian.hpp" 32#include "pinocchio/algorithm/proximal.hpp" 33#include "pinocchio/algorithm/constraint-cholesky.hpp" 42 template<
typename,
int>
class JointCollectionTpl,
43 class ConstraintModelAllocator,
44 class ConstraintDataAllocator,
49 PINOCCHIO_UNSUPPORTED_MESSAGE(
"The API will change towards more flexibility")
50 inline
void computeImpulseDynamicsDerivatives(
51 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
52 DataTpl<Scalar, Options, JointCollectionTpl> & data,
53 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
55 std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data,
57 const ProximalSettingsTpl<Scalar> & settings,
58 const Eigen::MatrixBase<MatrixType1> & dvimpulse_partial_dq,
59 const Eigen::MatrixBase<MatrixType2> & dvimpulse_partial_dv,
60 const Eigen::MatrixBase<MatrixType3> & impulse_partial_dq,
61 const Eigen::MatrixBase<MatrixType4> & impulse_partial_dv);
66 template<typename,
int> class JointCollectionTpl,
67 class ConstraintModelAllocator,
68 class ConstraintDataAllocator>
69 PINOCCHIO_UNSUPPORTED_MESSAGE(
"The API will change towards more flexibility")
70 inline
void computeImpulseDynamicsDerivatives(
71 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
72 DataTpl<Scalar, Options, JointCollectionTpl> & data,
73 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ConstraintModelAllocator> &
75 std::vector<RigidConstraintDataTpl<Scalar, Options>, ConstraintDataAllocator> & contact_data,
77 const ProximalSettingsTpl<Scalar> & settings)
79 computeImpulseDynamicsDerivatives(
80 model, data, contact_models, contact_data, r_coeff, settings, data.ddq_dq, data.ddq_dv,
81 data.dlambda_dq, data.dlambda_dv);
87#include "pinocchio/src/algorithm/impulse-dynamics-derivatives.hxx" Main pinocchio namespace.