Main MRPT website
>
C++ reference
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
mrpt
slam
CObservationRFID.h
Go to the documentation of this file.
1
/* +---------------------------------------------------------------------------+
2
| The Mobile Robot Programming Toolkit (MRPT) C++ library |
3
| |
4
| http://www.mrpt.org/ |
5
| |
6
| Copyright (C) 2005-2012 University of Malaga |
7
| |
8
| This software was written by the Machine Perception and Intelligent |
9
| Robotics Lab, University of Malaga (Spain). |
10
| Contact: Jose-Luis Blanco <jlblanco@ctima.uma.es> |
11
| |
12
| This file is part of the MRPT project. |
13
| |
14
| MRPT is free software: you can redistribute it and/or modify |
15
| it under the terms of the GNU General Public License as published by |
16
| the Free Software Foundation, either version 3 of the License, or |
17
| (at your option) any later version. |
18
| |
19
| MRPT is distributed in the hope that it will be useful, |
20
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
21
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
22
| GNU General Public License for more details. |
23
| |
24
| You should have received a copy of the GNU General Public License |
25
| along with MRPT. If not, see <http://www.gnu.org/licenses/>. |
26
| |
27
+---------------------------------------------------------------------------+ */
28
#ifndef CObservationRFID_H
29
#define CObservationRFID_H
30
31
#include <
mrpt/utils/CSerializable.h
>
32
#include <
mrpt/slam/CObservation.h
>
33
#include <
mrpt/poses/CPose3D.h
>
34
#include <
mrpt/poses/CPose2D.h
>
35
36
namespace
mrpt
37
{
38
namespace
slam
39
{
40
DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE
(
CObservationRFID
,
CObservation
,
OBS_IMPEXP
)
41
42
/** This represents one or more RFID tags observed by a receiver.
43
*
44
* \sa CObservation, mrpt::hwdrivers::CImpinjRFID for a software sensor capable of reading this kind of observations.
45
* \ingroup mrpt_obs_grp
46
*/
47
class
OBS_IMPEXP
CObservationRFID
: public
CObservation
48
{
49
// This must be added to any CSerializable derived class:
50
DEFINE_SERIALIZABLE
(
CObservationRFID
)
51
52
public:
53
/** Constructor */
54
CObservationRFID
();
55
56
/** @name The data members
57
* @{ */
58
mrpt::poses::
CPose3D
sensorPoseOnRobot;
//!< The location of the sensing antenna on the robot coordinate framework
59
60
/** Each of the individual readings of a RFID tag */
61
struct
OBS_IMPEXP
TTagReading
62
{
63
TTagReading
() : power(-1000) {}
64
65
double
power
;
//!< The power or signal strength as sensed by the RFID receiver (in dBm)
66
std::string
epc
;
//!< EPC code of the observed tag
67
std::string
antennaPort
;
//!< Port of the antenna that did the reading
68
};
69
70
/** The vector of individual tag observations */
71
std::vector<TTagReading>
tag_readings
;
72
73
inline
uint32_t
getNtags
()
const
{
return
tag_readings.size(); }
74
75
/** @} */
76
77
void
getSensorPose(
CPose3D
&out_sensorPose )
const
;
78
79
/** A general method to change the sensor pose on the robot.
80
* It has no effects in this class
81
* \sa getSensorPose */
82
void
setSensorPose(
const
CPose3D
&newSensorPose );
83
84
};
// End of class def.
85
86
87
}
// End of namespace
88
}
// End of namespace
89
90
#endif
Page generated by
Doxygen 1.8.3
for MRPT 0.9.6 SVN: at Fri Feb 15 22:05:02 EST 2013