16#include <boost/fusion/container/vector.hpp> 18#include "pinocchio/macros.hpp" 19#include "pinocchio/unsupported.hpp" 21#include "pinocchio/multibody.hpp" 22#include "pinocchio/multibody/joint.hpp" 24#include "pinocchio/math.hpp" 26#include "pinocchio/utils/check.hpp" 28#include "pinocchio/algorithm/check.hpp" 29#include "pinocchio/constraints.hpp" 30#include "pinocchio/algorithm/model.hpp" 39 template<
typename,
int>
class JointCollectionTpl,
41 PINOCCHIO_UNSUPPORTED_MESSAGE(
"The API will change towards more flexibility")
42 inline
void initPvDelassus(
43 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
44 DataTpl<Scalar, Options, JointCollectionTpl> & data,
45 const std::vector<RigidConstraintModelTpl<Scalar, Options>, Allocator> & contact_models);
66 template<typename,
int> class JointCollectionTpl,
67 typename ConfigVectorType,
71 PINOCCHIO_UNSUPPORTED_MESSAGE(
"The API will change towards more flexibility")
73 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
74 DataTpl<Scalar, Options, JointCollectionTpl> & data,
75 const Eigen::MatrixBase<ConfigVectorType> & q,
76 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ModelAllocator> & contact_models,
77 std::vector<RigidConstraintDataTpl<Scalar, Options>, DataAllocator> & contact_data,
78 const Eigen::MatrixBase<MatrixType> & delassus,
105 template<typename,
int> class JointCollectionTpl,
106 typename ConfigVectorType,
107 class ModelAllocator,
110 PINOCCHIO_UNSUPPORTED_MESSAGE(
"The API will change towards more flexibility")
112 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
113 DataTpl<Scalar, Options, JointCollectionTpl> & data,
114 const Eigen::MatrixBase<ConfigVectorType> & q,
115 const std::vector<RigidConstraintModelTpl<Scalar, Options>, ModelAllocator> & contact_models,
116 std::vector<RigidConstraintDataTpl<Scalar, Options>, DataAllocator> & contact_data,
117 const Eigen::MatrixBase<MatrixType> & damped_delassus_inverse,
119 const
bool scaled = false,
120 const
bool Pv = true);
125#include "pinocchio/src/algorithm/delassus.hxx" Main pinocchio namespace.
void computeDampedDelassusMatrixInverse(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, DataAllocator > &contact_data, const Eigen::MatrixBase< MatrixType > &damped_delassus_inverse, const Scalar mu, const bool scaled=false, const bool Pv=true)
Computes the inverse of the Delassus matrix associated to a set of given constraints.
void computeDelassusMatrix(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, DataAllocator > &contact_data, const Eigen::MatrixBase< MatrixType > &delassus, const Scalar mu=0)
Computes the Delassus matrix associated to a set of given constraints.