class mrpt::nav::CHolonomicFullEval
Full evaluation of all possible directions within the discrete set of input directions.
These are the optional parameters of the method which can be set by means of a configuration file passed to the constructor or to CHolonomicFullEval::initialize() or directly in CHolonomicFullEval::options
# Section name can be changed via setConfigFileSectionName() [FULL_EVAL_CONFIG] factorWeights = 1.0 1.0 1.0 0.05 1.0 factorNormalizeOrNot = 0 0 0 0 1 // 0: Clearness in direction // 1: Closest approach to target along straight line (Euclidean) // 2: Distance of end collision-free point to target (Euclidean) // 3: Hysteresis // 4: Clearness to nearest obstacle along path // 5: Like 2, but without being decimated if path to target is obstructed TARGET_SLOW_APPROACHING_DISTANCE = 0.20 // Start to reduce speed when closer than this to target [m] TOO_CLOSE_OBSTACLE = 0.02 // Directions with collision-free distances below this threshold are not elegible. HYSTERESIS_SECTOR_COUNT = 5 // Range of "sectors" (directions) for hysteresis over successive timesteps PHASE1_FACTORS = 0 1 2 // Indices of the factors above to be considered in phase 1 PHASE2_FACTORS = 3 4 // Indices of the factors above to be considered in phase 2 PHASE1_THRESHOLD = 0.75 // Phase1 scores must be above this relative range threshold [0,1] to be considered in phase 2 (Default:`0.75`)
See also:
CAbstractHolonomicReactiveMethod, CReactiveNavigationSystem
#include <mrpt/nav/holonomic/CHolonomicFullEval.h> class CHolonomicFullEval: public mrpt::nav::CAbstractHolonomicReactiveMethod { public: // structs struct EvalOutput; struct TOptions; // fields TOptions options; // construction CHolonomicFullEval(const mrpt::config::CConfigFileBase* INI_FILE = nullptr); // methods virtual void navigate(const NavInput& ni, NavOutput& no); virtual void initialize(const mrpt::config::CConfigFileBase& c); virtual void saveConfigFile(mrpt::config::CConfigFileBase& c) const; virtual double getTargetApproachSlowDownDistance() const; virtual void setTargetApproachSlowDownDistance(const double dist); };
Inherited Members
public: // structs struct NavInput; struct NavOutput; // methods mrpt::rtti::CObject::Ptr duplicateGetSmartPtr() const; static CAbstractHolonomicReactiveMethod* Create(const std::string& className); virtual void navigate(const NavInput& ni, NavOutput& no) = 0; virtual void initialize(const mrpt::config::CConfigFileBase& c) = 0; virtual void saveConfigFile(mrpt::config::CConfigFileBase& c) const = 0; void setConfigFileSectionName(const std::string& sectName); std::string getConfigFileSectionName() const; virtual double getTargetApproachSlowDownDistance() const = 0; virtual void setTargetApproachSlowDownDistance(const double dist) = 0; void setAssociatedPTG(mrpt::nav::CParameterizedTrajectoryGenerator* ptg); mrpt::nav::CParameterizedTrajectoryGenerator* getAssociatedPTG() const; virtual mxArray* writeToMatlab() const; virtual const mrpt::rtti::TRuntimeClassId* GetRuntimeClass() const; virtual CObject* clone() const = 0;
Fields
TOptions options
Parameters of the algorithm (can be set manually or loaded from CHolonomicFullEval::initialize or options.loadFromConfigFile(), etc.)
Construction
CHolonomicFullEval(const mrpt::config::CConfigFileBase* INI_FILE = nullptr)
Initialize the parameters of the navigator, from some configuration file, or default values if set to nullptr.
Methods
virtual void navigate(const NavInput& ni, NavOutput& no)
Invokes the holonomic navigation algorithm itself.
See the description of the input/output structures for details on each parameter.
virtual void initialize(const mrpt::config::CConfigFileBase& c)
Initialize the parameters of the navigator, reading from the default section name (see derived classes) or the one set via setConfigFileSectionName()
virtual void saveConfigFile(mrpt::config::CConfigFileBase& c) const
saves all available parameters, in a forma loadable by initialize()
virtual double getTargetApproachSlowDownDistance() const
Returns the actual value of this parameter [m], as set via the children class options structure.
See also:
setTargetApproachSlowDownDistance()
virtual void setTargetApproachSlowDownDistance(const double dist)
Sets the actual value of this parameter [m].
See also: