Main MRPT website > C++ reference for MRPT 1.5.8
List of all members | Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
mrpt::nav::CMultiObjectiveMotionOptimizerBase Class Referenceabstract

Detailed Description

Virtual base class for multi-objective motion choosers, as used for reactive navigation engines.

See also
CReactiveNavigationSystem, CReactiveNavigationSystem3D

Definition at line 28 of file CMultiObjectiveMotionOptimizerBase.h.

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

Inheritance diagram for mrpt::nav::CMultiObjectiveMotionOptimizerBase:
Inheritance graph

Classes

struct  TParamsBase
 Common params for all children. More...
 
struct  TResultInfo
 

Public Member Functions

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...
 
virtual void loadConfigFile (const mrpt::utils::CConfigFileBase &c)=0
 
virtual void saveConfigFile (mrpt::utils::CConfigFileBase &c) const =0
 
virtual void clear ()
 Resets the object state; use if the parameters change, so they are re-read and applied. More...
 
virtual CObjectduplicate () const =0
 Returns a copy of the object, indepently of its class. More...
 
CObjectclone () 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 CMultiObjectiveMotionOptimizerBaseCreate (const std::string &className) MRPT_NO_THROWS
 Class factory from C++ class name. More...
 

Static Public Attributes

static const mrpt::utils::TRuntimeClassId classCObject
 

Protected Member Functions

 CMultiObjectiveMotionOptimizerBase (TParamsBase &params)
 

Private Member Functions

virtual int impl_decide (const std::vector< mrpt::nav::TCandidateMovementPTG > &movs, TResultInfo &extra_info)=0
 

Private Attributes

TParamsBasem_params_base
 
std::map< std::string, mrpt::math::CRuntimeCompiledExpressionm_score_exprs
 score names -> score compiled expressions More...
 
std::vector< mrpt::math::CRuntimeCompiledExpressionm_movement_assert_exprs
 
std::map< std::string, double > m_expr_vars
 

RTTI stuff

typedef CMultiObjectiveMotionOptimizerBasePtr Ptr
 
typedef CMultiObjectiveMotionOptimizerBasePtr ConstPtr
 
static const mrpt::utils::TRuntimeClassId classCMultiObjectiveMotionOptimizerBase
 
class mrpt::utils::CStream
 
static const mrpt::utils::TRuntimeClassId_GetBaseClass ()
 
virtual const mrpt::utils::TRuntimeClassIdGetRuntimeClass () const
 Returns information about the class of an object in runtime. More...
 

Member Typedef Documentation

◆ ConstPtr

typedef CMultiObjectiveMotionOptimizerBasePtr mrpt::nav::CMultiObjectiveMotionOptimizerBase::ConstPtr

Definition at line 32 of file CMultiObjectiveMotionOptimizerBase.h.

◆ Ptr

typedef CMultiObjectiveMotionOptimizerBasePtr mrpt::nav::CMultiObjectiveMotionOptimizerBase::Ptr

Definition at line 32 of file CMultiObjectiveMotionOptimizerBase.h.

Constructor & Destructor Documentation

◆ CMultiObjectiveMotionOptimizerBase()

CMultiObjectiveMotionOptimizerBase::CMultiObjectiveMotionOptimizerBase ( TParamsBase params)
protected

Definition at line 20 of file CMultiObjectiveMotionOptimizerBase.cpp.

Member Function Documentation

◆ _GetBaseClass()

static const mrpt::utils::TRuntimeClassId* mrpt::nav::CMultiObjectiveMotionOptimizerBase::_GetBaseClass ( )
staticprotected

◆ clear()

void CMultiObjectiveMotionOptimizerBase::clear ( )
virtual

Resets the object state; use if the parameters change, so they are re-read and applied.

Reimplemented in mrpt::nav::CMultiObjMotionOpt_Scalarization.

Definition at line 197 of file CMultiObjectiveMotionOptimizerBase.cpp.

Referenced by mrpt::nav::CMultiObjMotionOpt_Scalarization::clear().

◆ clone()

CObject* mrpt::utils::CObject::clone ( ) const
inlineinherited

Cloning interface for smart pointers.

Definition at line 133 of file CObject.h.

◆ Create()

CMultiObjectiveMotionOptimizerBase * CMultiObjectiveMotionOptimizerBase::Create ( const std::string className)
static

◆ decide()

int CMultiObjectiveMotionOptimizerBase::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.

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.

◆ duplicate()

virtual CObject* mrpt::utils::CObject::duplicate ( ) const
pure virtualinherited

Returns a copy of the object, indepently of its class.

Implemented in mrpt::nav::CLogFileRecord_ND, mrpt::obs::CObservation3DRangeScan, mrpt::maps::CMultiMetricMap, mrpt::utils::CSimpleDatabase, mrpt::nav::CLogFileRecord_FullEval, mrpt::utils::CImage, mrpt::gui::CDisplayWindow3D, mrpt::detectors::CDetectable3D, mrpt::hmtslam::THypothesisIDSet, mrpt::maps::CRandomFieldGridMap3D, mrpt::obs::CObservationIMU, mrpt::poses::CPose3D, mrpt::hmtslam::CLocalMetricHypothesis, mrpt::maps::COccupancyGridMap2D, mrpt::maps::CMultiMetricMapPDF, mrpt::obs::CObservationRGBD360, mrpt::maps::TMapGenericParams, mrpt::hmtslam::CHMTSLAM, mrpt::obs::CObservationGPS, mrpt::maps::CLandmarksMap, mrpt::maps::CHeightGridMap2D, mrpt::opengl::COctoMapVoxels, mrpt::poses::CPointPDFParticles, mrpt::opengl::COpenGLViewport, mrpt::obs::CObservationVelodyneScan, mrpt::vision::CFeature, mrpt::kinematics::CKinematicChain, mrpt::opengl::CPlanarLaserScan, mrpt::nav::CHolonomicVFF, mrpt::obs::CRawlog, mrpt::obs::CSensoryFrame, mrpt::nav::CHolonomicND, mrpt::poses::CPose3DInterpolator, mrpt::nav::CHolonomicFullEval, mrpt::opengl::CPointCloud, mrpt::detectors::CDetectable2D, mrpt::opengl::COpenGLScene, mrpt::pbmap::Plane, mrpt::poses::CPose2DInterpolator, mrpt::opengl::CFrustum, mrpt::opengl::CPointCloudColoured, mrpt::pbmap::PbMap, mrpt::maps::CBeaconMap, mrpt::maps::CReflectivityGridMap2D, mrpt::opengl::CEllipsoidInverseDepth3D, mrpt::obs::CObservation2DRangeScan, mrpt::hmtslam::CLSLAMParticleData, mrpt::opengl::CEllipsoid, mrpt::opengl::CEllipsoidInverseDepth2D, mrpt::opengl::CText3D, mrpt::opengl::CVectorField3D, mrpt::poses::CPose3DQuat, mrpt::poses::CPose3DRotVec, mrpt::utils::CMHPropertiesValuesList, mrpt::hmtslam::CHMHMapNode, mrpt::obs::CObservationStereoImages, mrpt::opengl::CAssimpModel, mrpt::poses::CPose3DQuatPDFGaussianInf, mrpt::maps::CBeacon, mrpt::nav::CPTG_DiffDrive_C, mrpt::opengl::CMeshFast, mrpt::poses::CPose3DQuatPDFGaussian, mrpt::opengl::CEllipsoidRangeBearing2D, mrpt::opengl::CMesh, mrpt::poses::CPose3DPDFGaussianInf, mrpt::opengl::CAngularObservationMesh, mrpt::obs::CObservationStereoImagesFeatures, mrpt::opengl::CMesh3D, mrpt::opengl::CText, mrpt::poses::CPose2D, mrpt::poses::CPose3DPDFGaussian, mrpt::poses::CPosePDFSOG, mrpt::hmtslam::CRobotPosesGraph, mrpt::maps::COctoMap, mrpt::maps::CRBPFParticleData, mrpt::poses::CPoint2D, mrpt::poses::CPose3DPDFParticles, mrpt::poses::CPosePDFParticles, mrpt::poses::CPointPDFSOG, mrpt::poses::CPosePDFGaussianInf, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::obs::CObservationImage, mrpt::opengl::CBox, mrpt::opengl::CVectorField2D, mrpt::poses::CPose3DPDFSOG, mrpt::hmtslam::CHierarchicalMHMap, mrpt::hmtslam::CHMHMapArc, mrpt::maps::CGasConcentrationGridMap2D, mrpt::maps::CHeightGridMap2D_MRF, mrpt::maps::CWirelessPowerGridMap2D, mrpt::maps::CSimpleMap, mrpt::obs::CObservationBatteryState, mrpt::opengl::CGridPlaneXY, mrpt::opengl::CGridPlaneXZ, mrpt::opengl::CSetOfLines, mrpt::maps::CLandmark, mrpt::maps::CColouredOctoMap, mrpt::maps::CSimplePointsMap, mrpt::opengl::CArrow, mrpt::opengl::CAxis, mrpt::opengl::CDisk, mrpt::opengl::CSphere, mrpt::poses::CPoint3D, mrpt::poses::CPosePDFGaussian, mrpt::utils::CStringList, mrpt::maps::CColouredPointsMap, mrpt::maps::CWeightedPointsMap, mrpt::nav::CLogFileRecord, mrpt::obs::CActionRobotMovement2D, mrpt::obs::CObservationOdometry, mrpt::obs::CObservationWindSensor, mrpt::opengl::CCamera, mrpt::opengl::CColorBar, mrpt::opengl::CPolyhedron, mrpt::slam::CIncrementalMapPartitioner, mrpt::gui::CDisplayWindowPlots, mrpt::obs::CActionCollection, mrpt::opengl::CSetOfObjects, mrpt::math::CMatrix, mrpt::math::CMatrixD, mrpt::poses::CPosePDFGrid, mrpt::utils::TCamera, mrpt::obs::CObservationRange, mrpt::obs::CObservationRawDAQ, mrpt::obs::CObservationSkeleton, mrpt::math::CSplineInterpolator1D, mrpt::utils::CSimpleDatabaseTable, mrpt::gui::CDisplayWindow, mrpt::nav::CLogFileRecord_VFF, mrpt::obs::CObservationBearingRange, mrpt::obs::CObservationGasSensors, mrpt::obs::CObservationWirelessPower, mrpt::obs::CObservationVisualLandmarks, mrpt::poses::CPoses2DSequence, mrpt::poses::CPoses3DSequence, mrpt::obs::CObservation6DFeatures, mrpt::obs::CObservationBeaconRanges, mrpt::obs::CObservationComment, mrpt::obs::CObservationRFID, mrpt::opengl::C3DSScene, mrpt::opengl::CCylinder, mrpt::opengl::CSetOfTriangles, mrpt::poses::TSimple3DPoint, mrpt::utils::CMemoryChunk, mrpt::nav::CMultiObjMotionOpt_Scalarization, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, mrpt::nav::CPTG_Holo_Blend, mrpt::obs::CActionRobotMovement3D, mrpt::obs::CObservationReflectivity, mrpt::opengl::CSetOfTexturedTriangles, mrpt::math::CMatrixB, mrpt::poses::CPointPDFGaussian, mrpt::utils::CPropertiesValuesList, mrpt::obs::CObservationCANBusJ1939, mrpt::obs::CObservationRobotPose, mrpt::opengl::CGeneralizedCylinder, mrpt::opengl::CSimpleLine, mrpt::opengl::CTexturedPlane, mrpt::math::CPolygon, mrpt::utils::CTypeSelector, mrpt::poses::CPoint2DPDFGaussian, mrpt::utils::TStereoCamera, mrpt::kinematics::CVehicleVelCmd_DiffDriven, mrpt::kinematics::CVehicleVelCmd_Holo, and mrpt::opengl::COpenGLStandardObject.

Referenced by mrpt::poses::CPoseRandomSampler::CPoseRandomSampler(), mrpt::maps::CSimpleMap::insert(), mrpt::obs::CActionCollection::insert(), mrpt::poses::CPoseRandomSampler::operator=(), and mrpt::poses::CPoseRandomSampler::setPosePDF().

◆ duplicateGetSmartPtr()

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

◆ GetRuntimeClass()

virtual const mrpt::utils::TRuntimeClassId* mrpt::nav::CMultiObjectiveMotionOptimizerBase::GetRuntimeClass ( ) const
virtual

Returns information about the class of an object in runtime.

Reimplemented from mrpt::utils::CObject.

Reimplemented in mrpt::nav::CMultiObjMotionOpt_Scalarization.

◆ impl_decide()

virtual int mrpt::nav::CMultiObjectiveMotionOptimizerBase::impl_decide ( const std::vector< mrpt::nav::TCandidateMovementPTG > &  movs,
TResultInfo extra_info 
)
privatepure virtual

◆ loadConfigFile()

virtual void mrpt::nav::CMultiObjectiveMotionOptimizerBase::loadConfigFile ( const mrpt::utils::CConfigFileBase c)
pure virtual

◆ saveConfigFile()

virtual void mrpt::nav::CMultiObjectiveMotionOptimizerBase::saveConfigFile ( mrpt::utils::CConfigFileBase c) const
pure virtual

Friends And Related Function Documentation

◆ mrpt::utils::CStream

friend class mrpt::utils::CStream
friend

Definition at line 32 of file CMultiObjectiveMotionOptimizerBase.h.

Member Data Documentation

◆ classCMultiObjectiveMotionOptimizerBase

const mrpt::utils::TRuntimeClassId mrpt::nav::CMultiObjectiveMotionOptimizerBase::classCMultiObjectiveMotionOptimizerBase
static

Definition at line 32 of file CMultiObjectiveMotionOptimizerBase.h.

◆ classCObject

const mrpt::utils::TRuntimeClassId mrpt::utils::CObject::classCObject
staticinherited

Definition at line 118 of file CObject.h.

◆ m_expr_vars

std::map<std::string, double> mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_expr_vars
private

Definition at line 90 of file CMultiObjectiveMotionOptimizerBase.h.

◆ m_movement_assert_exprs

std::vector<mrpt::math::CRuntimeCompiledExpression> mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_movement_assert_exprs
private

Definition at line 89 of file CMultiObjectiveMotionOptimizerBase.h.

◆ m_params_base

TParamsBase& mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_params_base
private

Definition at line 86 of file CMultiObjectiveMotionOptimizerBase.h.

◆ m_score_exprs

std::map<std::string, mrpt::math::CRuntimeCompiledExpression> mrpt::nav::CMultiObjectiveMotionOptimizerBase::m_score_exprs
private

score names -> score compiled expressions

Definition at line 88 of file CMultiObjectiveMotionOptimizerBase.h.




Page generated by Doxygen 1.8.14 for MRPT 1.5.8 Git: f67d0f871 Wed Sep 25 18:32:17 2019 +0200 at lun oct 28 01:58:29 CET 2019