Classes | Functions
timings-contact-dynamics.cpp File Reference
#include "model-fixture.hpp"
#include "pinocchio/algorithm/joint-configuration.hpp"
#include "pinocchio/algorithm/kinematics.hpp"
#include "pinocchio/algorithm/kinematics-derivatives.hpp"
#include "pinocchio/algorithm/rnea-derivatives.hpp"
#include "pinocchio/algorithm/aba-derivatives.hpp"
#include "pinocchio/algorithm/aba.hpp"
#include "pinocchio/algorithm/rnea.hpp"
#include "pinocchio/algorithm/crba.hpp"
#include "pinocchio/algorithm/contact-dynamics.hpp"
#include "pinocchio/algorithm/constrained-dynamics.hpp"
#include "pinocchio/algorithm/cholesky.hpp"
#include "pinocchio/parsers/urdf.hpp"
#include "pinocchio/multibody/sample-models.hpp"
#include "pinocchio/algorithm/pv.hpp"
#include <benchmark/benchmark.h>
#include <iostream>
Include dependency graph for timings-contact-dynamics.cpp:

Go to the source code of this file.

Classes

struct  ContactFixture
 

Functions

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)
 
 Apply (CustomArguments)
 
 BENCHMARK_DEFINE_F (ContactFixture, ABA_WORLD)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CHOLESKY_DECOMPOSE)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONSTRAINED_ABA_6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONSTRAINED_ABA_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONSTRAINED_ABA_EMPTY)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONSTRAINT_DYNAMICS_6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONSTRAINT_DYNAMICS_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONSTRAINT_DYNAMICS_EMPTY)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_ABA_6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_ABA_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_ABA_EMPTY)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_CHOLESKY_DECOMPOSITION_COMPUTE_6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_CHOLESKY_DECOMPOSITION_COMPUTE_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_CHOLESKY_DECOMPOSITION_COMPUTE_EMPTY)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_CHOLESKY_DECOMPOSITION_INVERSE_6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_CHOLESKY_DECOMPOSITION_INVERSE_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, CONTACT_CHOLESKY_DECOMPOSITION_INVERSE_EMPTY)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, FORWARD_DYNAMICS_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, GET_KKT_CONTACT_DYNAMIC_MATRIX_INVERSE_6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, GET_KKT_CONTACT_DYNAMIC_MATRIX_INVERSE_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, PV_6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, PV_6D6D)(benchmark
 
 BENCHMARK_DEFINE_F (ContactFixture, PV_EMPTY)(benchmark
 
 BENCHMARK_REGISTER_F (ContactFixture, ABA_WORLD) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CHOLESKY_DECOMPOSE) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONSTRAINED_ABA_6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONSTRAINED_ABA_6D6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONSTRAINED_ABA_EMPTY) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONSTRAINT_DYNAMICS_6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONSTRAINT_DYNAMICS_6D6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONSTRAINT_DYNAMICS_EMPTY) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONTACT_ABA_6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONTACT_ABA_6D6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, CONTACT_ABA_EMPTY) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, FORWARD_DYNAMICS_6D6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, PV_6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, PV_6D6D) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (ContactFixture, PV_EMPTY) -> Apply(CustomArguments)
 
static PINOCCHIO_DONT_INLINE void choleskyDecomposeCall (const pinocchio::Model &model, pinocchio::Data &data)
 
static PINOCCHIO_DONT_INLINE void constrainedABACall (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, PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &contact_data, pinocchio::ProximalSettings &prox_settings)
 
static PINOCCHIO_DONT_INLINE void constraintDynamicsCall (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, PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &contact_data)
 
static PINOCCHIO_DONT_INLINE void contactABACall (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, PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &contact_data)
 
static PINOCCHIO_DONT_INLINE void contactCholeskyDecompositionComputeCall (pinocchio::ContactCholeskyDecomposition &contact, 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)
 
static PINOCCHIO_DONT_INLINE void contactCholeskyDecompositionInverseCall (pinocchio::ContactCholeskyDecomposition &contact, Eigen::MatrixXd &H_inverse)
 
static void CustomArguments (benchmark::internal::Benchmark *b)
 
static PINOCCHIO_DONT_INLINE void forwardDynamisCall (const pinocchio::Model &model, pinocchio::Data &data, const pinocchio::RigidConstraintModel &c1, const pinocchio::RigidConstraintModel &c2, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau, Eigen::MatrixXd &J, const Eigen::VectorXd &gamma)
 
static PINOCCHIO_DONT_INLINE void getKKTContactDynamicMatrixInverseCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::MatrixXd &J, const Eigen::MatrixXd &MJtJ_inv)
 
 PINOCCHIO_BENCHMARK_MAIN ()
 
static PINOCCHIO_DONT_INLINE void pvCall (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, PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &contact_data, pinocchio::ProximalSettings &prox_settings)
 

Function Documentation

◆ abaWorldCall()

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

Definition at line 104 of file timings-contact-dynamics.cpp.

◆ Apply()

Apply ( CustomArguments  )

◆ BENCHMARK_DEFINE_F() [1/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
ABA_WORLD   
)

Definition at line 113 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [2/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CHOLESKY_DECOMPOSE   
)

Definition at line 129 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [3/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONSTRAINED_ABA_6D   
)

Definition at line 305 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [4/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONSTRAINED_ABA_6D6D   
)

Definition at line 418 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [5/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONSTRAINED_ABA_EMPTY   
)

Definition at line 199 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [6/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONSTRAINT_DYNAMICS_6D   
)

Definition at line 346 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [7/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONSTRAINT_DYNAMICS_6D6D   
)

Definition at line 462 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [8/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONSTRAINT_DYNAMICS_EMPTY   
)

Definition at line 270 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [9/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_ABA_6D   
)

Definition at line 282 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [10/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_ABA_6D6D   
)

Definition at line 395 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [11/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_ABA_EMPTY   
)

Definition at line 152 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [12/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_CHOLESKY_DECOMPOSITION_COMPUTE_6D   
)

Definition at line 317 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [13/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_CHOLESKY_DECOMPOSITION_COMPUTE_6D6D   
)

Definition at line 431 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [14/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_CHOLESKY_DECOMPOSITION_COMPUTE_EMPTY   
)

Definition at line 222 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [15/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_CHOLESKY_DECOMPOSITION_INVERSE_6D   
)

Definition at line 331 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [16/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_CHOLESKY_DECOMPOSITION_INVERSE_6D6D   
)

Definition at line 446 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [17/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
CONTACT_CHOLESKY_DECOMPOSITION_INVERSE_EMPTY   
)

Definition at line 243 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [18/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
FORWARD_DYNAMICS_6D6D   
)

Definition at line 519 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [19/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
GET_KKT_CONTACT_DYNAMIC_MATRIX_INVERSE_6D   
)

Definition at line 368 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [20/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
GET_KKT_CONTACT_DYNAMIC_MATRIX_INVERSE_6D6D   
)

Definition at line 474 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [21/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
PV_6D   
)

Definition at line 293 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [22/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
PV_6D6D   
)

Definition at line 406 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_DEFINE_F() [23/23]

BENCHMARK_DEFINE_F ( ContactFixture  ,
PV_EMPTY   
)

Definition at line 175 of file timings-contact-dynamics.cpp.

◆ BENCHMARK_REGISTER_F() [1/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
ABA_WORLD   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [2/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CHOLESKY_DECOMPOSE   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [3/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONSTRAINED_ABA_6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [4/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONSTRAINED_ABA_6D6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [5/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONSTRAINED_ABA_EMPTY   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [6/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONSTRAINT_DYNAMICS_6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [7/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONSTRAINT_DYNAMICS_6D6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [8/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONSTRAINT_DYNAMICS_EMPTY   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [9/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONTACT_ABA_6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [10/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONTACT_ABA_6D6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [11/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
CONTACT_ABA_EMPTY   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [12/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
FORWARD_DYNAMICS_6D6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [13/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
PV_6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [14/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
PV_6D6D   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [15/15]

BENCHMARK_REGISTER_F ( ContactFixture  ,
PV_EMPTY   
) -> Apply(CustomArguments)

◆ choleskyDecomposeCall()

static PINOCCHIO_DONT_INLINE void choleskyDecomposeCall ( const pinocchio::Model model,
pinocchio::Data data 
)
static

Definition at line 125 of file timings-contact-dynamics.cpp.

◆ constrainedABACall()

static PINOCCHIO_DONT_INLINE void constrainedABACall ( 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,
PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &  contact_data,
pinocchio::ProximalSettings prox_settings 
)
static

Definition at line 187 of file timings-contact-dynamics.cpp.

◆ constraintDynamicsCall()

static PINOCCHIO_DONT_INLINE void constraintDynamicsCall ( 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,
PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &  contact_data 
)
static

Definition at line 259 of file timings-contact-dynamics.cpp.

◆ contactABACall()

static PINOCCHIO_DONT_INLINE void contactABACall ( 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,
PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &  contact_data 
)
static

Definition at line 141 of file timings-contact-dynamics.cpp.

◆ contactCholeskyDecompositionComputeCall()

static PINOCCHIO_DONT_INLINE void contactCholeskyDecompositionComputeCall ( pinocchio::ContactCholeskyDecomposition contact,
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 
)
static

Definition at line 212 of file timings-contact-dynamics.cpp.

◆ contactCholeskyDecompositionInverseCall()

static PINOCCHIO_DONT_INLINE void contactCholeskyDecompositionInverseCall ( pinocchio::ContactCholeskyDecomposition contact,
Eigen::MatrixXd &  H_inverse 
)
static

Definition at line 237 of file timings-contact-dynamics.cpp.

◆ CustomArguments()

static void CustomArguments ( benchmark::internal::Benchmark *  b)
static

Definition at line 97 of file timings-contact-dynamics.cpp.

◆ forwardDynamisCall()

static PINOCCHIO_DONT_INLINE void forwardDynamisCall ( const pinocchio::Model model,
pinocchio::Data data,
const pinocchio::RigidConstraintModel c1,
const pinocchio::RigidConstraintModel c2,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  tau,
Eigen::MatrixXd &  J,
const Eigen::VectorXd &  gamma 
)
static

Definition at line 502 of file timings-contact-dynamics.cpp.

◆ getKKTContactDynamicMatrixInverseCall()

static PINOCCHIO_DONT_INLINE void getKKTContactDynamicMatrixInverseCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::MatrixXd &  J,
const Eigen::MatrixXd &  MJtJ_inv 
)
static

Definition at line 358 of file timings-contact-dynamics.cpp.

◆ PINOCCHIO_BENCHMARK_MAIN()

PINOCCHIO_BENCHMARK_MAIN ( )

◆ pvCall()

static PINOCCHIO_DONT_INLINE void pvCall ( 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,
PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(pinocchio::RigidConstraintData) &  contact_data,
pinocchio::ProximalSettings prox_settings 
)
static

Definition at line 163 of file timings-contact-dynamics.cpp.



pinocchio
Author(s):
autogenerated on Wed May 28 2025 02:41:23