Aikido
aikido::distance::SE2Weighted Class Reference

Computes the shortest distance between two states in SE2. More...

#include <aikido/distance/SE2Weighted.hpp>

Inheritance diagram for aikido::distance::SE2Weighted:
aikido::distance::DistanceMetric

Public Member Functions

 SE2Weighted (std::shared_ptr< const statespace::SE2 > space)
 Constructor. More...
 
 SE2Weighted (std::shared_ptr< const statespace::SE2 > space, const Eigen::Vector2d &weights)
 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 weighted distance between two SE2 states. More...
 
- Public Member Functions inherited from aikido::distance::DistanceMetric
virtual ~DistanceMetric ()=default
 Destructor. More...
 

Private Attributes

std::shared_ptr< const statespace::SE2mStateSpace
 
Eigen::Vector2d mWeights
 

Detailed Description

Computes the shortest distance between two states in SE2.

Constructor & Destructor Documentation

◆ SE2Weighted() [1/2]

aikido::distance::SE2Weighted::SE2Weighted ( std::shared_ptr< const statespace::SE2 space)
explicit

Constructor.

Parameters
spaceThe SE2 this distance metric operates on The weights have been set to 1 as default

◆ SE2Weighted() [2/2]

aikido::distance::SE2Weighted::SE2Weighted ( std::shared_ptr< const statespace::SE2 space,
const Eigen::Vector2d &  weights 
)

Constructor.

It is a vector of 2 elements, the first element corresponds to the weight of translational distance and the second the weight for angular distance

Parameters
spaceThe SE2 this distance metric operates on
weightsThe weights over translational and angular distances

Member Function Documentation

◆ distance()

double aikido::distance::SE2Weighted::distance ( const statespace::StateSpace::State state1,
const statespace::StateSpace::State state2 
) const
overridevirtual

Computes weighted distance between two SE2 states.

Parameters
state1The first state (type: SE2::State)
state2The second state (type: SE2::State)

Implements aikido::distance::DistanceMetric.

◆ getStateSpace()

statespace::ConstStateSpacePtr aikido::distance::SE2Weighted::getStateSpace ( ) const
overridevirtual

Get the StateSpace associated with this metric.

Implements aikido::distance::DistanceMetric.

Member Data Documentation

◆ mStateSpace

std::shared_ptr<const statespace::SE2> aikido::distance::SE2Weighted::mStateSpace
private

◆ mWeights

Eigen::Vector2d aikido::distance::SE2Weighted::mWeights
private