10 #define CHolonomicND_H
68 const std::vector<float> &obstacles,
70 double &desiredDirection,
72 CHolonomicLogFileRecordPtr &logRecord );
91 SITUATION_TARGET_DIRECTLY = 1,
94 SITUATION_NO_WAY_FOUND
101 options.loadFromConfigFile(INI_FILE, std::string(
"ND_CONFIG"));
123 unsigned int direction2sector(
const double a,
const unsigned int N);
128 const std::vector<float> & obstacles,
136 const std::vector<float> & in_obstacles,
137 const double in_maxObsRange,
138 const TGapArray & in_gaps,
140 unsigned int & out_selDirection,
141 double & out_selEvaluation,
143 double & out_riskEvaluation,
144 CLogFileRecord_NDPtr log);
148 void calcRepresentativeSectorForGap(
151 const std::vector<float> & obstacles);
156 const std::vector<float> & in_obstacles,
157 const float in_maxObsRange,
158 const TGapArray & in_gaps,
159 const unsigned int TargetSector,
160 const float TargetDist,
161 std::vector<double> & out_gaps_evaluation );
vector_int gaps_ini
Member data.
double RISK_EVALUATION_DISTANCE
An implementation of the holonomic reactive navigation method "Nearness-Diagram". ...
double WIDE_GAP_SIZE_PERCENT
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
double TARGET_SLOW_APPROACHING_DISTANCE
void initialize(const mrpt::utils::CConfigFileBase &INI_FILE)
Initialize the parameters of the navigator.
TOptions options
Parameters of the algorithm (can be set manually or loaded from CHolonomicND::initialize or options...
TSituations
The set of posible situations for each trajectory.
Only specializations of this class are defined for each enum type of interest.
This class allows loading and storing values and vectors of different types from a configuration text...
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
unsigned int m_last_selected_sector
A bidirectional version of std::map, declared as bimap and which actually contains two std...
reactivenav::CHolonomicND::TSituations enum_t
A base class for holonomic reactive navigation methods.
static void fill(bimap< enum_t, std::string > &m_map)
std::vector< TGap > TGapArray
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
The structure used to store a detected gap in obstacles.
std::vector< double > factorWeights
Vector of 4 weights: [0]=Free space, [1]=Dist. in sectors, [2]=Closer to target (Euclidean), [3]=Hysteresis.
#define REACTIVENAV_IMPEXP
std::vector< int32_t > vector_int
unsigned int representative_sector
CHolonomicND::TSituations situation
A class for storing extra information about the execution of CHolonomicND navigation.
std::vector< double > gaps_eval
A base class for log records for different holonomic navigation methods.
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...