47 sectionNamePrefix +
string(
"_creationOpts");
54 sSectCreation,
"mapType", mapType);
56 insertionOpts.loadFromConfigFile(
57 source, sectionNamePrefix +
string(
"_insertOpts"));
61 std::ostream& out)
const
74 this->insertionOpts.dumpToTextStream(out);
98 TMapRepresentation mapType,
double x_min,
double x_max,
double y_min,
99 double y_max,
double resolution)
109 CWirelessPowerGridMap2D::~CWirelessPowerGridMap2D() {}
135 robotPose2D =
CPose2D(*robotPose);
136 robotPose3D = (*robotPose);
155 sensorReading = o->
power;
214 #if MRPT_IS_BIG_ENDIAN
274 vector<TOldCellTypeInVersion1> old_map(
n);
275 in.ReadBuffer(&old_map[0],
sizeof(old_map[0]) * old_map.size());
279 for (
size_t k = 0; k <
n; k++)
282 (old_map[k].w != 0) ? old_map[k].wr : old_map[k].
mean;
284 (old_map[k].w != 0) ? old_map[k].
w : old_map[k].std;
296 #if MRPT_IS_BIG_ENDIAN
299 m_map[i].dmv_var_mean;
344 std::ostream& out)
const
347 "\n----------- [CWirelessPowerGridMap2D::TInsertionOptions] "
348 "------------ \n\n");
349 internal_dumpToTextStream_common(
362 internal_loadFromConfigFile_common(
iniFile, section);
#define IS_CLASS(ptrObj, class_name)
Evaluates to true if the given pointer to an object (derived from mrpt::rtti::CObject) is of the give...
IMPLEMENTS_SERIALIZABLE(CWirelessPowerGridMap2D, CRandomFieldGridMap2D, mrpt::maps) CWirelessPowerGridMap2D
#define MAP_DEFINITION_REGISTER(_CLASSNAME_STRINGS, _CLASSNAME_WITH_NS)
Registers one map class into TMetricMapInitializer factory.
This class allows loading and storing values and vectors of different types from a configuration text...
void dyngridcommon_readFromStream(STREAM &in, bool cast_from_float=false)
void dyngridcommon_writeToStream(STREAM &out) const
std::vector< TRandomFieldCell > m_map
The cells
Declares a virtual base class for all metric maps storage classes.
TMapGenericParams genericMapParams
Common params to all maps.
CRandomFieldGridMap2D represents a 2D grid map where each cell is associated one real-valued property...
double m_average_normreadings_mean
mrpt::math::CMatrixD m_stackedCov
The compressed band diagonal matrix for the KF2 implementation.
virtual void internal_clear() override
Erase all the contents of the map.
void insertIndividualReading(const double sensorReading, const mrpt::math::TPoint2D &point, const bool update_map=true, const bool time_invariant=true, const double reading_stddev=.0)
Direct update of the map with a reading in a given position of the map, using the appropriate method ...
virtual void getAs3DObject(mrpt::opengl::CSetOfObjects::Ptr &outObj) const override
Returns a 3D object representing the map (mean)
TMapRepresentation
The type of map representation to be used, see CRandomFieldGridMap2D for a discussion.
size_t m_average_normreadings_count
mrpt::math::CMatrixD m_cov
The whole covariance matrix, used for the Kalman Filter map representation.
double m_average_normreadings_var
TMapRepresentation m_mapType
The map representation type of this map, as passed in the constructor.
bool m_hasToRecoverMeanAndCov
Only for the KF2 implementation.
CWirelessPowerGridMap2D represents a PDF of wifi concentrations over a 2D area.
bool internal_insertObservation(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D *robotPose=nullptr) override
Internal method called by insertObservation()
static mrpt::maps::CMetricMap * internal_CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer &def)
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object.
void internal_clear() override
Erase all the contents of the map.
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.
double internal_computeObservationLikelihood(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D &takenFrom) override
Internal method called by computeObservationLikelihood()
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
CWirelessPowerGridMap2D(TMapRepresentation mapType=mrKernelDM, double x_min=-2, double x_max=2, double y_min=-2, double y_max=2, double resolution=0.1)
Constructor.
void getAs3DObject(mrpt::opengl::CSetOfObjects::Ptr &outObj) const override
Returns a 3D object representing the map
mrpt::maps::CWirelessPowerGridMap2D::TInsertionOptions insertionOptions
bool enableSaveAs3DObject
(Default=true) If false, calling CMetricMap::getAs3DObject() will have no effects
Declares a class that represents any robot's observation.
This represents a measurement of the wireless strength perceived by the robot.
double power
The power or signal strength as sensed by the Wifi receiver (In percentage: [0-100])
mrpt::poses::CPose3D sensorPoseOnRobot
The location of the sensing antenna on the robot coordinate framework.
std::shared_ptr< CSetOfObjects > Ptr
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
double x() const
Common members of all points & poses classes.
Virtual base class for "archives": classes abstracting I/O streams.
void WriteBuffer(const void *Buffer, size_t Count)
Writes a block of bytes to the stream from Buffer.
#define MRPT_UNUSED_PARAM(a)
Determines whether this is an X86 or AMD64 platform.
#define MRPT_LOAD_CONFIG_VAR( variableName, variableType, configFileObject, sectionNameStr)
An useful macro for loading variables stored in a INI-like file under a key with the same name that t...
#define LOADABLEOPTS_DUMP_VAR(variableName, variableType)
Macro for dumping a variable to a stream, within the method "dumpToTextStream(out)" (Variable types a...
EIGEN_STRONG_INLINE double mean() const
Computes the mean of the entire matrix.
#define ASSERT_EQUAL_(__A, __B)
Assert comparing two values, reporting their actual values upon failure.
#define ASSERT_(f)
Defines an assertion mechanism.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
#define THROW_EXCEPTION(msg)
GLsizei GLsizei GLuint * obj
GLubyte GLubyte GLubyte GLubyte w
GLsizei const GLchar ** string
GLsizei GLsizei GLchar * source
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
void clear()
Clear the contents of this container.
This namespace contains representation of robot actions and observations.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
T square(const T x)
Inline function for the square of a number.
unsigned __int32 uint32_t
unsigned __int64 uint64_t
float cutoffRadius
The cutoff radius for updating cells.
float sigma
The sigma of the "Parzen"-kernel Gaussian.
float KF_observationModelNoise
The sensor model noise (in normalized concentration units).
uint16_t KF_W_size
[mrKalmanApproximate] The size of the window of neighbor cells.
float R_min
Limits for normalization of sensor readings.
float KF_covSigma
The "sigma" for the initial covariance value between cells (in meters).
float KF_initialCellStd
The initial standard deviation of each cell's concentration (will be stored both at each cell's struc...
float KF_defaultCellMeanValue
The default value for the mean of cells' concentration.
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form,...
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.
TInsertionOptions()
Default values loader.
double min_x
See CWirelessPowerGridMap2D::CWirelessPowerGridMap2D.
mrpt::maps::CWirelessPowerGridMap2D::TMapRepresentation mapType
The kind of map representation (see CWirelessPowerGridMap2D::CWirelessPowerGridMap2D)
mrpt::maps::CWirelessPowerGridMap2D::TInsertionOptions insertionOpts
void dumpToTextStream_map_specific(std::ostream &out) const override
void loadFromConfigFile_map_specific(const mrpt::config::CConfigFileBase &source, const std::string §ionNamePrefix) override
Load all map-specific params.
Virtual base for specifying the kind and parameters of one map (normally, to be inserted into mrpt::m...
The contents of each cell in a CRandomFieldGridMap2D map.
string iniFile(myDataDir+string("benchmark-options.ini"))