Class Manipulability
Defined in File Manipulability.h
Nested Relationships
Inheritance Relationships
Base Type
public OpenSoT::Task< Eigen::MatrixXd, Eigen::VectorXd >
(Template Class Task)
Class Documentation
-
class Manipulability : public OpenSoT::Task<Eigen::MatrixXd, Eigen::VectorXd>
The Manipulability class implements a task that tries to maximize the Manipulability index computed as (Robotics: Modelling, Planning and Control, pag.
126):
The gradient of w is then computed and projected using the gardient projection method. W is a CONSTANT weight matrix.w = sqrt(det(J*W*J'))
Public Types
-
typedef std::shared_ptr<Manipulability> Ptr
Public Functions
-
Manipulability(const XBot::ModelInterface &robot_model, const Cartesian::Ptr CartesianTask, const double step = 1E-3)
-
Manipulability(const XBot::ModelInterface &robot_model, const CoM::Ptr CartesianTask, const double step = 1E-3)
-
~Manipulability()
-
double ComputeManipulabilityIndex()
ComputeManipulabilityIndex.
- Returns
the manipulability index at the actual configuration q (ast from latest update(q))
-
inline void setW(const Eigen::MatrixXd &W)
setW set a CONSTANT Weight matrix for the manipulability index
- Parameters
W – weight matrix
-
inline const Eigen::MatrixXd &getW() const
getW get a Weight matrix for the manipulability index
-
inline virtual void setLambda(double lambda)
Protected Functions
-
virtual void _update()
Updates the A, b, Aeq, beq, Aineq, b*Bound matrices.
Protected Attributes
-
const XBot::ModelInterface &_model
-
Eigen::VectorXd _q
-
double _step
-
Eigen::VectorXd _gradient
-
Eigen::VectorXd _deltas
-
ComputeManipulabilityIndexGradient _manipulabilityIndexGradientWorker
-
class ComputeManipulabilityIndexGradient : public CostFunction
The ComputeManipulabilityIndexGradient class implements a worker class to computes the effort for a certain configuration.
Public Functions
-
inline ComputeManipulabilityIndexGradient(const XBot::ModelInterface &robot_model, const Cartesian::Ptr CartesianTask)
-
inline ComputeManipulabilityIndexGradient(const XBot::ModelInterface &robot_model, const CoM::Ptr CartesianTask)
-
inline virtual double compute(const Eigen::VectorXd &q)
compute value of function in x
- Parameters
x –
- Returns
scalar
-
inline void setW(const Eigen::MatrixXd &W)
-
inline const Eigen::MatrixXd &getW() const
-
inline double computeManipulabilityIndex()
-
inline ComputeManipulabilityIndexGradient(const XBot::ModelInterface &robot_model, const Cartesian::Ptr CartesianTask)
-
typedef std::shared_ptr<Manipulability> Ptr