struct mrpt::maps::CBeaconMap::TInsertionOptions

Overview

This struct contains data for choosing the method by which new beacons are inserted in the map.

#include <mrpt/maps/CBeaconMap.h>

struct TInsertionOptions: public mrpt::config::CLoadableOptions
{
    // fields

    bool insertAsMonteCarlo {true};
    double maxElevation_deg {0};
    double minElevation_deg {0};
    unsigned int MC_numSamplesPerMeter {1000};
    float MC_maxStdToGauss = {0.4f};
    double MC_thresholdNegligible {5};
    bool MC_performResampling {false};
    float MC_afterResamplingNoise {0.01f};
    float SOG_thresholdNegligible {20.0f};
    float SOG_maxDistBetweenGaussians {1.0f};
    float SOG_separationConstant {3.0f};

    // methods

    virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase& source, const std::string& section);
    virtual void dumpToTextStream(std::ostream& out) const;
};

Inherited Members

public:
    // methods

    virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase& source, const std::string& section) = 0;
    void loadFromConfigFileName(const std::string& config_file, const std::string& section);
    virtual void saveToConfigFile(mrpt::config::CConfigFileBase& target, const std::string& section) const;
    void saveToConfigFileName(const std::string& config_file, const std::string& section) const;
    void dumpToConsole() const;
    virtual void dumpToTextStream(std::ostream& out) const;

Fields

bool insertAsMonteCarlo {true}

Insert a new beacon as a set of montecarlo samples (default=true), or, if false, as a sum of gaussians (see mrpt::maps::CBeacon).

See also:

MC_performResampling

double maxElevation_deg {0}

Minimum and maximum elevation angles (in degrees) for inserting new beacons at the first observation: the default values (both 0), makes the beacons to be in the same horizontal plane that the sensors, that is, 2D SLAM - the min/max values are -90/90.

unsigned int MC_numSamplesPerMeter {1000}

Number of particles per meter of range, i.e.

per meter of the “radius of the ring”.

float MC_maxStdToGauss = {0.4f}

The threshold for the maximum std (X,Y,and Z) before colapsing the particles into a Gaussian PDF (default=0.4).

double MC_thresholdNegligible {5}

Threshold for the maximum difference from the maximun (log) weight in the set of samples for erasing a given sample (default=5).

bool MC_performResampling {false}

If set to false (default), the samples will be generated the first time a beacon is observed, and their weights just updated subsequently - if set to “true”, fewer samples will be required since the particles will be resamples when necessary, and a small “noise” will be added to avoid depletion.

float MC_afterResamplingNoise {0.01f}

The std.dev.

of the Gaussian noise to be added to each sample after resampling, only if MC_performResampling=true.

float SOG_thresholdNegligible {20.0f}

Threshold for the maximum difference from the maximun (log) weight in the SOG for erasing a given mode (default=20).

float SOG_maxDistBetweenGaussians {1.0f}

A parameter for initializing 2D/3D SOGs.

float SOG_separationConstant {3.0f}

Constant used to compute the std.

dev. int the tangent direction when creating the Gaussians.

Methods

virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase& source, const std::string& section)

Initialization of default parameters.

virtual void dumpToTextStream(std::ostream& out) const

This method should clearly display all the contents of the structure in textual form, sending it to a std::ostream.

The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.