CoM position task model. More...
#include <com-position.hpp>
Public Types | |
| typedef TaskModelAbstractTpl< Scalar > | Base |
| typedef TaskDataCoMPositionTpl< Scalar > | Data |
| typedef DataCollectorAbstractTpl< Scalar > | DataCollectorAbstract |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef MathBase::Matrix3xs | Matrix3xs |
| typedef StateMultibodyTpl< Scalar > | StateMultibody |
| typedef TaskDataAbstractTpl< Scalar > | TaskDataAbstract |
| typedef MathBase::Vector3s | Vector3s |
| typedef MathBase::VectorXs | VectorXs |
| Public Types inherited from TaskModelAbstractTpl< _Scalar > | |
| typedef DataCollectorAbstractTpl< Scalar > | DataCollectorAbstract |
| typedef MathBaseTpl< Scalar > | MathBase |
| typedef MathBase::MatrixXs | MatrixXs |
| typedef StateAbstractTpl< Scalar > | StateAbstract |
| typedef TaskDataAbstractTpl< Scalar > | TaskDataAbstract |
| typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
| TaskModelCoMPositionTpl (std::shared_ptr< StateMultibody > state, const Vector3s &cref) | |
| Construct a CoM position task using the default control dimension. | |
| TaskModelCoMPositionTpl (std::shared_ptr< StateMultibody > state, const Vector3s &cref, const std::size_t nu) | |
| Construct a CoM position task. | |
| virtual void | calc (const std::shared_ptr< TaskDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) override |
| Compute the task value and task rate. | |
| virtual void | calcDiff (const std::shared_ptr< TaskDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) override |
| Compute the task Jacobians. | |
| template<typename NewScalar> | |
| TaskModelCoMPositionTpl< NewScalar > | cast () const |
| Cast the task model to a different scalar type. | |
| virtual std::shared_ptr< TaskDataAbstract > | createData (DataCollectorAbstract *const data) override |
| Allocate task data. | |
| const Vector3s & | get_reference () const |
| Return the reference CoM position. | |
| virtual void | print (std::ostream &os) const override |
| Print relevant information. | |
| void | set_reference (const Vector3s &cref) |
| Update the reference CoM position. | |
| Public Member Functions inherited from TaskModelAbstractTpl< _Scalar > | |
| TaskModelAbstractTpl (std::shared_ptr< StateAbstract > state, const std::size_t nr, const std::size_t nu, const bool q_dependent=true, const bool v_dependent=true, const bool u_dependent=true, const bool has_acceleration=true) | |
| Initialize the task model. | |
| bool | get_has_acceleration () const |
| Return whether the task defines an acceleration component. | |
| std::size_t | get_nr () const |
| std::size_t | get_nu () const |
| bool | get_q_dependent () const |
| const std::shared_ptr< StateAbstract > & | get_state () const |
| bool | get_u_dependent () const |
| bool | get_v_dependent () const |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
| Public Attributes inherited from TaskModelAbstractTpl< _Scalar > | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Attributes | |
| std::size_t | nr_ |
| std::size_t | nu_ |
| bool | q_dependent_ |
| std::shared_ptr< StateAbstract > | state_ |
| bool | u_dependent_ |
| bool | v_dependent_ |
| Protected Attributes inherited from TaskModelAbstractTpl< _Scalar > | |
| bool | has_acceleration_ |
| std::size_t | nr_ |
| std::size_t | nu_ |
| bool | q_dependent_ |
| std::shared_ptr< StateAbstract > | state_ |
| bool | u_dependent_ |
| bool | v_dependent_ |
CoM position task model.
The task quantity is the 3D center-of-mass tracking error
![\[ y = c - c_\mathrm{ref},
\]](form_420.png)
where 

The task rate is the center-of-mass linear velocity
![\[ v = \dot c.
\]](form_423.png)
The acceleration term is the center-of-mass linear acceleration
![\[ a = \ddot c.
\]](form_424.png)
Definition at line 44 of file com-position.hpp.
| typedef MathBaseTpl<Scalar> MathBase |
Definition at line 50 of file com-position.hpp.
| typedef TaskModelAbstractTpl<Scalar> Base |
Definition at line 51 of file com-position.hpp.
| typedef TaskDataAbstractTpl<Scalar> TaskDataAbstract |
Definition at line 52 of file com-position.hpp.
| typedef TaskDataCoMPositionTpl<Scalar> Data |
Definition at line 53 of file com-position.hpp.
| typedef DataCollectorAbstractTpl<Scalar> DataCollectorAbstract |
Definition at line 54 of file com-position.hpp.
| typedef StateMultibodyTpl<Scalar> StateMultibody |
Definition at line 55 of file com-position.hpp.
| typedef MathBase::Matrix3xs Matrix3xs |
Definition at line 56 of file com-position.hpp.
| typedef MathBase::Vector3s Vector3s |
Definition at line 57 of file com-position.hpp.
| typedef MathBase::VectorXs VectorXs |
Definition at line 58 of file com-position.hpp.
| overridevirtual |
Compute the task value and task rate.
Implements TaskModelAbstractTpl< _Scalar >.
| overridevirtual |
Compute the task Jacobians.
Implements TaskModelAbstractTpl< _Scalar >.
| overridevirtual |
Allocate task data.
Reimplemented from TaskModelAbstractTpl< _Scalar >.
| overridevirtual |
Print relevant information.
Reimplemented from TaskModelAbstractTpl< _Scalar >.
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar |
Definition at line 49 of file com-position.hpp.
| protected |
Definition at line 114 of file task-base.hpp.
| protected |
Definition at line 115 of file task-base.hpp.
| protected |
Definition at line 116 of file task-base.hpp.
| protected |
Definition at line 113 of file task-base.hpp.
| protected |
Definition at line 118 of file task-base.hpp.
| protected |
Definition at line 117 of file task-base.hpp.