Crocoddyl
ImpulseModel3DTpl< _Scalar > Class Template Reference
Inheritance diagram for ImpulseModel3DTpl< _Scalar >:
ImpulseModelAbstractTpl< _Scalar >

Public Types

typedef ImpulseModelAbstractTpl< Scalar > Base
 
typedef ImpulseData3DTpl< Scalar > Data
 
typedef ImpulseDataAbstractTpl< Scalar > ImpulseDataAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs Matrix3s
 
typedef MathBase::MatrixXs MatrixXs
 
typedef StateMultibodyTpl< Scalar > StateMultibody
 
typedef MathBase::Vector2s Vector2s
 
typedef MathBase::Vector3s Vector3s
 
typedef MathBase::VectorXs VectorXs
 
- Public Types inherited from ImpulseModelAbstractTpl< _Scalar >
typedef ImpulseDataAbstractTpl< Scalar > ImpulseDataAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef StateMultibodyTpl< Scalar > StateMultibody
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ImpulseModel3DTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const pinocchio::ReferenceFrame type=pinocchio::ReferenceFrame::LOCAL)
 Initialize the 3d impulse model. More...
 
virtual void calc (const boost::shared_ptr< ImpulseDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)
 Compute the 6d impulse Jacobian. More...
 
virtual void calcDiff (const boost::shared_ptr< ImpulseDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)
 Compute the derivatives of the 6d impulse holonomic constraint. More...
 
virtual boost::shared_ptr< ImpulseDataAbstractcreateData (pinocchio::DataTpl< Scalar > *const data)
 Create the 6d impulse data.
 
virtual void print (std::ostream &os) const
 Print relevant information of the 3d impulse model. More...
 
virtual void updateForce (const boost::shared_ptr< ImpulseDataAbstract > &data, const VectorXs &force)
 Convert the force into a stack of spatial forces. More...
 
- Public Member Functions inherited from ImpulseModelAbstractTpl< _Scalar >
 ImpulseModelAbstractTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::ReferenceFrame type, const std::size_t nc)
 
 DEPRECATED ("Use constructor that passes the type type of contact, this assumes is " "pinocchio::LOCAL", ImpulseModelAbstractTpl(boost::shared_ptr< StateMultibody > state, const std::size_t nc);) virtual ~ImpulseModelAbstractTpl()
 
DEPRECATED("Use get_nc().", std::size_t get_ni() const ;) std pinocchio::FrameIndex get_id () const
 Return the reference frame id.
 
std::size_t get_nc () const
 
const boost::shared_ptr< StateMultibody > & get_state () const
 
pinocchio::ReferenceFrame get_type () const
 Return the type of contact.
 
void set_id (const pinocchio::FrameIndex id)
 Modify the reference frame id.
 
void set_type (const pinocchio::ReferenceFrame type)
 Modify the type of contact.
 
void setZeroForce (const boost::shared_ptr< ImpulseDataAbstract > &data) const
 
void setZeroForceDiff (const boost::shared_ptr< ImpulseDataAbstract > &data) const
 
void updateForceDiff (const boost::shared_ptr< ImpulseDataAbstract > &data, const MatrixXs &df_dx) const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 
- Public Attributes inherited from ImpulseModelAbstractTpl< _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Protected Attributes

pinocchio::FrameIndex id_
 Reference frame id of the contact.
 
boost::shared_ptr< StateMultibodystate_
 
pinocchio::ReferenceFrame type_
 Type of contact.
 
- Protected Attributes inherited from ImpulseModelAbstractTpl< _Scalar >
pinocchio::FrameIndex id_
 Reference frame id of the contact.
 
std::size_t nc_
 
boost::shared_ptr< StateMultibodystate_
 
pinocchio::ReferenceFrame type_
 Type of contact.
 

Detailed Description

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

Definition at line 22 of file impulse-3d.hpp.

Constructor & Destructor Documentation

◆ ImpulseModel3DTpl()

ImpulseModel3DTpl ( boost::shared_ptr< StateMultibody state,
const pinocchio::FrameIndex  id,
const pinocchio::ReferenceFrame  type = pinocchio::ReferenceFrame::LOCAL 
)

Initialize the 3d impulse model.

Parameters
[in]stateState of the multibody system
[in]idReference frame id of the impulse
[in]typeType of impulse (default LOCAL)

Member Function Documentation

◆ calc()

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

Compute the 6d impulse Jacobian.

Parameters
[in]data6d impulse data
[in]xState point \(\mathbf{x}\in\mathbb{R}^{ndx}\)

Implements ImpulseModelAbstractTpl< _Scalar >.

◆ calcDiff()

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

Compute the derivatives of the 6d impulse holonomic constraint.

Parameters
[in]data6d impulse data
[in]xState point \(\mathbf{x}\in\mathbb{R}^{ndx}\)

Implements ImpulseModelAbstractTpl< _Scalar >.

◆ updateForce()

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

Convert the force into a stack of spatial forces.

Parameters
[in]data6d impulse data
[in]force6d impulse

Implements ImpulseModelAbstractTpl< _Scalar >.

◆ print()

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

Print relevant information of the 3d impulse model.

Parameters
[out]osOutput stream object

Reimplemented from ImpulseModelAbstractTpl< _Scalar >.


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