wbc
QuadraticProgram.hpp
Go to the documentation of this file.
1#ifndef WBC_CORE_QUADRATIC_PROGRAM_HPP
2#define WBC_CORE_QUADRATIC_PROGRAM_HPP
3
4#include <Eigen/Core>
5#include <vector>
6
7namespace wbc{
8
21
22 int nq;
23 int neq;
24 int nin;
25
26 bool bounded;
27
28 Eigen::MatrixXd H;
29 Eigen::VectorXd g;
30 Eigen::MatrixXd A;
31 Eigen::VectorXd b;
32 Eigen::MatrixXd C;
33 Eigen::VectorXd lower_y;
34 Eigen::VectorXd upper_y;
35 Eigen::VectorXd lower_x;
36 Eigen::VectorXd upper_x;
37 Eigen::VectorXd Wy;
38
40 void resize(uint nq, uint neq, uint nin, bool bounds);
41
43 bool isValid() const;
44
46 void print() const;
47
48};
49
54 std::vector<QuadraticProgram> prios;
55 Eigen::VectorXd Wq;
56
57 size_t size() const {
58 return prios.size();
59 }
61 return prios[i];
62 }
63 const QuadraticProgram& operator[](int i) const {
64 return prios[i];
65 }
67 prios.push_back(qp);
68 }
69 void resize(const size_t &n){prios.resize(n);}
70};
71
72}
73
74#endif // WBC_CORE_QUADRATIC_PROGRAM_HPP
Definition ContactsAccelerationConstraint.cpp:3
Describes a hierarchy of quadratic programs.
Definition QuadraticProgram.hpp:53
Eigen::VectorXd Wq
Definition QuadraticProgram.hpp:55
const QuadraticProgram & operator[](int i) const
Definition QuadraticProgram.hpp:63
void resize(const size_t &n)
Definition QuadraticProgram.hpp:69
std::vector< QuadraticProgram > prios
Definition QuadraticProgram.hpp:54
size_t size() const
Definition QuadraticProgram.hpp:57
void operator<<(QuadraticProgram &qp)
Definition QuadraticProgram.hpp:66
QuadraticProgram & operator[](int i)
Definition QuadraticProgram.hpp:60
Describes a quadratic program of the form.
Definition QuadraticProgram.hpp:20
int nin
Definition QuadraticProgram.hpp:24
Eigen::VectorXd lower_y
Definition QuadraticProgram.hpp:33
Eigen::MatrixXd C
Definition QuadraticProgram.hpp:32
Eigen::VectorXd Wy
Definition QuadraticProgram.hpp:37
Eigen::VectorXd lower_x
Definition QuadraticProgram.hpp:35
void resize(uint nq, uint neq, uint nin, bool bounds)
Definition QuadraticProgram.cpp:7
Eigen::VectorXd b
Definition QuadraticProgram.hpp:31
bool isValid() const
Definition QuadraticProgram.cpp:43
Eigen::MatrixXd H
Definition QuadraticProgram.hpp:28
bool bounded
Definition QuadraticProgram.hpp:26
Eigen::VectorXd upper_y
Definition QuadraticProgram.hpp:34
int nq
Definition QuadraticProgram.hpp:22
void print() const
Definition QuadraticProgram.cpp:104
Eigen::VectorXd upper_x
Definition QuadraticProgram.hpp:36
Eigen::MatrixXd A
Definition QuadraticProgram.hpp:30
Eigen::VectorXd g
Definition QuadraticProgram.hpp:29
int neq
Definition QuadraticProgram.hpp:23