| 
    MRPT
    2.0.4
    
   | 
 
Implementation of multi-objective motion chooser using scalarization: a user-given formula is used to collapse all the scores into a single scalar score.
The candidate with the highest positive score is selected. Note that assert expressions are honored via the base class CMultiObjectiveMotionOptimizerBase
Definition at line 25 of file CMultiObjMotionOpt_Scalarization.h.
#include <mrpt/nav/reactive/CMultiObjMotionOpt_Scalarization.h>
Classes | |
| struct | TParams | 
Public Member Functions | |
| CMultiObjMotionOpt_Scalarization () | |
| void | loadConfigFile (const mrpt::config::CConfigFileBase &c) override | 
| void | saveConfigFile (mrpt::config::CConfigFileBase &c) const override | 
| void | clear () override | 
| Resets the object state; use if the parameters change, so they are re-read and applied.  More... | |
| 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 in movs.  More... | |
RTTI classes and functions for polymorphic hierarchies  | |
| mrpt::rtti::CObject::Ptr | duplicateGetSmartPtr () const | 
| Makes a deep copy of the object and returns a smart pointer to it.  More... | |
Static Public Member Functions | |
| static CMultiObjectiveMotionOptimizerBase::Ptr | Factory (const std::string &className) noexcept | 
| Class factory from C++ class name.  More... | |
Public Attributes | |
| TParams | parameters | 
Protected Member Functions | |
| int | impl_decide (const std::vector< mrpt::nav::TCandidateMovementPTG > &movs, TResultInfo &extra_info) override | 
Protected Attributes | |
| mrpt::expr::CRuntimeCompiledExpression | m_expr_scalar_formula | 
| std::map< std::string, double > | m_expr_scalar_vars | 
RTTI stuff | |
| using | Ptr = std::shared_ptr< mrpt::nav ::CMultiObjMotionOpt_Scalarization > | 
| using | ConstPtr = std::shared_ptr< const mrpt::nav ::CMultiObjMotionOpt_Scalarization > | 
| using | UniquePtr = std::unique_ptr< mrpt::nav ::CMultiObjMotionOpt_Scalarization > | 
| using | ConstUniquePtr = std::unique_ptr< const mrpt::nav ::CMultiObjMotionOpt_Scalarization > | 
| static const mrpt::rtti::TRuntimeClassId | runtimeClassId | 
| static constexpr const char * | className = "mrpt::nav" "::" "CMultiObjMotionOpt_Scalarization" | 
| static const mrpt::rtti::TRuntimeClassId * | _GetBaseClass () | 
| static constexpr auto | getClassName () | 
| static const mrpt::rtti::TRuntimeClassId & | GetRuntimeClassIdStatic () | 
| static std::shared_ptr< CObject > | CreateObject () | 
| template<typename... Args> | |
| static Ptr | Create (Args &&... args) | 
| template<typename Alloc , typename... Args> | |
| static Ptr | CreateAlloc (const Alloc &alloc, Args &&... args) | 
| template<typename... Args> | |
| static UniquePtr | CreateUnique (Args &&... args) | 
| virtual const mrpt::rtti::TRuntimeClassId * | GetRuntimeClass () const override | 
| Returns information about the class of an object in runtime.  More... | |
| virtual mrpt::rtti::CObject * | clone () const override | 
| Returns a deep copy (clone) of the object, indepently of its class.  More... | |
| using mrpt::nav::CMultiObjMotionOpt_Scalarization::ConstPtr = std::shared_ptr<const mrpt::nav :: CMultiObjMotionOpt_Scalarization > | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
| using mrpt::nav::CMultiObjMotionOpt_Scalarization::ConstUniquePtr = std::unique_ptr<const mrpt::nav :: CMultiObjMotionOpt_Scalarization > | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
| using mrpt::nav::CMultiObjMotionOpt_Scalarization::Ptr = std::shared_ptr< mrpt::nav :: CMultiObjMotionOpt_Scalarization > | 
A type for the associated smart pointer
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
| using mrpt::nav::CMultiObjMotionOpt_Scalarization::UniquePtr = std::unique_ptr< mrpt::nav :: CMultiObjMotionOpt_Scalarization > | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
| mrpt::nav::CMultiObjMotionOpt_Scalarization::CMultiObjMotionOpt_Scalarization | ( | ) | 
      
  | 
  staticprotected | 
      
  | 
  overridevirtual | 
Resets the object state; use if the parameters change, so they are re-read and applied.
Reimplemented from mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 25 of file CMultiObjMotionOpt_Scalarization.cpp.
References mrpt::nav::CMultiObjectiveMotionOptimizerBase::clear(), m_expr_scalar_formula, and m_expr_scalar_vars.
      
  | 
  overridevirtual | 
Returns a deep copy (clone) of the object, indepently of its class.
Implements mrpt::rtti::CObject.
      
  | 
  inlinestatic | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
      
  | 
  inlinestatic | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
      
  | 
  static | 
      
  | 
  inlinestatic | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
      
  | 
  inherited | 
The main entry point for the class: returns the 0-based index of the best of the N motion candidates in movs. 
If no valid one is found, -1 will be returned. 
Definition at line 27 of file CMultiObjectiveMotionOptimizerBase.cpp.
References mrpt::format(), mrpt::nav::CMultiObjectiveMotionOptimizerBase::TParamsBase::formula_score, mrpt::nav::CMultiObjectiveMotionOptimizerBase::impl_decide(), mrpt::keep_max(), mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::log_entries, mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_expr_vars, mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_movement_assert_exprs, mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_params_base, mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_score_exprs, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TParamsBase::movement_assert, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::score_values, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TParamsBase::scores_to_normalize, THROW_EXCEPTION_FMT, and val.
      
  | 
  inlineinherited | 
Makes a deep copy of the object and returns a smart pointer to it.
Definition at line 204 of file CObject.h.
References mrpt::rtti::CObject::clone().
Referenced by mrpt::obs::CRawlog::insert().
      
  | 
  staticnoexceptinherited | 
Class factory from C++ class name.
Definition at line 223 of file CMultiObjectiveMotionOptimizerBase.cpp.
References mrpt::rtti::TRuntimeClassId::createObject(), mrpt::rtti::findRegisteredClass(), mrpt::ptr_cast< CAST_TO >::from(), and mrpt::rtti::registerAllPendingClasses().
Referenced by mrpt::nav::CAbstractPTGBasedReactive::loadConfigFile().
      
  | 
  inlinestatic | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
      
  | 
  overridevirtual | 
Returns information about the class of an object in runtime.
Reimplemented from mrpt::nav::CMultiObjectiveMotionOptimizerBase.
      
  | 
  static | 
      
  | 
  overrideprotectedvirtual | 
Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 52 of file CMultiObjMotionOpt_Scalarization.cpp.
References mrpt::expr::CRuntimeCompiledExpression::compile(), mrpt::expr::CRuntimeCompiledExpression::eval(), mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::final_evaluation, m_expr_scalar_formula, m_expr_scalar_vars, parameters, mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams::scalar_score_formula, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::score_values, THROW_EXCEPTION_FMT, and val.
      
  | 
  overridevirtual | 
Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 32 of file CMultiObjMotionOpt_Scalarization.cpp.
References mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams::loadFromConfigFile(), and parameters.
      
  | 
  overridevirtual | 
Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 42 of file CMultiObjMotionOpt_Scalarization.cpp.
References parameters, and mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams::saveToConfigFile().
      
  | 
  static | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
      
  | 
  protected | 
Definition at line 57 of file CMultiObjMotionOpt_Scalarization.h.
Referenced by clear(), and impl_decide().
      
  | 
  protected | 
Definition at line 58 of file CMultiObjMotionOpt_Scalarization.h.
Referenced by clear(), and impl_decide().
| TParams mrpt::nav::CMultiObjMotionOpt_Scalarization::parameters | 
Definition at line 52 of file CMultiObjMotionOpt_Scalarization.h.
Referenced by impl_decide(), loadConfigFile(), and saveConfigFile().
      
  | 
  staticprotected | 
Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.
| Page generated by Doxygen 1.8.14 for MRPT 2.0.4 Git: 33de1d0ad Sat Jun 20 11:02:42 2020 +0200 at sáb jun 20 17:35:17 CEST 2020 |