Aikido
|
Implements a distance metric on a CartesianProduct. More...
#include <aikido/distance/CartesianProductWeighted.hpp>
Public Member Functions | |
CartesianProductWeighted (std::shared_ptr< const statespace::CartesianProduct > _space, std::vector< DistanceMetricPtr > _metrics) | |
Constructor. More... | |
CartesianProductWeighted (std::shared_ptr< statespace::CartesianProduct > _space, std::vector< std::pair< DistanceMetricPtr, double >> _metrics) | |
Constructor. More... | |
statespace::ConstStateSpacePtr | getStateSpace () const override |
Get the StateSpace associated with this metric. More... | |
double | distance (const statespace::StateSpace::State *_state1, const statespace::StateSpace::State *_state2) const override |
Computes distance between two states as the weighted sum of distances between their matching subcomponents. More... | |
![]() | |
virtual | ~DistanceMetric ()=default |
Destructor. More... | |
Private Attributes | |
std::shared_ptr< const statespace::CartesianProduct > | mStateSpace |
std::vector< std::pair< DistanceMetricPtr, double > > | mMetrics |
Implements a distance metric on a CartesianProduct.
This metric computes the weighted sum of distances on the individual components of the statespace.
aikido::distance::CartesianProductWeighted::CartesianProductWeighted | ( | std::shared_ptr< const statespace::CartesianProduct > | _space, |
std::vector< DistanceMetricPtr > | _metrics | ||
) |
Constructor.
Default the weights applied to each subspace to 1.
_space | The state space |
_metrics | A vector containing one element for every component of the CartesianProduct |
aikido::distance::CartesianProductWeighted::CartesianProductWeighted | ( | std::shared_ptr< statespace::CartesianProduct > | _space, |
std::vector< std::pair< DistanceMetricPtr, double >> | _metrics | ||
) |
Constructor.
CartesianProduct. The first element of every pair in the vector is the metric and the second is the weight to be applied to the metric. The weights must all be positive.
_space | The state space |
_metrics | A vector containing one element for every component of the |
|
overridevirtual |
Computes distance between two states as the weighted sum of distances between their matching subcomponents.
_state1 | The first state (type CartesianProduct::State) |
_state2 | The second state (type CartesianProduct::State) |
Implements aikido::distance::DistanceMetric.
|
overridevirtual |
Get the StateSpace associated with this metric.
Implements aikido::distance::DistanceMetric.
|
private |
|
private |