Public Member Functions | List of all members
teb_local_planner::EquivalenceClass Class Referenceabstract

Abstract class that defines an interface for computing and comparing equivalence classes. More...

#include <equivalence_relations.h>

Inheritance diagram for teb_local_planner::EquivalenceClass:
Inheritance graph
[legend]

Public Member Functions

 EquivalenceClass ()
 Default constructor. More...
 
virtual bool isEqual (const EquivalenceClass &other) const =0
 Check if two candidate classes are equivalent. More...
 
virtual bool isReasonable () const =0
 Check if the trajectory is non-looping around an obstacle. More...
 
virtual bool isValid () const =0
 Check if the equivalence value is detected correctly. More...
 
virtual ~EquivalenceClass ()
 virtual destructor More...
 

Detailed Description

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.

Remarks
Currently, the computeEquivalenceClass method is not available in the generic interface EquivalenceClass. Call the "compute"-methods directly on the subclass.

Definition at line 63 of file equivalence_relations.h.

Constructor & Destructor Documentation

teb_local_planner::EquivalenceClass::EquivalenceClass ( )
inline

Default constructor.

Definition at line 70 of file equivalence_relations.h.

virtual teb_local_planner::EquivalenceClass::~EquivalenceClass ( )
inlinevirtual

virtual destructor

Definition at line 75 of file equivalence_relations.h.

Member Function Documentation

virtual bool teb_local_planner::EquivalenceClass::isEqual ( const EquivalenceClass other) const
pure virtual

Check if two candidate classes are equivalent.

Parameters
otherThe other equivalence class to test with

Implemented in teb_local_planner::HSignature3d, and teb_local_planner::HSignature.

virtual bool teb_local_planner::EquivalenceClass::isReasonable ( ) const
pure virtual

Check if the trajectory is non-looping around an obstacle.

Returns
Returns false, if the trajectory loops around an obstacle

Implemented in teb_local_planner::HSignature3d, and teb_local_planner::HSignature.

virtual bool teb_local_planner::EquivalenceClass::isValid ( ) const
pure virtual

Check if the equivalence value is detected correctly.

Returns
Returns false, if the equivalence class detection failed, e.g. if nan- or inf values occur.

Implemented in teb_local_planner::HSignature3d, and teb_local_planner::HSignature.


The documentation for this class was generated from the following file:


teb_local_planner
Author(s): Christoph Rösmann
autogenerated on Wed Jun 3 2020 04:03:08