MRPT  2.0.4
List of all members | Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
mrpt::nav::CMultiObjMotionOpt_Scalarization Class Reference

Detailed Description

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

See also
CReactiveNavigationSystem, CReactiveNavigationSystem3D

Definition at line 25 of file CMultiObjMotionOpt_Scalarization.h.

#include <mrpt/nav/reactive/CMultiObjMotionOpt_Scalarization.h>

Inheritance diagram for mrpt::nav::CMultiObjMotionOpt_Scalarization:

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::TRuntimeClassIdGetRuntimeClassIdStatic ()
 
static std::shared_ptr< CObjectCreateObject ()
 
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::TRuntimeClassIdGetRuntimeClass () const override
 Returns information about the class of an object in runtime. More...
 
virtual mrpt::rtti::CObjectclone () const override
 Returns a deep copy (clone) of the object, indepently of its class. More...
 

Member Typedef Documentation

◆ ConstPtr

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ ConstUniquePtr

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ Ptr

A type for the associated smart pointer

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ UniquePtr

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

Constructor & Destructor Documentation

◆ CMultiObjMotionOpt_Scalarization()

mrpt::nav::CMultiObjMotionOpt_Scalarization::CMultiObjMotionOpt_Scalarization ( )

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::rtti::TRuntimeClassId* mrpt::nav::CMultiObjMotionOpt_Scalarization::_GetBaseClass ( )
staticprotected

◆ clear()

void CMultiObjMotionOpt_Scalarization::clear ( )
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.

Here is the call graph for this function:

◆ clone()

virtual mrpt::rtti::CObject* mrpt::nav::CMultiObjMotionOpt_Scalarization::clone ( ) const
overridevirtual

Returns a deep copy (clone) of the object, indepently of its class.

Implements mrpt::rtti::CObject.

◆ Create()

template<typename... Args>
static Ptr mrpt::nav::CMultiObjMotionOpt_Scalarization::Create ( Args &&...  args)
inlinestatic

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ CreateAlloc()

template<typename Alloc , typename... Args>
static Ptr mrpt::nav::CMultiObjMotionOpt_Scalarization::CreateAlloc ( const Alloc &  alloc,
Args &&...  args 
)
inlinestatic

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ CreateObject()

static std::shared_ptr<CObject> mrpt::nav::CMultiObjMotionOpt_Scalarization::CreateObject ( )
static

◆ CreateUnique()

template<typename... Args>
static UniquePtr mrpt::nav::CMultiObjMotionOpt_Scalarization::CreateUnique ( Args &&...  args)
inlinestatic

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ decide()

int CMultiObjectiveMotionOptimizerBase::decide ( const std::vector< mrpt::nav::TCandidateMovementPTG > &  movs,
TResultInfo extra_info 
)
inherited

◆ duplicateGetSmartPtr()

mrpt::rtti::CObject::Ptr CObject::duplicateGetSmartPtr ( ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Factory()

CMultiObjectiveMotionOptimizerBase::Ptr CMultiObjectiveMotionOptimizerBase::Factory ( const std::string &  className)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getClassName()

static constexpr auto mrpt::nav::CMultiObjMotionOpt_Scalarization::getClassName ( )
inlinestatic

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ GetRuntimeClass()

virtual const mrpt::rtti::TRuntimeClassId* mrpt::nav::CMultiObjMotionOpt_Scalarization::GetRuntimeClass ( ) const
overridevirtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::nav::CMultiObjectiveMotionOptimizerBase.

◆ GetRuntimeClassIdStatic()

static const mrpt::rtti::TRuntimeClassId& mrpt::nav::CMultiObjMotionOpt_Scalarization::GetRuntimeClassIdStatic ( )
static

◆ impl_decide()

int CMultiObjMotionOpt_Scalarization::impl_decide ( const std::vector< mrpt::nav::TCandidateMovementPTG > &  movs,
TResultInfo extra_info 
)
overrideprotectedvirtual

◆ loadConfigFile()

void CMultiObjMotionOpt_Scalarization::loadConfigFile ( const mrpt::config::CConfigFileBase c)
overridevirtual

Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.

Definition at line 32 of file CMultiObjMotionOpt_Scalarization.cpp.

References mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams::loadFromConfigFile(), and parameters.

Here is the call graph for this function:

◆ saveConfigFile()

void CMultiObjMotionOpt_Scalarization::saveConfigFile ( mrpt::config::CConfigFileBase c) const
overridevirtual

Implements mrpt::nav::CMultiObjectiveMotionOptimizerBase.

Definition at line 42 of file CMultiObjMotionOpt_Scalarization.cpp.

References parameters, and mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams::saveToConfigFile().

Here is the call graph for this function:

Member Data Documentation

◆ className

constexpr const char* mrpt::nav::CMultiObjMotionOpt_Scalarization::className = "mrpt::nav" "::" "CMultiObjMotionOpt_Scalarization"
static

Definition at line 28 of file CMultiObjMotionOpt_Scalarization.h.

◆ m_expr_scalar_formula

mrpt::expr::CRuntimeCompiledExpression mrpt::nav::CMultiObjMotionOpt_Scalarization::m_expr_scalar_formula
protected

Definition at line 57 of file CMultiObjMotionOpt_Scalarization.h.

Referenced by clear(), and impl_decide().

◆ m_expr_scalar_vars

std::map<std::string, double> mrpt::nav::CMultiObjMotionOpt_Scalarization::m_expr_scalar_vars
protected

Definition at line 58 of file CMultiObjMotionOpt_Scalarization.h.

Referenced by clear(), and impl_decide().

◆ parameters

TParams mrpt::nav::CMultiObjMotionOpt_Scalarization::parameters

Definition at line 52 of file CMultiObjMotionOpt_Scalarization.h.

Referenced by impl_decide(), loadConfigFile(), and saveConfigFile().

◆ runtimeClassId

const mrpt::rtti::TRuntimeClassId mrpt::nav::CMultiObjMotionOpt_Scalarization::runtimeClassId
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