GAMS  1.4.0
NullPlatform.h
Go to the documentation of this file.
1 
54 #ifndef _GAMS_NULL_PLATFORM_H_
55 #define _GAMS_NULL_PLATFORM_H_
56 
58 #include "gams/variables/Self.h"
59 #include "gams/variables/Sensor.h"
64 #include "madara/knowledge/KnowledgeBase.h"
65 
66 namespace gams
67 {
68  namespace platforms
69  {
74  {
75  public:
84  madara::knowledge::KnowledgeBase * knowledge,
85  variables::Sensors * sensors,
86  variables::Platforms * platforms,
87  variables::Self * self);
88 
93 
98  void operator=(const NullPlatform & rhs);
99 
104  virtual int analyze(void) override;
105 
110  virtual double get_accuracy() const override;
111 
117  virtual std::string get_id() const override;
118 
122  virtual double get_move_speed() const override;
123 
127  virtual std::string get_name() const override;
128 
133  virtual int home(void) override;
134 
139  virtual int land(void) override;
140 
147  int move(const pose::Position & position,
148  const pose::PositionBounds &bounds) override;
149 
150  using BasePlatform::move;
151 
156  virtual int sense(void) override;
157 
162  virtual void set_move_speed(const double& speed) override;
163 
168  virtual int takeoff(void) override;
169 
170  protected:
171  };
172 
177  {
178  public:
179 
192  virtual BasePlatform * create(
193  const madara::knowledge::KnowledgeMap & args,
194  madara::knowledge::KnowledgeBase * knowledge,
195  variables::Sensors * sensors,
196  variables::Platforms * platforms,
197  variables::Self * self);
198  };
199  }
200 }
201 
202 #endif // _GAMS_NULL_PLATFORM_H_
Copyright(c) 2014 Carnegie Mellon University.
Copyright (c) 2014 Carnegie Mellon University.
#define GAMS_EXPORT
Definition: GamsExport.h:20
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
Copyright(c) 2014 Carnegie Mellon University.
The base platform for all platforms to use.
Definition: BasePlatform.h:113
virtual int move(const pose::Position &target)
Moves the platform to a location.
Definition: BasePlatform.h:230
A factory class for creating null(no-op) platforms.
Definition: NullPlatform.h:177
virtual BasePlatform * create(const madara::knowledge::KnowledgeMap &args, madara::knowledge::KnowledgeBase *knowledge, variables::Sensors *sensors, variables::Platforms *platforms, variables::Self *self)
Creates a null platform.
virtual std::string get_name() const override
Gets the name of the platform.
void operator=(const NullPlatform &rhs)
Assignment operator.
virtual int analyze(void) override
Analyzes platform information.
NullPlatform(madara::knowledge::KnowledgeBase *knowledge, variables::Sensors *sensors, variables::Platforms *platforms, variables::Self *self)
Constructor.
virtual std::string get_id() const override
Gets the unique identifier of the platform.
virtual void set_move_speed(const double &speed) override
Set move speed.
virtual int takeoff(void) override
Instructs the platform to take off.
virtual double get_accuracy() const override
Get the location aproximation value of what is considered close enough.
int move(const pose::Position &position, const pose::PositionBounds &bounds) override
Moves the platform to a position.
virtual double get_move_speed() const override
Get move speed.
virtual int sense(void) override
Polls the sensor environment for useful information.
virtual int land(void) override
Instructs the platform to land.
virtual int home(void) override
Instructs the agent to return home.
Base class for platform factories to create BasePlatforms.
Interface for defining a bounds checker for Positions.
Definition: Epsilon.h:68
A container for self referencing information.
Definition: Self.h:70
std::map< std::string, PlatformStatus > Platforms
a map of sensor names to the sensor information
std::map< std::string, Sensor * > Sensors
a map of sensor names to the sensor information
Definition: Sensor.h:238
Contains all GAMS-related tools, classes and code.
Copyright (c) 2015 Carnegie Mellon University.