wbc
wbc::QPOASESSolver Class Reference

The QPOASESSolver class is a wrapper for the qp-solver qpoases (see https://www.coin-or.org/qpOASES/doc/3.0/manual.pdf). It solves problems of shape: More...

#include <QPOasesSolver.hpp>

Inheritance diagram for wbc::QPOASESSolver:
wbc::QPSolver

Public Member Functions

 QPOASESSolver ()
 
virtual ~QPOASESSolver ()
 
virtual void solve (const wbc::HierarchicalQP &hierarchical_qp, base::VectorXd &solver_output)
 solve Solve the given quadratic program
 
void setMaxNoWSR (const uint &n)
 
uint getMaxNoWSR ()
 
qpOASES::returnValue getReturnValue ()
 
int getNoWSR ()
 
qpOASES::Options getOptions ()
 
void setOptions (const qpOASES::Options &opt)
 
void setOptionsPreset (const qpOASES::optionPresets &opt)
 
const qpOASES::SQProblem & getSQProblem ()
 
- Public Member Functions inherited from wbc::QPSolver
 QPSolver ()
 
virtual ~QPSolver ()
 
void reset ()
 reset Enforces reconfiguration at next call to solve()
 

Protected Attributes

qpOASES::Options options
 
qpOASES::SQProblem sq_problem
 
int n_wsr
 
int actual_n_wsr
 
qpOASES::returnValue ret_val
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > H
 
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > A
 
base::Time stamp
 
- Protected Attributes inherited from wbc::QPSolver
bool configured
 

Detailed Description

The QPOASESSolver class is a wrapper for the qp-solver qpoases (see https://www.coin-or.org/qpOASES/doc/3.0/manual.pdf). It solves problems of shape:

\[ \begin{array}{ccc} min(\mathbf{x}) & \frac{1}{2} \mathbf{x}^T\mathbf{H}\mathbf{x}+\mathbf{x}^T\mathbf{g}& \\ & & \\ s.t. & lb(\mathbf{Ax}) \leq \mathbf{Ax} \leq ub(\mathbf{Ax})& \\ & lb(\mathbf{x}) \leq \mathbf{x} \leq ub(\mathbf{x})& \\ \end{array} \]

Constructor & Destructor Documentation

◆ QPOASESSolver()

wbc::QPOASESSolver::QPOASESSolver ( )

◆ ~QPOASESSolver()

wbc::QPOASESSolver::~QPOASESSolver ( )
virtual

Member Function Documentation

◆ getMaxNoWSR()

uint wbc::QPOASESSolver::getMaxNoWSR ( )
inline

Get the maximum number of working set recalculations to be performed during the initial homotopy

◆ getNoWSR()

int wbc::QPOASESSolver::getNoWSR ( )
inline

Get number of working set recalculations actually performed

◆ getOptions()

qpOASES::Options wbc::QPOASESSolver::getOptions ( )
inline

Return current solver options

◆ getReturnValue()

returnValue wbc::QPOASESSolver::getReturnValue ( )

Retrieve the return value from the last QP calculation

◆ getSQProblem()

const qpOASES::SQProblem & wbc::QPOASESSolver::getSQProblem ( )
inline

Get Quadratic program

◆ setMaxNoWSR()

void wbc::QPOASESSolver::setMaxNoWSR ( const uint & n)
inline

Set the maximum number of working set recalculations to be performed during the initial homotopy

◆ setOptions()

void wbc::QPOASESSolver::setOptions ( const qpOASES::Options & opt)

Set new solver options

◆ setOptionsPreset()

void wbc::QPOASESSolver::setOptionsPreset ( const qpOASES::optionPresets & opt)

Set new solver options using one of the following presets: qp_default, qp_reliable, qp_fast, qp_unset

◆ solve()

void wbc::QPOASESSolver::solve ( const wbc::HierarchicalQP & hierarchical_qp,
base::VectorXd & solver_output )
virtual

solve Solve the given quadratic program

Parameters
hierarchical_qpDescription of the hierarchical quadratic program to solve.
solver_outputsolution of the quadratic program

Implements wbc::QPSolver.

Member Data Documentation

◆ A

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> wbc::QPOASESSolver::A
protected

◆ actual_n_wsr

int wbc::QPOASESSolver::actual_n_wsr
protected

◆ H

Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> wbc::QPOASESSolver::H
protected

◆ n_wsr

int wbc::QPOASESSolver::n_wsr
protected

◆ options

qpOASES::Options wbc::QPOASESSolver::options
protected

◆ ret_val

qpOASES::returnValue wbc::QPOASESSolver::ret_val
protected

◆ sq_problem

qpOASES::SQProblem wbc::QPOASESSolver::sq_problem
protected

◆ stamp

base::Time wbc::QPOASESSolver::stamp
protected

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