Public Types | |
typedef ContactModelAbstractTpl< Scalar > | Base |
typedef ContactDataAbstractTpl< Scalar > | ContactDataAbstract |
typedef ContactData6DTpl< Scalar > | Data |
typedef MathBaseTpl< Scalar > | MathBase |
typedef pinocchio::SE3Tpl< Scalar > | SE3 |
typedef StateMultibodyTpl< Scalar > | StateMultibody |
typedef MathBase::Vector2s | Vector2s |
typedef MathBase::Vector3s | Vector3s |
typedef MathBase::VectorXs | VectorXs |
![]() | |
typedef ContactDataAbstractTpl< Scalar > | ContactDataAbstract |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::MatrixXs | MatrixXs |
typedef StateMultibodyTpl< Scalar > | StateMultibody |
typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
ContactModel6DTpl (boost::shared_ptr< StateMultibody > state, const FramePlacementTpl< Scalar > &Mref, const Vector2s &gains=Vector2s::Zero()) | |
ContactModel6DTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const SE3 &pref, const std::size_t nu, const Vector2s &gains=Vector2s::Zero()) | |
Initialize the 6d contact model. More... | |
ContactModel6DTpl (boost::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const SE3 &pref, const Vector2s &gains=Vector2s::Zero()) | |
Initialize the 6d contact model. More... | |
virtual void | calc (const boost::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
Compute the 3d contact Jacobian and drift. More... | |
virtual void | calcDiff (const boost::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
Compute the derivatives of the 6d contact holonomic constraint. More... | |
virtual boost::shared_ptr< ContactDataAbstract > | createData (pinocchio::DataTpl< Scalar > *const data) |
Create the 6d contact data. More... | |
DEPRECATED ("Use constructor which is not based on FramePlacement.", ContactModel6DTpl(boost::shared_ptr< StateMultibody > state, const FramePlacementTpl< Scalar > &Mref, const std::size_t nu, const Vector2s &gains=Vector2s::Zero());) DEPRECATED("Use const ructor which is not based on FramePlacement." | |
DEPRECATED ("Use get_reference() or get_id()", FramePlacementTpl< Scalar > get_Mref() const ;) const Vector2s &get_gains() const | |
Return the Baumgarte stabilization gains. | |
const SE3 & | get_reference () const |
Return the reference frame placement. | |
virtual void | print (std::ostream &os) const |
Print relevant information of the 6d contact model. More... | |
void | set_reference (const SE3 &reference) |
Modify the reference frame placement. | |
virtual void | updateForce (const boost::shared_ptr< ContactDataAbstract > &data, const VectorXs &force) |
Convert the force into a stack of spatial forces. More... | |
![]() | |
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< ContactDataAbstract > | createData (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 |
![]() | |
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< StateMultibody > | state_ |
![]() | |
pinocchio::FrameIndex | id_ |
Reference frame id of the contact. More... | |
std::size_t | nc_ |
std::size_t | nu_ |
boost::shared_ptr< StateMultibody > | state_ |
Definition at line 24 of file contact-6d.hpp.
typedef MathBaseTpl<Scalar> MathBase |
Definition at line 29 of file contact-6d.hpp.
typedef ContactModelAbstractTpl<Scalar> Base |
Definition at line 30 of file contact-6d.hpp.
typedef ContactData6DTpl<Scalar> Data |
Definition at line 31 of file contact-6d.hpp.
typedef StateMultibodyTpl<Scalar> StateMultibody |
Definition at line 32 of file contact-6d.hpp.
typedef ContactDataAbstractTpl<Scalar> ContactDataAbstract |
Definition at line 33 of file contact-6d.hpp.
typedef pinocchio::SE3Tpl<Scalar> SE3 |
Definition at line 34 of file contact-6d.hpp.
typedef MathBase::Vector2s Vector2s |
Definition at line 35 of file contact-6d.hpp.
typedef MathBase::Vector3s Vector3s |
Definition at line 36 of file contact-6d.hpp.
typedef MathBase::VectorXs VectorXs |
Definition at line 37 of file contact-6d.hpp.
ContactModel6DTpl | ( | boost::shared_ptr< StateMultibody > | state, |
const pinocchio::FrameIndex | id, | ||
const SE3 & | pref, | ||
const std::size_t | nu, | ||
const Vector2s & | gains = Vector2s::Zero() |
||
) |
Initialize the 6d contact model.
[in] | state | State of the multibody system |
[in] | id | Reference frame id of the contact |
[in] | pref | Contact placement used for the Baumgarte stabilization |
[in] | nu | Dimension of the control vector |
[in] | gains | Baumgarte stabilization gains |
ContactModel6DTpl | ( | boost::shared_ptr< StateMultibody > | state, |
const pinocchio::FrameIndex | id, | ||
const SE3 & | pref, | ||
const Vector2s & | gains = Vector2s::Zero() |
||
) |
Initialize the 6d contact model.
The default nu
is obtained from StateAbstractTpl::get_nv()
.
[in] | state | State of the multibody system |
[in] | id | Reference frame id of the contact |
[in] | pref | Contact placement used for the Baumgarte stabilization |
[in] | gains | Baumgarte stabilization gains |
|
virtual |
Compute the 3d contact Jacobian and drift.
[in] | data | 3d contact data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
[in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
Implements ContactModelAbstractTpl< _Scalar >.
|
virtual |
Compute the derivatives of the 6d contact holonomic constraint.
[in] | data | 6d contact data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
[in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
Implements ContactModelAbstractTpl< _Scalar >.
|
virtual |
Convert the force into a stack of spatial forces.
[in] | data | 6d contact data |
[in] | force | 6d force |
Implements ContactModelAbstractTpl< _Scalar >.
|
virtual |
Create the 6d contact data.
Reimplemented from ContactModelAbstractTpl< _Scalar >.
|
virtual |
Print relevant information of the 6d contact model.
[out] | os | Output stream object |
Reimplemented from ContactModelAbstractTpl< _Scalar >.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 28 of file contact-6d.hpp.
|
protected |
Reference frame id of the contact.
Definition at line 77 of file contact-base.hpp.
|
protected |
Definition at line 75 of file contact-base.hpp.
|
protected |
Definition at line 76 of file contact-base.hpp.
|
protected |
Definition at line 74 of file contact-base.hpp.