Template Class ContactModel6DTpl
Defined in File contact-6d.hpp
Inheritance Relationships
Base Type
public crocoddyl::ContactModelAbstractTpl< _Scalar >(Template Class ContactModelAbstractTpl)
Class Documentation
-
template<typename _Scalar>
class ContactModel6DTpl : public crocoddyl::ContactModelAbstractTpl<_Scalar> Public Types
-
typedef MathBaseTpl<Scalar> MathBase
-
typedef ContactModelAbstractTpl<Scalar> Base
-
typedef ContactData6DTpl<Scalar> Data
-
typedef StateMultibodyTpl<Scalar> StateMultibody
-
typedef ContactDataAbstractTpl<Scalar> ContactDataAbstract
-
typedef pinocchio::SE3Tpl<Scalar> SE3
Public Functions
Initialize the 6d contact model.
To learn more about the computation of the contact derivatives in different frames see S. Kleff et. al, On the Derivation of the Contact Dynamics in Arbitrary Frames: Application to Polishing with Talos, ICHR 2022
- Parameters:
state – [in] State of the multibody system
id – [in] Reference frame id of the contact
pref – [in] Contact placement used for the Baumgarte stabilization
type – [in] Type of contact
nu – [in] Dimension of the control vector
gains – [in] Baumgarte stabilization gains
Initialize the 6d contact model.
The default
nuis obtained fromStateAbstractTpl::get_nv(). To learn more about the computation of the contact derivatives in different frames see S. Kleff et. al, On the Derivation of the Contact Dynamics in Arbitrary Frames: Application to Polishing with Talos, ICHR 2022- Parameters:
state – [in] State of the multibody system
id – [in] Reference frame id of the contact
pref – [in] Contact placement used for the Baumgarte stabilization
type – [in] Type of contact
gains – [in] Baumgarte stabilization gains
- DEPRECATED ("Use constructor that passes the type type of contact, this assumes is " "pinocchio::LOCAL", ContactModel6DTpl(std::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const SE3 &pref, const std::size_t nu, const Vector2s &gains=Vector2s::Zero());) DEPRECATED("Use const ructor that passes the type type of contact
- this assumes is ContactModel6DTpl (std::shared_ptr< StateMultibody > state, const pinocchio::FrameIndex id, const SE3 &pref, const Vector2s &gains=Vector2s::Zero())
-
virtual ~ContactModel6DTpl() = default
Compute the 3d contact Jacobian and drift.
- Parameters:
data – [in] 3d contact data
x – [in] State point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
u – [in] Control input \(\mathbf{u}\in\mathbb{R}^{nu}\)
Compute the derivatives of the 6d contact holonomic constraint.
- Parameters:
data – [in] 6d contact data
x – [in] State point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
u – [in] Control input \(\mathbf{u}\in\mathbb{R}^{nu}\)
Convert the force into a stack of spatial forces.
- Parameters:
data – [in] 6d contact data
force – [in] 6d force
-
virtual std::shared_ptr<ContactDataAbstract> createData(pinocchio::DataTpl<Scalar> *const data) override
Create the 6d contact data.
-
template<typename NewScalar>
ContactModel6DTpl<NewScalar> cast() const Cast the contact-6d model to a different scalar type.
It is useful for operations requiring different precision or scalar types.
- Template Parameters:
NewScalar – The new scalar type to cast to.
- Returns:
ContactModel6DTpl<NewScalar> A contact model with the new scalar type.
-
virtual void print(std::ostream &os) const override
Print relevant information of the 6d contact model.
- Parameters:
os – [out] Output stream object
Public Members
- EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
-
typedef MathBaseTpl<Scalar> MathBase