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 
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
Declares a class that represents any robot's observation.
Definition: CObservation.h:44
This represents one or more RFID tags observed by a receiver.
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const override
A general method to retrieve the sensor pose on the robot.
mrpt::poses::CPose3D sensorPoseOnRobot
The location of the sensing antenna on the robot coordinate framework.
void getDescriptionAsText(std::ostream &o) const override
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...
std::vector< TTagReading > tag_readings
The vector of individual tag observations.
void setSensorPose(const mrpt::poses::CPose3D &newSensorPose) override
A general method to change the sensor pose on the robot.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition: CPose3D.h:87
GLsizei const GLchar ** string
Definition: glext.h:4101
This namespace contains representation of robot actions and observations.
unsigned __int32 uint32_t
Definition: rptypes.h:47
Each of the individual readings of a RFID tag.
double power
The power or signal strength as sensed by the RFID receiver (in dBm)
std::string antennaPort
Port of the antenna that did the reading.
std::string epc
EPC code of the observed tag.



Page generated by Doxygen 1.9.1 for MRPT 1.9.9 Git: 814d80880 Fri Aug 24 01:51:28 2018 +0200 at mar 26 may 2026 12:30:59 CEST