10#ifndef CGasConcentrationGridMap2D_H
11#define CGasConcentrationGridMap2D_H
48 float resolution = 0.1
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;
#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...
#define MAP_DEFINITION_END(_CLASS_NAME_, _LINKAGE_)
#define MAP_DEFINITION_START(_CLASS_NAME_, _LINKAGE_)
Add a MAP_DEFINITION_START() ... MAP_DEFINITION_END() block inside the declaration of each metric map...
CGasConcentrationGridMap2D represents a PDF of gas concentrations over a 2D area.
virtual void getAs3DObject(mrpt::opengl::CSetOfObjectsPtr &outObj) const MRPT_OVERRIDE
Returns a 3D object representing the map.
bool simulateAdvection(const double &STD_increase_value)
Implements the transition model of the gasConcentration map using the information of the wind maps
void getWindAs3DObject(mrpt::opengl::CSetOfObjectsPtr &windObj) const
Returns the 3D object representing the wind grid information.
CGasConcentrationGridMap2D(TMapRepresentation mapType=mrAchim, float x_min=-2, float x_max=2, float y_min=-2, float y_max=2, float resolution=0.1)
Constructor.
void internal_clear() MRPT_OVERRIDE
Erase all the contents of the map.
virtual void getAs3DObject(mrpt::opengl::CSetOfObjectsPtr &meanObj, mrpt::opengl::CSetOfObjectsPtr &varObj) const MRPT_OVERRIDE
Returns two 3D objects representing the mean and variance maps.
virtual ~CGasConcentrationGridMap2D()
Destructor.
virtual CRandomFieldGridMap2D::TInsertionOptionsCommon * getCommonInsertOptions() MRPT_OVERRIDE
Get the part of the options common to all CRandomFieldGridMap2D classes.
virtual void increaseUncertainty(const double STD_increase_value)
Increase the kf_std of all cells from the m_map This mehod is usually called by the main_map to simul...
CRandomFieldGridMap2D represents a 2D grid map where each cell is associated one real-valued property...
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...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1,...
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
std::vector< std::vector< std::vector< TGaussianCell > > > * table
Parameters related with inserting observations into the map:
std::string gasSensorLabel
The label of the CObservationGasSensor used to generate the map.
float default_wind_direction
The std to consider on wind information measurements.
uint16_t gasSensorType
The sensor type for the gas concentration map (0x0000 ->mean of all installed sensors,...
void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion) MRPT_OVERRIDE
This method load the options from a ".ini"-like file or memory-stored string list.
float advectionFreq
Indicates if wind information must be used to simulate Advection.
void dumpToTextStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
This method should clearly display all the contents of the structure in textual form,...
uint16_t enose_id
id for the enose used to generate this map (must be < gasGrid_count)
TInsertionOptions()
Default values loader.
std::string windSensorLabel
The label of the WindSenor used to simulate advection.
Parameters common to any derived class.