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 destructor of the ContactModelNumDiff object. | |
| void | calc (const std::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
| Compute the contact Jacobian and acceleration drift. | |
| void | calcDiff (const std::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
| Compute the derivatives of the acceleration-based contact. | |
| std::shared_ptr< ContactDataAbstract > | createData (pinocchio::DataTpl< Scalar > *const data) |
| 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) |
| 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) |
| virtual void | calc (const std::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)=0 |
| Compute the contact Jacobian and acceleration drift. | |
| virtual void | calcDiff (const std::shared_ptr< ContactDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)=0 |
| Compute the derivatives of the acceleration-based contact. | |
| 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. | |
| virtual void | updateForce (const std::shared_ptr< ContactDataAbstract > &data, const VectorXs &force)=0 |
| Convert the force into a stack of spatial forces. | |
| 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 26 of file contact.hpp.
| typedef ContactModelAbstractTpl<Scalar> Base |
Definition at line 27 of file contact.hpp.
| typedef ContactDataNumDiffTpl<Scalar> Data |
Definition at line 28 of file contact.hpp.
| typedef MathBaseTpl<Scalar> MathBase |
Definition at line 29 of file contact.hpp.
| typedef MathBaseTpl<Scalar>::VectorXs VectorXs |
Definition at line 30 of file contact.hpp.
| typedef boost::function<void(const VectorXs&, const VectorXs&)> ReevaluationFunction |
Definition at line 32 of file contact.hpp.
|
explicit |
Construct a new ContactModelNumDiff object from a ContactModelAbstract.
| model |
| void calc | ( | const std::shared_ptr< ContactDataAbstract > & | data, |
| const Eigen::Ref< const VectorXs > & | x | ||
| ) |
Compute the contact Jacobian and acceleration drift.
| [in] | data | Contact data |
| [in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
| [in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
| void calcDiff | ( | const std::shared_ptr< ContactDataAbstract > & | data, |
| const Eigen::Ref< const VectorXs > & | x | ||
| ) |
Compute the derivatives of the acceleration-based contact.
| [in] | data | Contact data |
| [in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
| [in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
| void updateForce | ( | const std::shared_ptr< ContactDataAbstract > & | data, |
| const VectorXs & | force | ||
| ) |
Convert the force into a stack of spatial forces.
| [in] | data | Contact data |
| [in] | force | Contact force |
|
virtual |
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 25 of file contact.hpp.
|
protected |
contact model to differentiate
Definition at line 105 of file contact.hpp.
|
protected |
Constant used for computing disturbances in Jacobian calculation
Definition at line 106 of file contact.hpp.
|
protected |
functions that need execution before calc or calcDiff
Definition at line 109 of file contact.hpp.
|
protected |
Definition at line 171 of file contact-base.hpp.
|
protected |
Definition at line 172 of file contact-base.hpp.
|
protected |
Definition at line 170 of file contact-base.hpp.