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 27 of file CMultiObjMotionOpt_Scalarization.h.
#include <mrpt/nav/reactive/CMultiObjMotionOpt_Scalarization.h>
Classes | |
struct | TParams |
Public Member Functions | |
void * | operator new (size_t size) |
void * | operator new[] (size_t size) |
void | operator delete (void *ptr) throw () |
void | operator delete[] (void *ptr) throw () |
void | operator delete (void *memory, void *ptr) throw () |
void * | operator new (size_t size, const std::nothrow_t &) throw () |
void | operator delete (void *ptr, const std::nothrow_t &) throw () |
CMultiObjMotionOpt_Scalarization () | |
void | loadConfigFile (const mrpt::utils::CConfigFileBase &c) MRPT_OVERRIDE |
void | saveConfigFile (mrpt::utils::CConfigFileBase &c) const MRPT_OVERRIDE |
virtual void | clear () MRPT_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... | |
CObject * | clone () const |
Cloning interface for smart pointers. More... | |
RTTI classes and functions | |
mrpt::utils::CObjectPtr | duplicateGetSmartPtr () const |
Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer). More... | |
Static Public Member Functions | |
static void * | operator new (size_t size, void *ptr) |
static CMultiObjectiveMotionOptimizerBase * | Create (const std::string &className) MRPT_NO_THROWS |
Class factory from C++ class name. More... | |
Public Attributes | |
TParams | parameters |
Static Public Attributes | |
static const mrpt::utils::TRuntimeClassId | classCObject |
RTTI stuff | |
static const mrpt::utils::TRuntimeClassId | classCMultiObjectiveMotionOptimizerBase |
Protected Member Functions | |
int | impl_decide (const std::vector< mrpt::nav::TCandidateMovementPTG > &movs, TResultInfo &extra_info) MRPT_OVERRIDE |
Protected Attributes | |
mrpt::math::CRuntimeCompiledExpression | m_expr_scalar_formula |
std::map< std::string, double > | m_expr_scalar_vars |
RTTI stuff | |
typedef CMultiObjMotionOpt_ScalarizationPtr | Ptr |
typedef CMultiObjMotionOpt_ScalarizationPtr | ConstPtr |
static mrpt::utils::CLASSINIT | _init_CMultiObjMotionOpt_Scalarization |
static mrpt::utils::TRuntimeClassId | classCMultiObjMotionOpt_Scalarization |
static const mrpt::utils::TRuntimeClassId * | classinfo |
static const mrpt::utils::TRuntimeClassId * | _GetBaseClass () |
virtual const mrpt::utils::TRuntimeClassId * | GetRuntimeClass () const |
Returns information about the class of an object in runtime. More... | |
virtual mrpt::utils::CObject * | duplicate () const |
Returns a copy of the object, indepently of its class. More... | |
static mrpt::utils::CObject * | CreateObject () |
static CMultiObjMotionOpt_ScalarizationPtr | Create () |
typedef CMultiObjMotionOpt_ScalarizationPtr mrpt::nav::CMultiObjMotionOpt_Scalarization::ConstPtr |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
typedef CMultiObjMotionOpt_ScalarizationPtr mrpt::nav::CMultiObjMotionOpt_Scalarization::Ptr |
A typedef for the associated smart pointer
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
CMultiObjMotionOpt_Scalarization::CMultiObjMotionOpt_Scalarization | ( | ) |
Definition at line 19 of file CMultiObjMotionOpt_Scalarization.cpp.
|
staticprotected |
|
virtual |
Resets the object state; use if the parameters change, so they are re-read and applied.
Reimplemented from mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 24 of file CMultiObjMotionOpt_Scalarization.cpp.
References mrpt::nav::CMultiObjectiveMotionOptimizerBase::clear().
|
inlineinherited |
|
static |
|
staticinherited |
Class factory from C++ class name.
Definition at line 202 of file CMultiObjectiveMotionOptimizerBase.cpp.
References mrpt::utils::TRuntimeClassId::createObject(), mrpt::utils::findRegisteredClass(), and mrpt::utils::registerAllPendingClasses().
Referenced by mrpt::nav::CAbstractPTGBasedReactive::loadConfigFile().
|
static |
|
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 25 of file CMultiObjectiveMotionOptimizerBase.cpp.
References mrpt::mrpt::format(), mrpt::mrpt::utils::keep_max(), mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::log_entries, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::score_values, THROW_EXCEPTION_FMT, and val.
|
virtual |
Returns a copy of the object, indepently of its class.
Implements mrpt::utils::CObject.
|
inlineinherited |
Returns a copy of the object, indepently of its class, as a smart pointer (the newly created object will exist as long as any copy of this smart pointer).
Definition at line 162 of file CObject.h.
References mrpt::utils::CObjectPtr.
Referenced by mrpt::obs::CRawlog::addActions(), mrpt::slam::CIncrementalMapPartitioner::addMapFrame(), and mrpt::obs::CRawlog::addObservations().
|
virtual |
Returns information about the class of an object in runtime.
Reimplemented from mrpt::nav::CMultiObjectiveMotionOptimizerBase.
|
protectedvirtual |
Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 43 of file CMultiObjMotionOpt_Scalarization.cpp.
References mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::final_evaluation, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TResultInfo::score_values, THROW_EXCEPTION_FMT, and val.
|
virtual |
Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 31 of file CMultiObjMotionOpt_Scalarization.cpp.
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
inline |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
inline |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
inlinestatic |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
inline |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
inline |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
inline |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
virtual |
Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.
Definition at line 37 of file CMultiObjMotionOpt_Scalarization.cpp.
|
staticprotected |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
staticinherited |
Definition at line 32 of file CMultiObjectiveMotionOptimizerBase.h.
|
static |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
staticinherited |
|
static |
Definition at line 30 of file CMultiObjMotionOpt_Scalarization.h.
|
protected |
Definition at line 52 of file CMultiObjMotionOpt_Scalarization.h.
|
protected |
Definition at line 53 of file CMultiObjMotionOpt_Scalarization.h.
TParams mrpt::nav::CMultiObjMotionOpt_Scalarization::parameters |
Definition at line 47 of file CMultiObjMotionOpt_Scalarization.h.
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |