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
14#include <mrpt/poses/CPose3D.h>
15#include <mrpt/poses/CPose2D.h>
16
17namespace mrpt
18{
19namespace obs
20{
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
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#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...
Declares a class that represents any robot's observation.
This represents one or more RFID tags observed by a receiver.
mrpt::poses::CPose3D sensorPoseOnRobot
The location of the sensing antenna on the robot coordinate framework.
std::vector< TTagReading > tag_readings
The vector of individual tag observations.
CObservationRFID()
Constructor.
void setSensorPose(const mrpt::poses::CPose3D &newSensorPose) MRPT_OVERRIDE
A general method to change the sensor pose on the robot.
void getSensorPose(mrpt::poses::CPose3D &out_sensorPose) const MRPT_OVERRIDE
A general method to retrieve the sensor pose on the robot.
void getDescriptionAsText(std::ostream &o) const MRPT_OVERRIDE
Build a detailed, multi-line textual description of the observation contents and dump it to the outpu...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Definition CPose3D.h:73
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
Definition mrpt_macros.h:28
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
unsigned long uint32_t
Definition pstdint.h:216
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.7 for MRPT 1.4.0 SVN: at Tue Jun 13 13:45:58 UTC 2023