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 > |
Public Types inherited from corbo::QpSolverInterface | |
| 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 |
Public Member Functions inherited from corbo::QpSolverInterface | |
| 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.