class mrpt::nav::CMultiObjMotionOpt_Scalarization
Overview
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
#include <mrpt/nav/reactive/CMultiObjMotionOpt_Scalarization.h> class CMultiObjMotionOpt_Scalarization: public mrpt::nav::CMultiObjectiveMotionOptimizerBase { public: // typedefs typedef std::shared_ptr<mrpt::nav ::CMultiObjMotionOpt_Scalarization> Ptr; typedef std::shared_ptr<const mrpt::nav ::CMultiObjMotionOpt_Scalarization> ConstPtr; typedef std::unique_ptr<mrpt::nav ::CMultiObjMotionOpt_Scalarization> UniquePtr; typedef std::unique_ptr<const mrpt::nav ::CMultiObjMotionOpt_Scalarization> ConstUniquePtr; // structs struct TParams; // fields static constexpr const char* className = "mrpt::nav" "::" "CMultiObjMotionOpt_Scalarization"; TParams parameters; // construction CMultiObjMotionOpt_Scalarization(); // methods 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; virtual mrpt::rtti::CObject* clone() const; virtual void loadConfigFile(const mrpt::config::CConfigFileBase& c); virtual void saveConfigFile(mrpt::config::CConfigFileBase& c) const; virtual void clear(); };
Inherited Members
public: // typedefs typedef std::shared_ptr<CObject> Ptr; typedef std::shared_ptr<const CObject> ConstPtr; typedef std::shared_ptr<CMultiObjectiveMotionOptimizerBase> Ptr; typedef std::shared_ptr<const CMultiObjectiveMotionOptimizerBase> ConstPtr; // structs struct TParamsBase; struct TResultInfo; // methods static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic(); virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; static const mrpt::rtti::TRuntimeClassId& GetRuntimeClassIdStatic(); std::optional<size_t> decide(const std::vector<mrpt::nav::TCandidateMovementPTG>& movs, TResultInfo& extra_info); virtual void loadConfigFile(const mrpt::config::CConfigFileBase& c) = 0; virtual void saveConfigFile(mrpt::config::CConfigFileBase& c) const = 0; virtual void clear(); static CMultiObjectiveMotionOptimizerBase::Ptr Factory(const std::string& className);
Typedefs
typedef std::shared_ptr<mrpt::nav ::CMultiObjMotionOpt_Scalarization> Ptr
A type for the associated smart pointer.
Methods
virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const
Returns information about the class of an object in runtime.
virtual mrpt::rtti::CObject* clone() const
Returns a deep copy (clone) of the object, indepently of its class.
virtual void clear()
Resets the object state; use if the parameters change, so they are re-read and applied.