Main MRPT website > C++ reference for MRPT 1.4.0
obs/CObservationRFID.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2016, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 #ifndef CObservationRFID_H
10 #define CObservationRFID_H
11 
13 #include <mrpt/obs/CObservation.h>
14 #include <mrpt/poses/CPose3D.h>
15 #include <mrpt/poses/CPose2D.h>
16 
17 namespace mrpt
18 {
19 namespace obs
20 {
21  DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE( CObservationRFID, CObservation, OBS_IMPEXP)
22 
23  /** This represents one or more RFID tags observed by a receiver.
24  *
25  * \sa CObservation, mrpt::hwdrivers::CImpinjRFID for a software sensor capable of reading this kind of observations.
26  * \ingroup mrpt_obs_grp
27  */
29  {
30  // This must be added to any CSerializable derived class:
32 
33  public:
34  /** Constructor */
36 
37  /** @name The data members
38  * @{ */
39  mrpt::poses::CPose3D sensorPoseOnRobot; //!< The location of the sensing antenna on the robot coordinate framework
40 
41  /** Each of the individual readings of a RFID tag */
43  {
44  TTagReading() : power(-1000) {}
45 
46  double power; //!< The power or signal strength as sensed by the RFID receiver (in dBm)
47  std::string epc; //!< EPC code of the observed tag
48  std::string antennaPort; //!< Port of the antenna that did the reading
49  };
50 
51  /** The vector of individual tag observations */
52  std::vector<TTagReading> tag_readings;
53 
54  inline uint32_t getNtags() const { return tag_readings.size(); }
55 
56  /** @} */
57 
58  void getSensorPose( mrpt::poses::CPose3D &out_sensorPose ) const MRPT_OVERRIDE;
59  /** A general method to change the sensor pose on the robot.
60  * It has no effects in this class
61  * \sa getSensorPose */
62  void setSensorPose( const mrpt::poses::CPose3D &newSensorPose ) MRPT_OVERRIDE;
63  // See base class docs
64  void getDescriptionAsText(std::ostream &o) const MRPT_OVERRIDE;
65 
66  }; // End of class def.
68 
69 
70  } // End of namespace
71 } // End of namespace
72 
73 #endif
std::string antennaPort
Port of the antenna that did the reading.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
std::string epc
EPC code of the observed tag.
double power
The power or signal strength as sensed by the RFID receiver (in dBm)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:72
Declares a class that represents any robot&#39;s observation.
std::vector< TTagReading > tag_readings
The vector of individual tag observations.
Each of the individual readings of a RFID tag.
This represents one or more RFID tags observed by a receiver.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)



Page generated by Doxygen 1.8.11 for MRPT 1.4.0 SVN:Unversioned directory at Mon Jul 4 10:31:07 UTC 2016