Aikido
aikido::distance::DistanceMetric Class Referenceabstract

Implements a distance metric defined on a StateSpace. More...

#include <aikido/distance/DistanceMetric.hpp>

Inheritance diagram for aikido::distance::DistanceMetric:
aikido::distance::CartesianProductWeighted aikido::distance::REuclidean< N > aikido::distance::SE2 aikido::distance::SE2Weighted aikido::distance::SO2Angular aikido::distance::SO3Angular

Public Member Functions

virtual ~DistanceMetric ()=default
 Destructor. More...
 
virtual statespace::ConstStateSpacePtr getStateSpace () const =0
 Get the StateSpace associated with this metric. More...
 
virtual double distance (const statespace::StateSpace::State *_state1, const statespace::StateSpace::State *_state2) const =0
 Computes distance between two states. More...
 

Detailed Description

Implements a distance metric defined on a StateSpace.

Constructor & Destructor Documentation

◆ ~DistanceMetric()

virtual aikido::distance::DistanceMetric::~DistanceMetric ( )
virtualdefault

Destructor.

Member Function Documentation

◆ distance()

virtual double aikido::distance::DistanceMetric::distance ( const statespace::StateSpace::State _state1,
const statespace::StateSpace::State _state2 
) const
pure virtual

Computes distance between two states.

This function satisfies the properties of a metric: (1) distance(s1, s2) >= 0 (2) distance(s1, s2) = 0 implies s1 == s2 (3) distance(s1, s2) == distance(s2, s1) (4) distance(s1, s3) <= distance(s1, s2) + distance(s2, s3)

Implemented in aikido::distance::SE2Weighted, aikido::distance::CartesianProductWeighted, aikido::distance::REuclidean< N >, aikido::distance::SE2, aikido::distance::SO2Angular, and aikido::distance::SO3Angular.

◆ getStateSpace()

virtual statespace::ConstStateSpacePtr aikido::distance::DistanceMetric::getStateSpace ( ) const
pure virtual