MRPT  1.9.9
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-2018, 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::obs
18 {
19 /** This represents one or more RFID tags observed by a receiver.
20  *
21  * \sa CObservation, mrpt::hwdrivers::CImpinjRFID for a software sensor capable
22  * of reading this kind of observations.
23  * \ingroup mrpt_obs_grp
24  */
26 {
28 
29  public:
30  /** Constructor */
32 
33  /** @name The data members
34  * @{ */
35  /** The location of the sensing antenna on the robot coordinate framework */
37 
38  /** Each of the individual readings of a RFID tag */
39  struct TTagReading
40  {
41  TTagReading() : power(-1000) {}
42  /** The power or signal strength as sensed by the RFID receiver (in dBm)
43  */
44  double power;
45  /** EPC code of the observed tag */
47  /** 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  void getSensorPose(mrpt::poses::CPose3D& out_sensorPose) const override;
58  /** A general method to change the sensor pose on the robot.
59  * It has no effects in this class
60  * \sa getSensorPose */
61  void setSensorPose(const mrpt::poses::CPose3D& newSensorPose) override;
62  // See base class docs
63  void getDescriptionAsText(std::ostream& o) const override;
64 
65 }; // End of class def.
66 
67 }
68 #endif
69 
70 
std::string antennaPort
Port of the antenna that did the reading.
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const override
A general method to retrieve the sensor pose on the robot.
void setSensorPose(const mrpt::poses::CPose3D &newSensorPose) override
A general method to change the sensor pose on the robot.
mrpt::poses::CPose3D sensorPoseOnRobot
The location of the sensing antenna on the robot coordinate framework.
std::string epc
EPC code of the observed tag.
This namespace contains representation of robot actions and observations.
double power
The power or signal strength as sensed by the RFID receiver (in dBm)
GLsizei const GLchar ** string
Definition: glext.h:4101
#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:86
Declares a class that represents any robot&#39;s observation.
Definition: CObservation.h:43
std::vector< TTagReading > tag_readings
The vector of individual tag observations.
Each of the individual readings of a RFID tag.
void getDescriptionAsText(std::ostream &o) const override
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...
This represents one or more RFID tags observed by a receiver.
unsigned __int32 uint32_t
Definition: rptypes.h:47



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 7d5e6d718 Fri Aug 24 01:51:28 2018 +0200 at lun nov 2 08:35:50 CET 2020