Parasol Planning Library (PPL)
BasicPRM.h
Go to the documentation of this file.
1 #ifndef PMPL_BASIC_PRM_H_
2 #define PMPL_BASIC_PRM_H_
3 
4 #include "MPStrategyMethod.h"
5 
7 #include "Utilities/XMLNode.h"
8 
9 
20 class BasicPRM : public MPStrategyMethod {
21 
22  public:
23 
26 
28  typedef typename RoadmapType::VID VID;
29 
33 
35  struct SamplerSetting {
36  std::string label;
37  size_t count;
38  size_t attempts;
39  };
40 
44 
45  BasicPRM();
46 
47  BasicPRM(XMLNode& _node);
48 
49  virtual ~BasicPRM() = default;
50 
54 
55  virtual void Print(std::ostream& _os) const override;
56 
58 
59  protected:
60 
63 
64  virtual void Initialize() override;
65  virtual void Iterate() override;
66 
70 
73  std::vector<VID> Sample();
74 
77  void Connect(const std::vector<VID>& _vids);
78 
82 
84  std::vector<SamplerSetting> m_samplers;
86  std::vector<std::string> m_connectorLabels;
87 
88  std::string m_inputMapFilename;
89 
95 
96  bool m_fixBase{false};
98  std::unique_ptr<Boundary> m_samplingBoundary;
99 
101 
102 };
103 
104 #endif
Definition: BasicPRM.h:20
std::vector< std::string > m_connectorLabels
Connector labels for node-to-node.
Definition: BasicPRM.h:86
virtual ~BasicPRM()=default
void Connect(const std::vector< VID > &_vids)
Definition: BasicPRM.cpp:181
virtual void Print(std::ostream &_os) const override
Definition: BasicPRM.cpp:49
std::vector< SamplerSetting > m_samplers
Sampler labels with number and attempts of sampler.
Definition: BasicPRM.h:84
std::string m_inputMapFilename
Input roadmap to initialize map.
Definition: BasicPRM.h:88
BasicPRM()
Definition: BasicPRM.cpp:13
MPBaseObject::RoadmapType RoadmapType
Definition: BasicPRM.h:27
virtual void Initialize() override
Definition: BasicPRM.cpp:69
virtual void Iterate() override
Execute one iteration of the strategy.
Definition: BasicPRM.cpp:129
bool m_fixBase
Definition: BasicPRM.h:96
std::vector< VID > Sample()
Definition: BasicPRM.cpp:142
std::unique_ptr< Boundary > m_samplingBoundary
An optional sampling boundary for fixing the base.
Definition: BasicPRM.h:98
RoadmapType::VID VID
Definition: BasicPRM.h:28
Definition: GenericStateGraph.h:67
STAPLGraph::vertex_descriptor VID
Definition: GenericStateGraph.h:83
Definition: MPStrategyMethod.h:33
Definition: XMLNode.h:27
Settings for a specific sampler.
Definition: BasicPRM.h:35
size_t count
Definition: BasicPRM.h:37
std::string label
Definition: BasicPRM.h:36
size_t attempts
Definition: BasicPRM.h:38