|
|
| GroupLocalPlan (GroupRoadmapType *const _g=nullptr, const std::string &_lpLabel="", const double _w=0.0, const GroupCfgPath &_path=GroupCfgPath()) |
|
|
virtual bool | operator== (const GroupLocalPlan &_w) const noexcept |
|
virtual bool | operator!= (const GroupLocalPlan &_w) const noexcept |
|
virtual bool | operator< (const GroupLocalPlan &_other) const noexcept |
|
|
Get/set the numeric weight for this local plan as used when querying a roadmap.
|
EdgeWeight | GetWeight () const noexcept |
|
void | SetWeight (const EdgeWeight _w) noexcept |
|
|
void | SetSkipEdge () noexcept |
|
bool | SkipEdge () const noexcept |
|
void | SetActiveRobots (const std::vector< size_t > &_indices) |
|
const std::vector< size_t > & | GetActiveRobots () const noexcept |
|
void | Clear () noexcept |
| Reset the states of this object.
|
|
GroupCfgPath & | GetIntermediates () noexcept |
| Get the group configuration intermediates.
|
|
const GroupCfgPath & | GetIntermediates () const noexcept |
| Get the group configuration intermediates.
|
|
void | SetIntermediates (const GroupCfgPath &_cfgs) |
| Set the group configuration intermediates.
|
|
const std::string & | GetLPLabel () const noexcept |
| Get the string label of this current local plan.
|
|
void | SetLPLabel (const std::string _label) noexcept |
|
|
void | SetEdge (const size_t _robot, IndividualEdge &&_edge) |
|
void | SetEdge (Robot *const _robot, IndividualEdge &&_edge) |
| overload for Robot pointer
|
|
void | SetEdge (Robot *const _robot, const ED _ed) |
|
IndividualEdge * | GetEdge (Robot *const _robot) |
|
const IndividualEdge * | GetEdge (Robot *const _robot) const |
|
IndividualEdge * | GetEdge (const size_t _robotIndex) |
| Overloads for using index instead of robot pointer.
|
|
const IndividualEdge * | GetEdge (const size_t _robotIndex) const |
|
std::vector< IndividualEdge > & | GetLocalEdges () noexcept |
| Get a vector of local edges in the plan.
|
|
std::vector< ED > & | GetEdgeDescriptors () noexcept |
| Get a vector of local edges' descriptors.
|
|
void | ClearLocalEdges () noexcept |
| Clear all local edges in the plan.
|
|
size_t | GetNumRobots () const noexcept |
| Get the number of robots given in this group local plan.
|
|
|
virtual GroupLocalPlan | operator+ (const GroupLocalPlan &_other) const |
| This only adds weights, it doesn't take intermediates into account.
|
|
double | Weight () const noexcept |
| Get the weight of the plan.
|
|
template<typename CfgType>
class GroupLocalPlan< CfgType >
A local plan for multiple robots. Each robot will be executing this motion simultaneously, and the total time is the same for each robot.
- Todo:
Remove the 'active robots'. All robots are always active in a group edge. We do need to retain formation data for reconstructing edges.
Remove the 'skip edge' stuff. There is no such thing as a skipped edge: the disassembly code needs to be adjusted to only use the edges they want.
Rework so that we only need a robot group to construct this, in which case it will have all local edges. It should only get tied to a roadmap with SetGroupRoadmap after it has been added to one.