Class eHQP

Inheritance Relationships

Base Type

Class Documentation

class eHQP : public OpenSoT::Solver<Eigen::MatrixXd, Eigen::VectorXd>

The eHQP class implements an equality Hierarchical QP solver as the one used in: “Prioritized Multi-Task Motion Control of Redundant Robots under Hard Joint Constraints” by Fabrizio Flacco, Alessandro De Luca and Oussama Khatib.

NOTE: Here we do not take into account the c paramter in Task.h for Linear Programming!

Public Types

typedef std::shared_ptr<eHQP> Ptr

Public Functions

eHQP(Stack &stack)

creates a pseudoinverse solver for the current Stack

virtual bool solve(Eigen::VectorXd &solution)

solve solve the optimization problem by minimizing the error in the weighted least squares sense

Parameters

solution – the argmin of the optimization

Returns

true if solved/solvable

double getSigmaMin() const

getSigmaMin minimum number considered to apply the damped pseudo-inverse

Returns

sigma_min

void setSigmaMin(const double &sigma_min)

setSigmaMin

Parameters

sigma_min – minimum number considered to apply the damped pseudo-inverse if min(singular_values) < sigma_min then: singular_values_inv[i] = singular_values[i]/(singular_values[i]^2 + min(singular_values)^2)