QP solver OSQP.
More...
#include <QpSolverCollection.h>
|
| QpSolverOsqp () |
| Constructor. More...
|
|
virtual Eigen::VectorXd | solve (int dim_var, int dim_eq, int dim_ineq, Eigen::Ref< Eigen::MatrixXd > Q, const Eigen::Ref< const Eigen::VectorXd > &c, const Eigen::Ref< const Eigen::MatrixXd > &A, const Eigen::Ref< const Eigen::VectorXd > &b, const Eigen::Ref< const Eigen::MatrixXd > &C, const Eigen::Ref< const Eigen::VectorXd > &d, const Eigen::Ref< const Eigen::VectorXd > &x_min, const Eigen::Ref< const Eigen::VectorXd > &x_max) override |
| Solve QP. More...
|
|
| QpSolver () |
| Constructor. More...
|
|
void | printInfo (bool verbose=false, const std::string &header="") const |
| Print information. More...
|
|
virtual Eigen::VectorXd | solve (QpCoeff &qp_coeff) |
| Solve QP. More...
|
|
QpSolverType | type () const |
| Get QP solver type. More...
|
|
bool | solveFailed () const |
| Get whether it failed to solve the QP. More...
|
|
|
using | clock = typename std::conditional< std::chrono::high_resolution_clock::is_steady, std::chrono::high_resolution_clock, std::chrono::steady_clock >::type |
|
QP solver OSQP.
- Todo:
- Set without going through a dense matrix.
Definition at line 414 of file QpSolverCollection.h.
◆ QpSolverOsqp()
QpSolverCollection::QpSolverOsqp::QpSolverOsqp |
( |
| ) |
|
◆ solve()
virtual Eigen::VectorXd QpSolverCollection::QpSolverOsqp::solve |
( |
int |
dim_var, |
|
|
int |
dim_eq, |
|
|
int |
dim_ineq, |
|
|
Eigen::Ref< Eigen::MatrixXd > |
Q, |
|
|
const Eigen::Ref< const Eigen::VectorXd > & |
c, |
|
|
const Eigen::Ref< const Eigen::MatrixXd > & |
A, |
|
|
const Eigen::Ref< const Eigen::VectorXd > & |
b, |
|
|
const Eigen::Ref< const Eigen::MatrixXd > & |
C, |
|
|
const Eigen::Ref< const Eigen::VectorXd > & |
d, |
|
|
const Eigen::Ref< const Eigen::VectorXd > & |
x_min, |
|
|
const Eigen::Ref< const Eigen::VectorXd > & |
x_max |
|
) |
| |
|
overridevirtual |
◆ AC_with_bound_sparse_
Eigen::SparseMatrix<double> QpSolverCollection::QpSolverOsqp::AC_with_bound_sparse_ |
|
protected |
◆ bd_with_bound_max_
Eigen::VectorXd QpSolverCollection::QpSolverOsqp::bd_with_bound_max_ |
|
protected |
◆ bd_with_bound_min_
Eigen::VectorXd QpSolverCollection::QpSolverOsqp::bd_with_bound_min_ |
|
protected |
◆ c_
Eigen::VectorXd QpSolverCollection::QpSolverOsqp::c_ |
|
protected |
◆ force_initialize_
bool QpSolverCollection::QpSolverOsqp::force_initialize_ = true |
Whether to initialize each time instead of doing a warm start.
- Note
- Warm start did not give good results.
Definition at line 438 of file QpSolverCollection.h.
◆ osqp_
std::unique_ptr<OsqpEigen::Solver> QpSolverCollection::QpSolverOsqp::osqp_ |
|
protected |
◆ Q_sparse_
Eigen::SparseMatrix<double> QpSolverCollection::QpSolverOsqp::Q_sparse_ |
|
protected |
◆ sparse_duration_
double QpSolverCollection::QpSolverOsqp::sparse_duration_ = 0 |
|
protected |
The documentation for this class was generated from the following file:
- /home/runner/work/QpSolverCollection/QpSolverCollection/catkin_ws/src/QpSolverCollection/include/qp_solver_collection/QpSolverCollection.h