Parasol Planning Library (PPL)
|
#include <WorkspaceTranslationDistance.h>
Public Member Functions | |
Construction | |
WorkspaceTranslationDistance () | |
WorkspaceTranslationDistance (XMLNode &_node) | |
virtual | ~WorkspaceTranslationDistance ()=default |
Distance Interface | |
virtual double | Distance (const Cfg &_c1, const Cfg &_c2) override |
Public Member Functions inherited from DistanceMetricMethod | |
DistanceMetricMethod ()=default | |
DistanceMetricMethod (XMLNode &_node) | |
virtual | ~DistanceMetricMethod ()=default |
virtual double | Distance (const GroupCfgType &_c1, const GroupCfgType &_c2) |
double | EdgeWeight (const RoadmapType *const _r, const typename RoadmapType::CEI &_edge) noexcept |
double | EdgeWeight (const RoadmapType *const _r, const VID _source, const VID _target) noexcept |
virtual void | ScaleCfg (double _length, Cfg &_c, const Cfg &_o) |
void | ScaleCfg (double _length, Cfg &_c) |
virtual void | ScaleCfg (double _length, GroupCfgType &_c, const GroupCfgType &_o) |
void | ScaleCfg (double _length, GroupCfgType &_c) |
Public Member Functions inherited from MPBaseObject | |
MPBaseObject (const std::string &_label="", const std::string &_name="", bool _debug=false) | |
MPBaseObject (XMLNode &_node) | |
virtual | ~MPBaseObject () |
virtual void | Print (std::ostream &_os) const |
virtual void | Initialize () |
const std::string & | GetName () const |
Get the class name for this object. More... | |
const std::string & | GetLabel () const |
Get the unique label for this object. More... | |
std::string | GetNameAndLabel () const |
Get the unique string identifier for this object "m_name::m_label". More... | |
void | SetLabel (const std::string &) |
Set the unique label for this object. More... | |
void | SetMPLibrary (MPLibrary *) noexcept |
Set the owning MPLibrary. More... | |
MPLibrary * | GetMPLibrary () const noexcept |
Get the owning MPLibrary. More... | |
bool | IsRunning () const noexcept |
Check the library's running flag. More... | |
MPProblem * | GetMPProblem () const noexcept |
Get the library's current MPProblem. More... | |
Environment * | GetEnvironment () const noexcept |
Get the current environment. More... | |
MPTask * | GetTask () const noexcept |
Get the current task. More... | |
GroupTask * | GetGroupTask () const noexcept |
Get the current group task. More... | |
MPSolutionType * | GetMPSolution () const noexcept |
RoadmapType * | GetRoadmap (Robot *const _r=nullptr) const noexcept |
Get the current free-space roadmap. More... | |
GroupRoadmapType * | GetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept |
Get the current free-space group roadmap. More... | |
RoadmapType * | GetBlockRoadmap (Robot *const _r=nullptr) const noexcept |
Get the current obstacle-space roadmap. More... | |
Path * | GetPath (Robot *const _r=nullptr) const noexcept |
GroupPath * | GetGroupPath (RobotGroup *const _g=nullptr) const noexcept |
Get the current best group path. More... | |
StatClass * | GetStatClass () const noexcept |
Get the current StatClass. More... | |
LocalObstacleMap * | GetLocalObstacleMap () const noexcept |
Get the local obstacle map. More... | |
Additional Inherited Members | |
Public Types inherited from DistanceMetricMethod | |
typedef MPBaseObject::RoadmapType | RoadmapType |
typedef RoadmapType::VID | VID |
typedef MPBaseObject::GroupCfgType | GroupCfgType |
typedef GroupCfgType::Formation | Formation |
Public Types inherited from MPBaseObject | |
typedef DefaultWeight< Cfg > | WeightType |
typedef GenericStateGraph< Cfg, WeightType > | RoadmapType |
typedef GroupCfg< RoadmapType > | GroupCfgType |
typedef GroupLocalPlan< RoadmapType > | GroupWeightType |
typedef GroupRoadmap< GroupCfgType, GroupWeightType > | GroupRoadmapType |
Protected Member Functions inherited from MPBaseObject | |
void | SetName (const std::string &_s) |
const std::string & | GetBaseFilename () const |
Protected Attributes inherited from MPBaseObject | |
bool | m_debug |
Print debug info? More... | |
Compute the L2 norm of the workspace translation between each body.
This is a reasonable approximation of swept volume for either a composite c-space or a manipulator with very constrained joint motion. Large joint motions break down the assumptions as the links may have to sweep large distances in workspace to complete the transition - in that case it is a poor approximation. It is best avoided for manipulators which make large changes in joint space.
WorkspaceTranslationDistance::WorkspaceTranslationDistance | ( | ) |
WorkspaceTranslationDistance::WorkspaceTranslationDistance | ( | XMLNode & | _node | ) |
|
virtualdefault |
Compute a distance between two configurations.
_c1 | The first configuration. |
_c2 | The second configuration. |
Implements DistanceMetricMethod.