Abstract class that defines an interface for computing and comparing equivalence classes. More...
#include <equivalence_relations.h>
Public Member Functions | |
EquivalenceClass () | |
Default constructor. | |
virtual bool | isEqual (const EquivalenceClass &other) const =0 |
Check if two candidate classes are equivalent. | |
virtual bool | isValid () const =0 |
Check if the equivalence value is detected correctly. | |
virtual | ~EquivalenceClass () |
virtual destructor |
Abstract class that defines an interface for computing and comparing equivalence classes.
Equivalence relations are utilized in order to test if two trajectories are belonging to the same equivalence class w.r.t. the current obstacle configurations. A common equivalence relation is the concept of homotopy classes. All trajectories belonging to the same homotopy class can CONTINUOUSLY be deformed into each other without intersecting any obstacle. Hence they likely share the same local minimum after invoking (local) trajectory optimization. A weaker equivalence relation is defined by the concept of homology classes (e.g. refer to HSignature).
Each EquivalenceClass object (or subclass) stores a candidate value which might be compared to another EquivalenceClass object.
Definition at line 72 of file equivalence_relations.h.
Default constructor.
Definition at line 79 of file equivalence_relations.h.
virtual teb_local_planner::EquivalenceClass::~EquivalenceClass | ( | ) | [inline, virtual] |
virtual destructor
Definition at line 84 of file equivalence_relations.h.
virtual bool teb_local_planner::EquivalenceClass::isEqual | ( | const EquivalenceClass & | other | ) | const [pure virtual] |
Check if two candidate classes are equivalent.
other | The other equivalence class to test with |
Implemented in teb_local_planner::HSignature.
virtual bool teb_local_planner::EquivalenceClass::isValid | ( | ) | const [pure virtual] |
Check if the equivalence value is detected correctly.
Implemented in teb_local_planner::HSignature.