Go to the documentation of this file.
   35   void SetUp(benchmark::State & st)
 
   52   static std::unique_ptr<pinocchio::CodeGenABA<double>> 
ABA_CODE_GEN;
 
   57   static std::unique_ptr<pinocchio::CodeGenConstraintDynamicsDerivatives<double>>
 
   64     const std::string RF = 
"RLEG_ANKLE_R";
 
   65     const std::string LF = 
"LLEG_ANKLE_R";
 
   72     CONTACT_MODELS_6D6D.push_back(ci_RF);
 
   73     CONTACT_MODELS_6D6D.push_back(ci_LF);
 
   77     CONTACT_DATAS_6D6D.push_back(cd_RF);
 
   78     CONTACT_DATAS_6D6D.push_back(cd_LF);
 
   89       std::make_unique<pinocchio::CodeGenConstraintDynamicsDerivatives<double>>(
 
  110 CGFixture::CONTACT_MODELS_6D6D;
 
  112 CGFixture::CONTACT_DATAS_6D6D;
 
  119 std::unique_ptr<pinocchio::CodeGenConstraintDynamicsDerivatives<double>>
 
  124   b->MinWarmUpTime(3.);
 
  132   const Eigen::VectorXd & q,
 
  133   const Eigen::VectorXd & 
v,
 
  134   const Eigen::VectorXd & 
a)
 
  153     RNEA_CODE_GEN->evalFunction(
q, 
v, 
a);
 
  164     RNEA_CODE_GEN->evalJacobian(
q, 
v, 
a);
 
  175     RNEA_DERIVATIVES_CODE_GEN->evalFunction(
q, 
v, 
a);
 
  202     CRBA_CODE_GEN->evalFunction(
q);
 
  229     MINV_CODE_GEN->evalFunction(
q);
 
  239   const Eigen::VectorXd & q,
 
  240   const Eigen::VectorXd & 
v,
 
  241   const Eigen::VectorXd & 
tau)
 
  260     ABA_CODE_GEN->evalFunction(
q, 
v, 
tau);
 
  271     ABA_CODE_GEN->evalJacobian(
q, 
v, 
tau);
 
  282     ABA_DERIVATIVES_CODE_GEN->evalFunction(
q, 
v, 
tau);
 
  292   const Eigen::VectorXd & q,
 
  293   const Eigen::VectorXd & 
v,
 
  294   const Eigen::VectorXd & 
tau,
 
  296     & contact_models_6d6d,
 
  301     model, 
data, contact_models_6d6d, contact_datas_6d6d);
 
  320     CONSTRAINT_DYNAMICS_DERIVATIVES_CODE_GEN->evalFunction(
q, 
v, 
tau);
 
  
BENCHMARK_REGISTER_F(CGFixture, RNEA) -> Apply(CustomArguments)
void TearDown(benchmark::State &st)
static PINOCCHIO_DONT_INLINE void computeMinverseQCall(const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q)
static PINOCCHIO_DONT_INLINE void abaWorldCall(const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau)
static std::unique_ptr< pinocchio::CodeGenConstraintDynamicsDerivatives< double > > CONSTRAINT_DYNAMICS_DERIVATIVES_CODE_GEN
void SetUp(benchmark::State &st)
#define PINOCCHIO_DONT_INLINE
Function attribute to forbid inlining. This is a compiler hint that can be not respected.
static std::unique_ptr< pinocchio::CodeGenRNEA< double > > RNEA_CODE_GEN
void computeConstraintDynamicsDerivatives(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 ProximalSettingsTpl< Scalar > &settings, const Eigen::MatrixBase< MatrixType1 > &ddq_partial_dq, const Eigen::MatrixBase< MatrixType2 > &ddq_partial_dv, const Eigen::MatrixBase< MatrixType3 > &ddq_partial_dtau, const Eigen::MatrixBase< MatrixType4 > &lambda_partial_dq, const Eigen::MatrixBase< MatrixType5 > &lambda_partial_dv, const Eigen::MatrixBase< MatrixType6 > &lambda_partial_dtau)
static PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintModel) CONTACT_MODELS_6D6D
void TearDown(benchmark::State &)
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & crba(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Convention convention=Convention::LOCAL)
Computes the upper triangular part of the joint space inertia matrix M by using the Composite Rigid B...
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & aba(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 > &tau, const Convention convention=Convention::LOCAL)
The Articulated-Body algorithm. It computes the forward dynamics, aka the joint accelerations given t...
static void GlobalSetUp(const ExtraArgs &extra_args)
@ CONTACT_6D
Point contact model.
void SetUp(benchmark::State &)
const DataTpl< Scalar, Options, JointCollectionTpl >::RowMatrixXs & computeMinverse(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Computes the inverse of the joint space inertia matrix using Articulated Body formulation.
static PINOCCHIO_DONT_INLINE void rneaCall(const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a)
static void GlobalSetUp(const ExtraArgs &extra_args)
static std::unique_ptr< pinocchio::CodeGenRNEADerivatives< double > > RNEA_DERIVATIVES_CODE_GEN
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.
PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP(CGFixture::GlobalSetUp)
#define PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(T)
static std::unique_ptr< pinocchio::CodeGenABADerivatives< double > > ABA_DERIVATIVES_CODE_GEN
PINOCCHIO_DONT_INLINE void constraintDynamicsDerivativeCall(const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau, const PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintModel) &contact_models_6d6d, PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &contact_datas_6d6d)
static std::unique_ptr< pinocchio::CodeGenABA< double > > ABA_CODE_GEN
static pinocchio::Model MODEL
BENCHMARK_DEFINE_F(CGFixture, RNEA)(benchmark
static std::unique_ptr< pinocchio::CodeGenCRBA< double > > CRBA_CODE_GEN
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & rnea(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)
The Recursive Newton-Euler algorithm. It computes the inverse dynamics, aka the joint torques accordi...
static std::unique_ptr< pinocchio::CodeGenMinv< double > > MINV_CODE_GEN
static void CustomArguments(benchmark::internal::Benchmark *b)
static PINOCCHIO_DONT_INLINE void crbaWorldCall(const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q)
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & constraintDynamics(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 > &tau, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ConstraintModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, ConstraintDataAllocator > &contact_datas, ProximalSettingsTpl< Scalar > &settings)
Computes the forward dynamics with contact constraints according to a given list of contact informati...
pinocchio
Author(s): 
autogenerated on Wed May 28 2025 02:41:22