PPL API Reference
Overview Core Algorithm Abstractions Utilities Parallel Methods
Modules Class Hierarchy Classes Functions
Todo List Bug List Dead Code
List of all members | Public Member Functions
PathType< MPTraits > Class Template Referencefinal

Public Member Functions

template<typename MPLibrary >
const std::vector< typename MPTraits::CfgType > FullCfgs (MPLibrary *const _lib) const
 
template<typename MPLibrary >
const std::vector< typename MPTraits::CfgType > FullCfgsWithWait (MPLibrary *const _lib) const
 
Construction
 PathType (RoadmapType *const _r=nullptr)
 
Path Interface
RobotGetRobot () const noexcept
 Get the robot which travels this path.
 
RoadmapTypeGetRoadmap () const noexcept
 Get the roadmap used by this path.
 
size_t Size () const noexcept
 Get the number of cfgs in the path.
 
bool Empty () const noexcept
 Check if the path is empty.
 
double Length () const
 Get the total edge weight.
 
const std::vector< VID > & VIDs () const noexcept
 Get the VIDs in the path.
 
const std::pair< std::vector< VID >, std::vector< size_t > > VIDsWaiting () const noexcept
 Get the VIDs and timesteps waiting in the path.
 
const std::vector< CfgType > & Cfgs () const
 
template<typename MPLibrary >
const std::vector< CfgType > FullCfgs (MPLibrary *const _lib) const
 
template<typename MPLibrary >
const std::vector< CfgType > FullCfgsWithWait (MPLibrary *const _lib) const
 
size_t TimeSteps () const
 
PathTypeoperator+= (const PathType &_p)
 
PathType operator+ (const PathType &_p) const
 
PathTypeoperator+= (const std::vector< VID > &_vids)
 
PathType operator+ (const std::vector< VID > &_vids) const
 
PathTypeoperator= (const PathType &_p)
 Copy assignment operator.
 
void Clear ()
 Clear all data in the path.
 
void FlushCache ()
 Clear cached data, but leave the VIDs.
 
void SetFinalWaitTimeSteps (const size_t &_timeSteps)
 
const size_t GetFinalWaitTimeSteps () const
 Get the number of timesteps to wait after traversal of the path.
 
void SetWaitTimes (std::vector< size_t > _waitTimes)
 
std::vector< size_t > GetWaitTimes ()
 

Public Types

Motion Planning Types
typedef MPTraits::CfgType CfgType
 
typedef MPTraits::RoadmapType RoadmapType
 
typedef RoadmapType::VID VID
 

Detailed Description

template<typename MPTraits>
class PathType< MPTraits >

A path of connected configurations from a given roadmap.

The implementation uses a vector of VID's as the primary representation. The corresponding configurations are computed lazily upon request.

Constructor & Destructor Documentation

◆ PathType()

template<typename MPTraits >
PathType< MPTraits >::PathType ( RoadmapType *const  _r = nullptr)

Construct an empty path.

Parameters
_rThe roadmap used by this path.

Member Function Documentation

◆ Cfgs()

template<typename MPTraits >
const std::vector< typename MPTraits::CfgType > & PathType< MPTraits >::Cfgs

Get a copy of the Cfgs in the path.

Warning
If the cfgs in the roadmap are later altered (i.e., if the DOF values or labels are edited), this copy will be out-of-date.

◆ FullCfgs()

template<typename MPTraits >
template<typename MPLibrary >
const std::vector< CfgType > PathType< MPTraits >::FullCfgs ( MPLibrary *const  _lib) const

Get the current full Cfg path with steps spaced one environment resolution apart. This is not cached due to its size and infrequent usage.

Parameters
_libThe planning library to use.
Returns
The full path of configurations, including local-plan intermediates between the roadmap nodes.

◆ FullCfgsWithWait()

template<typename MPTraits >
template<typename MPLibrary >
const std::vector< CfgType > PathType< MPTraits >::FullCfgsWithWait ( MPLibrary *const  _lib) const

Get the current full Cfg path with wait times. Steps are spaced one environment resolution apart. This is not cached due to its size and infrequent usage.

Parameters
_libThe planning library to use.
Returns
The full path of configurations, including local-plan intermediates between the roadmap nodes and waiting.

◆ TimeSteps()

template<typename MPTraits >
size_t PathType< MPTraits >::TimeSteps

Get the number of timesteps calculated to traverse the path, including waiting times.

◆ operator+=() [1/2]

template<typename MPTraits >
PathType< MPTraits > & PathType< MPTraits >::operator+= ( const PathType< MPTraits > &  _p)

Append another path to the end of this one.

Parameters
_pThe path to append.

◆ operator+() [1/2]

template<typename MPTraits >
PathType< MPTraits > PathType< MPTraits >::operator+ ( const PathType< MPTraits > &  _p) const

Add another path to the end of this one and return the result.

Parameters
_pThe path to add.

◆ operator+=() [2/2]

template<typename MPTraits >
PathType< MPTraits > & PathType< MPTraits >::operator+= ( const std::vector< VID > &  _vids)

Append a new set of VIDs to the end of this path.

Parameters
_vidsThe VIDs to append.

◆ operator+() [2/2]

template<typename MPTraits >
PathType< MPTraits > PathType< MPTraits >::operator+ ( const std::vector< VID > &  _vids) const

Add a new set of VIDs to the end of this path and return the result.

Parameters
_vidsThe VIDs to add.

◆ SetFinalWaitTimeSteps()

template<typename MPTraits >
void PathType< MPTraits >::SetFinalWaitTimeSteps ( const size_t &  _timeSteps)

Set the number of timesteps to wait after traversal of the path.

Parameters
_timeStepsThe number of desired timesteps.

◆ SetWaitTimes()

template<typename MPTraits >
void PathType< MPTraits >::SetWaitTimes ( std::vector< size_t >  _waitTimes)

Set the wait times at each vertex in path Used in Safe Interval Path Planning


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