30 const std::string& className) noexcept;
52 const std::vector<mrpt::nav::TCandidateMovementPTG>& movs,
83 const std::string& section)
override;
86 const std::string& section)
const override;
99 const std::vector<mrpt::nav::TCandidateMovementPTG>& movs,
105 std::map<std::string, mrpt::expr::CRuntimeCompiledExpression>
m_score_exprs;
std::vector< std::string > log_entries
Optionally, debug logging info will be stored here by the implementor classes.
int decide(const std::vector< mrpt::nav::TCandidateMovementPTG > &movs, TResultInfo &extra_info)
The main entry point for the class: returns the 0-based index of the best of the N motion candidates ...
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
std::map< std::string, double > m_expr_vars
std::vector< double > final_evaluation
The final evaluation score for each candidate.
virtual void clear()
Resets the object state; use if the parameters change, so they are re-read and applied.
#define DEFINE_VIRTUAL_MRPT_OBJECT(class_name)
This declaration must be inserted in virtual CObject classes definition:
mrpt::vision::TStereoCalibParams params
Virtual base to provide a compiler-independent RTTI system.
std::vector< std::map< std::string, double > > score_values
For each candidate (vector indices), the numerical evaluation of all scores defined in TParamsBase::f...
virtual void loadConfigFile(const mrpt::config::CConfigFileBase &c)=0
This class allows loading and storing values and vectors of different types from a configuration text...
void saveToConfigFile(mrpt::config::CConfigFileBase &cfg, const std::string §ion) const override
This method saves the options to a ".ini"-like file or memory-stored string list. ...
static CMultiObjectiveMotionOptimizerBase::Ptr Factory(const std::string &className) noexcept
Class factory from C++ class name.
std::vector< mrpt::expr::CRuntimeCompiledExpression > m_movement_assert_exprs
std::map< std::string, std::string > formula_score
A list of name -> mathematical expression (in the format of the exprtk library) for the list of "scor...
Virtual base class for multi-objective motion choosers, as used for reactive navigation engines...
std::vector< std::string > scores_to_normalize
List of score names (as defined in the key of formula_score) that must be normalized across all candi...
Common params for all children.
std::map< std::string, mrpt::expr::CRuntimeCompiledExpression > m_score_exprs
score names -> score compiled expressions
std::vector< std::string > movement_assert
A list of exprtk expressions for conditions that any candidate movement must fulfill in order to get ...
TParamsBase & m_params_base
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.
CMultiObjectiveMotionOptimizerBase(TParamsBase ¶ms)
virtual void saveConfigFile(mrpt::config::CConfigFileBase &c) const =0
virtual int impl_decide(const std::vector< mrpt::nav::TCandidateMovementPTG > &movs, TResultInfo &extra_info)=0