class mrpt::apps::MonteCarloLocalization_Base

Overview

MonteCarlo (Particle filter) localization wrapper class for CLI or custom applications: virtual base class, which can be used as base for custom user robotic applications.

#include <mrpt/apps_cli/MonteCarloLocalization_App.h>

class MonteCarloLocalization_Base:
    public mrpt::system::COutputLogger,
    public mrpt::apps::BaseAppInitializableCLI,
    public mrpt::apps::BaseAppDataSource
{
public:
    // fields

    mrpt::config::CConfigFileMemory params;
    bool allow_quit_on_esc_key = true;
    bool fill_out_estimated_path = false;
    mrpt::poses::CPose3DInterpolator out_estimated_path;
    static constexpr static auto sect = "LocalizationExperiment";

    // construction

    MonteCarloLocalization_Base();
    MonteCarloLocalization_Base();

    // methods

    void initialize(int argc, const char** argv);
    void run();
    void initialize(int argc, const char** argv);

    void initialize(
        int argc,
        char** argv
        );

    void run();
};

// direct descendants

class MonteCarloLocalization_Rawlog;

Inherited Members

public:
    // structs

    struct TMsg;

    // fields

    bool logging_enable_console_output {true};
    bool logging_enable_keep_record {false};

    // methods

    void logStr(const VerbosityLevel level, std::string_view msg_str) const;
    void logFmt(const VerbosityLevel level, const char* fmt, ...) const;
    void void logCond(const VerbosityLevel level, bool cond, const std::string& msg_str) const;
    void setLoggerName(const std::string& name);
    std::string getLoggerName() const;
    void setVerbosityLevel(const VerbosityLevel level);
    void setVerbosityLevelForCallbacks(const VerbosityLevel level);
    void setMinLoggingLevel(const VerbosityLevel level);
    VerbosityLevel getMinLoggingLevel() const;
    VerbosityLevel getMinLoggingLevelForCallbacks() const;
    bool isLoggingLevelVisible(VerbosityLevel level) const;
    void getLogAsString(std::string& log_contents) const;
    std::string getLogAsString() const;
    void writeLogToFile(const std::optional<std::string>& fname_in = std::nullopt) const;
    void dumpLogToConsole() const;
    std::string getLoggerLastMsg() const;
    void getLoggerLastMsg(std::string& msg_str) const;
    void loggerReset();
    void logRegisterCallback(output_logger_callback_t userFunc);
    bool logDeregisterCallback(output_logger_callback_t userFunc);
    COutputLogger& operator = (const COutputLogger&);
    COutputLogger& operator = (COutputLogger&&);
    static std::array<mrpt::system::ConsoleForegroundColor, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_colors();
    static const std::array<const char*, NUMBER_OF_VERBOSITY_LEVELS>& logging_levels_to_names();

Fields

mrpt::config::CConfigFileMemory params

Populated in initialize().

Can be replaced or manipulated by the user after that and before run() to change the parameters loaded from INI file.

bool allow_quit_on_esc_key = true

If true, will watch the keyboard and quit when ESC is pushed.

bool fill_out_estimated_path = false

Whether to populate out_estimated_path.

mrpt::poses::CPose3DInterpolator out_estimated_path

Controlled by flag fill_out_estimated_path

static constexpr static auto sect = "LocalizationExperiment"

Default name of the main configuration section in INI files for this app.

Methods

void initialize(int argc, const char** argv)

Initializes the application from CLI parameters.

Refer to the manpage of pf-localization. Throws on errors.

void run()

Runs with the current parameter set.

Throws on errors.

void initialize(int argc, const char** argv)

Initializes the application from CLI parameters.

Refer to the manpage of pf-localization. Throws on errors.

void run()

Runs with the current parameter set.

Throws on errors.