Go to the documentation of this file.
16 #include <benchmark/benchmark.h>
22 void SetUp(benchmark::State & st)
26 const std::string RF =
"RLEG_LINK6";
28 const std::string LF =
"LLEG_LINK6";
31 ci_RF_6D = std::make_unique<pinocchio::RigidConstraintModel>(
33 ci_LF_6D = std::make_unique<pinocchio::RigidConstraintModel>(
38 contact_models_6D.clear();
39 contact_models_6D.push_back(*
ci_RF_6D);
41 contact_data_6D.clear();
46 contact_models_6D6D.clear();
47 contact_models_6D6D.push_back(*
ci_RF_6D);
48 contact_models_6D6D.push_back(*
ci_LF_6D);
50 contact_data_6D6D.clear();
62 std::unique_ptr<pinocchio::RigidConstraintModel>
ci_RF_6D;
63 std::unique_ptr<pinocchio::RigidConstraintModel>
ci_LF_6D;
87 const Eigen::VectorXd & q,
88 const Eigen::VectorXd &
v,
89 const Eigen::VectorXd &
tau)
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.
static void CustomArguments(benchmark::internal::Benchmark *b)
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)
void TearDown(benchmark::State &)
BENCHMARK_DEFINE_F(ContactFixture, COMPUTE_ABA_DERIVATIVES)(benchmark
@ CONTACT_6D
Point contact model.
void SetUp(benchmark::State &)
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.
static PINOCCHIO_DONT_INLINE void computeABADerivativesCall(const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau)
#define PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(T)
void computeABADerivatives(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 Eigen::MatrixBase< MatrixType1 > &aba_partial_dq, const Eigen::MatrixBase< MatrixType2 > &aba_partial_dv, const Eigen::MatrixBase< MatrixType3 > &aba_partial_dtau)
The derivatives of the Articulated-Body algorithm.
BENCHMARK_REGISTER_F(ContactFixture, COMPUTE_ABA_DERIVATIVES) -> Apply(CustomArguments)
ContactCholeskyDecompositionTpl< context::Scalar, context::Options > ContactCholeskyDecomposition
static PINOCCHIO_DONT_INLINE void constraintDynamicsDerivativesCall(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)
PINOCCHIO_BENCHMARK_MAIN()
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 Thu Apr 10 2025 02:42:22