10 #ifndef CGasConcentrationGridMap2D_H 11 #define CGasConcentrationGridMap2D_H 48 float resolution = 0.1
83 virtual void getAs3DObject( mrpt::opengl::CSetOfObjectsPtr &outObj )
const MRPT_OVERRIDE;
86 virtual void getAs3DObject ( mrpt::opengl::CSetOfObjectsPtr &meanObj, mrpt::opengl::CSetOfObjectsPtr &varObj )
const MRPT_OVERRIDE;
89 void getWindAs3DObject( mrpt::opengl::CSetOfObjectsPtr &windObj)
const;
93 virtual void increaseUncertainty(
const double STD_increase_value);
96 bool simulateAdvection(
const double &STD_increase_value);
122 std::vector< std::vector< std::vector<TGaussianCell> > > *
table;
129 return &insertionOptions;
134 bool internal_insertObservation( const
mrpt::obs::CObservation *obs, const
mrpt::poses::CPose3D *robotPose = NULL )
MRPT_OVERRIDE;
135 double internal_computeObservationLikelihood( const
mrpt::obs::CObservation *obs, const
mrpt::poses::CPose3D &takenFrom )
MRPT_OVERRIDE;
140 bool build_Gaussian_Wind_Grid();
142 bool save_Gaussian_Wind_Grid_To_File();
143 bool load_Gaussian_Wind_Grid_From_File();
146 mrpt::utils::CDynamicGrid<
double> windGrid_module, windGrid_direction;
152 float min_x,max_x,min_y,max_y,resolution;
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
std::string gasSensorLabel
The label of the CObservationGasSensor used to generate the map.
#define MAP_DEFINITION_END(_CLASS_NAME_, _LINKAGE_)
unsigned __int16 uint16_t
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
uint16_t enose_id
id for the enose used to generate this map (must be < gasGrid_count)
TMapRepresentation
The type of map representation to be used, see CRandomFieldGridMap2D for a discussion.
This class allows loading and storing values and vectors of different types from a configuration text...
Parameters common to any derived class.
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
#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...
float advectionFreq
Indicates if wind information must be used to simulate Advection.
uint16_t gasSensorType
The sensor type for the gas concentration map (0x0000 ->mean of all installed sensors, 0x2600, 0x6810, ...)
std::vector< std::vector< std::vector< TGaussianCell > > > * table
GLsizei const GLchar ** string
Parameters related with inserting observations into the map:
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...
CRandomFieldGridMap2D represents a 2D grid map where each cell is associated one real-valued property...
std::string windSensorLabel
The label of the WindSenor used to simulate advection.
GLsizei GLsizei GLchar * source
virtual CRandomFieldGridMap2D::TInsertionOptionsCommon * getCommonInsertOptions() MRPT_OVERRIDE
Get the part of the options common to all CRandomFieldGridMap2D classes.
CGasConcentrationGridMap2D represents a PDF of gas concentrations over a 2D area. ...
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
#define MAP_DEFINITION_START(_CLASS_NAME_, _LINKAGE_)
Add a MAP_DEFINITION_START() ...
float std_windNoise_phi
Frequency for simulating advection (only used to transform wind speed to distance) ...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...