class
AngularMomentumTaskAngularMomentumTask is a concrete implementation of the TSIDLinearTask.
Please use this element if you want to control the Centroidal angular momentum of the robot. The task represents the following equation
where the suffix is the skew operator. is the position of the contact , is the CoM position, is the contact wrench expressed in mixed representation. Finally is the desired rate of change of the angular momentum. The angular momentum rate of change is computed by a Proportional controller in .
Base classes
- struct TSIDLinearTask
- TSIDLinearTask specializes a LinearTask in the case of Task based Inverse Dynamics.
Public functions
-
auto initialize(std::weak_ptr<const ParametersHandler::
IParametersHandler> paramHandler) -> bool override - Initialize the AngularMomentumTask.
- auto setKinDyn(std::shared_ptr<iDynTree::KinDynComputations> kinDyn) -> bool
- Set the kinDynComputations object.
-
auto setVariablesHandler(const System::
VariablesHandler& variablesHandler) -> bool override - Set the set of variables required by the task.
- auto update() -> bool override
- Update the content of the element.
- auto setSetPoint(Eigen::Ref<const Eigen::Vector3d> angularMomentum, Eigen::Ref<const Eigen::Vector3d> angularMomentumDerivative) -> bool
- Set the desired reference point.
- auto size() const -> std::size_t override
- Get the size of the task.
- auto type() const -> Type override
- The AngularMomentumTask is an equality task.
- auto isValid() const -> bool override
- Determines the validity of the objects retrieved with getA() and getB()
Function documentation
bool BipedalLocomotion:: TSID:: AngularMomentumTask:: initialize(std::weak_ptr<const ParametersHandler:: IParametersHandler> paramHandler) override
Initialize the AngularMomentumTask.
Parameters | |
---|---|
paramHandler | pointer to the parameters handler. |
Returns | True in case of success, false otherwise. |
bool BipedalLocomotion:: TSID:: AngularMomentumTask:: setKinDyn(std::shared_ptr<iDynTree::KinDynComputations> kinDyn)
Set the kinDynComputations object.
Parameters | |
---|---|
kinDyn | pointer to a kinDynComputations object. |
Returns | True in case of success, false otherwise. |
bool BipedalLocomotion:: TSID:: AngularMomentumTask:: setVariablesHandler(const System:: VariablesHandler& variablesHandler) override
Set the set of variables required by the task.
Parameters | |
---|---|
variablesHandler | reference to a variables handler. |
Returns | True in case of success, false otherwise. |
The variables are stored in the System::
bool BipedalLocomotion:: TSID:: AngularMomentumTask:: update() override
Update the content of the element.
Returns | True in case of success, false otherwise. |
---|
bool BipedalLocomotion:: TSID:: AngularMomentumTask:: setSetPoint(Eigen::Ref<const Eigen::Vector3d> angularMomentum,
Eigen::Ref<const Eigen::Vector3d> angularMomentumDerivative)
Set the desired reference point.
Parameters | |
---|---|
angularMomentum | desired centroidal angular momentum. |
angularMomentumDerivative | desired rate of change of the centroidal angular momentum. |
Returns | True in case of success, false otherwise. |
std::size_t BipedalLocomotion:: TSID:: AngularMomentumTask:: size() const override
Get the size of the task.
Returns | the size of the task. |
---|
(I.e the number of rows of the vector b)
Type BipedalLocomotion:: TSID:: AngularMomentumTask:: type() const override
The AngularMomentumTask is an equality task.
Returns | the type of the task. |
---|