54 #ifndef _GAMS_ALGORITHMS_AREA_COVERAGE_BASE_AREA_COVERAGE_H_
55 #define _GAMS_ALGORITHMS_AREA_COVERAGE_BASE_AREA_COVERAGE_H_
61 #include "madara/utility/Utility.h"
62 #include "madara/utility/EpochEnforcer.h"
68 namespace area_coverage
86 madara::knowledge::KnowledgeBase * knowledge = 0,
91 double e_time = -1.0);
149 madara::utility::EpochEnforcer<std::chrono::steady_clock>
enforcer_;
Copyright(c) 2014 Carnegie Mellon University.
Copyright (c) 2014 Carnegie Mellon University.
The base class that algorithms in GAMS use.
Base class for all area coverages.
virtual ~BaseAreaCoverage()
Destructor.
double max_time_
for keeping track of the time set for maximum coverage time
int check_if_finished(int ret_val) const
Check if finished based on time.
virtual void generate_new_position(void)=0
Generate new next position.
virtual int execute(void)
Plans the next execution of the algorithm.
void operator=(const BaseAreaCoverage &rhs)
Assignment operator.
BaseAreaCoverage(madara::knowledge::KnowledgeBase *knowledge=0, platforms::BasePlatform *platform=0, variables::Sensors *sensors=0, variables::Self *self=0, variables::Agents *agents=0, double e_time=-1.0)
Constructor.
utility::GPSPosition get_next_position(void) const
Get next position.
virtual int plan(void)
Plans the next execution of the algorithm.
virtual int analyze(void)
Analyzes environment, platform, or other information.
utility::GPSPosition next_position_
next position
madara::utility::EpochEnforcer< std::chrono::steady_clock > enforcer_
enforcer for maximum time
bool initialized_
indicates whether the algorithm is initialized
A position in the global positioning system reference frame.
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.