56 #ifndef _GAMS_ALGORITHMS_PERIMETER_PATROL_H_
57 #define _GAMS_ALGORITHMS_PERIMETER_PATROL_H_
67 #include "madara/utility/EpochEnforcer.h"
93 const std::string & area,
96 madara::knowledge::KnowledgeBase * knowledge = 0,
157 madara::utility::EpochEnforcer<std::chrono::steady_clock>
enforcer_;
184 const madara::knowledge::KnowledgeMap & args,
185 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.
Base class for algorithm factories that classes derived from.
The base class that algorithms in GAMS use.
A factory class for creating PerimeterPatrol 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 PerimeterPatrol Algorithm.
An algorithm for patrolling a region.
size_t move_index_
current location to move to
void generate_locations(void)
Generates locations from region information.
bool counter_
patrol counter clockwise
virtual int analyze(void)
Analyzes environment, platform, or other information.
PerimeterPatrol(const std::string &area, double max_time, bool counter, madara::knowledge::KnowledgeBase *knowledge=0, platforms::BasePlatform *platform=0, variables::Sensors *sensors=0, variables::Self *self=0, variables::Agents *agents=0)
Constructor.
void operator=(const PerimeterPatrol &rhs)
Assignment operator.
double max_time_
the amount of time to spend patrolling in seconds
madara::utility::EpochEnforcer< std::chrono::steady_clock > enforcer_
max run time enforcer
~PerimeterPatrol()
Destructor.
std::vector< pose::Position > locations_
the locations to visit
std::string area_
the region/area to patrol
bool initialized_
indicates whether or not generate_locations has been succeeded
virtual int execute(void)
Plans the next execution of the algorithm.
virtual int plan(void)
Plans the next execution of the algorithm.
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.
Copyright(c) 2014 Carnegie Mellon University.