10 #ifndef CGasConcentrationGridMap2D_H 11 #define CGasConcentrationGridMap2D_H 41 float y_min = -2,
float y_max = 2,
float resolution = 0.1);
49 public TInsertionOptionsCommon
58 std::ostream& out)
const override;
133 std::vector<std::vector<std::vector<TGaussianCell>>>*
table;
171 float min_x, max_x, min_y, max_y, resolution;
void internal_clear() override
Erase all the contents of the map.
std::string gasSensorLabel
The label of the CObservationGasSensor used to generate the map.
void getWindAs3DObject(mrpt::opengl::CSetOfObjects::Ptr &windObj) const
Returns the 3D object representing the wind grid information.
unsigned __int16 uint16_t
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
#define MAP_DEFINITION_START(_CLASS_NAME_)
Add a MAP_DEFINITION_START() ...
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.
virtual void getAs3DObject(mrpt::opengl::CSetOfObjects::Ptr &outObj) const override
Returns a 3D object representing the map.
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
Another alias for "mrKernelDM", for backwards compatibility (see discussion in mrpt::maps::CRandomFie...
TInsertionOptions()
Default values loader.
Parameters common to any derived class.
mrpt::Clock::time_point TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
This class allows loading and storing values and vectors of different types from a configuration text...
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.
float advectionFreq
Indicates if wind information must be used.
uint16_t gasSensorType
The sensor type for the gas concentration map (0x0000 ->mean of all installed sensors, 0x2600, 0x6810, ...)
virtual ~CGasConcentrationGridMap2D()
Destructor.
bool simulateAdvection(const double &STD_increase_value)
Implements the transition model of the gasConcentration map using the information of the wind maps...
GLsizei const GLchar ** string
std::vector< std::vector< std::vector< TGaussianCell > > > * table
mrpt::containers::CDynamicGrid< double > windGrid_module
Gridmaps of the wind Direction/Module.
Parameters related with inserting observations into the map:
virtual CRandomFieldGridMap2D::TInsertionOptionsCommon * getCommonInsertOptions() override
Get the part of the options common to all CRandomFieldGridMap2D classes.
mrpt::system::TTimeStamp timeLastSimulated
The timestamp of the last time the advection simulation was executed.
double internal_computeObservationLikelihood(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D &takenFrom) override
Internal method called by computeObservationLikelihood()
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...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
Declares a class that represents any robot's observation.
std::string windSensorLabel
The label of the WindSenor used to simulate advection.
bool build_Gaussian_Wind_Grid()
Builds a LookUp table with the values of the Gaussian Weights result of the wind advection for a spec...
GLsizei GLsizei GLchar * source
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...
mrpt::containers::CDynamicGrid< double > windGrid_direction
CGasConcentrationGridMap2D represents a PDF of gas concentrations over a 2D area. ...
bool load_Gaussian_Wind_Grid_From_File()
#define MAP_DEFINITION_END(_CLASS_NAME_)
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.
float std_windNoise_phi
Frequency for simulating advection (only used.
float default_wind_direction
The std to consider on.
mrpt::maps::CGasConcentrationGridMap2D::TInsertionOptions insertionOptions
bool internal_insertObservation(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D *robotPose=nullptr) override
Internal method called by insertObservation()
struct mrpt::maps::CGasConcentrationGridMap2D::TGaussianWindTable LUT
bool save_Gaussian_Wind_Grid_To_File()