Interface to the external solver OSQP. More...
#include <qp_solver_osqp.h>
Public Types | |
using | Ptr = std::shared_ptr< SolverOsqp > |
using | UPtr = std::unique_ptr< SolverOsqp > |
![]() | |
using | Ptr = std::shared_ptr< QpSolverInterface > |
using | SparseMatrix = Eigen::SparseMatrix< double, Eigen::ColMajor, long long > |
using | UPtr = std::unique_ptr< QpSolverInterface > |
Public Member Functions | |
void | clear () override |
clear internal caches More... | |
void | enforceNewStructure (bool new_structure=true) override |
Eigen::Ref< Eigen::VectorXd > | getDualSolution () override |
QpSolverInterface::Ptr | getInstance () const override |
Return a newly created instance of the current solver. More... | |
Eigen::Ref< Eigen::VectorXd > | getPrimalSolution () override |
bool | isSupportingSimpleBounds () override |
SolverStatus | solve (SparseMatrix &P, Eigen::Ref< Eigen::VectorXd > q, SparseMatrix &A, Eigen::Ref< Eigen::VectorXd > lbA, Eigen::Ref< Eigen::VectorXd > ubA, Eigen::Ref< Eigen::VectorXd > lb, Eigen::Ref< Eigen::VectorXd > ub, bool new_structure=true, bool zero_x_warmstart=false) override |
Solve full QP. More... | |
SolverStatus | solve (SparseMatrix &P, Eigen::Ref< Eigen::VectorXd > q, SparseMatrix &A, Eigen::Ref< Eigen::VectorXd > lbA, Eigen::Ref< Eigen::VectorXd > ubA, bool new_structure=true, bool zero_x_warmstart=false, bool update_P=true, bool update_q=true, bool update_A=true, bool update_bounds=true) override |
Solve QP without simple bounds. More... | |
void | updateDualSolutionWarmStart (const Eigen::Ref< const Eigen::VectorXd > &y) override |
void | updatePrimalSolutionWarmStart (const Eigen::Ref< const Eigen::VectorXd > &x) override |
![]() | |
virtual bool | initialize () |
Initialize the qp solver. More... | |
virtual | ~QpSolverInterface ()=default |
Virtual destructor. More... | |
Protected Member Functions | |
void | printWarning () const |
Private Attributes | |
Eigen::VectorXd | _dummy |
Interface to the external solver OSQP.
Definition at line 134 of file qp_solver_osqp.h.
using corbo::SolverOsqp::Ptr = std::shared_ptr<SolverOsqp> |
Definition at line 137 of file qp_solver_osqp.h.
using corbo::SolverOsqp::UPtr = std::unique_ptr<SolverOsqp> |
Definition at line 138 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
clear internal caches
Implements corbo::QpSolverInterface.
Definition at line 172 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Implements corbo::QpSolverInterface.
Definition at line 170 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Implements corbo::QpSolverInterface.
Definition at line 165 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Return a newly created instance of the current solver.
Implements corbo::QpSolverInterface.
Definition at line 141 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Implements corbo::QpSolverInterface.
Definition at line 164 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Implements corbo::QpSolverInterface.
Definition at line 144 of file qp_solver_osqp.h.
|
inlineprotected |
Definition at line 186 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Solve full QP.
[in] | P | Quadratic form matrix, |
[in] | q | Linear part |
[in] | A | Linear constraint matrix |
[in] | lbA | Lower bounds of linear constraints |
[in] | ubA | Upper bounds of linear constraints |
[in] | lb | Lower bounds of parameters |
[in] | ub | Upper bounds of parameters |
[in] | new_structure | If true, the solver must reallocte the internal memory |
Implements corbo::QpSolverInterface.
Definition at line 147 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Solve QP without simple bounds.
[in] | P | Quadratic form matrix, |
[in] | q | Linear part |
[in] | A | Linear constraint matrix |
[in] | lbA | Lower bounds of linear constraints |
[in] | ubA | Upper bounds of linear constraints |
[in] | new_structure | If true, the solver must reallocte the internal memory |
Implements corbo::QpSolverInterface.
Definition at line 156 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Implements corbo::QpSolverInterface.
Definition at line 168 of file qp_solver_osqp.h.
|
inlineoverridevirtual |
Implements corbo::QpSolverInterface.
Definition at line 167 of file qp_solver_osqp.h.
|
private |
Definition at line 189 of file qp_solver_osqp.h.