Parasol Planning Library (PPL)
GoalMap< Roadmap, Task > Class Template Reference

#include <GoalTracker.h>

Public Types

Roadmap Types
typedef Roadmap::VI VI
 
typedef Roadmap::VID VID
 
Local Types
typedef std::unordered_set< VIDVIDSet
 

Public Member Functions

Construction
 GoalMap (Roadmap *const _r, const Task *const _t)
 
 ~GoalMap ()
 
Interface
const VIDSetGetStartVIDs () const noexcept
 
const VIDSetGetGoalVIDs (const size_t _index) const noexcept
 
size_t UnreachedGoalCount () const noexcept
 Check the number of unreached goals. More...
 
std::vector< size_t > UnreachedGoalIndexes () const noexcept
 
Hooks

Note that you must install the hooks after the object has settled in its final location in memory, or the this pointer will be corrupted and general mayhem will ensue.

void InstallHooks () noexcept
 Install hooks in the roadmap for mapping new configurations. More...
 
void RemoveHooks () noexcept
 Remove hooks from the roadmap. More...
 

Detailed Description

template<typename Roadmap, typename Task>
class GoalMap< Roadmap, Task >

Tracks the set of roadmap configurations which satisfy a task's constraints. Works for both individual and group roadmaps.

Note that this object should NOT live in the MPSolution because the solution is not tied to a particular task. However it does represent part of the solution, so perhaps we will refactor the MPSolution to contain a roadmap and set of task solutions (with goal tracker and path) for each robot.

Member Typedef Documentation

◆ VI

template<typename Roadmap , typename Task >
typedef Roadmap::VI GoalMap< Roadmap, Task >::VI

◆ VID

template<typename Roadmap , typename Task >
typedef Roadmap::VID GoalMap< Roadmap, Task >::VID

◆ VIDSet

template<typename Roadmap , typename Task >
typedef std::unordered_set<VID> GoalMap< Roadmap, Task >::VIDSet

Constructor & Destructor Documentation

◆ GoalMap()

template<typename Roadmap , typename Task >
GoalMap< Roadmap, Task >::GoalMap ( Roadmap *const  _r,
const Task *const  _t 
)

Construct a goal map for a roadmap/task pair.

Parameters
_rThe roadmap to track.
_tThe task defining start/goal conditions.

◆ ~GoalMap()

template<typename Roadmap , typename Task >
GoalMap< Roadmap, Task >::~GoalMap

Member Function Documentation

◆ GetGoalVIDs()

template<typename Roadmap , typename Task >
const GoalMap< Roadmap, Task >::VIDSet & GoalMap< Roadmap, Task >::GetGoalVIDs ( const size_t  _index) const
noexcept

Find the VIDs which satisfy a particular goal constraint.

Parameters
_indexThe goal constraint index.
Returns
The set of VIDs which satisfy goal constraint _index.

◆ GetStartVIDs()

template<typename Roadmap , typename Task >
const GoalMap< Roadmap, Task >::VIDSet & GoalMap< Roadmap, Task >::GetStartVIDs
noexcept

Find the VIDs which satisfy the start constraint.

Returns
The set of VIDs which satisfy the start constraint.

◆ InstallHooks()

template<typename Roadmap , typename Task >
void GoalMap< Roadmap, Task >::InstallHooks
noexcept

Install hooks in the roadmap for mapping new configurations.

◆ RemoveHooks()

template<typename Roadmap , typename Task >
void GoalMap< Roadmap, Task >::RemoveHooks
noexcept

Remove hooks from the roadmap.

◆ UnreachedGoalCount()

template<typename Roadmap , typename Task >
size_t GoalMap< Roadmap, Task >::UnreachedGoalCount
noexcept

Check the number of unreached goals.

◆ UnreachedGoalIndexes()

template<typename Roadmap , typename Task >
std::vector< size_t > GoalMap< Roadmap, Task >::UnreachedGoalIndexes
noexcept

Get the indexes of the goal constraints which have not yet been satisfied.


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