Parasol Planning Library (PPL)
SkeletonClearanceUtility Class Referencefinal

#include <SkeletonClearanceUtility.h>

Inheritance diagram for SkeletonClearanceUtility:
Inheritance graph
[legend]
Collaboration diagram for SkeletonClearanceUtility:
Collaboration graph
[legend]

Public Member Functions

Construction
 SkeletonClearanceUtility ()
 
 SkeletonClearanceUtility (XMLNode &_node)
 
virtual ~SkeletonClearanceUtility ()=default
 
Skeleton Fix
void operator() (WorkspaceSkeleton &_skeleton) const
 
void HackFix (WorkspaceSkeleton &_skeleton) const
 
- 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...
 
MPLibraryGetMPLibrary () const noexcept
 Get the owning MPLibrary. More...
 
bool IsRunning () const noexcept
 Check the library's running flag. More...
 
MPProblemGetMPProblem () const noexcept
 Get the library's current MPProblem. More...
 
EnvironmentGetEnvironment () const noexcept
 Get the current environment. More...
 
MPTaskGetTask () const noexcept
 Get the current task. More...
 
GroupTaskGetGroupTask () const noexcept
 Get the current group task. More...
 
MPSolutionTypeGetMPSolution () const noexcept
 
RoadmapTypeGetRoadmap (Robot *const _r=nullptr) const noexcept
 Get the current free-space roadmap. More...
 
GroupRoadmapTypeGetGroupRoadmap (RobotGroup *const _g=nullptr) const noexcept
 Get the current free-space group roadmap. More...
 
RoadmapTypeGetBlockRoadmap (Robot *const _r=nullptr) const noexcept
 Get the current obstacle-space roadmap. More...
 
PathGetPath (Robot *const _r=nullptr) const noexcept
 
GroupPathGetGroupPath (RobotGroup *const _g=nullptr) const noexcept
 Get the current best group path. More...
 
StatClassGetStatClass () const noexcept
 Get the current StatClass. More...
 
LocalObstacleMapGetLocalObstacleMap () const noexcept
 Get the local obstacle map. More...
 

Additional Inherited Members

- Public Types inherited from MPBaseObject
typedef DefaultWeight< CfgWeightType
 
typedef GenericStateGraph< Cfg, WeightTypeRoadmapType
 
typedef GroupCfg< RoadmapTypeGroupCfgType
 
typedef GroupLocalPlan< RoadmapTypeGroupWeightType
 
typedef GroupRoadmap< GroupCfgType, GroupWeightTypeGroupRoadmapType
 
- 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...
 

Detailed Description

A utility for algorithms that improve the obstacle clearance of a workspace skeleton.

Constructor & Destructor Documentation

◆ SkeletonClearanceUtility() [1/2]

SkeletonClearanceUtility::SkeletonClearanceUtility ( )

◆ SkeletonClearanceUtility() [2/2]

SkeletonClearanceUtility::SkeletonClearanceUtility ( XMLNode _node)

◆ ~SkeletonClearanceUtility()

virtual SkeletonClearanceUtility::~SkeletonClearanceUtility ( )
virtualdefault

Member Function Documentation

◆ HackFix()

void SkeletonClearanceUtility::HackFix ( WorkspaceSkeleton _skeleton) const

Fix the skeleton clearance by attempting to push vertices and edge points away from nearby obstacles.

Note
This is a hacky way to fix clearance that we used in the WAFR'16 paper Dynamic Region RRT. A medial axis push is the preferred way to do this - this version is retained for reference and reproduction of prior work only. It should not be used in new methods.
Parameters
_skeletonThe skeleton to adjust.

◆ operator()()

void SkeletonClearanceUtility::operator() ( WorkspaceSkeleton _skeleton) const

Fix the skeleton clearance by pushing vertices and edge points to the medial axis.

Parameters
_skeletonThe skeleton to adjust.

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