105 const std::string& section)
override;
108 const std::string& section)
const override;
132 const std::vector<double>& obstacles,
138 const std::vector<double>& in_obstacles,
const double in_maxObsRange,
140 unsigned int& out_selDirection,
double& out_selEvaluation,
141 TSituations& out_situation,
double& out_riskEvaluation,
148 const std::vector<double>& obstacles);
153 const std::vector<double>& in_obstacles,
const double in_maxObsRange,
154 const TGapArray& in_gaps,
const unsigned int TargetSector,
155 const float TargetDist, std::vector<double>& out_gaps_evaluation);
void initialize(const mrpt::config::CConfigFileBase &INI_FILE) override
Initialize the parameters of the navigator.
void calcRepresentativeSectorForGap(TGap &gap, const mrpt::math::TPoint2D &target, const std::vector< double > &obstacles)
Fills in the representative sector field in the gap structure:
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...
An implementation of the holonomic reactive navigation method "Nearness-Diagram". ...
unsigned int m_last_selected_sector
void searchBestGap(const std::vector< double > &in_obstacles, const double in_maxObsRange, const TGapArray &in_gaps, const mrpt::math::TPoint2D &in_target, unsigned int &out_selDirection, double &out_selEvaluation, TSituations &out_situation, double &out_riskEvaluation, CLogFileRecord_ND &log)
Search the best gap.
double RISK_EVALUATION_DISTANCE
void saveToConfigFile(mrpt::config::CConfigFileBase &cfg, const std::string §ion) const override
This method saves the options to a ".ini"-like file or memory-stored string list. ...
A base class for holonomic reactive navigation methods.
CHolonomicND::TSituations situation
double WIDE_GAP_SIZE_PERCENT
void gapsEstimator(const std::vector< double > &obstacles, const mrpt::math::TPoint2D &in_target, TGapArray &gaps)
Find gaps in the obtacles.
void navigate(const NavInput &ni, NavOutput &no) override
Invokes the holonomic navigation algorithm itself.
std::vector< TGap > TGapArray
TOptions options
Parameters of the algorithm (can be set manually or loaded from CHolonomicND::initialize or options...
std::vector< int > gaps_end
unsigned int representative_sector
void loadFromConfigFile(const mrpt::config::CConfigFileBase &source, const std::string §ion) override
This method load the options from a ".ini"-like file or memory-stored string list.
This class allows loading and storing values and vectors of different types from a configuration text...
std::vector< int > gaps_ini
Member data.
A base class for log records for different holonomic navigation methods.
std::vector< double > factorWeights
Vector of 4 weights: [0]=Free space, [1]=Dist.
#define MRPT_ENUM_TYPE_END()
CHolonomicND(const mrpt::config::CConfigFileBase *INI_FILE=nullptr)
Initialize the parameters of the navigator, from some configuration file, or default values if set to...
void setTargetApproachSlowDownDistance(const double dist) override
Sets the actual value of this parameter [m].
double RISK_EVALUATION_SECTORS_PERCENT
MRPT_FILL_ENUM_MEMBER(CHolonomicND, SITUATION_TARGET_DIRECTLY)
double MAX_SECTOR_DIST_FOR_D2_PERCENT
The structure used to store a detected gap in obstacles.
double TARGET_SLOW_APPROACHING_DISTANCE
void evaluateGaps(const std::vector< double > &in_obstacles, const double in_maxObsRange, const TGapArray &in_gaps, const unsigned int TargetSector, const float TargetDist, std::vector< double > &out_gaps_evaluation)
Evaluate each gap:
A class for storing extra information about the execution of CHolonomicND navigation.
#define DEFINE_SERIALIZABLE(class_name, NS)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
#define MRPT_ENUM_TYPE_BEGIN(_ENUM_TYPE_WITH_NS)
std::vector< double > gaps_eval
Output for CAbstractHolonomicReactiveMethod::navigate()
double TOO_CLOSE_OBSTACLE
TSituations
The set of posible situations for each trajectory.
unsigned int direction2sector(const double a, const unsigned int N)
void saveConfigFile(mrpt::config::CConfigFileBase &c) const override
saves all available parameters, in a forma loadable by initialize()
double getTargetApproachSlowDownDistance() const override
Returns the actual value of this parameter [m], as set via the children class options structure...