Go to the documentation of this file.
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);
virtual void getAs3DObject(mrpt::opengl::CSetOfObjects::Ptr &outObj) const override
Returns a 3D object representing the map (mean)
mrpt::maps::CWirelessPowerGridMap2D::TMapRepresentation mapType
The kind of map representation (see CWirelessPowerGridMap2D::CWirelessPowerGridMap2D)
void dumpToTextStream_map_specific(std::ostream &out) const override
static mrpt::maps::CMetricMap * internal_CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer &def)
mrpt::maps::CWirelessPowerGridMap2D::TInsertionOptions insertionOptions
void internal_clear() override
Erase all the contents of the map.
TMapRepresentation m_mapType
The map representation type of this map, as passed in the constructor.
This represents a measurement of the wireless strength perceived by the robot.
void loadFromConfigFile_map_specific(const mrpt::config::CConfigFileBase &source, const std::string §ionNamePrefix) override
Load all map-specific params.
void dumpToTextStream(std::ostream &out) const override
This method should clearly display all the contents of the structure in textual form,...
void clear()
Clear the contents of this container.
TInsertionOptions()
Default values loader.
#define ASSERT_EQUAL_(__A, __B)
Assert comparing two values, reporting their actual values upon failure.
mrpt::math::CMatrixD m_stackedCov
The compressed band diagonal matrix for the KF2 implementation.
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.
#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...
bool enableSaveAs3DObject
(Default=true) If false, calling CMetricMap::getAs3DObject() will have no effects
float KF_observationModelNoise
The sensor model noise (in normalized concentration units).
double m_average_normreadings_var
#define MAP_DEFINITION_REGISTER(_CLASSNAME_STRINGS, _CLASSNAME_WITH_NS)
Registers one map class into TMetricMapInitializer factory.
GLsizei GLsizei GLuint * obj
#define MRPT_UNUSED_PARAM(a)
Determines whether this is an X86 or AMD64 platform.
float R_min
Limits for normalization of sensor readings.
bool m_hasToRecoverMeanAndCov
Only for the KF2 implementation.
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 ...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
GLubyte GLubyte GLubyte GLubyte w
Virtual base for specifying the kind and parameters of one map (normally, to be inserted into mrpt::m...
mrpt::maps::CWirelessPowerGridMap2D::TInsertionOptions insertionOpts
TMapGenericParams genericMapParams
Common params to all maps.
float KF_covSigma
The "sigma" for the initial covariance value between cells (in meters).
#define THROW_EXCEPTION(msg)
#define ASSERT_(f)
Defines an assertion mechanism.
uint8_t serializeGetVersion() const override
Must return the current versioning number of the object.
T square(const T x)
Inline function for the square of a number.
Classes for 2D/3D geometry representation, both of single values and probability density distribution...
std::vector< TRandomFieldCell > m_map
The cells
float KF_initialCellStd
The initial standard deviation of each cell's concentration (will be stored both at each cell's struc...
This namespace contains representation of robot actions and observations.
Virtual base class for "archives": classes abstracting I/O streams.
GLsizei GLsizei GLchar * source
CWirelessPowerGridMap2D represents a PDF of wifi concentrations over a 2D area.
float sigma
The sigma of the "Parzen"-kernel Gaussian.
virtual void internal_clear() override
Erase all the contents of the map.
double internal_computeObservationLikelihood(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D &takenFrom) override
Internal method called by computeObservationLikelihood()
Declares a virtual base class for all metric maps storage classes.
void WriteBuffer(const void *Buffer, size_t Count)
Writes a block of bytes to the stream from Buffer.
void serializeFrom(mrpt::serialization::CArchive &in, uint8_t serial_version) override
Pure virtual method for reading (deserializing) from an abstract archive.
This class allows loading and storing values and vectors of different types from a configuration text...
std::string format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
A class used to store a 2D pose, including the 2D coordinate point and a heading (phi) angle.
double x() const
Common members of all points & poses classes.
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
TMapRepresentation
The type of map representation to be used, see CRandomFieldGridMap2D for a discussion.
string iniFile(myDataDir+string("benchmark-options.ini"))
#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...
unsigned __int64 uint64_t
uint16_t KF_W_size
[mrKalmanApproximate] The size of the window of neighbor cells.
void getAs3DObject(mrpt::opengl::CSetOfObjects::Ptr &outObj) const override
Returns a 3D object representing the map
double power
The power or signal strength as sensed by the Wifi receiver (In percentage: [0-100])
double m_average_normreadings_mean
#define LOADABLEOPTS_DUMP_VAR(variableName, variableType)
Macro for dumping a variable to a stream, within the method "dumpToTextStream(out)" (Variable types a...
std::shared_ptr< CSetOfObjects > Ptr
void dyngridcommon_writeToStream(STREAM &out) const
bool internal_insertObservation(const mrpt::obs::CObservation *obs, const mrpt::poses::CPose3D *robotPose=nullptr) override
Internal method called by insertObservation()
void dyngridcommon_readFromStream(STREAM &in, bool cast_from_float=false)
CRandomFieldGridMap2D represents a 2D grid map where each cell is associated one real-valued property...
void serializeTo(mrpt::serialization::CArchive &out) const override
Pure virtual method for writing (serializing) to an abstract archive.
EIGEN_STRONG_INLINE double mean() const
Computes the mean of the entire matrix.
Declares a class that represents any robot's observation.
GLsizei const GLchar ** string
The contents of each cell in a CRandomFieldGridMap2D 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.
mrpt::poses::CPose3D sensorPoseOnRobot
The location of the sensing antenna on the robot coordinate framework.
mrpt::math::CMatrixD m_cov
The whole covariance matrix, used for the Kalman Filter map representation.
float cutoffRadius
The cutoff radius for updating cells.
#define MRPT_THROW_UNKNOWN_SERIALIZATION_VERSION(__V)
For use in CSerializable implementations.
double min_x
See CWirelessPowerGridMap2D::CWirelessPowerGridMap2D.
unsigned __int32 uint32_t
size_t m_average_normreadings_count
IMPLEMENTS_SERIALIZABLE(CWirelessPowerGridMap2D, CRandomFieldGridMap2D, mrpt::maps) CWirelessPowerGridMap2D
float KF_defaultCellMeanValue
The default value for the mean of cells' concentration.
Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST | |