Aikido
Differentiable.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_CONSTRAINT_DIFFERENTIABLE_HPP_
2 #define AIKIDO_CONSTRAINT_DIFFERENTIABLE_HPP_
3 
4 #include <memory>
5 
6 #include <Eigen/Dense>
7 
10 
11 namespace aikido {
12 namespace constraint {
13 
15 
16 enum class ConstraintType
20 {
21  EQUALITY,
23 };
24 
28 {
29 public:
31  virtual ~Differentiable() = default;
32 
35 
38  virtual std::vector<ConstraintType> getConstraintTypes() const = 0;
39 
41  virtual std::size_t getConstraintDimension() const = 0;
42 
49  virtual void getValue(
50  const statespace::StateSpace::State* _s, Eigen::VectorXd& _out) const = 0;
51 
63  virtual void getJacobian(
64  const statespace::StateSpace::State* _s, Eigen::MatrixXd& _out) const = 0;
65 
70  virtual void getValueAndJacobian(
72  Eigen::VectorXd& _val,
73  Eigen::MatrixXd& _jac) const;
74 };
75 
76 } // namespace constraint
77 } // namespace aikido
78 
79 #endif
aikido::constraint::Differentiable::getStateSpace
virtual statespace::ConstStateSpacePtr getStateSpace() const =0
Gets the StateSpace that this constraint operates on.
aikido::constraint::Differentiable
A differentiable constraint.
Definition: Differentiable.hpp:27
aikido::constraint::ConstraintType::EQUALITY
@ EQUALITY
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::constraint::ConstraintType::INEQUALITY
@ INEQUALITY
aikido::constraint::Differentiable::getConstraintTypes
virtual std::vector< ConstraintType > getConstraintTypes() const =0
Returns a vector of constraints' types, i-th element correspoinding to the type of i-th constraint.
StateSpace.hpp
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::constraint::Differentiable::~Differentiable
virtual ~Differentiable()=default
Destructor.
aikido::constraint::ConstraintType
ConstraintType
Enum for classifying constraints used in Differentiable.
Definition: Differentiable.hpp:19
pointers.hpp
aikido::constraint::Differentiable::getJacobian
virtual void getJacobian(const statespace::StateSpace::State *_s, Eigen::MatrixXd &_out) const =0
Get the jacobian of constraints evaluated at _s, expressed in the frame each state space is expressed...
aikido::constraint::Differentiable::getValue
virtual void getValue(const statespace::StateSpace::State *_s, Eigen::VectorXd &_out) const =0
Get the value of constraints at _s.
aikido::constraint::Differentiable::getValueAndJacobian
virtual void getValueAndJacobian(const statespace::StateSpace::State *_s, Eigen::VectorXd &_val, Eigen::MatrixXd &_jac) const
Get both Value and Jacobian.
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
AIKIDO_DECLARE_POINTERS
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
aikido::constraint::Differentiable::getConstraintDimension
virtual std::size_t getConstraintDimension() const =0
Size of constraints.