Go to the documentation of this file. 1 #ifndef AIKIDO_CONSTRAINT_DART_COLLISIONFREE_HPP_
2 #define AIKIDO_CONSTRAINT_DART_COLLISIONFREE_HPP_
8 #include <dart/collision/CollisionDetector.hpp>
9 #include <dart/collision/CollisionFilter.hpp>
10 #include <dart/collision/CollisionGroup.hpp>
11 #include <dart/collision/CollisionOption.hpp>
19 namespace constraint {
41 ::dart::dynamics::MetaSkeletonPtr _metaskeleton,
42 std::shared_ptr<::dart::collision::CollisionDetector> _collisionDetector,
43 ::dart::collision::CollisionOption _collisionOptions
44 = ::dart::collision::CollisionOption(
47 std::make_shared<::dart::collision::BodyNodeCollisionFilter>()));
62 std::unique_ptr<TestableOutcome>
createOutcome()
const override;
68 std::shared_ptr<::dart::collision::CollisionGroup> _group1,
69 std::shared_ptr<::dart::collision::CollisionGroup> _group2);
75 std::shared_ptr<::dart::collision::CollisionGroup> _group1,
76 std::shared_ptr<::dart::collision::CollisionGroup> _group2);
80 void addSelfCheck(std::shared_ptr<::dart::collision::CollisionGroup> _group);
85 std::shared_ptr<::dart::collision::CollisionGroup> _group);
95 std::vector<std::pair<
96 std::shared_ptr<CollisionGroup>,
97 std::shared_ptr<CollisionGroup>>>
106 #endif // AIKIDO_CONSTRAINT_DART_COLLISIONFREE_HPP_
std::shared_ptr< const MetaSkeletonStateSpace > ConstMetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
CollisionFree(statespace::dart::ConstMetaSkeletonStateSpacePtr _metaSkeletonStateSpace, ::dart::dynamics::MetaSkeletonPtr _metaskeleton, std::shared_ptr<::dart::collision::CollisionDetector > _collisionDetector, ::dart::collision::CollisionOption _collisionOptions=::dart::collision::CollisionOption(false, 1, std::make_shared<::dart::collision::BodyNodeCollisionFilter >()))
Constructs an empty constraint that uses _collisionDetector to test for collision.
std::shared_ptr<::dart::collision::CollisionDetector > mCollisionDetector
Definition: CollisionFree.hpp:93
::dart::collision::CollisionOption mCollisionOptions
Definition: CollisionFree.hpp:94
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
std::unique_ptr< TestableOutcome > createOutcome() const override
Return an instance of a TestableOutcome derivative class that corresponds to this constraint class.
::dart::dynamics::MetaSkeletonPtr mMetaSkeleton
Definition: CollisionFree.hpp:92
Constraint which can be tested.
Definition: Testable.hpp:17
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
void removeSelfCheck(std::shared_ptr<::dart::collision::CollisionGroup > _group)
Remove self-collision check within group.
bool isSatisfied(const aikido::statespace::StateSpace::State *_state, TestableOutcome *outcome=nullptr) const override
Returns true if state satisfies this constraint.
Base class for constraint outcomes.
Definition: TestableOutcome.hpp:13
statespace::ConstStateSpacePtr getStateSpace() const override
Returns StateSpace in which this constraint operates.
std::vector< std::shared_ptr< CollisionGroup > > mGroupsToSelfCheck
Definition: CollisionFree.hpp:99
aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr mMetaSkeletonStateSpace
Definition: CollisionFree.hpp:91
std::vector< std::pair< std::shared_ptr< CollisionGroup >, std::shared_ptr< CollisionGroup > > > mGroupsToPairwiseCheck
Definition: CollisionFree.hpp:98
::dart::collision::CollisionGroup CollisionGroup
Definition: CollisionFree.hpp:88
void removePairwiseCheck(std::shared_ptr<::dart::collision::CollisionGroup > _group1, std::shared_ptr<::dart::collision::CollisionGroup > _group2)
Remove collision check between group1 and group2.
void addSelfCheck(std::shared_ptr<::dart::collision::CollisionGroup > _group)
Checks collision within group.
Definition: StateSpace.hpp:167
Definition: FrameMarker.hpp:11
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
void addPairwiseCheck(std::shared_ptr<::dart::collision::CollisionGroup > _group1, std::shared_ptr<::dart::collision::CollisionGroup > _group2)
Checks collision between group1 and group2.
A testable that uses a collision detector to check whether a metakeleton state (configuration) result...
Definition: CollisionFree.hpp:27