Aikido
SE2BoxConstraint.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_CONSTRAINT_UNIFORM_SE2BOXCONSTRAINT_HPP_
2 #define AIKIDO_CONSTRAINT_UNIFORM_SE2BOXCONSTRAINT_HPP_
3 
9 
10 namespace aikido {
11 namespace constraint {
12 namespace uniform {
13 
20  , public constraint::Sampleable
21  , public constraint::Testable
22 {
23 public:
25 
32  std::shared_ptr<const statespace::SE2> space,
33  std::unique_ptr<common::RNG> rng,
34  const Eigen::Vector2d& lowerLimits,
35  const Eigen::Vector2d& upperLimits);
36 
37  // Documentation inherited.
39 
41  bool isSatisfied(
42  const statespace::StateSpace::State* state,
43  TestableOutcome* outcome = nullptr) const override;
44 
47  std::unique_ptr<TestableOutcome> createOutcome() const override;
48 
49  // Documentation inherited.
50  bool project(
52  statespace::StateSpace::State* out) const override;
53 
54  // Documentation inherited.
55  std::unique_ptr<constraint::SampleGenerator> createSampleGenerator()
56  const override;
57 
59  Eigen::Vector2d getLowerLimits() const;
60 
62  Eigen::Vector2d getUpperLimits() const;
63 
64 private:
65  std::shared_ptr<const statespace::SE2> mSpace;
66 
67  std::unique_ptr<common::RNG> mRng;
68 
71  Eigen::Vector3d mLowerLimits;
72 
75  Eigen::Vector3d mUpperLimits;
76 
77  // DOFs of joint that have limits, in this case translational DOFs.
78  // TODO: Confirm this with Gilwoo
79  std::size_t mRnDimension;
80 
81  // DOF of the joint
82  std::size_t mDimension;
83 };
84 
85 } // namespace uniform
86 } // namespace constraint
87 } // namespace aikido
88 
89 #endif // AIKIDO_CONSTRAINT_UNIFORM_SE2BOXCONSTRAINT_HPP_
aikido::constraint::uniform::SE2BoxConstraint::getLowerLimits
Eigen::Vector2d getLowerLimits() const
Returns lower limits of this constraint.
aikido::constraint::uniform::SE2BoxConstraint::getStateSpace
statespace::ConstStateSpacePtr getStateSpace() const override
Gets the StateSpace that this constraint operates on.
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
Differentiable.hpp
aikido::constraint::uniform::SE2BoxConstraint::getUpperLimits
Eigen::Vector2d getUpperLimits() const
Returns upper limits of this constraint.
aikido::constraint::Testable
Constraint which can be tested.
Definition: Testable.hpp:17
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::constraint::Projectable::project
virtual bool project(const statespace::StateSpace::State *_s, statespace::StateSpace::State *_out) const =0
Projection _s to _out.
aikido::constraint::uniform::SE2BoxConstraint::mDimension
std::size_t mDimension
Definition: SE2BoxConstraint.hpp:82
aikido::constraint::Sampleable
Constraint that may be sampled from.
Definition: Sampleable.hpp:27
aikido::constraint::uniform::SE2BoxConstraint::createOutcome
std::unique_ptr< TestableOutcome > createOutcome() const override
Return an instance of DefaultTestableOutcome, since this class doesn't have a more specialized Testab...
aikido::constraint::uniform::SE2BoxConstraint::mSpace
std::shared_ptr< const statespace::SE2 > mSpace
Definition: SE2BoxConstraint.hpp:65
aikido::constraint::Projectable
A projectable constraint.
Definition: Projectable.hpp:12
Sampleable.hpp
aikido::constraint::uniform::SE2BoxConstraint::mLowerLimits
Eigen::Vector3d mLowerLimits
Lower limits on the state.
Definition: SE2BoxConstraint.hpp:71
Projectable.hpp
aikido::constraint::uniform::SE2BoxConstraint
A BoxConstraint on SE2.
Definition: SE2BoxConstraint.hpp:18
aikido::constraint::TestableOutcome
Base class for constraint outcomes.
Definition: TestableOutcome.hpp:13
aikido::constraint::uniform::SE2BoxConstraint::project
bool project(const statespace::StateSpace::State *s, statespace::StateSpace::State *out) const override
Projection _s to _out.
aikido::constraint::uniform::SE2BoxConstraint::isSatisfied
bool isSatisfied(const statespace::StateSpace::State *state, TestableOutcome *outcome=nullptr) const override
Documentation inherited.
aikido::constraint::uniform::SE2BoxConstraint::createSampleGenerator
std::unique_ptr< constraint::SampleGenerator > createSampleGenerator() const override
Creates a SampleGenerator for sampling from this constraint.
SE2.hpp
Testable.hpp
aikido::constraint::uniform::SE2BoxConstraint::mUpperLimits
Eigen::Vector3d mUpperLimits
Upper limits on the state.
Definition: SE2BoxConstraint.hpp:75
aikido::constraint::uniform::SE2BoxConstraint::SE2BoxConstraint
SE2BoxConstraint(std::shared_ptr< const statespace::SE2 > space, std::unique_ptr< common::RNG > rng, const Eigen::Vector2d &lowerLimits, const Eigen::Vector2d &upperLimits)
Constructor.
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
aikido::constraint::uniform::SE2BoxConstraint::mRnDimension
std::size_t mRnDimension
Definition: SE2BoxConstraint.hpp:79
aikido::constraint::uniform::SE2BoxConstraint::mRng
std::unique_ptr< common::RNG > mRng
Definition: SE2BoxConstraint.hpp:67