wbc
Constraint.hpp
Go to the documentation of this file.
1#ifndef WBC_CORE_CONSTRAINT_HPP
2#define WBC_CORE_CONSTRAINT_HPP
3
4#include "RobotModel.hpp"
5#include <Eigen/Core>
6#include <memory>
7
8namespace wbc{
9
18public:
19
20 enum Type {
24 };
25
26 virtual ~Constraint() = default;
27
29 virtual void update(RobotModelPtr robot_model) = 0;
30
32 Type type();
33
35 const Eigen::MatrixXd& A();
36
38 const Eigen::VectorXd& b();
39
41 const Eigen::VectorXd& lb();
42
44 const Eigen::VectorXd& ub();
45
47 uint size();
48
49protected:
50
52 Constraint();
53
56
58
60 Eigen::MatrixXd A_mtx;
61
63 Eigen::VectorXd b_vec;
64
66 Eigen::VectorXd lb_vec;
67
69 Eigen::VectorXd ub_vec;
70
71};
72typedef std::shared_ptr<Constraint> ConstraintPtr;
73
74} // namespace wbc
75#endif // WBC_CORE_CONSTRAINT_HPP
Eigen::VectorXd b_vec
Definition Constraint.hpp:63
Type c_type
Definition Constraint.hpp:57
Type
Definition Constraint.hpp:20
@ bounds
Definition Constraint.hpp:23
@ inequality
Definition Constraint.hpp:22
@ equality
Definition Constraint.hpp:21
const Eigen::MatrixXd & A()
return constraint matrix A
Definition Constraint.cpp:19
Constraint()
Default constructor.
Definition Constraint.cpp:5
Eigen::VectorXd ub_vec
Definition Constraint.hpp:69
const Eigen::VectorXd & b()
return constraint vector b
Definition Constraint.cpp:23
Eigen::VectorXd lb_vec
Definition Constraint.hpp:66
Type type()
Return the type of this constraint.
Definition Constraint.cpp:15
const Eigen::VectorXd & lb()
return constraint lower bound lb
Definition Constraint.cpp:27
Eigen::MatrixXd A_mtx
Definition Constraint.hpp:60
virtual void update(RobotModelPtr robot_model)=0
Update constraint matrix and vectors, depending on the type. Abstract method.
virtual ~Constraint()=default
const Eigen::VectorXd & ub()
return constraint upper bound ub
Definition Constraint.cpp:31
uint size()
return size of the constraint (i.e. number of rows of the constraint matrix)
Definition Constraint.cpp:35
Definition ContactsAccelerationConstraint.cpp:3
std::shared_ptr< Constraint > ConstraintPtr
Definition Constraint.hpp:72
std::shared_ptr< RobotModel > RobotModelPtr
Definition RobotModel.hpp:315