ARGoS  3
A parallel, multi-engine simulator for swarm robotics
ci_footbot_distance_scanner_sensor.h
Go to the documentation of this file.
1 
51 #ifndef CCI_FOOTBOT_DISTANCE_SCANNER_SENSOR_H
52 #define CCI_FOOTBOT_DISTANCE_SCANNER_SENSOR_H
53 
54 /* To avoid dependency problems when including */
55 namespace argos {
56  class CCI_FootBotDistanceScannerSensor;
57 }
58 
59 #include <argos3/core/control_interface/ci_sensor.h>
60 #include <argos3/core/utility/math/angles.h>
61 #include <vector>
62 
63 namespace argos {
64 
66 
67  public:
68 
73  struct SReading {
75  Real Distance; // in cm from the center of the robot (about 10cm from the border)
76 
78  Angle(0.0f),
79  Distance(0.0f) {}
80 
81  SReading(const CRadians& c_angle,
82  Real f_distance) :
83  Angle(c_angle),
84  Distance(f_distance) {
85  }
86  };
87 
88  /* These structs are for internal use only */
89  typedef std::vector<SReading> TReadings;
90  typedef std::vector<TReadings> TLastReadings;
91  typedef std::pair<CRadians,Real> TMapPair;
92  typedef std::map<CRadians,Real> TReadingsMap;
93 
98  m_tReadings(4){
99  }
100 
105 
120  const TReadingsMap& GetReadingsMap();
121 
134 
147 
148 #ifdef ARGOS_WITH_LUA
149  virtual void CreateLuaState(lua_State* pt_lua_state);
150 
151  virtual void ReadingsToLuaState(lua_State* pt_lua_state);
152 #endif
153 
154  protected:
155 
158 
161 
164 
167 
170 
171  };
172 
173 }
174 
175 #endif
argos::CCI_FootBotDistanceScannerSensor::m_tReadings
TReadings m_tReadings
A vector of sReadings.
Definition: ci_footbot_distance_scanner_sensor.h:157
argos::CCI_FootBotDistanceScannerSensor::SReading
The DTO of the distance scanner, it contains the measured distance and its angle.
Definition: ci_footbot_distance_scanner_sensor.h:73
argos::CCI_FootBotDistanceScannerSensor::CCI_FootBotDistanceScannerSensor
CCI_FootBotDistanceScannerSensor()
Constructor.
Definition: ci_footbot_distance_scanner_sensor.h:97
argos::CCI_FootBotDistanceScannerSensor::TReadings
std::vector< SReading > TReadings
Definition: ci_footbot_distance_scanner_sensor.h:89
argos
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
argos::CCI_FootBotDistanceScannerSensor::m_tLongReadingsMap
TReadingsMap m_tLongReadingsMap
Map storing the last received packets from the long distance sensors.
Definition: ci_footbot_distance_scanner_sensor.h:169
argos::CRadians
It defines the basic type CRadians, used to store an angle value in radians.
Definition: angles.h:42
argos::CCI_FootBotDistanceScannerSensor::m_tLastReadings
TLastReadings m_tLastReadings
Vector storing the last received packets.
Definition: ci_footbot_distance_scanner_sensor.h:160
argos::CCI_FootBotDistanceScannerSensor::TLastReadings
std::vector< TReadings > TLastReadings
Definition: ci_footbot_distance_scanner_sensor.h:90
argos::CCI_FootBotDistanceScannerSensor::GetReadingsMap
const TReadingsMap & GetReadingsMap()
Return a map of the readings of the ds A map of the readings of the ds in the following format: angle...
Definition: ci_footbot_distance_scanner_sensor.cpp:18
argos::CCI_Sensor
The basic interface for all sensors.
Definition: ci_sensor.h:34
argos::CCI_FootBotDistanceScannerSensor::SReading::SReading
SReading()
Definition: ci_footbot_distance_scanner_sensor.h:77
argos::CCI_FootBotDistanceScannerSensor::~CCI_FootBotDistanceScannerSensor
virtual ~CCI_FootBotDistanceScannerSensor()
Destructor.
Definition: ci_footbot_distance_scanner_sensor.h:104
argos::CCI_FootBotDistanceScannerSensor::m_tShortReadingsMap
TReadingsMap m_tShortReadingsMap
Map storing the last received packets from the short distance sensors.
Definition: ci_footbot_distance_scanner_sensor.h:166
argos::CCI_FootBotDistanceScannerSensor::TMapPair
std::pair< CRadians, Real > TMapPair
Definition: ci_footbot_distance_scanner_sensor.h:91
argos::CCI_FootBotDistanceScannerSensor::GetShortReadingsMap
const TReadingsMap & GetShortReadingsMap()
Return a map of the readings of the ds, short sensor readings A map of the readings of the ds short s...
Definition: ci_footbot_distance_scanner_sensor.cpp:25
argos::CCI_FootBotDistanceScannerSensor::m_tReadingsMap
TReadingsMap m_tReadingsMap
Map storing all the last received packets.
Definition: ci_footbot_distance_scanner_sensor.h:163
argos::CCI_FootBotDistanceScannerSensor::TReadingsMap
std::map< CRadians, Real > TReadingsMap
Definition: ci_footbot_distance_scanner_sensor.h:92
argos::CCI_FootBotDistanceScannerSensor
Definition: ci_footbot_distance_scanner_sensor.h:65
argos::CCI_FootBotDistanceScannerSensor::SReading::Distance
Real Distance
Definition: ci_footbot_distance_scanner_sensor.h:75
argos::CCI_FootBotDistanceScannerSensor::SReading::SReading
SReading(const CRadians &c_angle, Real f_distance)
Definition: ci_footbot_distance_scanner_sensor.h:81
Real
float Real
Collects all ARGoS code.
Definition: datatypes.h:39
argos::CCI_FootBotDistanceScannerSensor::SReading::Angle
CRadians Angle
Definition: ci_footbot_distance_scanner_sensor.h:74
argos::CCI_FootBotDistanceScannerSensor::GetLongReadingsMap
const TReadingsMap & GetLongReadingsMap()
Return a map of the readings of the ds, long sensor readings A map of the readings of the ds long sen...
Definition: ci_footbot_distance_scanner_sensor.cpp:32