pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
CodeGenABADerivatives< _Scalar > Struct Template Reference
Inheritance diagram for CodeGenABADerivatives< _Scalar >:
Collaboration diagram for CodeGenABADerivatives< _Scalar >:

Public Types

typedef Base::ADConfigVectorType ADConfigVectorType
 
typedef Base::ADData ADData
 
typedef ADData::MatrixXs ADMatrixXs
 
typedef Base::ADTangentVectorType ADTangentVectorType
 
typedef CodeGenBase< _ScalarBase
 
typedef Base::MatrixXs MatrixXs
 
typedef Base::Model Model
 
typedef Base::Scalar Scalar
 
typedef Base::VectorXs VectorXs
 
- Public Types inherited from CodeGenBase< _Scalar >
enum  { Options = 0 }
 
typedef ADModel::ConfigVectorType ADConfigVectorType
 
typedef pinocchio::DataTpl< ADScalar, Options > ADData
 
typedef CppAD::ADFun< CGScalar > ADFun
 
typedef Eigen::Matrix< ADScalar, Eigen::Dynamic, Eigen::Dynamic, Options > ADMatrixXs
 
typedef pinocchio::ModelTpl< ADScalar, Options > ADModel
 
typedef CppAD::AD< CGScalar > ADScalar
 
typedef ADModel::TangentVectorType ADTangentVectorType
 
typedef Eigen::Matrix< ADScalar, Eigen::Dynamic, 1, Options > ADVectorXs
 
typedef pinocchio::DataTpl< CGScalar, Options > CGData
 
typedef pinocchio::ModelTpl< CGScalar, Options > CGModel
 
typedef CppAD::cg::CG< Scalar > CGScalar
 
typedef Model::ConfigVectorType ConfigVectorType
 
typedef pinocchio::DataTpl< Scalar, Options > Data
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > MatrixXs
 
typedef pinocchio::ModelTpl< Scalar, Options > Model
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options|Eigen::RowMajor > RowMatrixXs
 
typedef _Scalar Scalar
 
typedef Model::TangentVectorType TangentVectorType
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > VectorXs
 

Public Member Functions

 CodeGenABADerivatives (const Model &model, const std::string &function_name="partial_aba", const std::string &library_name="cg_partial_aba_eval")
 
void buildMap ()
 build the mapping Y = f(X)
 
template<typename ConfigVectorType , typename TangentVector1 , typename TangentVector2 >
void evalFunction (const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVector1 > &v, const Eigen::MatrixBase< TangentVector2 > &tau)
 
typedef PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE (ADMatrixXs) RowADMatrixXs
 
typedef PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE (MatrixXs) RowMatrixXs
 
- Public Member Functions inherited from CodeGenBase< _Scalar >
 CodeGenBase (const Model &model, const Eigen::DenseIndex dim_input, const Eigen::DenseIndex dim_output, const std::string &function_name, const std::string &library_name)
 
CppAD::cg::ModelCSourceGen< Scalar > & codeGenerator ()
 
void compileAndLoadLib (const std::string &gcc_path)
 
void compileLib (const std::string &gcc_path="/usr/bin/gcc", const std::string &compile_options="-Ofast")
 
template<typename Vector >
void evalFunction (const Eigen::MatrixBase< Vector > &x)
 
template<typename Vector >
void evalJacobian (const Eigen::MatrixBase< Vector > &x)
 
bool existLib () const
 
Eigen::DenseIndex getInputDimension () const
 Dimension of the input vector.
 
Eigen::DenseIndex getOutputDimension () const
 Dimension of the output vector.
 
void initLib ()
 
void loadLib (const bool generate_if_not_exist=true, const std::string &gcc_path="/usr/bin/gcc", const std::string &compile_options="-Ofast")
 

Protected Attributes

ADData ad_data
 
ADMatrixXs ad_dddq_dq
 
ADMatrixXs ad_dddq_dtau
 
ADMatrixXs ad_dddq_dv
 
ADFun ad_fun
 
ADModel ad_model
 
ADConfigVectorType ad_q
 
ADTangentVectorType ad_tau
 
ADTangentVectorType ad_v
 
ADVectorXs ad_X
 
ADVectorXs ad_Y
 
MatrixXs dddq_dq
 
MatrixXs dddq_dtau
 
MatrixXs dddq_dv
 
VectorXs x
 
VectorXs y
 
- Protected Attributes inherited from CodeGenBase< _Scalar >
ADTangentVectorType ad_a
 
ADData ad_data
 
ADTangentVectorType ad_dq
 
ADFun ad_fun
 
ADModel ad_model
 
ADConfigVectorType ad_q
 
ADConfigVectorType ad_q_plus
 
ADTangentVectorType ad_v
 
ADVectorXs ad_X
 
ADVectorXs ad_Y
 
bool build_forward
 Options to generate or not the source code for the evaluation function.
 
bool build_jacobian
 Options to build or not the Jacobian of he function.
 
std::unique_ptr< CppAD::cg::ModelCSourceGen< Scalar > > cgen_ptr
 
std::unique_ptr< CppAD::cg::DynamicLib< Scalar > > dynamicLib_ptr
 
std::unique_ptr< CppAD::cg::DynamicModelLibraryProcessor< Scalar > > dynamicLibManager_ptr
 
const std::string function_name
 Name of the function.
 
std::unique_ptr< CppAD::cg::GenericModel< Scalar > > generatedFun_ptr
 
RowMatrixXs jac
 
std::unique_ptr< CppAD::cg::ModelLibraryCSourceGen< Scalar > > libcgen_ptr
 
const std::string library_name
 Name of the library.
 
VectorXs y
 

Detailed Description

template<typename _Scalar>
struct pinocchio::CodeGenABADerivatives< _Scalar >

Definition at line 570 of file code-generator-algo.hpp.

Member Typedef Documentation

◆ ADConfigVectorType

template<typename _Scalar >
typedef Base::ADConfigVectorType ADConfigVectorType

Definition at line 576 of file code-generator-algo.hpp.

◆ ADData

Definition at line 582 of file code-generator-algo.hpp.

◆ ADMatrixXs

template<typename _Scalar >
typedef ADData::MatrixXs ADMatrixXs

Definition at line 583 of file code-generator-algo.hpp.

◆ ADTangentVectorType

template<typename _Scalar >
typedef Base::ADTangentVectorType ADTangentVectorType

Definition at line 577 of file code-generator-algo.hpp.

◆ Base

Definition at line 572 of file code-generator-algo.hpp.

◆ MatrixXs

template<typename _Scalar >
typedef Base::MatrixXs MatrixXs

Definition at line 578 of file code-generator-algo.hpp.

◆ Model

Definition at line 575 of file code-generator-algo.hpp.

◆ Scalar

Definition at line 573 of file code-generator-algo.hpp.

◆ VectorXs

template<typename _Scalar >
typedef Base::VectorXs VectorXs

Definition at line 580 of file code-generator-algo.hpp.

Constructor & Destructor Documentation

◆ CodeGenABADerivatives()

template<typename _Scalar >
CodeGenABADerivatives ( const Model model,
const std::string &  function_name = "partial_aba",
const std::string &  library_name = "cg_partial_aba_eval" 
)
inline

Definition at line 586 of file code-generator-algo.hpp.

◆ ~CodeGenABADerivatives()

template<typename _Scalar >
virtual ~CodeGenABADerivatives ( )
inlinevirtual

Definition at line 612 of file code-generator-algo.hpp.

Member Function Documentation

◆ buildMap()

template<typename _Scalar >
void buildMap ( )
inlinevirtual

build the mapping Y = f(X)

Implements CodeGenBase< _Scalar >.

Definition at line 616 of file code-generator-algo.hpp.

◆ evalFunction()

template<typename _Scalar >
template<typename ConfigVectorType , typename TangentVector1 , typename TangentVector2 >
void evalFunction ( const Eigen::MatrixBase< ConfigVectorType > &  q,
const Eigen::MatrixBase< TangentVector1 > &  v,
const Eigen::MatrixBase< TangentVector2 > &  tau 
)
inline

Definition at line 646 of file code-generator-algo.hpp.

Member Data Documentation

◆ ad_data

template<typename _Scalar >
ADData ad_data
protected

Definition at line 182 of file code-generator-base.hpp.

◆ ad_dddq_dq

template<typename _Scalar >
ADMatrixXs ad_dddq_dq
protected

Definition at line 681 of file code-generator-algo.hpp.

◆ ad_dddq_dtau

template<typename _Scalar >
ADMatrixXs ad_dddq_dtau
protected

Definition at line 681 of file code-generator-algo.hpp.

◆ ad_dddq_dv

template<typename _Scalar >
ADMatrixXs ad_dddq_dv
protected

Definition at line 681 of file code-generator-algo.hpp.

◆ ad_fun

template<typename _Scalar >
ADFun ad_fun
protected

Definition at line 196 of file code-generator-base.hpp.

◆ ad_model

template<typename _Scalar >
ADModel ad_model
protected

Definition at line 181 of file code-generator-base.hpp.

◆ ad_q

template<typename _Scalar >
ADConfigVectorType ad_q
protected

Definition at line 684 of file code-generator-algo.hpp.

◆ ad_tau

template<typename _Scalar >
ADTangentVectorType ad_tau
protected

Definition at line 685 of file code-generator-algo.hpp.

◆ ad_v

template<typename _Scalar >
ADTangentVectorType ad_v
protected

Definition at line 685 of file code-generator-algo.hpp.

◆ ad_X

template<typename _Scalar >
ADVectorXs ad_X
protected

Definition at line 195 of file code-generator-base.hpp.

◆ ad_Y

template<typename _Scalar >
ADVectorXs ad_Y
protected

Definition at line 195 of file code-generator-base.hpp.

◆ dddq_dq

template<typename _Scalar >
MatrixXs dddq_dq
protected

Definition at line 682 of file code-generator-algo.hpp.

◆ dddq_dtau

template<typename _Scalar >
MatrixXs dddq_dtau
protected

Definition at line 682 of file code-generator-algo.hpp.

◆ dddq_dv

template<typename _Scalar >
MatrixXs dddq_dv
protected

Definition at line 682 of file code-generator-algo.hpp.

◆ x

template<typename _Scalar >
VectorXs x
protected

Definition at line 680 of file code-generator-algo.hpp.

◆ y

template<typename _Scalar >
VectorXs y
protected

Definition at line 201 of file code-generator-base.hpp.


The documentation for this struct was generated from the following file: