QP solver HPIPM.
More...
#include <QpSolverCollection.h>
|
| QpSolverHpipm () |
| Constructor. More...
|
|
| ~QpSolverHpipm () |
| Destructor. 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 HPIPM.
Definition at line 487 of file QpSolverCollection.h.
◆ QpSolverHpipm()
QpSolverCollection::QpSolverHpipm::QpSolverHpipm |
( |
| ) |
|
◆ ~QpSolverHpipm()
QpSolverCollection::QpSolverHpipm::~QpSolverHpipm |
( |
| ) |
|
◆ solve()
virtual Eigen::VectorXd QpSolverCollection::QpSolverHpipm::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 |
◆ bound_limit_
double QpSolverCollection::QpSolverHpipm::bound_limit_ = 1e10 |
Maximum limits of inequality bounds.
- Note
- Setting very large values for inequality bounds will result in NaN or incorrect solutions. std::numeric_limits<double>::infinity(), std::numeric_limits<double>::max(), and even 1e20 have this problem.
Definition at line 515 of file QpSolverCollection.h.
◆ ipm_arg_
std::unique_ptr<struct d_dense_qp_ipm_arg> QpSolverCollection::QpSolverHpipm::ipm_arg_ |
|
protected |
◆ ipm_arg_mem_
void* QpSolverCollection::QpSolverHpipm::ipm_arg_mem_ = nullptr |
|
protected |
◆ ipm_ws_
std::unique_ptr<struct d_dense_qp_ipm_ws> QpSolverCollection::QpSolverHpipm::ipm_ws_ |
|
protected |
◆ ipm_ws_mem_
void* QpSolverCollection::QpSolverHpipm::ipm_ws_mem_ = nullptr |
|
protected |
◆ opt_x_mem_
double* QpSolverCollection::QpSolverHpipm::opt_x_mem_ |
|
protected |
◆ qp_
std::unique_ptr<struct d_dense_qp> QpSolverCollection::QpSolverHpipm::qp_ |
|
protected |
◆ qp_dim_
std::unique_ptr<struct d_dense_qp_dim> QpSolverCollection::QpSolverHpipm::qp_dim_ |
|
protected |
◆ qp_dim_mem_
void* QpSolverCollection::QpSolverHpipm::qp_dim_mem_ = nullptr |
|
protected |
◆ qp_mem_
void* QpSolverCollection::QpSolverHpipm::qp_mem_ = nullptr |
|
protected |
◆ qp_sol_
std::unique_ptr<struct d_dense_qp_sol> QpSolverCollection::QpSolverHpipm::qp_sol_ |
|
protected |
◆ qp_sol_mem_
void* QpSolverCollection::QpSolverHpipm::qp_sol_mem_ = nullptr |
|
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