Public Types | |
| typedef ContactModelAbstractTpl< Scalar > | Base |
| typedef ContactDataAbstractTpl< Scalar > | ContactDataAbstract |
| typedef ContactDataNumDiffTpl< Scalar > | Data |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef boost::function< void(const VectorXs &, const VectorXs &)> | ReevaluationFunction |
| typedef MathBaseTpl< Scalar >::VectorXs | VectorXs |
| Public Types inherited from ContactModelAbstractTpl< _Scalar > | |
| typedef ContactDataAbstractTpl< Scalar > | ContactDataAbstract |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef MathBase::MatrixXs | MatrixXs |
| typedef StateMultibodyTpl< Scalar > | StateMultibody |
| typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
| ContactModelNumDiffTpl (const std::shared_ptr< Base > &model) | |
| Construct a new ContactModelNumDiff object from a ContactModelAbstract. | |
| virtual | ~ContactModelNumDiffTpl ()=default |
| Default destructor of the ContactModelNumDiff object. | |
| void | calc (const std::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) override |
| Compute the contact Jacobian and acceleration drift. | |
| void | calcDiff (const std::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) override |
| Compute the derivatives of the acceleration-based contact. | |
| template<typename NewScalar> | |
| ContactModelNumDiffTpl< NewScalar > | cast () const |
| std::shared_ptr< ContactDataAbstract > | createData (pinocchio::DataTpl< Scalar > *const data) override |
| Create a Data object. | |
| const Scalar | get_disturbance () const |
| Return the disturbance constant used in the numerical differentiation routine. | |
| const std::shared_ptr< Base > & | get_model () const |
| Return the acton model that we use to numerical differentiate. | |
| void | set_disturbance (const Scalar disturbance) |
| Modify the disturbance constant used in the numerical differentiation routine. | |
| void | set_reevals (const std::vector< ReevaluationFunction > &reevals) |
| Register functions that take a pinocchio model, a pinocchio data, a state and a control. The updated data is used to evaluate of the gradient and Hessian. | |
| void | updateForce (const std::shared_ptr< ContactDataAbstract > &data, const VectorXs &force) override |
| Convert the force into a stack of spatial forces. | |
| Public Member Functions inherited from ContactModelAbstractTpl< _Scalar > | |
| ContactModelAbstractTpl (std::shared_ptr< StateMultibody > state, const pinocchio::ReferenceFrame type, const std::size_t nc) | |
| ContactModelAbstractTpl (std::shared_ptr< StateMultibody > state, const pinocchio::ReferenceFrame type, const std::size_t nc, const std::size_t nu) | |
| Initialize the contact abstraction. | |
| this assumes is | ContactModelAbstractTpl (std::shared_ptr< StateMultibody > state, const std::size_t nc) |
| DEPRECATED ("Use constructor that passes the type type of contact, this assumes is " "pinocchio::LOCAL", ContactModelAbstractTpl(std::shared_ptr< StateMultibody > state, const std::size_t nc, const std::size_t nu);) DEPRECATED("Use const ructor that passes the type type of contact | |
| pinocchio::FrameIndex | get_id () const |
| Return the reference frame id. | |
| std::size_t | get_nc () const |
| Return the dimension of the contact. | |
| std::size_t | get_nu () const |
| Return the dimension of the control vector. | |
| const std::shared_ptr< StateMultibody > & | get_state () const |
| Return the state. | |
| pinocchio::ReferenceFrame | get_type () const |
| Return the type of contact. | |
| virtual void | print (std::ostream &os) const |
| Print relevant information of the contact model. | |
| 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 std::shared_ptr< ContactDataAbstract > &data) const |
| Set the stack of spatial forces to zero. | |
| void | setZeroForceDiff (const std::shared_ptr< ContactDataAbstract > &data) const |
| Set the stack of spatial forces Jacobians to zero. | |
| void | updateForceDiff (const std::shared_ptr< ContactDataAbstract > &data, const MatrixXs &df_dx, const MatrixXs &df_du) const |
| Convert the force into a stack of spatial forces. | |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
| Public Attributes inherited from ContactModelAbstractTpl< _Scalar > | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Attributes | |
| Scalar | e_jac_ |
| std::shared_ptr< Base > | model_ |
| contact model to differentiate | |
| std::size_t | nc_ |
| std::size_t | nu_ |
| std::vector< ReevaluationFunction > | reevals_ |
| functions that need execution before calc or calcDiff | |
| std::shared_ptr< StateMultibody > | state_ |
| Protected Attributes inherited from ContactModelAbstractTpl< _Scalar > | |
| pinocchio::FrameIndex | id_ |
| Reference frame id of the contact. | |
| std::size_t | nc_ |
| std::size_t | nu_ |
| std::shared_ptr< StateMultibody > | state_ |
| pinocchio::ReferenceFrame | type_ |
| Type of contact. | |
Definition at line 21 of file contact.hpp.
| typedef ContactDataAbstractTpl<Scalar> ContactDataAbstract |
Definition at line 27 of file contact.hpp.
| typedef ContactModelAbstractTpl<Scalar> Base |
Definition at line 28 of file contact.hpp.
| typedef ContactDataNumDiffTpl<Scalar> Data |
Definition at line 29 of file contact.hpp.
| typedef MathBaseTpl<Scalar> MathBase |
Definition at line 30 of file contact.hpp.
| typedef MathBaseTpl<Scalar>::VectorXs VectorXs |
Definition at line 31 of file contact.hpp.
| typedef boost::function<void(const VectorXs&, const VectorXs&)> ReevaluationFunction |
Definition at line 33 of file contact.hpp.
| explicit |
Construct a new ContactModelNumDiff object from a ContactModelAbstract.
| model |
| overridevirtual |
Compute the contact Jacobian and acceleration drift.
| [in] | data | Contact data |
| [in] | x | State point ![]() |
| [in] | u | Control input ![]() |
Implements ContactModelAbstractTpl< _Scalar >.
| overridevirtual |
Compute the derivatives of the acceleration-based contact.
| [in] | data | Contact data |
| [in] | x | State point ![]() |
| [in] | u | Control input ![]() |
Implements ContactModelAbstractTpl< _Scalar >.
| overridevirtual |
Convert the force into a stack of spatial forces.
| [in] | data | Contact data |
| [in] | force | Contact force |
Implements ContactModelAbstractTpl< _Scalar >.
| overridevirtual |
Create a Data object.
| data | is the Pinocchio data |
Reimplemented from ContactModelAbstractTpl< _Scalar >.
| void set_reevals | ( | const std::vector< ReevaluationFunction > & | reevals | ) |
Register functions that take a pinocchio model, a pinocchio data, a state and a control. The updated data is used to evaluate of the gradient and Hessian.
| reevals | are the registered functions. |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 26 of file contact.hpp.
| protected |
contact model to differentiate
Definition at line 109 of file contact.hpp.
| protected |
Constant used for computing disturbances in Jacobian calculation
Definition at line 110 of file contact.hpp.
| protected |
functions that need execution before calc or calcDiff
Definition at line 113 of file contact.hpp.
| protected |
Definition at line 175 of file contact-base.hpp.
| protected |
Definition at line 176 of file contact-base.hpp.
| protected |
Definition at line 174 of file contact-base.hpp.