Aikido
DifferentiableIntersection.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_CONSTRAINT_DIFFERENTIABLEINTERSECTION_HPP_
2 #define AIKIDO_CONSTRAINT_DIFFERENTIABLEINTERSECTION_HPP_
3 
4 #include <memory>
5 
6 #include <Eigen/Dense>
7 
10 
11 namespace aikido {
12 namespace constraint {
13 
17 {
18 public:
20  std::vector<DifferentiablePtr> _constraints,
21  statespace::ConstStateSpacePtr _stateSpace);
22 
23  // Documentation inherited.
24  std::size_t getConstraintDimension() const override;
25 
26  // Documentation inherited.
27  void getValue(const statespace::StateSpace::State* _s, Eigen::VectorXd& _out)
28  const override;
29 
30  // Documentation inherited.
31  void getJacobian(
33  Eigen::MatrixXd& _out) const override;
34 
35  // Documentation inherited.
36  std::vector<ConstraintType> getConstraintTypes() const override;
37 
38  // Documentation inherited.
40 
41  // Documentation inherited.
44  Eigen::VectorXd& _val,
45  Eigen::MatrixXd& _jac) const override;
46 
47 private:
48  std::vector<DifferentiablePtr> mConstraints;
50 };
51 
52 } // namespace constraint
53 } // namespace aikido
54 
55 #endif
aikido::constraint::Differentiable
A differentiable constraint.
Definition: Differentiable.hpp:27
aikido::constraint::DifferentiableIntersection::getValueAndJacobian
void getValueAndJacobian(const statespace::StateSpace::State *_s, Eigen::VectorXd &_val, Eigen::MatrixXd &_jac) const override
Get both Value and Jacobian.
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
Differentiable.hpp
StateSpace.hpp
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::constraint::DifferentiableIntersection::DifferentiableIntersection
DifferentiableIntersection(std::vector< DifferentiablePtr > _constraints, statespace::ConstStateSpacePtr _stateSpace)
aikido::constraint::DifferentiableIntersection::getStateSpace
statespace::ConstStateSpacePtr getStateSpace() const override
Gets the StateSpace that this constraint operates on.
aikido::constraint::DifferentiableIntersection::mConstraints
std::vector< DifferentiablePtr > mConstraints
Definition: DifferentiableIntersection.hpp:48
aikido::constraint::DifferentiableIntersection::getJacobian
void getJacobian(const statespace::StateSpace::State *_s, Eigen::MatrixXd &_out) const override
Get the jacobian of constraints evaluated at _s, expressed in the frame each state space is expressed...
aikido::constraint::DifferentiableIntersection::mStateSpace
statespace::ConstStateSpacePtr mStateSpace
Definition: DifferentiableIntersection.hpp:49
aikido::constraint::DifferentiableIntersection::getConstraintTypes
std::vector< ConstraintType > getConstraintTypes() const override
Returns a vector of constraints' types, i-th element correspoinding to the type of i-th constraint.
aikido::constraint::DifferentiableIntersection::getConstraintDimension
std::size_t getConstraintDimension() const override
Size of constraints.
aikido::constraint::DifferentiableIntersection
Contains n constraints that take the same statespace.
Definition: DifferentiableIntersection.hpp:16
aikido::constraint::DifferentiableIntersection::getValue
void getValue(const statespace::StateSpace::State *_s, Eigen::VectorXd &_out) const override
Get the value of constraints at _s.
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167