Go to the documentation of this file.
   14 #include <benchmark/benchmark.h> 
   20   void SetUp(benchmark::State & st)
 
   24     const std::string RF = 
"RLEG_LINK6";
 
   26     const std::string LF = 
"LLEG_LINK6";
 
   29     ci_RF_6D = std::make_unique<pinocchio::RigidConstraintModel>(
 
   31     ci_LF_6D = std::make_unique<pinocchio::RigidConstraintModel>(
 
   36     contact_models_6D.clear();
 
   37     contact_models_6D.push_back(*
ci_RF_6D);
 
   39     contact_data_6D.clear();
 
   44     contact_models_6D6D.clear();
 
   45     contact_models_6D6D.push_back(*
ci_RF_6D);
 
   46     contact_models_6D6D.push_back(*
ci_LF_6D);
 
   48     contact_data_6D6D.clear();
 
   54     r_coeff = (Eigen::ArrayXd::Random(1)[0] + 1.) / 2.;
 
   65   std::unique_ptr<pinocchio::RigidConstraintModel> 
ci_RF_6D;
 
   66   std::unique_ptr<pinocchio::RigidConstraintModel> 
ci_LF_6D;
 
  
BENCHMARK_REGISTER_F(ContactFixture, IMPULSE_DYNAMICS_DERIVATIVES_EMPTY) -> Apply(CustomArguments)
BENCHMARK_DEFINE_F(ContactFixture, IMPULSE_DYNAMICS_DERIVATIVES_EMPTY)(benchmark
FrameVector frames
Vector of operational frames registered on the model.
#define PINOCCHIO_DONT_INLINE
Function attribute to forbid inlining. This is a compiler hint that can be not respected.
Scalar mu
Regularization parameter of the proximal algorithm.
void TearDown(benchmark::State &)
@ CONTACT_6D
Point contact model.
void SetUp(benchmark::State &)
Structure containing all the settings parameters for the proximal algorithms.
PINOCCHIO_BENCHMARK_MAIN()
FrameIndex getFrameId(const std::string &name, const FrameType &type=(FrameType)(JOINT|FIXED_JOINT|BODY|OP_FRAME|SENSOR)) const
Returns the index of a frame given by its name.
void initConstraintDynamics(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const std::vector< RigidConstraintModelTpl< Scalar, Options >, Allocator > &contact_models)
Init the forward dynamics data according to the contact information contained in contact_models.
void computeImpulseDynamicsDerivatives(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ConstraintModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, ConstraintDataAllocator > &contact_data, const Scalar r_coeff, const ProximalSettingsTpl< Scalar > &settings, const Eigen::MatrixBase< MatrixType1 > &dvimpulse_partial_dq, const Eigen::MatrixBase< MatrixType2 > &dvimpulse_partial_dv, const Eigen::MatrixBase< MatrixType3 > &impulse_partial_dq, const Eigen::MatrixBase< MatrixType4 > &impulse_partial_dv)
#define PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(T)
ContactCholeskyDecompositionTpl< context::Scalar, context::Options > ContactCholeskyDecomposition
int max_iter
Maximal number of iterations.
const PINOCCHIO_DEPRECATED DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & impulseDynamics(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v_before, const Eigen::MatrixBase< ConstraintMatrixType > &J, const Scalar r_coeff=0., const Scalar inv_damping=0.)
Compute the impulse dynamics with contact constraints. Internally, pinocchio::crba is called.
static void CustomArguments(benchmark::internal::Benchmark *b)
static PINOCCHIO_DONT_INLINE void impulseDynamicsDerivativesCall(const pinocchio::Model &model, pinocchio::Data &data, const PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintModel) &contact_models, PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &contact_data, double r_coeff, const pinocchio::ProximalSettings &prox_settings)
pinocchio
Author(s): 
autogenerated on Wed May 28 2025 02:41:22