9 #ifndef CObservationGasSensors_H 10 #define CObservationGasSensors_H 44 eNosePoseOnTheRobot(),
47 hasTemperature(false),
74 void getDescriptionAsText(std::ostream &o)
const MRPT_OVERRIDE;
103 bool get_GasDistribution_estimation(
131 void inverse_MOSmodeling (
132 const float &reading,
137 void noise_filtering (
138 const float &reading,
145 const float &reading,
146 const float &estimation,
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
float b_rise
tau = a*AMPLITUDE +b (linear relationship)
unsigned __int16 uint16_t
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
float temperature
Sensed temperature in Celcius (valid if hasTemperature=true only)
float reading
Sensore reading.
vector_int sensorTypes
The kind of sensors in the array (size of "sensorTypes" is the same that the size of "readingsVoltage...
The structure for each e-nose.
size_t winNoise_size
The size of the mobile average window used to reduce noise on sensor reagings.
double fixed_incT
To force e-nose samples to have fixed time increments.
std::vector< TdataMap > m_antiNoise_window
Vector to temporally store and averge readings to reduce noise.
float min_reading
Minimum reading value till the moment, used as approximation to baeline level.
#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...
math::TPose3D eNosePoseOnTheRobot
The pose of the sensors on the robot.
bool hasTemperature
Must be true for "temperature" to contain a valid measurement.
TdataMap temporal_Obs
The content of each m_lastObservations in the estimation when using the option : MOS_MODEl (useMOSmod...
Declares a class within "CObservationGasSensors" that represents a set of gas concentration readings ...
Declares a class derived from "CObservation" that represents a set of readings from gas sensors...
bool first_iteration
To avoid the model estimation on first iteration.
float estimation
The value estimated according to the MOXmodel.
float a_decay
tau = a*AMPLITUDE +b (linear relationship)
bool isActive
True if the input to this chamber/enose is poluted air, False if clean air.
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...
bool first_incT
To force e-nose samples to have fixed time increments.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents any robot's observation.
bool save_maplog
If true save generated gas map as a log file.
The content of each m_lastObservations in the estimation when using the option : MOS_MODEl (useMOSmod...
std::vector< TObservationENose > m_readings
One entry per e-nose on the robot.
int decimate_value
[useMOSmodel] The decimate frecuency applied after noise filtering
Lightweight 3D pose (three spatial coordinates, plus three angular coordinates).
float tau
tau value applied
mrpt::system::TTimeStamp timestamp
Timestamp of the observation.
std::vector< int32_t > vector_int
std::vector< float > readingsVoltage
The set of readings (in volts) from the array of sensors (size of "sensorTypes" is the same that the ...
float b_decay
tau = a*AMPLITUDE +b (linear relationship)
std::ofstream * m_debug_dump
Ofstream to save to file option "save_maplog".
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
float reading_filtered
Reading after smooth (noise averaging)
float a_rise
tau = a*AMPLITUDE +b (linear relationship)
uint16_t decimate_count
Decimate value for oversampled enose readings.