GAMS  1.4.0
PrioritizedMinTimeAreaCoverage.h
Go to the documentation of this file.
1 
54 #ifndef _GAMS_ALGORITHMS_AREA_COVERAGE_PRIORITIZED_MIN_TIME_AREA_COVERAGE_H_
55 #define _GAMS_ALGORITHMS_AREA_COVERAGE_PRIORITIZED_MIN_TIME_AREA_COVERAGE_H_
56 
58 
59 #include <string>
60 #include <set>
61 
62 #include "madara/knowledge/KnowledgeUpdateSettings.h"
64 
65 namespace gams
66 {
67  namespace algorithms
68  {
69  namespace area_coverage
70  {
76  public MinTimeAreaCoverage
77  {
78  public:
91  const std::string& search_id,
92  double e_time,
93  madara::knowledge::KnowledgeBase * knowledge = 0,
94  platforms::BasePlatform * platform = 0,
95  variables::Sensors * sensors = 0,
96  variables::Self * self = 0,
97  variables::Agents * agents = 0,
98  const std::string& algo_name = "pmtac");
99 
105 
106  protected:
108  virtual double get_utility(const utility::Position& start,
109  const utility::Position& end, std::set<utility::Position>& online);
110  }; // class PrioritizedMinTimeAreaCoverage
111 
117  : public AlgorithmFactory
118  {
119  public:
120 
136  const madara::knowledge::KnowledgeMap & args,
137  madara::knowledge::KnowledgeBase * knowledge,
138  platforms::BasePlatform * platform,
139  variables::Sensors * sensors,
140  variables::Self * self,
141  variables::Agents * agents);
142  };
143  } // namespace area_coverage
144  } // namespace algorithms
145 } // namespace gams
146 
147 #endif // _GAMS_ALGORITHMS_AREA_COVERAGE_PRIORITIZED_MIN_TIME_AREA_COVERAGE_H_
Copyright(c) 2014 Carnegie Mellon University.
#define GAMS_EXPORT
Definition: GamsExport.h:20
Copyright(c) 2014 Carnegie Mellon University.
Base class for algorithm factories that classes derived from.
The base class that algorithms in GAMS use.
Definition: BaseAlgorithm.h:95
Area coverage that minimizes the time taken for covering an area.
A factory class for creating prioritized minimum time 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 prioritized minimum time coverage algorithm.
Focuses on high priority areas over low priority, and attempts to do minimum time coverage.
PrioritizedMinTimeAreaCoverage(const std::string &search_id, double e_time, madara::knowledge::KnowledgeBase *knowledge=0, platforms::BasePlatform *platform=0, variables::Sensors *sensors=0, variables::Self *self=0, variables::Agents *agents=0, const std::string &algo_name="pmtac")
Constructor.
void operator=(const PrioritizedMinTimeAreaCoverage &rhs)
Assignment operator.
virtual double get_utility(const utility::Position &start, const utility::Position &end, std::set< utility::Position > &online)
get utility of moving from one index position to another
The base platform for all platforms to use.
Definition: BasePlatform.h:113
A position in an x, y, z coordinate system.
Definition: Position.h:78
A container for self referencing information.
Definition: Self.h:70
std::map< std::string, Sensor * > Sensors
a map of sensor names to the sensor information
Definition: Sensor.h:238
std::vector< Agent > Agents
An array of agent knowledge.
Definition: Agent.h:246
Contains all GAMS-related tools, classes and code.