Aikido
FrameTestable.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_CONSTRAINT_DART_FRAMETESTABLE_HPP_
2 #define AIKIDO_CONSTRAINT_DART_FRAMETESTABLE_HPP_
3 
4 #include <dart/dynamics/dynamics.hpp>
5 
9 
10 namespace aikido {
11 namespace constraint {
12 namespace dart {
13 
17 class FrameTestable : public Testable
18 {
19 public:
26  statespace::dart::MetaSkeletonStateSpacePtr _metaSkeletonStateSpace,
27  ::dart::dynamics::MetaSkeletonPtr _metaskeleton,
28  ::dart::dynamics::ConstJacobianNodePtr _frame,
29  TestablePtr _poseConstraint);
30 
39  bool isSatisfied(
40  const statespace::StateSpace::State* _state,
41  TestableOutcome* outcome = nullptr) const override;
42 
46  std::unique_ptr<TestableOutcome> createOutcome() const override;
47 
48  // Documentation inherited
50 
51 private:
53  ::dart::dynamics::MetaSkeletonPtr mMetaSkeleton;
54  ::dart::dynamics::ConstJacobianNodePtr mFrame;
56  std::shared_ptr<const statespace::SE3> mPoseStateSpace;
57 };
58 
59 } // namespace dart
60 } // namespace constraint
61 } // namespace aikido
62 
63 #endif // AIKIDO_CONSTRAINT_DART_FRAMETESTABLE_HPP_
aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr
std::shared_ptr< const MetaSkeletonStateSpace > ConstMetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
aikido::constraint::dart::FrameTestable::mPoseStateSpace
std::shared_ptr< const statespace::SE3 > mPoseStateSpace
Definition: FrameTestable.hpp:56
aikido::statespace::dart::MetaSkeletonStateSpacePtr
std::shared_ptr< MetaSkeletonStateSpace > MetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
aikido::constraint::dart::FrameTestable::mPoseConstraint
TestablePtr mPoseConstraint
Definition: FrameTestable.hpp:55
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
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::dart::FrameTestable
Transforms a SE(3) Testable into a MetaSkeleton-Testable by performing forward kinematics on a config...
Definition: FrameTestable.hpp:17
aikido::constraint::dart::FrameTestable::mMetaSkeleton
::dart::dynamics::MetaSkeletonPtr mMetaSkeleton
Definition: FrameTestable.hpp:53
aikido::constraint::dart::FrameTestable::FrameTestable
FrameTestable(statespace::dart::MetaSkeletonStateSpacePtr _metaSkeletonStateSpace, ::dart::dynamics::MetaSkeletonPtr _metaskeleton, ::dart::dynamics::ConstJacobianNodePtr _frame, TestablePtr _poseConstraint)
Create a Testable for the MetaSkeleton.
aikido::constraint::TestableOutcome
Base class for constraint outcomes.
Definition: TestableOutcome.hpp:13
Testable.hpp
MetaSkeletonStateSpace.hpp
aikido::constraint::dart::FrameTestable::createOutcome
std::unique_ptr< TestableOutcome > createOutcome() const override
Return the outcome of mPoseConstraint->createOutcome().
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
aikido::constraint::TestablePtr
std::shared_ptr< Testable > TestablePtr
Definition: Testable.hpp:13
dart
Definition: FrameMarker.hpp:11
aikido::constraint::dart::FrameTestable::getStateSpace
statespace::ConstStateSpacePtr getStateSpace() const override
Returns StateSpace in which this constraint operates.
aikido::constraint::dart::FrameTestable::isSatisfied
bool isSatisfied(const statespace::StateSpace::State *_state, TestableOutcome *outcome=nullptr) const override
Check if the constraint is satisfied by performing forward kinematics and testing the poseConstraint.
aikido::constraint::dart::FrameTestable::mMetaSkeletonStateSpace
statespace::dart::ConstMetaSkeletonStateSpacePtr mMetaSkeletonStateSpace
Definition: FrameTestable.hpp:52
aikido::constraint::dart::FrameTestable::mFrame
::dart::dynamics::ConstJacobianNodePtr mFrame
Definition: FrameTestable.hpp:54
SE3.hpp