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

Public Types

typedef Base::ADConfigVectorType ADConfigVectorType
 
typedef pinocchio::RigidConstraintDataTpl< ADScalar, Base::Options > ADConstraintData
 
typedef Eigen::aligned_allocator< ADConstraintDataADConstraintDataAllocator
 
typedef std::vector< ADConstraintData, ADConstraintDataAllocator > ADConstraintDataVector
 
typedef pinocchio::RigidConstraintModelTpl< ADScalar, Base::Options > ADConstraintModel
 
typedef Eigen::aligned_allocator< ADConstraintModelADConstraintModelAllocator
 
typedef std::vector< ADConstraintModel, ADConstraintModelAllocator > ADConstraintModelVector
 
typedef Base::ADFun ADFun
 
typedef Base::ADScalar ADScalar
 
typedef Base::ADSVector ADSVector
 
typedef Base::ADTangentVectorType ADTangentVectorType
 
typedef AutoDiffAlgoBase< _ScalarBase
 
typedef pinocchio::RigidConstraintDataTpl< Scalar, Base::Options > ConstraintData
 
typedef Eigen::aligned_allocator< ConstraintDataConstraintDataAllocator
 
typedef std::vector< ConstraintData, ConstraintDataAllocator > ConstraintDataVector
 
typedef pinocchio::RigidConstraintModelTpl< Scalar, Base::Options > ConstraintModel
 
typedef Eigen::aligned_allocator< ConstraintModelConstraintModelAllocator
 
typedef std::vector< ConstraintModel, ConstraintModelAllocator > ConstraintModelVector
 
typedef Base::DMMatrix DMMatrix
 
typedef Base::DMVector DMVector
 
typedef Base::MatrixXs MatrixXs
 
typedef Base::RowMatrixXs RowMatrixXs
 
typedef Base::Scalar Scalar
 
typedef Base::TangentVectorType TangentVectorType
 
typedef Base::VectorXs VectorXs
 
- Public Types inherited from AutoDiffAlgoBase< _Scalar >
enum  { Options = 0 }
 
typedef ADModel::ConfigVectorType ADConfigVectorType
 
typedef pinocchio::DataTpl< ADScalar, Options > ADData
 
typedef ::casadi::Function ADFun
 
typedef pinocchio::ModelTpl< ADScalar, Options > ADModel
 
typedef ::casadi::SX ADScalar
 
typedef ::casadi::SXVector ADSVector
 
typedef ADModel::TangentVectorType ADTangentVectorType
 
typedef Model::ConfigVectorType ConfigVectorType
 
typedef pinocchio::DataTpl< Scalar, Options > Data
 
typedef ::casadi::DM DMMatrix
 
typedef ::casadi::DMVector DMVector
 
typedef Data::MatrixXs MatrixXs
 
typedef pinocchio::ModelTpl< Scalar, Options > Model
 
typedef Data::RowMatrixXs RowMatrixXs
 
typedef _Scalar Scalar
 
typedef Model::TangentVectorType TangentVectorType
 
typedef Data::VectorXs VectorXs
 

Public Member Functions

 AutoDiffConstraintDynamics (const Model &model, const ConstraintModelVector &contact_models, const std::string &filename="casadi_contactDyn", const std::string &libname="libcasadi_cg_contactDyn", const std::string &fun_name="eval_f")
 
virtual void buildMap ()
 build the mapping Y = f(X)
 
template<typename ConfigVectorType1 , typename TangentVectorType1 , typename TangentVectorType2 >
void evalFunction (const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
 
template<typename ConfigVectorType1 , typename TangentVectorType1 , typename TangentVectorType2 >
void evalJacobian (const Eigen::MatrixBase< ConfigVectorType1 > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau)
 
- Public Member Functions inherited from AutoDiffAlgoBase< _Scalar >
 AutoDiffAlgoBase (const Model &model, const std::string &filename, const std::string &libname, const std::string &fun_name)
 
void compileLib ()
 
bool existLib () const
 
casadi_int getFunDerivsOperationCount () const
 
casadi_int getFunOperationCount () const
 
void initLib ()
 
void loadLib (const bool generate_if_not_exist=true)
 

Static Public Member Functions

static Eigen::DenseIndex constraintDim (const ConstraintModelVector &contact_models)
 

Public Attributes

TangentVectorType ddq
 
RowMatrixXs ddq_dq
 
RowMatrixXs ddq_dtau
 
RowMatrixXs ddq_dv
 
RowMatrixXs dlambda_dq
 
RowMatrixXs dlambda_dtau
 
RowMatrixXs dlambda_dv
 
VectorXs lambda_c
 

Protected Attributes

ADConstraintDataVector ad_contact_datas
 
ADConstraintModelVector ad_contact_models
 
ADData ad_data
 
ADFun ad_fun
 
ADFun ad_fun_derivs
 
ADModel ad_model
 
::casadi::CodeGenerator cg_generated
 
ADScalar cs_ddq
 
ADScalar cs_ddq_dq
 
ADScalar cs_ddq_dtau
 
ADScalar cs_ddq_dv
 
ADScalar cs_lambda_c
 
ADScalar cs_lambda_dq
 
ADScalar cs_lambda_dtau
 
ADScalar cs_lambda_dv
 
ADScalar cs_q
 
ADScalar cs_tau
 
ADScalar cs_v
 
ADScalar cs_v_int
 
std::string filename
 
ADFun fun
 
ADFun fun_derivs
 
std::string fun_name
 
std::vector< DMMatrix > fun_output
 
std::vector< DMMatrix > fun_output_derivs
 
std::string libname
 
Eigen::DenseIndex nc
 
ADConfigVectorType q_ad
 
ADConfigVectorType q_int_ad
 
std::vector< Scalar > q_vec
 
ADTangentVectorType tau_ad
 
std::vector< Scalar > tau_vec
 
ADTangentVectorType v_ad
 
ADTangentVectorType v_int_ad
 
std::vector< Scalar > v_int_vec
 
std::vector< Scalar > v_vec
 
- Protected Attributes inherited from AutoDiffAlgoBase< _Scalar >
ADData ad_data
 
ADFun ad_fun
 
ADFun ad_fun_derivs
 
ADModel ad_model
 
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.
 
::casadi::CodeGenerator cg_generated
 
std::string filename
 
ADFun fun
 
ADFun fun_derivs
 
casadi_int fun_derivs_operation_count
 
std::string fun_name
 
casadi_int fun_operation_count
 
std::vector< DMMatrix > fun_output
 
std::vector< DMMatrix > fun_output_derivs
 
std::string libname
 

Detailed Description

template<typename _Scalar>
struct pinocchio::casadi::AutoDiffConstraintDynamics< _Scalar >

Definition at line 416 of file casadi-algo.hpp.

Member Typedef Documentation

◆ ADConfigVectorType

template<typename _Scalar >
typedef Base::ADConfigVectorType ADConfigVectorType

Definition at line 431 of file casadi-algo.hpp.

◆ ADConstraintData

Definition at line 446 of file casadi-algo.hpp.

◆ ADConstraintDataAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ADConstraintData> ADConstraintDataAllocator

Definition at line 447 of file casadi-algo.hpp.

◆ ADConstraintDataVector

template<typename _Scalar >
typedef std::vector<ADConstraintData, ADConstraintDataAllocator> ADConstraintDataVector

Definition at line 449 of file casadi-algo.hpp.

◆ ADConstraintModel

Definition at line 442 of file casadi-algo.hpp.

◆ ADConstraintModelAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ADConstraintModel> ADConstraintModelAllocator

Definition at line 443 of file casadi-algo.hpp.

◆ ADConstraintModelVector

template<typename _Scalar >
typedef std::vector<ADConstraintModel, ADConstraintModelAllocator> ADConstraintModelVector

Definition at line 445 of file casadi-algo.hpp.

◆ ADFun

template<typename _Scalar >
typedef Base::ADFun ADFun

Definition at line 428 of file casadi-algo.hpp.

◆ ADScalar

template<typename _Scalar >
typedef Base::ADScalar ADScalar

Definition at line 420 of file casadi-algo.hpp.

◆ ADSVector

template<typename _Scalar >
typedef Base::ADSVector ADSVector

Definition at line 421 of file casadi-algo.hpp.

◆ ADTangentVectorType

template<typename _Scalar >
typedef Base::ADTangentVectorType ADTangentVectorType

Definition at line 432 of file casadi-algo.hpp.

◆ Base

Definition at line 418 of file casadi-algo.hpp.

◆ ConstraintData

Definition at line 437 of file casadi-algo.hpp.

◆ ConstraintDataAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ConstraintData> ConstraintDataAllocator

Definition at line 438 of file casadi-algo.hpp.

◆ ConstraintDataVector

template<typename _Scalar >
typedef std::vector<ConstraintData, ConstraintDataAllocator> ConstraintDataVector

Definition at line 439 of file casadi-algo.hpp.

◆ ConstraintModel

Definition at line 434 of file casadi-algo.hpp.

◆ ConstraintModelAllocator

template<typename _Scalar >
typedef Eigen::aligned_allocator<ConstraintModel> ConstraintModelAllocator

Definition at line 435 of file casadi-algo.hpp.

◆ ConstraintModelVector

template<typename _Scalar >
typedef std::vector<ConstraintModel, ConstraintModelAllocator> ConstraintModelVector

Definition at line 436 of file casadi-algo.hpp.

◆ DMMatrix

template<typename _Scalar >
typedef Base::DMMatrix DMMatrix

Definition at line 430 of file casadi-algo.hpp.

◆ DMVector

template<typename _Scalar >
typedef Base::DMVector DMVector

Definition at line 429 of file casadi-algo.hpp.

◆ MatrixXs

template<typename _Scalar >
typedef Base::MatrixXs MatrixXs

Definition at line 426 of file casadi-algo.hpp.

◆ RowMatrixXs

template<typename _Scalar >
typedef Base::RowMatrixXs RowMatrixXs

Definition at line 424 of file casadi-algo.hpp.

◆ Scalar

template<typename _Scalar >
typedef Base::Scalar Scalar

Definition at line 419 of file casadi-algo.hpp.

◆ TangentVectorType

template<typename _Scalar >
typedef Base::TangentVectorType TangentVectorType

Definition at line 423 of file casadi-algo.hpp.

◆ VectorXs

template<typename _Scalar >
typedef Base::VectorXs VectorXs

Definition at line 425 of file casadi-algo.hpp.

Constructor & Destructor Documentation

◆ AutoDiffConstraintDynamics()

template<typename _Scalar >
AutoDiffConstraintDynamics ( const Model model,
const ConstraintModelVector &  contact_models,
const std::string &  filename = "casadi_contactDyn",
const std::string &  libname = "libcasadi_cg_contactDyn",
const std::string &  fun_name = "eval_f" 
)
inlineexplicit

Definition at line 464 of file casadi-algo.hpp.

◆ ~AutoDiffConstraintDynamics()

template<typename _Scalar >
virtual ~AutoDiffConstraintDynamics ( )
inlinevirtual

Definition at line 518 of file casadi-algo.hpp.

Member Function Documentation

◆ buildMap()

template<typename _Scalar >
virtual void buildMap ( )
inlinevirtual

build the mapping Y = f(X)

Implements AutoDiffAlgoBase< _Scalar >.

Definition at line 522 of file casadi-algo.hpp.

◆ constraintDim()

template<typename _Scalar >
static Eigen::DenseIndex constraintDim ( const ConstraintModelVector &  contact_models)
inlinestatic

Definition at line 451 of file casadi-algo.hpp.

◆ evalFunction()

template<typename _Scalar >
void evalFunction ( const Eigen::MatrixBase< ConfigVectorType1 > &  q,
const Eigen::MatrixBase< TangentVectorType1 > &  v,
const Eigen::MatrixBase< TangentVectorType2 > &  tau 
)
inline

Definition at line 550 of file casadi-algo.hpp.

◆ evalJacobian()

template<typename _Scalar >
void evalJacobian ( const Eigen::MatrixBase< ConfigVectorType1 > &  q,
const Eigen::MatrixBase< TangentVectorType1 > &  v,
const Eigen::MatrixBase< TangentVectorType2 > &  tau 
)
inline

Definition at line 566 of file casadi-algo.hpp.

Member Data Documentation

◆ ad_contact_datas

template<typename _Scalar >
ADConstraintDataVector ad_contact_datas
protected

Definition at line 609 of file casadi-algo.hpp.

◆ ad_contact_models

template<typename _Scalar >
ADConstraintModelVector ad_contact_models
protected

Definition at line 608 of file casadi-algo.hpp.

◆ ad_data

template<typename _Scalar >
ADData ad_data
protected

Definition at line 138 of file casadi-algo.hpp.

◆ ad_fun

template<typename _Scalar >
ADFun ad_fun
protected

Definition at line 147 of file casadi-algo.hpp.

◆ ad_fun_derivs

template<typename _Scalar >
ADFun ad_fun_derivs
protected

Definition at line 147 of file casadi-algo.hpp.

◆ ad_model

template<typename _Scalar >
ADModel ad_model
protected

Definition at line 137 of file casadi-algo.hpp.

◆ cg_generated

template<typename _Scalar >
::casadi::CodeGenerator cg_generated
protected

Definition at line 140 of file casadi-algo.hpp.

◆ cs_ddq

template<typename _Scalar >
ADScalar cs_ddq
protected

Definition at line 612 of file casadi-algo.hpp.

◆ cs_ddq_dq

template<typename _Scalar >
ADScalar cs_ddq_dq
protected

Definition at line 615 of file casadi-algo.hpp.

◆ cs_ddq_dtau

template<typename _Scalar >
ADScalar cs_ddq_dtau
protected

Definition at line 615 of file casadi-algo.hpp.

◆ cs_ddq_dv

template<typename _Scalar >
ADScalar cs_ddq_dv
protected

Definition at line 615 of file casadi-algo.hpp.

◆ cs_lambda_c

template<typename _Scalar >
ADScalar cs_lambda_c
protected

Definition at line 612 of file casadi-algo.hpp.

◆ cs_lambda_dq

template<typename _Scalar >
ADScalar cs_lambda_dq
protected

Definition at line 615 of file casadi-algo.hpp.

◆ cs_lambda_dtau

template<typename _Scalar >
ADScalar cs_lambda_dtau
protected

Definition at line 615 of file casadi-algo.hpp.

◆ cs_lambda_dv

template<typename _Scalar >
ADScalar cs_lambda_dv
protected

Definition at line 615 of file casadi-algo.hpp.

◆ cs_q

template<typename _Scalar >
ADScalar cs_q
protected

Definition at line 612 of file casadi-algo.hpp.

◆ cs_tau

template<typename _Scalar >
ADScalar cs_tau
protected

Definition at line 612 of file casadi-algo.hpp.

◆ cs_v

template<typename _Scalar >
ADScalar cs_v
protected

Definition at line 612 of file casadi-algo.hpp.

◆ cs_v_int

template<typename _Scalar >
ADScalar cs_v_int
protected

Definition at line 612 of file casadi-algo.hpp.

◆ ddq

template<typename _Scalar >
TangentVectorType ddq

Definition at line 589 of file casadi-algo.hpp.

◆ ddq_dq

template<typename _Scalar >
RowMatrixXs ddq_dq

Definition at line 591 of file casadi-algo.hpp.

◆ ddq_dtau

template<typename _Scalar >
RowMatrixXs ddq_dtau

Definition at line 591 of file casadi-algo.hpp.

◆ ddq_dv

template<typename _Scalar >
RowMatrixXs ddq_dv

Definition at line 591 of file casadi-algo.hpp.

◆ dlambda_dq

template<typename _Scalar >
RowMatrixXs dlambda_dq

Definition at line 591 of file casadi-algo.hpp.

◆ dlambda_dtau

template<typename _Scalar >
RowMatrixXs dlambda_dtau

Definition at line 591 of file casadi-algo.hpp.

◆ dlambda_dv

template<typename _Scalar >
RowMatrixXs dlambda_dv

Definition at line 591 of file casadi-algo.hpp.

◆ filename

template<typename _Scalar >
std::string filename
protected

Definition at line 139 of file casadi-algo.hpp.

◆ fun

template<typename _Scalar >
ADFun fun
protected

Definition at line 148 of file casadi-algo.hpp.

◆ fun_derivs

template<typename _Scalar >
ADFun fun_derivs
protected

Definition at line 148 of file casadi-algo.hpp.

◆ fun_name

template<typename _Scalar >
std::string fun_name
protected

Definition at line 139 of file casadi-algo.hpp.

◆ fun_output

template<typename _Scalar >
std::vector<DMMatrix> fun_output
protected

Definition at line 149 of file casadi-algo.hpp.

◆ fun_output_derivs

template<typename _Scalar >
std::vector<DMMatrix> fun_output_derivs
protected

Definition at line 149 of file casadi-algo.hpp.

◆ lambda_c

template<typename _Scalar >
VectorXs lambda_c

Definition at line 590 of file casadi-algo.hpp.

◆ libname

template<typename _Scalar >
std::string libname
protected

Definition at line 139 of file casadi-algo.hpp.

◆ nc

template<typename _Scalar >
Eigen::DenseIndex nc
protected

Definition at line 611 of file casadi-algo.hpp.

◆ q_ad

template<typename _Scalar >
ADConfigVectorType q_ad
protected

Definition at line 617 of file casadi-algo.hpp.

◆ q_int_ad

template<typename _Scalar >
ADConfigVectorType q_int_ad
protected

Definition at line 617 of file casadi-algo.hpp.

◆ q_vec

template<typename _Scalar >
std::vector<Scalar> q_vec
protected

Definition at line 620 of file casadi-algo.hpp.

◆ tau_ad

template<typename _Scalar >
ADTangentVectorType tau_ad
protected

Definition at line 618 of file casadi-algo.hpp.

◆ tau_vec

template<typename _Scalar >
std::vector<Scalar> tau_vec
protected

Definition at line 620 of file casadi-algo.hpp.

◆ v_ad

template<typename _Scalar >
ADTangentVectorType v_ad
protected

Definition at line 618 of file casadi-algo.hpp.

◆ v_int_ad

template<typename _Scalar >
ADTangentVectorType v_int_ad
protected

Definition at line 618 of file casadi-algo.hpp.

◆ v_int_vec

template<typename _Scalar >
std::vector<Scalar> v_int_vec
protected

Definition at line 620 of file casadi-algo.hpp.

◆ v_vec

template<typename _Scalar >
std::vector<Scalar> v_vec
protected

Definition at line 620 of file casadi-algo.hpp.


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