wbc
wbc::ProxQPSolver Class Reference

The ProxQPSolver class is a wrapper for the qp-solver prox-qp (see https://github.com/Simple-Robotics/proxsuite). It solves problems of shape: More...

#include <ProxQPSolver.hpp>

Inheritance diagram for wbc::ProxQPSolver:
wbc::QPSolver

Public Member Functions

 ProxQPSolver ()
 
virtual ~ProxQPSolver () noexcept
 
virtual void solve (const wbc::HierarchicalQP &hierarchical_qp, base::VectorXd &solver_output)
 solve Solve the given quadratic program
 
void setMaxNIter (const uint &n)
 
uint getMaxNIter ()
 
int getNter ()
 
- Public Member Functions inherited from wbc::QPSolver
 QPSolver ()
 
virtual ~QPSolver ()
 
void reset ()
 reset Enforces reconfiguration at next call to solve()
 

Protected Attributes

std::shared_ptr< proxsuite::proxqp::dense::QP< double > > _solver_ptr
 
double _eps_abs = 1e-9
 
int _n_iter
 
int _actual_n_iter
 
size_t _n_var_init
 
size_t _n_eq_init
 
size_t _n_in_init
 
Eigen::MatrixXd _C_mtx
 
Eigen::VectorXd _l_vec
 
Eigen::VectorXd _u_vec
 
- Protected Attributes inherited from wbc::QPSolver
bool configured
 

Detailed Description

The ProxQPSolver class is a wrapper for the qp-solver prox-qp (see https://github.com/Simple-Robotics/proxsuite). 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. & \mathbf{Ax} = \mathbf{b}& \\ & \mathbf{l} \leq \mathbf{Cx} \leq \mathbf{u}& \\ \end{array} \]

Constructor & Destructor Documentation

◆ ProxQPSolver()

wbc::ProxQPSolver::ProxQPSolver ( )

◆ ~ProxQPSolver()

virtual wbc::ProxQPSolver::~ProxQPSolver ( )
inlinevirtualnoexcept

Member Function Documentation

◆ getMaxNIter()

uint wbc::ProxQPSolver::getMaxNIter ( )
inline

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

◆ getNter()

int wbc::ProxQPSolver::getNter ( )
inline

Get number of working set recalculations actually performed

◆ setMaxNIter()

void wbc::ProxQPSolver::setMaxNIter ( const uint & n)
inline

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

◆ solve()

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

solve Solve the given quadratic program

Parameters
constraintsDescription of the hierarchical quadratic program to solve. Each vector entry correspond to a stage in the hierarchy where the first entry has the highest priority. Currently only one priority level is implemented.
solver_outputsolution of the quadratic program

solve problem: min 0.5 * x'Hx + g'x s.t. Ax = b l < Cx < u

Implements wbc::QPSolver.

Member Data Documentation

◆ _actual_n_iter

int wbc::ProxQPSolver::_actual_n_iter
protected

◆ _C_mtx

Eigen::MatrixXd wbc::ProxQPSolver::_C_mtx
protected

◆ _eps_abs

double wbc::ProxQPSolver::_eps_abs = 1e-9
protected

◆ _l_vec

Eigen::VectorXd wbc::ProxQPSolver::_l_vec
protected

◆ _n_eq_init

size_t wbc::ProxQPSolver::_n_eq_init
protected

◆ _n_in_init

size_t wbc::ProxQPSolver::_n_in_init
protected

◆ _n_iter

int wbc::ProxQPSolver::_n_iter
protected

◆ _n_var_init

size_t wbc::ProxQPSolver::_n_var_init
protected

◆ _solver_ptr

std::shared_ptr<proxsuite::proxqp::dense::QP<double> > wbc::ProxQPSolver::_solver_ptr
protected

◆ _u_vec

Eigen::VectorXd wbc::ProxQPSolver::_u_vec
protected

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