crocoddyl 1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
 
Loading...
Searching...
No Matches
ContactModelAbstractTpl< _Scalar > Class Template Referenceabstract
Inheritance diagram for ContactModelAbstractTpl< _Scalar >:

Public Types

typedef ContactDataAbstractTpl< Scalar > ContactDataAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef StateMultibodyTpl< Scalar > StateMultibody
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ContactModelAbstractTpl (boost::shared_ptr< StateMultibody > state, const std::size_t nc)
 
 ContactModelAbstractTpl (boost::shared_ptr< StateMultibody > state, const std::size_t nc, const std::size_t nu)
 
virtual void calc (const boost::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)=0
 
virtual void calcDiff (const boost::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)=0
 
virtual boost::shared_ptr< ContactDataAbstractcreateData (pinocchio::DataTpl< Scalar > *const data)
 
pinocchio::FrameIndex get_id () const
 Return the reference frame id.
 
std::size_t get_nc () const
 
std::size_t get_nu () const
 
const boost::shared_ptr< StateMultibody > & get_state () const
 
virtual void print (std::ostream &os) const
 Print relevant information of the contact model. More...
 
void set_id (const pinocchio::FrameIndex id)
 Modify the reference frame id.
 
void setZeroForce (const boost::shared_ptr< ContactDataAbstract > &data) const
 
void setZeroForceDiff (const boost::shared_ptr< ContactDataAbstract > &data) const
 
virtual void updateForce (const boost::shared_ptr< ContactDataAbstract > &data, const VectorXs &force)=0
 
void updateForceDiff (const boost::shared_ptr< ContactDataAbstract > &data, const MatrixXs &df_dx, const MatrixXs &df_du) const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Protected Attributes

pinocchio::FrameIndex id_
 Reference frame id of the contact. More...
 
std::size_t nc_
 
std::size_t nu_
 
boost::shared_ptr< StateMultibodystate_
 

Friends

template<class Scalar >
std::ostream & operator<< (std::ostream &os, const ContactModelAbstractTpl< Scalar > &model)
 Print information on the contact model.
 

Detailed Description

template<typename _Scalar>
class crocoddyl::ContactModelAbstractTpl< _Scalar >

Definition at line 20 of file contact-base.hpp.

Member Typedef Documentation

◆ MathBase

typedef MathBaseTpl<Scalar> MathBase

Definition at line 25 of file contact-base.hpp.

◆ ContactDataAbstract

Definition at line 26 of file contact-base.hpp.

◆ StateMultibody

Definition at line 27 of file contact-base.hpp.

◆ VectorXs

typedef MathBase::VectorXs VectorXs

Definition at line 28 of file contact-base.hpp.

◆ MatrixXs

typedef MathBase::MatrixXs MatrixXs

Definition at line 29 of file contact-base.hpp.

Member Function Documentation

◆ calc()

virtual void calc ( const boost::shared_ptr< ContactDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  x 
)
pure virtual

◆ calcDiff()

virtual void calcDiff ( const boost::shared_ptr< ContactDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  x 
)
pure virtual

◆ updateForce()

virtual void updateForce ( const boost::shared_ptr< ContactDataAbstract > &  data,
const VectorXs &  force 
)
pure virtual

◆ createData()

virtual boost::shared_ptr< ContactDataAbstract > createData ( pinocchio::DataTpl< Scalar > *const  data)
virtual

◆ print()

virtual void print ( std::ostream &  os) const
virtual

Print relevant information of the contact model.

Parameters
[out]osOutput stream object

Reimplemented in ContactModel1DTpl< _Scalar >, ContactModel2DTpl< _Scalar >, ContactModel3DTpl< _Scalar >, and ContactModel6DTpl< _Scalar >.

Member Data Documentation

◆ Scalar

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Definition at line 24 of file contact-base.hpp.

◆ state_

boost::shared_ptr<StateMultibody> state_
protected

Definition at line 74 of file contact-base.hpp.

◆ nc_

std::size_t nc_
protected

Definition at line 75 of file contact-base.hpp.

◆ nu_

std::size_t nu_
protected

Definition at line 76 of file contact-base.hpp.

◆ id_

pinocchio::FrameIndex id_
protected

Reference frame id of the contact.

Definition at line 77 of file contact-base.hpp.


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