class
#include <BipedalLocomotion/IK/CoMTask.h>
CoMTask SE3Task is a concrete implementation of the Task.
Please use this element if you want to control the position and the orientation of a given frame rigidly attached to the robot. The task assumes perfect control of the robot velocity that contains the base linear and angular velocity expressed in mixed representation and the joint velocities. The task represents the following equation
where is the robot jacobian and is the desired velocity. The desired velocity is chosen such that the frame will asymptotically converge to the desired trajectory. The linear component of is computed with a standard Proportional controller in while the angular velocity is computed by a Proportional controller in .
Base classes
- struct IKLinearTask
- IKLinearTask specializes a LinearTask in the case of Inverse Kinematics.
Public functions
-
auto initialize(std::weak_ptr<const ParametersHandler::
IParametersHandler> paramHandler) -> bool override - Initialize the task.
- auto setKinDyn(std::shared_ptr<iDynTree::KinDynComputations> kinDyn) -> bool override
- 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> position, Eigen::Ref<const Eigen::Vector3d> velocity) -> bool
- Set the desired set-point of the trajectory.
- auto size() const -> std::size_t override
- Get the size of the task.
- auto type() const -> Type override
- The CoMTask is an equality task.
- auto isValid() const -> bool override
- Determines the validity of the objects retrieved with getA() and getB()
- auto setFeedback(Eigen::Ref<const Eigen::Vector3d> comPosition) -> bool
- Set the feedback for the Proportional controller.
Function documentation
bool BipedalLocomotion:: IK:: CoMTask:: initialize(std::weak_ptr<const ParametersHandler:: IParametersHandler> paramHandler) override
Initialize the task.
Parameters | |
---|---|
paramHandler | pointer to the parameters handler. |
Returns | True in case of success, false otherwise. Where the generalized robot velocity is a vector containing the base spatial-velocity (expressed in mixed representation) and the joint velocities. |
bool BipedalLocomotion:: IK:: CoMTask:: setKinDyn(std::shared_ptr<iDynTree::KinDynComputations> kinDyn) override
Set the kinDynComputations object.
Parameters | |
---|---|
kinDyn | pointer to a kinDynComputations object. |
Returns | True in case of success, false otherwise. |
bool BipedalLocomotion:: IK:: CoMTask:: 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:: IK:: CoMTask:: update() override
Update the content of the element.
Returns | True in case of success, false otherwise. |
---|
bool BipedalLocomotion:: IK:: CoMTask:: setSetPoint(Eigen::Ref<const Eigen::Vector3d> position,
Eigen::Ref<const Eigen::Vector3d> velocity)
Set the desired set-point of the trajectory.
Parameters | |
---|---|
position | position of the CoM |
velocity | velocity of the CoM expressed in mixed representation |
Returns | True in case of success, false otherwise. |
std::size_t BipedalLocomotion:: IK:: CoMTask:: 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)
bool BipedalLocomotion:: IK:: CoMTask:: setFeedback(Eigen::Ref<const Eigen::Vector3d> comPosition)
Set the feedback for the Proportional controller.
Parameters | |
---|---|
comPosition | position of the CoM respect to the inertial frame. |
Returns | True in case of success, false otherwise. |