tasks::qp::QLDQPSolver Class Reference

#include <QLDQPSolver.h>

Inheritance diagram for tasks::qp::QLDQPSolver:
Collaboration diagram for tasks::qp::QLDQPSolver:

Public Member Functions

 QLDQPSolver ()
 
virtual void updateSize (int nrVars, int nrEq, int nrInEq, int nrGenInEq) override
 
virtual void updateMatrix (const std::vector< Task * > &tasks, const std::vector< Equality * > &eqConstr, const std::vector< Inequality * > &inEqConstr, const std::vector< GenInequality * > &genInEqConstr, const std::vector< Bound * > &boundConstr) override
 
virtual bool solve () override
 
virtual const Eigen::VectorXd & result () const override
 
virtual std::ostream & errorMsg (const std::vector< rbd::MultiBody > &mbs, const std::vector< Task * > &tasks, const std::vector< Equality * > &eqConstr, const std::vector< Inequality * > &inEqConstr, const std::vector< GenInequality * > &genInEqConstr, const std::vector< Bound * > &boundConstr, std::ostream &out) const override
 
std::string name () const override
 
- Public Member Functions inherited from tasks::qp::GenQPSolver
virtual ~GenQPSolver ()
 
virtual void setDependencies (int nrVars, std::vector< std::tuple< int, int, double >> dependencies)
 

Additional Inherited Members

- Static Public Attributes inherited from tasks::qp::GenQPSolver
static const std::string default_qp_solver
 Default QP solver. More...
 
- Protected Attributes inherited from tasks::qp::GenQPSolver
std::vector< int > fullToReduced_
 
std::vector< int > reducedToFull_
 
std::vector< std::tuple< int, int, double > > dependencies_
 
Eigen::SparseMatrix< double > multipliers_
 

Detailed Description

GenQPSolver interface implementation with the QLD QP solver.

Constructor & Destructor Documentation

◆ QLDQPSolver()

tasks::qp::QLDQPSolver::QLDQPSolver ( )

Member Function Documentation

◆ errorMsg()

virtual std::ostream& tasks::qp::QLDQPSolver::errorMsg ( const std::vector< rbd::MultiBody > &  mbs,
const std::vector< Task * > &  tasks,
const std::vector< Equality * > &  eqConstr,
const std::vector< Inequality * > &  inEqConstr,
const std::vector< GenInequality * > &  genInEqConstr,
const std::vector< Bound * > &  boundConstr,
std::ostream &  out 
) const
overridevirtual
Returns
Error message if GenQPSolver::solve has returned false.

Implements tasks::qp::GenQPSolver.

◆ name()

std::string tasks::qp::QLDQPSolver::name ( ) const
overridevirtual
Returns
Name of the solver

Implements tasks::qp::GenQPSolver.

◆ result()

virtual const Eigen::VectorXd& tasks::qp::QLDQPSolver::result ( ) const
overridevirtual
Returns
Optimal \( x \) vector.

Implements tasks::qp::GenQPSolver.

◆ solve()

virtual bool tasks::qp::QLDQPSolver::solve ( )
overridevirtual

Solve the quadratic program.

Returns
true of success false on failure.

Implements tasks::qp::GenQPSolver.

◆ updateMatrix()

virtual void tasks::qp::QLDQPSolver::updateMatrix ( const std::vector< Task * > &  tasks,
const std::vector< Equality * > &  eqConstr,
const std::vector< Inequality * > &  inEqConstr,
const std::vector< GenInequality * > &  genInEqConstr,
const std::vector< Bound * > &  boundConstr 
)
overridevirtual

Construct the QP matrices.

Parameters
tasksBuild \( Q \) and \( c \).
eqConstrBuild \( A x = b \) constraints.
inEqConstrBuild \( A x \geq b \) constraints.
genInEqConstrBuild \( L \leq A x \leq U \) constraints.
boundConstrBuild \( L \leq x \leq U \) constraints.

Implements tasks::qp::GenQPSolver.

◆ updateSize()

virtual void tasks::qp::QLDQPSolver::updateSize ( int  nrVars,
int  nrEq,
int  nrInEq,
int  nrGenInEq 
)
overridevirtual

Update the problem size.

Parameters
nrVarsVariable number.
nrEqmaximum number of equality.
nrInEqmaximum number of inequality.
nrGenInEqmaximum number of general inequality.

Implements tasks::qp::GenQPSolver.


The documentation for this class was generated from the following file: