Main MRPT website > C++ reference for MRPT 1.5.6
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...
 
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...
 
CObjectclone () const
 Cloning interface for smart pointers. 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 143 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::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::C3DSScene, 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 mrpt::utils::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 140 of file CObject.h.

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 128 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.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019