Classes | Typedefs | Functions
timings-derivatives.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/rnea-second-order-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/cholesky.hpp"
#include "pinocchio/parsers/urdf.hpp"
#include "pinocchio/multibody/sample-models.hpp"
#include "pinocchio/container/aligned-vector.hpp"
#include <iostream>
Include dependency graph for timings-derivatives.cpp:

Go to the source code of this file.

Classes

struct  DerivativesFixture
 

Typedefs

typedef pinocchio::Data::Tensor3x Tensor3x
 

Functions

void aba_fd (const pinocchio::Model &model, pinocchio::Data &data_fd, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau, Eigen::MatrixXd &daba_dq, Eigen::MatrixXd &daba_dv, pinocchio::Data::RowMatrixXs &daba_dtau)
 
static PINOCCHIO_DONT_INLINE void abaLocalCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau)
 
 Apply (CustomArguments)
 
 BENCHMARK_DEFINE_F (DerivativesFixture, ABA_LOCAL)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_ABA_DERIVATIVES)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_ABA_DERIVATIVES_NO_Q_V_TAU)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_ABA_FD_DERIVATIVES)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_CHOLESKY_M_INVERSE)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_M_INVERSE)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_M_INVERSE_Q)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_RNEA_DERIVATIVES)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMPUTE_RNEA_FD_DERIVATIVES)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, COMUTE_RNEA_SECOND_ORDER_DERIVATIVES)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, FORWARD_KINEMATICS_DERIVATIVES)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, FORWARD_KINEMATICS_Q_V_A)(benchmark
 
 BENCHMARK_DEFINE_F (DerivativesFixture, RNEA)(benchmark
 
 BENCHMARK_REGISTER_F (DerivativesFixture, ABA_LOCAL) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, COMPUTE_ABA_DERIVATIVES) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, COMPUTE_ABA_FD_DERIVATIVES) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, COMPUTE_CHOLESKY_M_INVERSE) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, COMPUTE_M_INVERSE) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, COMPUTE_M_INVERSE_Q) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, COMPUTE_RNEA_DERIVATIVES) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, COMPUTE_RNEA_FD_DERIVATIVES) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, FORWARD_KINEMATICS_DERIVATIVES) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, FORWARD_KINEMATICS_Q_V_A) -> Apply(CustomArguments)
 
 BENCHMARK_REGISTER_F (DerivativesFixture, RNEA) -> Apply(CustomArguments)
 
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, const Eigen::MatrixXd &daba_dq, const Eigen::MatrixXd &daba_dv, const pinocchio::Data::RowMatrixXs &daba_dtau)
 
static PINOCCHIO_DONT_INLINE void computeABADerivativesNoQVTauCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::MatrixXd &daba_dq, const Eigen::MatrixXd &daba_dv, const pinocchio::Data::RowMatrixXs &daba_dtau)
 
static PINOCCHIO_DONT_INLINE void computeABAFDDerivativesCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &tau, Eigen::MatrixXd &daba_dq, Eigen::MatrixXd &daba_dv, pinocchio::Data::RowMatrixXs &daba_dtau)
 
static PINOCCHIO_DONT_INLINE void computeCholeskyMinverseCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, Eigen::MatrixXd &Minv)
 
static PINOCCHIO_DONT_INLINE void computeForwardKinematicsDerivativesCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a)
 
static PINOCCHIO_DONT_INLINE void computeMinverseCall (const pinocchio::Model &model, pinocchio::Data &data)
 
static PINOCCHIO_DONT_INLINE void computeMinverseQCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q)
 
static PINOCCHIO_DONT_INLINE void computeRNEADerivativesCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a, const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &drnea_dq, const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &drnea_dv, const Eigen::MatrixXd &drnea_da)
 
static PINOCCHIO_DONT_INLINE void computeRNEAFDDerivativesCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a, const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &drnea_dq, const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &drnea_dv, const Eigen::MatrixXd &drnea_da)
 
static PINOCCHIO_DONT_INLINE void computeRNEASecondOrderDerivativesCall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a, const Tensor3x &dtau2_dq, const Tensor3x &dtau2_dv, const Tensor3x &dtau2_dqv, const Tensor3x &dtau_dadq)
 
static void CustomArguments (benchmark::internal::Benchmark *b)
 
static PINOCCHIO_DONT_INLINE void forwardKinematicsQVACall (const pinocchio::Model &model, pinocchio::Data &data, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a)
 
 PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP (DerivativesFixture::GlobalSetUp)
 
template<typename Matrix1 , typename Matrix2 , typename Matrix3 >
void rnea_fd (const pinocchio::Model &model, pinocchio::Data &data_fd, const Eigen::VectorXd &q, const Eigen::VectorXd &v, const Eigen::VectorXd &a, const Eigen::MatrixBase< Matrix1 > &_drnea_dq, const Eigen::MatrixBase< Matrix2 > &_drnea_dv, const Eigen::MatrixBase< Matrix3 > &_drnea_da)
 
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)
 

Typedef Documentation

◆ Tensor3x

Definition at line 23 of file timings-derivatives.cpp.

Function Documentation

◆ aba_fd()

void aba_fd ( const pinocchio::Model model,
pinocchio::Data data_fd,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  tau,
Eigen::MatrixXd &  daba_dq,
Eigen::MatrixXd &  daba_dv,
pinocchio::Data::RowMatrixXs daba_dtau 
)

Definition at line 76 of file timings-derivatives.cpp.

◆ abaLocalCall()

static PINOCCHIO_DONT_INLINE void abaLocalCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  tau 
)
static

Definition at line 306 of file timings-derivatives.cpp.

◆ Apply()

Apply ( CustomArguments  )

◆ BENCHMARK_DEFINE_F() [1/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
ABA_LOCAL   
)

Definition at line 315 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [2/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_ABA_DERIVATIVES   
)

Definition at line 338 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [3/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_ABA_DERIVATIVES_NO_Q_V_TAU   
)

Definition at line 358 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [4/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_ABA_FD_DERIVATIVES   
)

Definition at line 383 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [5/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_CHOLESKY_M_INVERSE   
)

Definition at line 437 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [6/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_M_INVERSE   
)

Definition at line 415 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [7/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_M_INVERSE_Q   
)

Definition at line 399 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [8/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_RNEA_DERIVATIVES   
)

Definition at line 246 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [9/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMPUTE_RNEA_FD_DERIVATIVES   
)

Definition at line 295 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [10/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
COMUTE_RNEA_SECOND_ORDER_DERIVATIVES   
)

Definition at line 270 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [11/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
FORWARD_KINEMATICS_DERIVATIVES   
)

Definition at line 203 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [12/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
FORWARD_KINEMATICS_Q_V_A   
)

Definition at line 183 of file timings-derivatives.cpp.

◆ BENCHMARK_DEFINE_F() [13/13]

BENCHMARK_DEFINE_F ( DerivativesFixture  ,
RNEA   
)

Definition at line 223 of file timings-derivatives.cpp.

◆ BENCHMARK_REGISTER_F() [1/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
ABA_LOCAL   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [2/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
COMPUTE_ABA_DERIVATIVES   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [3/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
COMPUTE_ABA_FD_DERIVATIVES   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [4/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
COMPUTE_CHOLESKY_M_INVERSE   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [5/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
COMPUTE_M_INVERSE   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [6/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
COMPUTE_M_INVERSE_Q   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [7/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
COMPUTE_RNEA_DERIVATIVES   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [8/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
COMPUTE_RNEA_FD_DERIVATIVES   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [9/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
FORWARD_KINEMATICS_DERIVATIVES   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [10/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
FORWARD_KINEMATICS_Q_V_A   
) -> Apply(CustomArguments)

◆ BENCHMARK_REGISTER_F() [11/11]

BENCHMARK_REGISTER_F ( DerivativesFixture  ,
RNEA   
) -> Apply(CustomArguments)

◆ computeABADerivativesCall()

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,
const Eigen::MatrixXd &  daba_dq,
const Eigen::MatrixXd &  daba_dv,
const pinocchio::Data::RowMatrixXs daba_dtau 
)
static

Definition at line 326 of file timings-derivatives.cpp.

◆ computeABADerivativesNoQVTauCall()

static PINOCCHIO_DONT_INLINE void computeABADerivativesNoQVTauCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::MatrixXd &  daba_dq,
const Eigen::MatrixXd &  daba_dv,
const pinocchio::Data::RowMatrixXs daba_dtau 
)
static

Definition at line 349 of file timings-derivatives.cpp.

◆ computeABAFDDerivativesCall()

static PINOCCHIO_DONT_INLINE void computeABAFDDerivativesCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  tau,
Eigen::MatrixXd &  daba_dq,
Eigen::MatrixXd &  daba_dv,
pinocchio::Data::RowMatrixXs daba_dtau 
)
static

Definition at line 371 of file timings-derivatives.cpp.

◆ computeCholeskyMinverseCall()

static PINOCCHIO_DONT_INLINE void computeCholeskyMinverseCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
Eigen::MatrixXd &  Minv 
)
static

Definition at line 427 of file timings-derivatives.cpp.

◆ computeForwardKinematicsDerivativesCall()

static PINOCCHIO_DONT_INLINE void computeForwardKinematicsDerivativesCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  a 
)
static

Definition at line 194 of file timings-derivatives.cpp.

◆ computeMinverseCall()

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

Definition at line 411 of file timings-derivatives.cpp.

◆ computeMinverseQCall()

static PINOCCHIO_DONT_INLINE void computeMinverseQCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q 
)
static

Definition at line 394 of file timings-derivatives.cpp.

◆ computeRNEADerivativesCall()

static PINOCCHIO_DONT_INLINE void computeRNEADerivativesCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  a,
const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &  drnea_dq,
const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &  drnea_dv,
const Eigen::MatrixXd &  drnea_da 
)
static

Definition at line 234 of file timings-derivatives.cpp.

◆ computeRNEAFDDerivativesCall()

static PINOCCHIO_DONT_INLINE void computeRNEAFDDerivativesCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  a,
const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &  drnea_dq,
const PINOCCHIO_EIGEN_PLAIN_COLUMN_MAJOR_TYPE(Eigen::MatrixXd) &  drnea_dv,
const Eigen::MatrixXd &  drnea_da 
)
static

Definition at line 283 of file timings-derivatives.cpp.

◆ computeRNEASecondOrderDerivativesCall()

static PINOCCHIO_DONT_INLINE void computeRNEASecondOrderDerivativesCall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  a,
const Tensor3x dtau2_dq,
const Tensor3x dtau2_dv,
const Tensor3x dtau2_dqv,
const Tensor3x dtau_dadq 
)
static

Definition at line 257 of file timings-derivatives.cpp.

◆ CustomArguments()

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

Definition at line 167 of file timings-derivatives.cpp.

◆ forwardKinematicsQVACall()

static PINOCCHIO_DONT_INLINE void forwardKinematicsQVACall ( const pinocchio::Model model,
pinocchio::Data data,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  a 
)
static

Definition at line 174 of file timings-derivatives.cpp.

◆ PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP()

PINOCCHIO_BENCHMARK_MAIN_WITH_SETUP ( DerivativesFixture::GlobalSetUp  )

◆ rnea_fd()

template<typename Matrix1 , typename Matrix2 , typename Matrix3 >
void rnea_fd ( const pinocchio::Model model,
pinocchio::Data data_fd,
const Eigen::VectorXd &  q,
const Eigen::VectorXd &  v,
const Eigen::VectorXd &  a,
const Eigen::MatrixBase< Matrix1 > &  _drnea_dq,
const Eigen::MatrixBase< Matrix2 > &  _drnea_dv,
const Eigen::MatrixBase< Matrix3 > &  _drnea_da 
)

Definition at line 26 of file timings-derivatives.cpp.

◆ rneaCall()

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

Definition at line 214 of file timings-derivatives.cpp.



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