54 const std::vector<mrpt::nav::TCandidateMovementPTG>& movs,
101 const std::vector<mrpt::nav::TCandidateMovementPTG>& movs,
107 std::map<std::string, mrpt::math::CRuntimeCompiledExpression>
m_score_exprs;
std::map< std::string, mrpt::math::CRuntimeCompiledExpression > m_score_exprs
score names -> score compiled expressions
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 ...
std::vector< mrpt::math::CRuntimeCompiledExpression > m_movement_assert_exprs
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 CSerializable classes definition:
std::shared_ptr< CMultiObjectiveMotionOptimizerBase > Ptr
std::vector< std::map< std::string, double > > score_values
For each candidate (vector indices), the numerical evaluation of all scores defined in TParamsBase::f...
This class allows loading and storing values and vectors of different types from a configuration text...
static CMultiObjectiveMotionOptimizerBase::Ptr Factory(const std::string &className) noexcept
Class factory from C++ class name.
virtual void saveToConfigFile(mrpt::utils::CConfigFileBase &cfg, const std::string §ion) const override
This method saves the options to a ".ini"-like file or memory-stored string list. ...
GLsizei const GLchar ** string
virtual void saveConfigFile(mrpt::utils::CConfigFileBase &c) const =0
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...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
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::vector< std::string > movement_assert
A list of exprtk expressions for conditions that any candidate movement must fulfill in order to get ...
GLsizei GLsizei GLchar * source
TParamsBase & m_params_base
The virtual base class of all MRPT classes with a unified RTTI system.
virtual void loadConfigFile(const mrpt::utils::CConfigFileBase &c)=0
CMultiObjectiveMotionOptimizerBase(TParamsBase ¶ms)
GLenum const GLfloat * params
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
virtual int impl_decide(const std::vector< mrpt::nav::TCandidateMovementPTG > &movs, TResultInfo &extra_info)=0
virtual void loadFromConfigFile(const mrpt::utils::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.