GAMS  1.4.0
gams::algorithms::area_coverage::SnakeAreaCoverage Class Reference

Implements a serpentine pattern-based area coverage that is minimum time but easy to predict(adversarially) More...

#include <SnakeAreaCoverage.h>

Inheritance diagram for gams::algorithms::area_coverage::SnakeAreaCoverage:
gams::algorithms::area_coverage::BaseAreaCoverage gams::algorithms::BaseAlgorithm

Public Member Functions

 SnakeAreaCoverage (const std::string &region_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)
 Constructor. More...
 
 ~SnakeAreaCoverage ()
 Destructor. More...
 
virtual int analyze (void)
 Analyzes environment, platform, or other information. More...
 
virtual int execute (void)
 Plans the next execution of the algorithm. More...
 
variables::Agentsget_agents (void)
 Gets the list of agents. More...
 
variables::AlgorithmStatusget_algorithm_status (void)
 Gets algorithm status variables. More...
 
madara::knowledge::KnowledgeBase * get_knowledge_base (void)
 Gets the knowledge base. More...
 
utility::GPSPosition get_next_position (void) const
 Get next position. More...
 
platforms::BasePlatformget_platform (void)
 Gets the platform. More...
 
variables::Selfget_self (void)
 Gets self-defined variables. More...
 
variables::Sensorsget_sensors (void)
 Gets the available sensor information. More...
 
void operator= (const SnakeAreaCoverage &rhs)
 Assignment operator. More...
 
virtual int plan (void)
 Plans the next execution of the algorithm. More...
 
virtual void set_agents (variables::Agents *agents)
 Sets the list of agents in the swarm. More...
 
virtual void set_platform (platforms::BasePlatform *platform)
 Sets the platform. More...
 
virtual void set_self (variables::Self *self)
 Sets the map of sensor names to sensor information. More...
 
virtual void set_sensors (variables::Sensors *sensors)
 Sets the map of sensor names to sensor information. More...
 

Protected Member Functions

int check_if_finished (int ret_val) const
 Check if finished based on time. More...
 
void compute_waypoints (const std::string &region_id)
 Compute waypoints. More...
 
void generate_new_position (void)
 Generate new next position. More...
 

Protected Attributes

variables::Agentsagents_
 the list of agents potentially participating in the algorithm More...
 
unsigned int cur_waypoint_
 current waypoint More...
 
madara::utility::EpochEnforcer< std::chrono::steady_clock > enforcer_
 enforcer for maximum time More...
 
unsigned int executions_
 number of executions More...
 
bool initialized_
 indicates whether the algorithm is initialized More...
 
madara::knowledge::KnowledgeBase * knowledge_
 provides access to the knowledge base More...
 
double max_time_
 for keeping track of the time set for maximum coverage time More...
 
utility::GPSPosition next_position_
 next position More...
 
platforms::BasePlatformplatform_
 provides access to the platform More...
 
std::string region_id_
 the region description More...
 
variables::Selfself_
 the algorithm's concept of self More...
 
variables::Sensorssensors_
 provides access to sensor information More...
 
variables::AlgorithmStatus status_
 provides access to status information for this platform More...
 
std::vector< utility::GPSPositionwaypoints_
 waypoints More...
 

Detailed Description

Implements a serpentine pattern-based area coverage that is minimum time but easy to predict(adversarially)

Definition at line 78 of file SnakeAreaCoverage.h.

Constructor & Destructor Documentation

◆ SnakeAreaCoverage()

gams::algorithms::area_coverage::SnakeAreaCoverage::SnakeAreaCoverage ( const std::string &  region_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 
)

Constructor.

Parameters
region_idid of region to be covered
e_timetime to execute algorithm
knowledgethe context containing variables and values
platformthe underlying platform the algorithm will use
sensorsmap of sensor names to sensor information
selfself-referencing variables
agentsvariables referencing agents

◆ ~SnakeAreaCoverage()

gams::algorithms::area_coverage::SnakeAreaCoverage::~SnakeAreaCoverage ( )

Destructor.

Member Function Documentation

◆ analyze()

virtual int gams::algorithms::area_coverage::BaseAreaCoverage::analyze ( void  )
virtualinherited

Analyzes environment, platform, or other information.

Returns
bitmask status of the platform.
See also
Status.

Implements gams::algorithms::BaseAlgorithm.

Reimplemented in gams::algorithms::area_coverage::WaypointsCoverage, and gams::algorithms::area_coverage::MinTimeAreaCoverage.

◆ check_if_finished()

int gams::algorithms::area_coverage::BaseAreaCoverage::check_if_finished ( int  ret_val) const
protectedinherited

Check if finished based on time.

◆ compute_waypoints()

void gams::algorithms::area_coverage::SnakeAreaCoverage::compute_waypoints ( const std::string &  region_id)
protected

Compute waypoints.

◆ execute()

virtual int gams::algorithms::area_coverage::BaseAreaCoverage::execute ( void  )
virtualinherited

Plans the next execution of the algorithm.

Returns
bitmask status of the platform.
See also
Status.

Implements gams::algorithms::BaseAlgorithm.

◆ generate_new_position()

void gams::algorithms::area_coverage::SnakeAreaCoverage::generate_new_position ( void  )
protectedvirtual

Generate new next position.

Implements gams::algorithms::area_coverage::BaseAreaCoverage.

◆ get_agents()

variables::Agents* gams::algorithms::BaseAlgorithm::get_agents ( void  )
inherited

Gets the list of agents.

◆ get_algorithm_status()

variables::AlgorithmStatus* gams::algorithms::BaseAlgorithm::get_algorithm_status ( void  )
inherited

Gets algorithm status variables.

◆ get_knowledge_base()

madara::knowledge::KnowledgeBase* gams::algorithms::BaseAlgorithm::get_knowledge_base ( void  )
inherited

Gets the knowledge base.

◆ get_next_position()

utility::GPSPosition gams::algorithms::area_coverage::BaseAreaCoverage::get_next_position ( void  ) const
inherited

Get next position.

Returns
next_position_ member

◆ get_platform()

platforms::BasePlatform* gams::algorithms::BaseAlgorithm::get_platform ( void  )
inherited

Gets the platform.

◆ get_self()

variables::Self* gams::algorithms::BaseAlgorithm::get_self ( void  )
inherited

Gets self-defined variables.

◆ get_sensors()

variables::Sensors* gams::algorithms::BaseAlgorithm::get_sensors ( void  )
inherited

Gets the available sensor information.

◆ operator=()

void gams::algorithms::area_coverage::SnakeAreaCoverage::operator= ( const SnakeAreaCoverage rhs)

Assignment operator.

Parameters
rhsvalues to copy

◆ plan()

virtual int gams::algorithms::area_coverage::BaseAreaCoverage::plan ( void  )
virtualinherited

Plans the next execution of the algorithm.

Returns
bitmask status of the platform.
See also
Status.

Implements gams::algorithms::BaseAlgorithm.

◆ set_agents()

virtual void gams::algorithms::BaseAlgorithm::set_agents ( variables::Agents agents)
virtualinherited

Sets the list of agents in the swarm.

Parameters
agentslist of agents

◆ set_platform()

virtual void gams::algorithms::BaseAlgorithm::set_platform ( platforms::BasePlatform platform)
virtualinherited

Sets the platform.

Parameters
platformthe underlying platform the algorithm will use

◆ set_self()

virtual void gams::algorithms::BaseAlgorithm::set_self ( variables::Self self)
virtualinherited

Sets the map of sensor names to sensor information.

Parameters
selfpointer to self-referencing variables container

◆ set_sensors()

virtual void gams::algorithms::BaseAlgorithm::set_sensors ( variables::Sensors sensors)
virtualinherited

Sets the map of sensor names to sensor information.

Parameters
sensorsmap of sensor names to sensor information

Member Data Documentation

◆ agents_

variables::Agents* gams::algorithms::BaseAlgorithm::agents_
protectedinherited

the list of agents potentially participating in the algorithm

Definition at line 201 of file BaseAlgorithm.h.

◆ cur_waypoint_

unsigned int gams::algorithms::area_coverage::SnakeAreaCoverage::cur_waypoint_
protected

current waypoint

Definition at line 126 of file SnakeAreaCoverage.h.

◆ enforcer_

madara::utility::EpochEnforcer<std::chrono::steady_clock> gams::algorithms::area_coverage::BaseAreaCoverage::enforcer_
protectedinherited

enforcer for maximum time

Definition at line 149 of file BaseAreaCoverage.h.

◆ executions_

unsigned int gams::algorithms::BaseAlgorithm::executions_
protectedinherited

number of executions

Definition at line 204 of file BaseAlgorithm.h.

◆ initialized_

bool gams::algorithms::area_coverage::BaseAreaCoverage::initialized_
protectedinherited

indicates whether the algorithm is initialized

Definition at line 143 of file BaseAreaCoverage.h.

◆ knowledge_

madara::knowledge::KnowledgeBase* gams::algorithms::BaseAlgorithm::knowledge_
protectedinherited

provides access to the knowledge base

Definition at line 207 of file BaseAlgorithm.h.

◆ max_time_

double gams::algorithms::area_coverage::BaseAreaCoverage::max_time_
protectedinherited

for keeping track of the time set for maximum coverage time

Definition at line 146 of file BaseAreaCoverage.h.

◆ next_position_

utility::GPSPosition gams::algorithms::area_coverage::BaseAreaCoverage::next_position_
protectedinherited

next position

Definition at line 140 of file BaseAreaCoverage.h.

◆ platform_

platforms::BasePlatform* gams::algorithms::BaseAlgorithm::platform_
protectedinherited

provides access to the platform

Definition at line 210 of file BaseAlgorithm.h.

◆ region_id_

std::string gams::algorithms::area_coverage::SnakeAreaCoverage::region_id_
protected

the region description

Definition at line 129 of file SnakeAreaCoverage.h.

◆ self_

variables::Self* gams::algorithms::BaseAlgorithm::self_
protectedinherited

the algorithm's concept of self

Definition at line 213 of file BaseAlgorithm.h.

◆ sensors_

variables::Sensors* gams::algorithms::BaseAlgorithm::sensors_
protectedinherited

provides access to sensor information

Definition at line 216 of file BaseAlgorithm.h.

◆ status_

variables::AlgorithmStatus gams::algorithms::BaseAlgorithm::status_
protectedinherited

provides access to status information for this platform

Definition at line 219 of file BaseAlgorithm.h.

◆ waypoints_

std::vector<utility::GPSPosition> gams::algorithms::area_coverage::SnakeAreaCoverage::waypoints_
protected

waypoints

Definition at line 123 of file SnakeAreaCoverage.h.


The documentation for this class was generated from the following file: