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

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

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

Public Types

typedef crocoddyl::MathBaseTpl< ScalarMathBase
 
typedef crocoddyl::ContactModel6DTpl< ScalarBase
 
typedef ContactData6DTpl< ScalarData
 
typedef pinocchio::SE3Tpl< ScalarSE3
 
typedef crocoddyl::StateMultibodyTpl< ScalarStateMultibody
 
typedef MathBase::Vector2s Vector2s
 
typedef MathBase::Vector3s Vector3s
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ContactModel6DTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const SE3 &xref, const std::size_t nu, const Vector2s &gains=Vector2s::Zero(), const pinocchio::ReferenceFrame type=pinocchio::LOCAL)
 Initialize the 6d contact model. More...
 
 ContactModel6DTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const SE3 &xref, const Vector2s &gains=Vector2s::Zero(), const pinocchio::ReferenceFrame type=pinocchio::LOCAL)
 Initialize the 6d contact model. More...
 
virtual ~ContactModel6DTpl ()
 
virtual void calc (const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &data, const Eigen::Ref< const VectorXs > &x)
 Compute the 6d 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 6d 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 6d contact data. More...
 
const SE3get_reference () const
 Return the reference frame translation. More...
 
const Vector2sget_gains () const
 Return the Baumgarte stabilization gains. More...
 
void set_reference (const SE3 &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...
 
virtual void print (std::ostream &os) const
 Print relevant information of the 6d contact model. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Member Typedef Documentation

◆ Base

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

◆ Data

template<typename _Scalar >
typedef ContactData6DTpl<Scalar> sobec::newcontacts::ContactModel6DTpl< _Scalar >::Data

◆ MathBase

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

◆ SE3

template<typename _Scalar >
typedef pinocchio::SE3Tpl<Scalar> sobec::newcontacts::ContactModel6DTpl< _Scalar >::SE3

◆ StateMultibody

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

◆ Vector2s

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

◆ Vector3s

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

◆ VectorXs

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

Constructor & Destructor Documentation

◆ ContactModel6DTpl() [1/2]

template<typename Scalar >
sobec::newcontacts::ContactModel6DTpl< Scalar >::ContactModel6DTpl ( boost::shared_ptr< StateMultibody state,
const pinocchio::FrameIndex  id,
const SE3 xref,
const std::size_t  nu,
const Vector2s gains = Vector2s::Zero(),
const pinocchio::ReferenceFrame  type = pinocchio::LOCAL 
)

Initialize the 6d 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

◆ ContactModel6DTpl() [2/2]

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

Initialize the 6d 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

◆ ~ContactModel6DTpl()

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

Member Function Documentation

◆ calc()

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

Compute the 6d contact Jacobian and drift.

Parameters
[in]data6d 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::ContactModel6DTpl< Scalar >::calcDiff ( const boost::shared_ptr< crocoddyl::ContactDataAbstractTpl< Scalar >> &  data,
const Eigen::Ref< const VectorXs > &  x 
)
virtual

Compute the derivatives of the 6d contact holonomic constraint.

Parameters
[in]data6d 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::ContactModel6DTpl< Scalar >::createData ( pinocchio::DataTpl< Scalar > *const  data)
virtual

Create the 6d contact data.

◆ get_gains()

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

Return the Baumgarte stabilization gains.

◆ get_reference()

template<typename Scalar >
const pinocchio::SE3Tpl< Scalar > & sobec::newcontacts::ContactModel6DTpl< Scalar >::get_reference

Return the reference frame translation.

◆ get_type()

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

Get pinocchio::ReferenceFrame.

◆ print()

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

Print relevant information of the 6d contact model.

Parameters
[out]osOutput stream object

◆ set_reference()

template<typename Scalar >
void sobec::newcontacts::ContactModel6DTpl< Scalar >::set_reference ( const SE3 reference)

Modify the reference frame translation.

◆ set_type()

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

Modify pinocchio::ReferenceFrame.

◆ updateForce()

template<typename Scalar >
void sobec::newcontacts::ContactModel6DTpl< 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]data6d contact data
[in]force6d force

Member Data Documentation

◆ Scalar

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

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