wbc
ProxQPSolver.hpp
Go to the documentation of this file.
1#ifndef WBC_SOLVERS_PROXQP_SOLVER_HPP
2#define WBC_SOLVERS_PROXQP_SOLVER_HPP
3
5
6#include <memory>
7#include <iostream>
8
9#include <proxsuite/proxqp/dense/wrapper.hpp>
10
11namespace wbc {
12
13class HierarchicalQP;
14
33class ProxQPSolver : public QPSolver{
34private:
36
37public:
39 virtual ~ProxQPSolver() noexcept { };
40
47 virtual void solve(const wbc::HierarchicalQP& hierarchical_qp, Eigen::VectorXd& solver_output, bool allow_warm_start = true);
48
50 int getNter(){ return _actual_n_iter; }
51
53 void setOptions(proxsuite::proxqp::Settings<double> opt){settings = opt;}
54
55protected:
56
57 std::shared_ptr<proxsuite::proxqp::dense::QP<double>> _solver_ptr;
59
60 Eigen::MatrixXd _C_mtx; // inequalities matrix (including bounds)
61 Eigen::VectorXd _l_vec; // inequalities lower bounds
62 Eigen::VectorXd _u_vec; // inequalities upper bounds
63
64 proxsuite::proxqp::Settings<double> settings;
65};
66
67}
68
69#endif
virtual ~ProxQPSolver() noexcept
Definition ProxQPSolver.hpp:39
std::shared_ptr< proxsuite::proxqp::dense::QP< double > > _solver_ptr
Definition ProxQPSolver.hpp:57
proxsuite::proxqp::Settings< double > settings
Definition ProxQPSolver.hpp:64
int getNter()
Definition ProxQPSolver.hpp:50
Eigen::MatrixXd _C_mtx
Definition ProxQPSolver.hpp:60
void setOptions(proxsuite::proxqp::Settings< double > opt)
Definition ProxQPSolver.hpp:53
ProxQPSolver()
Definition ProxQPSolver.cpp:13
Eigen::VectorXd _u_vec
Definition ProxQPSolver.hpp:62
int _actual_n_iter
Definition ProxQPSolver.hpp:58
Eigen::VectorXd _l_vec
Definition ProxQPSolver.hpp:61
virtual void solve(const wbc::HierarchicalQP &hierarchical_qp, Eigen::VectorXd &solver_output, bool allow_warm_start=true)
solve Solve the given quadratic program
Definition ProxQPSolver.cpp:21
QPSolver()
Definition QPSolver.cpp:5
Definition ContactsAccelerationConstraint.cpp:3
Describes a hierarchy of quadratic programs.
Definition QuadraticProgram.hpp:53
Definition QPSolver.hpp:69