struct mrpt::nav::CHolonomicFullEval::TOptions

Algorithm options.

#include <mrpt/nav/holonomic/CHolonomicFullEval.h>

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

    double TOO_CLOSE_OBSTACLE {0.15};
    double TARGET_SLOW_APPROACHING_DISTANCE {0.60};
    double OBSTACLE_SLOW_DOWN_DISTANCE {0.15};
    double HYSTERESIS_SECTOR_COUNT {5};
    std::vector<double> factorWeights;
    std::vector<int32_t> factorNormalizeOrNot;
    std::vector<std::vector<int32_t>> PHASE_FACTORS;
    std::vector<double> PHASE_THRESHOLDS;
    bool LOG_SCORE_MATRIX {false};
    double clearance_threshold_ratio {0.05};
    double gap_width_ratio_threshold {0.25};

    // construction

    TOptions();

    //
methods

    virtual void loadFromConfigFile(const mrpt::config::CConfigFileBase& source, const std::string& section);
    virtual void saveToConfigFile(mrpt::config::CConfigFileBase& target, const std::string& section) 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

double TOO_CLOSE_OBSTACLE {0.15}

Directions with collision-free distances below this threshold are not elegible.

double TARGET_SLOW_APPROACHING_DISTANCE {0.60}

Start to reduce speed when closer than this to target [m].

double OBSTACLE_SLOW_DOWN_DISTANCE {0.15}

Start to reduce speed when clearance is below this value ([0,1] ratio wrt obstacle reference/max distance)

double HYSTERESIS_SECTOR_COUNT {5}

Range of “sectors” (directions) for hysteresis over successive timesteps.

std::vector<double> factorWeights

See docs above.

std::vector<int32_t> factorNormalizeOrNot

0/1 to normalize factors.

std::vector<std::vector<int32_t>> PHASE_FACTORS

Factor indices [0,4] for the factors to consider in each phase 1,2,…N of the movement decision (Defaults: PHASE1_FACTORS=0 1 2, PHASE2_FACTORS= 3 4`)

std::vector<double> PHASE_THRESHOLDS

Phase 1,2,N-1…

scores must be above this relative range threshold [0,1] to be considered in phase 2 (Default: 0.75)

bool LOG_SCORE_MATRIX {false}

(default:false, to save space)

double clearance_threshold_ratio {0.05}

Ratio [0,1], times path_count, gives the minimum number of paths at each side of a target direction to be accepted as desired direction.

double gap_width_ratio_threshold {0.25}

Ratio [0,1], times path_count, gives the minimum gap width to accept a direct motion towards target.

Methods

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

This method load the options from a “.ini”-like file or memory-stored string list.

Only those parameters found in the given “section” and having the same name that the variable are loaded. Those not found in the file will stay with their previous values (usually the default values loaded at initialization). An example of an “.ini” file:

[section]
resolution    = 0.10   // blah blah...
modeSelection = 1      // 0=blah, 1=blah,...

See also:

loadFromConfigFileName, saveToConfigFile

virtual void saveToConfigFile(mrpt::config::CConfigFileBase& target, const std::string& section) const

This method saves the options to a “.ini”-like file or memory-stored string list.

See also:

loadFromConfigFile, saveToConfigFileName