Qontrol
Qontrol::Solver::GenericSolver Class Referenceabstract

A generic solver class. More...

#include <GenericSolver.hpp>

Inheritance diagram for Qontrol::Solver::GenericSolver:
Collaboration diagram for Qontrol::Solver::GenericSolver:

Public Member Functions

virtual void configure (int optimization_vector_size)=0
 Configure the qp solver. More...
 
qpData getProblemData ()
 Get the previous qpData. More...
 
void checkProblem (qpData qp_data)
 Check if the problem size is consistent. More...
 
virtual void resizeProblem (qpData qp_data)=0
 Reset the problem to the new qpData size. More...
 
virtual bool solve (qpData qp_data)=0
 
virtual Eigen::VectorXd getPrimalSolution ()=0
 

Protected Attributes

int number_of_variables
 
int number_of_constraints
 
qpData qp_data_
 

Detailed Description

A generic solver class.

Member Function Documentation

◆ checkProblem()

void Qontrol::Solver::GenericSolver::checkProblem ( qpData  qp_data)

Check if the problem size is consistent.

Check if vectors are of the same size Check if vectors and matrices have consisten size Check if lb<=ub

Check if problem has different size from last update. If yes reset the solver to the new size

Parameters
qp_data

◆ configure()

virtual void Qontrol::Solver::GenericSolver::configure ( int  optimization_vector_size)
pure virtual

Configure the qp solver.

Create the solver pointer, resize the qpData structure according to the optimization vector size given by the model

Parameters
optimization_vector_sizeUsually the robot number of degrees of freedom

Implemented in Qontrol::Solver::Solver< SolverImplType::qpmad >.

◆ getProblemData()

qpData Qontrol::Solver::GenericSolver::getProblemData ( )
inline

Get the previous qpData.

Returns
qpData

◆ resizeProblem()

virtual void Qontrol::Solver::GenericSolver::resizeProblem ( qpData  qp_data)
pure virtual

Reset the problem to the new qpData size.

Parameters
qp_data

Implemented in Qontrol::Solver::Solver< SolverImplType::qpmad >.


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