Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
pinocchio::CodeGenConstraintDynamics< _Scalar > Struct Template Reference

#include <code-generator-algo.hpp>

Inheritance diagram for pinocchio::CodeGenConstraintDynamics< _Scalar >:
Inheritance graph
[legend]

Public Types

typedef Base::ADConfigVectorType ADConfigVectorType
 
typedef Eigen::aligned_allocator< ADContactDataADConstraintDataAllocator
 
typedef Eigen::aligned_allocator< ADContactModelADConstraintModelAllocator
 
typedef pinocchio::RigidConstraintDataTpl< ADScalar, Base::OptionsADContactData
 
typedef std::vector< ADContactData, ADConstraintDataAllocatorADContactDataVector
 
typedef pinocchio::RigidConstraintModelTpl< ADScalar, Base::OptionsADContactModel
 
typedef std::vector< ADContactModel, ADConstraintModelAllocatorADContactModelVector
 
typedef Base::ADData ADData
 
typedef ADData::MatrixXs ADMatrixXs
 
typedef Base::ADScalar ADScalar
 
typedef Base::ADTangentVectorType ADTangentVectorType
 
typedef CodeGenBase< _Scalar > Base
 
typedef Eigen::aligned_allocator< ContactDataConstraintDataAllocator
 
typedef Eigen::aligned_allocator< ContactModelConstraintModelAllocator
 
typedef pinocchio::RigidConstraintDataTpl< Scalar, Base::OptionsContactData
 
typedef std::vector< ContactData, ConstraintDataAllocatorContactDataVector
 
typedef pinocchio::RigidConstraintModelTpl< Scalar, Base::OptionsContactModel
 
typedef std::vector< ContactModel, ConstraintModelAllocatorContactModelVector
 
typedef Base::MatrixXs MatrixXs
 
typedef Base::Model Model
 
typedef Base::Scalar Scalar
 
typedef Base::VectorXs VectorXs
 
- Public Types inherited from pinocchio::CodeGenBase< _Scalar >
enum  { Options = 0 }
 
typedef ADModel::ConfigVectorType ADConfigVectorType
 
typedef pinocchio::DataTpl< ADScalar, OptionsADData
 
typedef CppAD::ADFun< CGScalarADFun
 
typedef Eigen::Matrix< ADScalar, Eigen::Dynamic, Eigen::Dynamic, OptionsADMatrixXs
 
typedef pinocchio::ModelTpl< ADScalar, OptionsADModel
 
typedef CppAD::AD< CGScalarADScalar
 
typedef ADModel::TangentVectorType ADTangentVectorType
 
typedef Eigen::Matrix< ADScalar, Eigen::Dynamic, 1, OptionsADVectorXs
 
typedef pinocchio::DataTpl< CGScalar, OptionsCGData
 
typedef pinocchio::ModelTpl< CGScalar, OptionsCGModel
 
typedef CppAD::cg::CG< ScalarCGScalar
 
typedef Model::ConfigVectorType ConfigVectorType
 
typedef pinocchio::DataTpl< Scalar, OptionsData
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, OptionsMatrixXs
 
typedef pinocchio::ModelTpl< Scalar, OptionsModel
 
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, OptionsVectorXs
 

Public Member Functions

void buildMap ()
 build the mapping Y = f(X) More...
 
 CodeGenConstraintDynamics (const Model &model, const ContactModelVector &contact_models, const std::string &function_name="constraintDynamics", const std::string &library_name="cg_constraintDynamics_eval")
 
Eigen::DenseIndex constraintDim (const ContactModelVector &contact_models) const
 
template<typename ConfigVectorType , typename TangentVector1 , typename TangentVector2 >
void evalFunction (const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVector1 > &v, const Eigen::MatrixBase< TangentVector2 > &tau)
 
template<typename ConfigVectorType , typename TangentVector1 , typename TangentVector2 >
void evalJacobian (const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVector1 > &v, const Eigen::MatrixBase< TangentVector2 > &a)
 
template<typename Vector >
void evalJacobian (const Eigen::MatrixBase< Vector > &x)
 
typedef PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE (ADMatrixXs) RowADMatrixXs
 
typedef PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE (MatrixXs) RowMatrixXs
 
virtual ~CodeGenConstraintDynamics ()
 
- Public Member Functions inherited from pinocchio::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. More...
 
Eigen::DenseIndex getOutputDimension () const
 Dimension of the output vector. More...
 
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")
 
virtual ~CodeGenBase ()
 

Public Attributes

MatrixXs da_dq
 
MatrixXs da_dtau
 
MatrixXs da_dv
 
VectorXs ddq
 
MatrixXs dlambda_dq
 
MatrixXs dlambda_dtau
 
MatrixXs dlambda_dv
 
VectorXs lambda_c
 

Protected Attributes

ADContactDataVector ad_contact_datas
 
ADContactModelVector ad_contact_models
 
ADData ad_data
 
ADFun ad_fun
 
ADModel ad_model
 
ADConfigVectorType ad_q
 
ADTangentVectorType ad_tau
 
ADTangentVectorType ad_v
 
ADVectorXs ad_X
 
ADVectorXs ad_Y
 
Eigen::DenseIndex nc
 
VectorXs x
 
VectorXs y
 
- Protected Attributes inherited from pinocchio::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. More...
 
bool build_jacobian
 Options to build or not the Jacobian of he function. More...
 
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. More...
 
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. More...
 
VectorXs y
 

Detailed Description

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

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

Member Typedef Documentation

◆ ADConfigVectorType

template<typename _Scalar >
typedef Base::ADConfigVectorType pinocchio::CodeGenConstraintDynamics< _Scalar >::ADConfigVectorType

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

◆ ADConstraintDataAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ADContactData> pinocchio::CodeGenConstraintDynamics< _Scalar >::ADConstraintDataAllocator

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

◆ ADConstraintModelAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ADContactModel> pinocchio::CodeGenConstraintDynamics< _Scalar >::ADConstraintModelAllocator

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

◆ ADContactData

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

◆ ADContactDataVector

template<typename _Scalar >
typedef std::vector<ADContactData, ADConstraintDataAllocator> pinocchio::CodeGenConstraintDynamics< _Scalar >::ADContactDataVector

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

◆ ADContactModel

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

◆ ADContactModelVector

template<typename _Scalar >
typedef std::vector<ADContactModel, ADConstraintModelAllocator> pinocchio::CodeGenConstraintDynamics< _Scalar >::ADContactModelVector

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

◆ ADData

template<typename _Scalar >
typedef Base::ADData pinocchio::CodeGenConstraintDynamics< _Scalar >::ADData

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

◆ ADMatrixXs

template<typename _Scalar >
typedef ADData::MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::ADMatrixXs

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

◆ ADScalar

template<typename _Scalar >
typedef Base::ADScalar pinocchio::CodeGenConstraintDynamics< _Scalar >::ADScalar

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

◆ ADTangentVectorType

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

◆ Base

template<typename _Scalar >
typedef CodeGenBase<_Scalar> pinocchio::CodeGenConstraintDynamics< _Scalar >::Base

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

◆ ConstraintDataAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ContactData> pinocchio::CodeGenConstraintDynamics< _Scalar >::ConstraintDataAllocator

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

◆ ConstraintModelAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ContactModel> pinocchio::CodeGenConstraintDynamics< _Scalar >::ConstraintModelAllocator

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

◆ ContactData

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

◆ ContactDataVector

template<typename _Scalar >
typedef std::vector<ContactData, ConstraintDataAllocator> pinocchio::CodeGenConstraintDynamics< _Scalar >::ContactDataVector

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

◆ ContactModel

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

◆ ContactModelVector

template<typename _Scalar >
typedef std::vector<ContactModel, ConstraintModelAllocator> pinocchio::CodeGenConstraintDynamics< _Scalar >::ContactModelVector

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

◆ MatrixXs

template<typename _Scalar >
typedef Base::MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::MatrixXs

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

◆ Model

template<typename _Scalar >
typedef Base::Model pinocchio::CodeGenConstraintDynamics< _Scalar >::Model

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

◆ Scalar

template<typename _Scalar >
typedef Base::Scalar pinocchio::CodeGenConstraintDynamics< _Scalar >::Scalar

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

◆ VectorXs

template<typename _Scalar >
typedef Base::VectorXs pinocchio::CodeGenConstraintDynamics< _Scalar >::VectorXs

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

Constructor & Destructor Documentation

◆ CodeGenConstraintDynamics()

template<typename _Scalar >
pinocchio::CodeGenConstraintDynamics< _Scalar >::CodeGenConstraintDynamics ( const Model model,
const ContactModelVector contact_models,
const std::string &  function_name = "constraintDynamics",
const std::string &  library_name = "cg_constraintDynamics_eval" 
)
inline

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

◆ ~CodeGenConstraintDynamics()

template<typename _Scalar >
virtual pinocchio::CodeGenConstraintDynamics< _Scalar >::~CodeGenConstraintDynamics ( )
inlinevirtual

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

Member Function Documentation

◆ buildMap()

template<typename _Scalar >
void pinocchio::CodeGenConstraintDynamics< _Scalar >::buildMap ( )
inlinevirtual

build the mapping Y = f(X)

Implements pinocchio::CodeGenBase< _Scalar >.

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

◆ constraintDim()

template<typename _Scalar >
Eigen::DenseIndex pinocchio::CodeGenConstraintDynamics< _Scalar >::constraintDim ( const ContactModelVector contact_models) const
inline

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

◆ evalFunction()

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

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

◆ evalJacobian() [1/2]

template<typename _Scalar >
template<typename ConfigVectorType , typename TangentVector1 , typename TangentVector2 >
void pinocchio::CodeGenConstraintDynamics< _Scalar >::evalJacobian ( const Eigen::MatrixBase< ConfigVectorType > &  q,
const Eigen::MatrixBase< TangentVector1 > &  v,
const Eigen::MatrixBase< TangentVector2 > &  a 
)
inline

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

◆ evalJacobian() [2/2]

template<typename _Scalar >
template<typename Vector >
void pinocchio::CodeGenBase< _Scalar >::evalJacobian ( typename Vector  )
inline

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

◆ PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE() [1/2]

template<typename _Scalar >
typedef pinocchio::CodeGenConstraintDynamics< _Scalar >::PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE ( ADMatrixXs  )

◆ PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE() [2/2]

template<typename _Scalar >
typedef pinocchio::CodeGenConstraintDynamics< _Scalar >::PINOCCHIO_EIGEN_PLAIN_ROW_MAJOR_TYPE ( MatrixXs  )

Member Data Documentation

◆ ad_contact_datas

template<typename _Scalar >
ADContactDataVector pinocchio::CodeGenConstraintDynamics< _Scalar >::ad_contact_datas
protected

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

◆ ad_contact_models

template<typename _Scalar >
ADContactModelVector pinocchio::CodeGenConstraintDynamics< _Scalar >::ad_contact_models
protected

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

◆ ad_data

template<typename _Scalar >
ADData pinocchio::CodeGenBase< _Scalar >::ad_data
protected

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

◆ ad_fun

template<typename _Scalar >
ADFun pinocchio::CodeGenBase< _Scalar >::ad_fun
protected

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

◆ ad_model

template<typename _Scalar >
ADModel pinocchio::CodeGenBase< _Scalar >::ad_model
protected

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

◆ ad_q

template<typename _Scalar >
ADConfigVectorType pinocchio::CodeGenConstraintDynamics< _Scalar >::ad_q
protected

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

◆ ad_tau

template<typename _Scalar >
ADTangentVectorType pinocchio::CodeGenConstraintDynamics< _Scalar >::ad_tau
protected

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

◆ ad_v

template<typename _Scalar >
ADTangentVectorType pinocchio::CodeGenConstraintDynamics< _Scalar >::ad_v
protected

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

◆ ad_X

template<typename _Scalar >
ADVectorXs pinocchio::CodeGenBase< _Scalar >::ad_X
protected

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

◆ ad_Y

template<typename _Scalar >
ADVectorXs pinocchio::CodeGenBase< _Scalar >::ad_Y
protected

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

◆ da_dq

template<typename _Scalar >
MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::da_dq

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

◆ da_dtau

template<typename _Scalar >
MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::da_dtau

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

◆ da_dv

template<typename _Scalar >
MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::da_dv

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

◆ ddq

template<typename _Scalar >
VectorXs pinocchio::CodeGenConstraintDynamics< _Scalar >::ddq

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

◆ dlambda_dq

template<typename _Scalar >
MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::dlambda_dq

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

◆ dlambda_dtau

template<typename _Scalar >
MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::dlambda_dtau

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

◆ dlambda_dv

template<typename _Scalar >
MatrixXs pinocchio::CodeGenConstraintDynamics< _Scalar >::dlambda_dv

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

◆ lambda_c

template<typename _Scalar >
VectorXs pinocchio::CodeGenConstraintDynamics< _Scalar >::lambda_c

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

◆ nc

template<typename _Scalar >
Eigen::DenseIndex pinocchio::CodeGenConstraintDynamics< _Scalar >::nc
protected

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

◆ x

template<typename _Scalar >
VectorXs pinocchio::CodeGenConstraintDynamics< _Scalar >::x
protected

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

◆ y

template<typename _Scalar >
VectorXs pinocchio::CodeGenBase< _Scalar >::y
protected

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


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


pinocchio
Author(s):
autogenerated on Sun Dec 22 2024 03:41:14