sobec::ResidualModelFeetCollisionTpl< _Scalar > Class Template Reference

Cost penalizing distance between two frames r=||f1.translation-f2.translation||. More...

#include <sobec/crocomplements/residual-feet-collision.hpp>

Inheritance diagram for sobec::ResidualModelFeetCollisionTpl< _Scalar >:
Collaboration diagram for sobec::ResidualModelFeetCollisionTpl< _Scalar >:

Public Types

typedef MathBaseTpl< ScalarMathBase
 
typedef ResidualModelAbstractTpl< ScalarBase
 
typedef ResidualDataFeetCollisionTpl< ScalarData
 
typedef StateMultibodyTpl< ScalarStateMultibody
 
typedef ResidualDataAbstractTpl< ScalarResidualDataAbstract
 
typedef DataCollectorAbstractTpl< ScalarDataCollectorAbstract
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ResidualModelFeetCollisionTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex frame_id1, const pinocchio::FrameIndex frame_id2, const std::size_t nu)
 Initialize the residual model. More...
 
 ResidualModelFeetCollisionTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex frame_id1, const pinocchio::FrameIndex frame_id2)
 Initialize the residual model. More...
 
virtual ~ResidualModelFeetCollisionTpl ()
 
virtual void calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)
 Compute the residual. More...
 
virtual void calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)
 Compute the derivatives of the CoM velocity residual. More...
 
virtual boost::shared_ptr< ResidualDataAbstractcreateData (DataCollectorAbstract *const data)
 
const pinocchio::FrameIndex & get_frame_id1 () const
 Return the first frame index in the collision pair. More...
 
const pinocchio::FrameIndex & get_frame_id2 () const
 Return the second frame index in the collision pair. More...
 
void set_frame_id1 (const pinocchio::FrameIndex &fid1)
 Set the first frame index in the collision pair. More...
 
void set_frame_id2 (const pinocchio::FrameIndex &fid2)
 Set the second frame index in the collision pair. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Detailed Description

template<typename _Scalar>
class sobec::ResidualModelFeetCollisionTpl< _Scalar >

Cost penalizing distance between two frames r=||f1.translation-f2.translation||.

See also
ResidualModelAbstractTpl, calc(), calcDiff(), createData()

Member Typedef Documentation

◆ Base

template<typename _Scalar >
typedef ResidualModelAbstractTpl<Scalar> sobec::ResidualModelFeetCollisionTpl< _Scalar >::Base

◆ Data

template<typename _Scalar >
typedef ResidualDataFeetCollisionTpl<Scalar> sobec::ResidualModelFeetCollisionTpl< _Scalar >::Data

◆ DataCollectorAbstract

template<typename _Scalar >
typedef DataCollectorAbstractTpl<Scalar> sobec::ResidualModelFeetCollisionTpl< _Scalar >::DataCollectorAbstract

◆ MathBase

template<typename _Scalar >
typedef MathBaseTpl<Scalar> sobec::ResidualModelFeetCollisionTpl< _Scalar >::MathBase

◆ ResidualDataAbstract

template<typename _Scalar >
typedef ResidualDataAbstractTpl<Scalar> sobec::ResidualModelFeetCollisionTpl< _Scalar >::ResidualDataAbstract

◆ StateMultibody

template<typename _Scalar >
typedef StateMultibodyTpl<Scalar> sobec::ResidualModelFeetCollisionTpl< _Scalar >::StateMultibody

◆ VectorXs

template<typename _Scalar >
typedef MathBase::VectorXs sobec::ResidualModelFeetCollisionTpl< _Scalar >::VectorXs

Constructor & Destructor Documentation

◆ ResidualModelFeetCollisionTpl() [1/2]

template<typename Scalar >
sobec::ResidualModelFeetCollisionTpl< Scalar >::ResidualModelFeetCollisionTpl ( boost::shared_ptr< StateMultibody state,
const pinocchio::FrameIndex  frame_id1,
const pinocchio::FrameIndex  frame_id2,
const std::size_t  nu 
)

Initialize the residual model.

Parameters
[in]stateState of the multibody system
[in]frame_id1ID of the first frame in the collision pair
[in]frame_id2ID of the second frame in the collision pair and velocity
[in]nuDimension of the control vector

◆ ResidualModelFeetCollisionTpl() [2/2]

template<typename Scalar >
sobec::ResidualModelFeetCollisionTpl< Scalar >::ResidualModelFeetCollisionTpl ( boost::shared_ptr< StateMultibody state,
const pinocchio::FrameIndex  frame_id1,
const pinocchio::FrameIndex  frame_id2 
)

Initialize the residual model.

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

Parameters
[in]stateState of the multibody system
[in]frame_id1ID of the first frame in the collision pair
[in]frame_id2ID of the second frame in the collision pair

◆ ~ResidualModelFeetCollisionTpl()

Member Function Documentation

◆ calc()

template<typename Scalar >
void sobec::ResidualModelFeetCollisionTpl< Scalar >::calc ( const boost::shared_ptr< ResidualDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  x,
const Eigen::Ref< const VectorXs > &  u 
)
virtual

Compute the residual.

Parameters
[in]dataCoM velocity residual 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::ResidualModelFeetCollisionTpl< Scalar >::calcDiff ( const boost::shared_ptr< ResidualDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  x,
const Eigen::Ref< const VectorXs > &  u 
)
virtual

Compute the derivatives of the CoM velocity residual.

Parameters
[in]dataCoM velocity residual 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< ResidualDataAbstractTpl< Scalar > > sobec::ResidualModelFeetCollisionTpl< Scalar >::createData ( DataCollectorAbstract *const  data)
virtual

◆ get_frame_id1()

template<typename Scalar >
const pinocchio::FrameIndex & sobec::ResidualModelFeetCollisionTpl< Scalar >::get_frame_id1

Return the first frame index in the collision pair.

◆ get_frame_id2()

template<typename Scalar >
const pinocchio::FrameIndex & sobec::ResidualModelFeetCollisionTpl< Scalar >::get_frame_id2

Return the second frame index in the collision pair.

◆ set_frame_id1()

template<typename Scalar >
void sobec::ResidualModelFeetCollisionTpl< Scalar >::set_frame_id1 ( const pinocchio::FrameIndex &  fid1)

Set the first frame index in the collision pair.

◆ set_frame_id2()

template<typename Scalar >
void sobec::ResidualModelFeetCollisionTpl< Scalar >::set_frame_id2 ( const pinocchio::FrameIndex &  fid2)

Set the second frame index in the collision pair.

Member Data Documentation

◆ Scalar

template<typename _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar sobec::ResidualModelFeetCollisionTpl< _Scalar >::Scalar

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