sobec::newcontacts::ContactModel1DTpl< _Scalar > Class Template Reference

#include <sobec/crocomplements/contact/contact1d.hpp>

Inheritance diagram for sobec::newcontacts::ContactModel1DTpl< _Scalar >:
Collaboration diagram for sobec::newcontacts::ContactModel1DTpl< _Scalar >:

Public Types

typedef crocoddyl::MathBaseTpl< ScalarMathBase
 
typedef crocoddyl::ContactModel1DTpl< ScalarBase
 
typedef ContactData1DTpl< ScalarData
 
typedef crocoddyl::StateMultibodyTpl< ScalarStateMultibody
 
typedef MathBase::Vector2s Vector2s
 
typedef MathBase::Vector3s Vector3s
 
typedef MathBase::VectorXs VectorXs
 
typedef MathBase::Matrix3s Matrix3s
 
typedef MathBase::Matrix6s Matrix6s
 

Public Member Functions

 ContactModel1DTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const Vector3s &xref, const std::size_t nu, const Vector2s &gains=Vector2s::Zero(), const Vector3MaskType &mask=Vector3MaskType::z, const pinocchio::ReferenceFrame ref=pinocchio::LOCAL)
 Initialize the 1d contact model. More...
 
 ContactModel1DTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const Vector3s &xref, const Vector2s &gains=Vector2s::Zero(), const pinocchio::ReferenceFrame ref=pinocchio::LOCAL)
 Initialize the 1d contact model. More...
 
virtual ~ContactModel1DTpl ()
 
virtual void calc (const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &data, const Eigen::Ref< const VectorXs > &x)
 Compute the 1d contact Jacobian and drift. More...
 
virtual void calcDiff (const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &data, const Eigen::Ref< const VectorXs > &x)
 Compute the derivatives of the 1d contact holonomic constraint. More...
 
virtual void updateForce (const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &data, const VectorXs &force)
 Convert the force into a stack of spatial forces. More...
 
virtual boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar > > createData (pinocchio::DataTpl< Scalar > *const data)
 Create the 1d contact data. More...
 
const Vector3sget_reference () const
 Return the reference frame translation. More...
 
const Vector2sget_gains () const
 Create the 1d contact data. More...
 
void set_reference (const Vector3s &reference)
 Modify the reference frame translation. More...
 
void set_type (const pinocchio::ReferenceFrame type)
 Modify pinocchio::ReferenceFrame. More...
 
const pinocchio::ReferenceFrame & get_type () const
 Get pinocchio::ReferenceFrame. More...
 
void set_mask (const Vector3MaskType mask)
 Modify contact 1D mask. More...
 
const Vector3MaskTypeget_mask () const
 Get contact 1D mask. More...
 
virtual void print (std::ostream &os) const
 Print relevant information of the 1d contact model. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Member Typedef Documentation

◆ Base

template<typename _Scalar >
typedef crocoddyl::ContactModel1DTpl<Scalar> sobec::newcontacts::ContactModel1DTpl< _Scalar >::Base

◆ Data

template<typename _Scalar >
typedef ContactData1DTpl<Scalar> sobec::newcontacts::ContactModel1DTpl< _Scalar >::Data

◆ MathBase

template<typename _Scalar >
typedef crocoddyl::MathBaseTpl<Scalar> sobec::newcontacts::ContactModel1DTpl< _Scalar >::MathBase

◆ Matrix3s

template<typename _Scalar >
typedef MathBase::Matrix3s sobec::newcontacts::ContactModel1DTpl< _Scalar >::Matrix3s

◆ Matrix6s

template<typename _Scalar >
typedef MathBase::Matrix6s sobec::newcontacts::ContactModel1DTpl< _Scalar >::Matrix6s

◆ StateMultibody

template<typename _Scalar >
typedef crocoddyl::StateMultibodyTpl<Scalar> sobec::newcontacts::ContactModel1DTpl< _Scalar >::StateMultibody

◆ Vector2s

template<typename _Scalar >
typedef MathBase::Vector2s sobec::newcontacts::ContactModel1DTpl< _Scalar >::Vector2s

◆ Vector3s

template<typename _Scalar >
typedef MathBase::Vector3s sobec::newcontacts::ContactModel1DTpl< _Scalar >::Vector3s

◆ VectorXs

template<typename _Scalar >
typedef MathBase::VectorXs sobec::newcontacts::ContactModel1DTpl< _Scalar >::VectorXs

Constructor & Destructor Documentation

◆ ContactModel1DTpl() [1/2]

template<typename Scalar >
sobec::newcontacts::ContactModel1DTpl< Scalar >::ContactModel1DTpl ( boost::shared_ptr< StateMultibody state,
const pinocchio::FrameIndex  id,
const Vector3s xref,
const std::size_t  nu,
const Vector2s gains = Vector2s::Zero(),
const Vector3MaskType mask = Vector3MaskType::z,
const pinocchio::ReferenceFrame  ref = pinocchio::LOCAL 
)

Initialize the 1d contact model.

Parameters
[in]stateState of the multibody system
[in]idReference frame id of the contact
[in]xrefContact position used for the Baumgarte stabilization
[in]nuDimension of the control vector
[in]gainsBaumgarte stabilization gains
[in]maskConstraint 1D axis (default z)
[in]refReference type of contact

◆ ContactModel1DTpl() [2/2]

template<typename Scalar >
sobec::newcontacts::ContactModel1DTpl< Scalar >::ContactModel1DTpl ( boost::shared_ptr< StateMultibody state,
const pinocchio::FrameIndex  id,
const Vector3s xref,
const Vector2s gains = Vector2s::Zero(),
const pinocchio::ReferenceFrame  ref = pinocchio::LOCAL 
)

Initialize the 1d contact model.

The default nu is obtained from StateAbstractTpl::get_nv().

Parameters
[in]stateState of the multibody system
[in]idReference frame id of the contact
[in]xrefContact position used for the Baumgarte stabilization
[in]gainsBaumgarte stabilization gains
[in]refReference type of contact

◆ ~ContactModel1DTpl()

template<typename Scalar >
sobec::newcontacts::ContactModel1DTpl< Scalar >::~ContactModel1DTpl
virtual

Member Function Documentation

◆ calc()

template<typename Scalar >
void sobec::newcontacts::ContactModel1DTpl< Scalar >::calc ( const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &  data,
const Eigen::Ref< const VectorXs > &  x 
)
virtual

Compute the 1d contact Jacobian and drift.

Parameters
[in]data1d contact data
[in]xState point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
[in]uControl input \(\mathbf{u}\in\mathbb{R}^{nu}\)

◆ calcDiff()

template<typename Scalar >
void sobec::newcontacts::ContactModel1DTpl< Scalar >::calcDiff ( const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &  data,
const Eigen::Ref< const VectorXs > &  x 
)
virtual

Compute the derivatives of the 1d contact holonomic constraint.

Parameters
[in]data1d contact data
[in]xState point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
[in]uControl input \(\mathbf{u}\in\mathbb{R}^{nu}\)

◆ createData()

template<typename Scalar >
boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar > > sobec::newcontacts::ContactModel1DTpl< Scalar >::createData ( pinocchio::DataTpl< Scalar > *const  data)
virtual

Create the 1d contact data.

◆ get_gains()

template<typename Scalar >
const crocoddyl::MathBaseTpl< Scalar >::Vector2s & sobec::newcontacts::ContactModel1DTpl< Scalar >::get_gains

Create the 1d contact data.

◆ get_mask()

template<typename Scalar >
const Vector3MaskType & sobec::newcontacts::ContactModel1DTpl< Scalar >::get_mask

Get contact 1D mask.

◆ get_reference()

template<typename Scalar >
const crocoddyl::MathBaseTpl< Scalar >::Vector3s & sobec::newcontacts::ContactModel1DTpl< Scalar >::get_reference

Return the reference frame translation.

◆ get_type()

template<typename Scalar >
const pinocchio::ReferenceFrame & sobec::newcontacts::ContactModel1DTpl< Scalar >::get_type

Get pinocchio::ReferenceFrame.

◆ print()

template<typename Scalar >
void sobec::newcontacts::ContactModel1DTpl< Scalar >::print ( std::ostream &  os) const
virtual

Print relevant information of the 1d contact model.

Parameters
[out]osOutput stream object

◆ set_mask()

template<typename Scalar >
void sobec::newcontacts::ContactModel1DTpl< Scalar >::set_mask ( const Vector3MaskType  mask)

Modify contact 1D mask.

◆ set_reference()

template<typename Scalar >
void sobec::newcontacts::ContactModel1DTpl< Scalar >::set_reference ( const Vector3s reference)

Modify the reference frame translation.

◆ set_type()

template<typename Scalar >
void sobec::newcontacts::ContactModel1DTpl< Scalar >::set_type ( const pinocchio::ReferenceFrame  type)

Modify pinocchio::ReferenceFrame.

◆ updateForce()

template<typename Scalar >
void sobec::newcontacts::ContactModel1DTpl< Scalar >::updateForce ( const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &  data,
const VectorXs force 
)
virtual

Convert the force into a stack of spatial forces.

Parameters
[in]data1d contact data
[in]force1d force

Member Data Documentation

◆ Scalar

template<typename _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar sobec::newcontacts::ContactModel1DTpl< _Scalar >::Scalar

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