Parasol Planning Library (PPL)
GroupLPOutput Struct Reference

#include <GroupLPOutput.h>

Collaboration diagram for GroupLPOutput:
Collaboration graph
[legend]

Public Types

Motion Planning Types
typedef DefaultWeight< CfgIndividualEdge
 
typedef GenericStateGraph< Cfg, IndividualEdgeRoadmapType
 
typedef GroupCfg< RoadmapTypeGroupCfgType
 
typedef GroupLocalPlan< RoadmapTypeGroupWeightType
 
typedef GroupRoadmap< GroupCfgType, GroupWeightTypeGroupRoadmapType
 
typedef std::vector< GroupCfgTypeGroupCfgPath
 
Local Types
typedef std::pair< GroupWeightType, GroupWeightTypeLPEdge
 

Public Member Functions

Construction
 GroupLPOutput (GroupRoadmapType *const _map=nullptr, GroupCfgPath _path=GroupCfgPath(), GroupCfgPath _intermediates=GroupCfgPath())
 
 GroupLPOutput (GroupRoadmapType *const _map, const GroupWeightType &_edge)
 
Interface
void Clear ()
 
void SetLPLabel (const std::string &_label)
 
void AddIntermediatesToWeights (const bool _saveIntermediates)
 
void SetFormation (const std::vector< size_t > &_formation)
 
void SetIndividualEdges (const std::vector< size_t > &_formation)
 
std::vector< size_t > GetFormation ()
 
void SetEdgeWeights (const double _weight)
 

Data Fields

Internal State
GroupRoadmapTypem_groupRoadmap {nullptr}
 
GroupCfgPath m_path
 
GroupCfgPath m_intermediates
 
LPEdge m_edge
 

Detailed Description

Computed information from a local plan.

Stores all information available from local plan computations, including intermediates along edges (not straight line), the path generated, and the edge weights to be added to the RoadmapGraph.

Todo:
Destroy this object and have LPs/Extenders work directly with a GroupLocalPlan.

Member Typedef Documentation

◆ GroupCfgPath

◆ GroupCfgType

◆ GroupRoadmapType

◆ GroupWeightType

◆ IndividualEdge

◆ LPEdge

◆ RoadmapType

Constructor & Destructor Documentation

◆ GroupLPOutput() [1/2]

GroupLPOutput::GroupLPOutput ( GroupRoadmapType *const  _map = nullptr,
GroupCfgPath  _path = GroupCfgPath(),
GroupCfgPath  _intermediates = GroupCfgPath() 
)

◆ GroupLPOutput() [2/2]

GroupLPOutput::GroupLPOutput ( GroupRoadmapType *const  _map,
const GroupWeightType _edge 
)

Member Function Documentation

◆ AddIntermediatesToWeights()

void GroupLPOutput::AddIntermediatesToWeights ( const bool  _saveIntermediates)

◆ Clear()

void GroupLPOutput::Clear ( )

◆ GetFormation()

std::vector<size_t> GroupLPOutput::GetFormation ( )
inline

◆ SetEdgeWeights()

void GroupLPOutput::SetEdgeWeights ( const double  _weight)

◆ SetFormation()

void GroupLPOutput::SetFormation ( const std::vector< size_t > &  _formation)

◆ SetIndividualEdges()

void GroupLPOutput::SetIndividualEdges ( const std::vector< size_t > &  _formation)
Todo:
We need to preserve the intermediates.
Todo:
This is not a correct edge for each individual robot - they will not all have the same weight. This needs to be tracked separately.

◆ SetLPLabel()

void GroupLPOutput::SetLPLabel ( const std::string &  _label)

Field Documentation

◆ m_edge

LPEdge GroupLPOutput::m_edge

◆ m_groupRoadmap

GroupRoadmapType* GroupLPOutput::m_groupRoadmap {nullptr}

◆ m_intermediates

GroupCfgPath GroupLPOutput::m_intermediates

◆ m_path

GroupCfgPath GroupLPOutput::m_path

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