54 #ifndef _GAMS_VARIABLES_DEVICES_H_
55 #define _GAMS_VARIABLES_DEVICES_H_
62 #include "madara/knowledge/containers/Integer.h"
63 #include "madara/knowledge/containers/Double.h"
64 #include "madara/knowledge/containers/String.h"
65 #include "madara/knowledge/containers/NativeDoubleVector.h"
66 #include "madara/knowledge/containers/Vector.h"
67 #include "madara/knowledge/containers/Map.h"
68 #include "madara/knowledge/KnowledgeBase.h"
103 void init_vars(madara::knowledge::KnowledgeBase & knowledge,
104 const std::string & prefix);
111 void init_vars(madara::knowledge::KnowledgeBase & knowledge,
112 const madara::knowledge::KnowledgeRecord::Integer&
id);
119 void init_vars(madara::knowledge::Variables & knowledge,
120 const madara::knowledge::KnowledgeRecord::Integer&
id);
126 static bool is_agent(madara::knowledge::KnowledgeBase & knowledge,
127 const std::string prefix);
172 madara::knowledge::containers::NativeDoubleArray
dest;
178 madara::knowledge::containers::NativeDoubleArray
home;
184 madara::knowledge::containers::NativeDoubleArray
location;
190 madara::knowledge::containers::Double
min_alt;
199 madara::knowledge::containers::NativeDoubleArray
source;
208 madara::knowledge::containers::NativeDoubleArray
velocity;
220 madara::knowledge::containers::Double
send_hz;
223 madara::knowledge::containers::Double
loop_hz;
235 const madara::knowledge::KnowledgeRecord::Integer&
id);
260 madara::knowledge::KnowledgeBase & knowledge,
261 const madara::knowledge::KnowledgeRecord::Integer& processes);
270 madara::knowledge::KnowledgeBase & knowledge,
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2016 Carnegie Mellon University.
Base class for a group of agents.
A container for agent information.
madara::knowledge::containers::Double loop_hz
the rate to process the algorithm and platform MAPE loop
static bool is_agent(madara::knowledge::KnowledgeBase &knowledge, const std::string prefix)
Checks if the prefix points to an agent in the knowledge base.
void init_vars(madara::knowledge::KnowledgeBase &knowledge, const madara::knowledge::KnowledgeRecord::Integer &id)
Initializes variable containers.
std::string prefix
the prefix for this agent
madara::knowledge::containers::NativeDoubleArray source
the source location
madara::knowledge::containers::Integer bridge_id
indicator for whether or not the agent is busy with a mission
madara::knowledge::containers::Double min_alt
the minimum altitude for this agent
madara::knowledge::containers::NativeDoubleArray orientation
the angle for this device(roll, pitch, yaw)
madara::knowledge::containers::Double send_hz
the rate to send messages
static std::string make_variable_name(const madara::knowledge::KnowledgeRecord::Integer &id)
Create agent/local agent name.
madara::knowledge::containers::NativeDoubleArray acceleration
the acceleration vector of the platform
madara::knowledge::containers::Integer search_area_id
indicator for next assigned search area id
madara::knowledge::containers::String coverage_type
agent specific command
madara::knowledge::containers::NativeDoubleArray home
the home location
madara::knowledge::containers::Integer algorithm_accepts
number of algorithm accepts / changes
void init_vars(madara::knowledge::KnowledgeBase &knowledge, const std::string &prefix)
Initializes variable containers.
madara::knowledge::containers::NativeDoubleArray dest
the destination location
madara::knowledge::containers::Integer algorithm_id
the algorithm id(useful if algorithm requests may need to be resent)
madara::knowledge::containers::Integer battery_remaining
the battery indicator for this agent
madara::knowledge::containers::String algorithm
agent specific command
void init_variable_settings()
Set variable settings.
madara::knowledge::containers::Double temperature
indicator for temperature
madara::knowledge::containers::String last_algorithm
Last command.
void init_vars(madara::knowledge::Variables &knowledge, const madara::knowledge::KnowledgeRecord::Integer &id)
Initializes variable containers.
madara::knowledge::containers::Integer last_algorithm_id
Last command.
madara::knowledge::containers::Double desired_altitude
desired altitude in meters
madara::knowledge::containers::Integer madara_debug_level
the MADARA debug level
madara::knowledge::containers::Integer is_mobile
the mobility indicator for this agent(true if mobile)
madara::knowledge::containers::NativeDoubleArray dest_orientation
the destination orientation
madara::knowledge::containers::Map algorithm_args
arguments for algorithm
void operator=(const Agent &agent)
Assignment operator.
madara::knowledge::containers::Map last_algorithm_args
Last command args.
AccentStatuses accents
container for accents
madara::knowledge::containers::Integer algorithm_changed
agent specific command has changed
madara::knowledge::containers::NativeDoubleArray location
the location, usually encoded in GPS, for this agent
madara::knowledge::containers::NativeDoubleArray velocity
the velocity vector of the platform
madara::knowledge::containers::Integer gams_debug_level
the GAMS debug level
madara::knowledge::containers::String next_coverage_type
indicator for next type of area coverage requested(queue like)
madara::knowledge::containers::Integer algorithm_rejects
number of algorithm rejections(bad name or id)
madara::knowledge::containers::NativeDoubleArray source_orientation
the source angle
GAMS_EXPORT void init_vars(AccentStatuses &variables, madara::knowledge::KnowledgeBase &knowledge, const std::string &prefix)
Initializes accent status containers.
std::map< std::string, Agent > AgentMap
A map of agent prefixes to agent knowledge.
std::vector< AccentStatus > AccentStatuses
An array of accents.
std::vector< Agent > Agents
An array of agent knowledge.
Contains all GAMS-related tools, classes and code.