54 #ifndef _GAMS_ALGORITHMS_GROUP_BARRIER_H_
55 #define _GAMS_ALGORITHMS_GROUP_BARRIER_H_
67 #include "madara/knowledge/containers/Integer.h"
68 #include "madara/knowledge/containers/Barrier.h"
69 #include "madara/utility/EpochEnforcer.h"
93 const std::vector<std::string> & members,
94 std::string barrier_name,
96 madara::knowledge::KnowledgeBase * knowledge = 0,
138 std::vector <std::string> & member_list);
150 madara::utility::EpochEnforcer<std::chrono::steady_clock>
enforcer_;
181 const madara::knowledge::KnowledgeMap & args,
182 madara::knowledge::KnowledgeBase * knowledge,
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
Copyright (c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
Base class for algorithm factories that classes derived from.
The base class that algorithms in GAMS use.
A factory class for creating Formation Coverage algorithms.
virtual BaseAlgorithm * create(const madara::knowledge::KnowledgeMap &args, madara::knowledge::KnowledgeBase *knowledge, platforms::BasePlatform *platform, variables::Sensors *sensors, variables::Self *self, variables::Agents *agents)
Creates a Formation Coverage Algorithm.
An algorithm for covering an area in formation with a synchronous model of computation.
std::vector< std::string > members_
members of the formation(e.g., agent.0, agent.1, etc.)
int get_position_in_member_list(std::string id, std::vector< std::string > &member_list)
Gets the position of the id in the member list.
void operator=(const GroupBarrier &rhs)
Assignment operator.
int position_
position in member assignment
~GroupBarrier()
Destructor.
GroupBarrier(const std::vector< std::string > &members, std::string barrier_name, double interval, madara::knowledge::KnowledgeBase *knowledge=0, platforms::BasePlatform *platform=0, variables::Sensors *sensors=0, variables::Self *self=0)
Constructor.
virtual int analyze(void)
Analyzes environment, platform, or other information.
madara::utility::EpochEnforcer< std::chrono::steady_clock > enforcer_
enforcer of barrier times
virtual int plan(void)
Plans the next execution of the algorithm.
virtual int execute(void)
Plans the next execution of the algorithm.
madara::knowledge::containers::Barrier barrier_
movement barrier
A container for self referencing information.
std::map< std::string, Sensor * > Sensors
a map of sensor names to the sensor information
std::vector< Agent > Agents
An array of agent knowledge.
Contains all GAMS-related tools, classes and code.