59 #ifndef _GAMS_ALGORITHMS_AREA_COVERAGE_MIN_TIME_AREA_COVERAGE_H_
60 #define _GAMS_ALGORITHMS_AREA_COVERAGE_MIN_TIME_AREA_COVERAGE_H_
68 #include "madara/knowledge/KnowledgeUpdateSettings.h"
79 namespace area_coverage
99 const std::string& search_id,
double e_time,
100 madara::knowledge::KnowledgeBase * knowledge = 0,
103 const std::string& algo_name =
"mtac");
170 const madara::knowledge::KnowledgeMap & args,
171 madara::knowledge::KnowledgeBase * knowledge,
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.
Base class for all area coverages.
A factory class for creating minimum time area 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 minimum time area coverage Algorithm.
Area coverage that minimizes the time taken for covering an area.
unsigned int last_generation_
time step of last position generation
virtual int analyze(void)
Increment sensor values.
std::map< utility::Position, double > position_value_map_
positions we will be passing through and their previous values
void operator=(const MinTimeAreaCoverage &rhs)
Assignment operator.
virtual void review_last_move()
review if last move was good, did we hit all cells we said we would
virtual double get_utility(const utility::Position &start, const utility::Position &end, std::set< utility::Position > &online)
A better way to manage this would probably be to take a function pointer to handle utility calculatio...
MinTimeAreaCoverage(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="mtac")
Constructor.
std::set< utility::Position > valid_positions_
discretized positions in search area
pose::SearchArea search_area_
Search Area to cover.
variables::Sensor min_time_
time since last coverage
virtual void generate_new_position(void)
generate new next position
A utility class for search areas.
A position in an x, y, z coordinate system.
A container for self referencing information.
A container for sensor 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.