28 #include <Qontrol/Model/GenericModel.hpp>
29 #include <Qontrol/Utils/Size.hpp>
30 #include "Eigen/Dense"
33 namespace Constraint {
59 : name_{name}, constraint_size_{constraint_size}, optimization_vector_size_{optimization_vector_size} {
60 resize(constraint_size_,optimization_vector_size_);
75 std::shared_ptr<Model::GenericModel> model_ptr)
76 : name_{name}, model_ptr_{model_ptr},
77 constraint_size_{constraint_size},
78 optimization_vector_size_{model_ptr->getNrOfDegreesOfFreedom()} {
79 resize(constraint_size_,optimization_vector_size_);
131 void resize(
int task_size,
int constraint_size);
154 Eigen::VectorXd lower_limit;
155 Eigen::VectorXd upper_limit;
158 std::shared_ptr<Model::GenericModel> model_ptr_;
159 int constraint_size_;
160 int optimization_vector_size_;
164 Eigen::MatrixXd constraint_matrix_;
165 Eigen::VectorXd upper_bound_;
166 Eigen::VectorXd lower_bound_;
GenericConstraint(std::string name, int constraint_size, std::shared_ptr< Model::GenericModel > model_ptr)
Construct a new Base onstraint object.
Definition: GenericConstraint.hpp:73
GenericConstraint(std::string name, int constraint_size, int optimization_vector_size)
Construct a new GenericConstraint object.
Definition: GenericConstraint.hpp:58
Represents a generic constraint.
Definition: GenericConstraint.hpp:47
void resize(int task_size, int constraint_size)
Resize the constraint matrices and vectors according to the task size and new constraint size.
Definition: GenericConstraint.cpp:6
std::string getName()
Get the constraint name.
Definition: GenericConstraint.cpp:40
void setUpperBounds(Eigen::VectorXd upper_bound)
Set the constraint upper bounds .
Definition: GenericConstraint.cpp:30
int getSize()
Get the constraint size.
Definition: GenericConstraint.cpp:42
Eigen::MatrixXd getConstraintMatrix()
Get the constraint matrix .
Definition: GenericConstraint.cpp:13
virtual void update(double dt)
Update , and overrided by the considered implementation of the constraint.
Definition: GenericConstraint.hpp:87
void setLowerBounds(Eigen::VectorXd lower_bound)
Set the constraint lower bounds .
Definition: GenericConstraint.cpp:25
Eigen::VectorXd getLowerBounds()
Get the constraint lower bounds .
Definition: GenericConstraint.cpp:21
Eigen::VectorXd getUpperBounds()
Get the constraint upper bounds .
Definition: GenericConstraint.cpp:17
void setConstraintMatrix(Eigen::MatrixXd constraint_matrix)
Set the constraint matrix .
Definition: GenericConstraint.cpp:35