10 #define CHolonomicND_H 77 SITUATION_TARGET_DIRECTLY = 1,
80 SITUATION_NO_WAY_FOUND
109 unsigned int direction2sector(
const double a,
const unsigned int N);
114 const std::vector<double> & obstacles,
122 const std::vector<double> & in_obstacles,
123 const double in_maxObsRange,
126 unsigned int & out_selDirection,
127 double & out_selEvaluation,
129 double & out_riskEvaluation,
130 CLogFileRecord_NDPtr log);
134 void calcRepresentativeSectorForGap(
137 const std::vector<double> & obstacles);
142 const std::vector<double> & in_obstacles,
143 const double in_maxObsRange,
145 const unsigned int TargetSector,
146 const float TargetDist,
147 std::vector<double> & out_gaps_evaluation );
double getTargetApproachSlowDownDistance() const MRPT_OVERRIDE
Returns the actual value of this parameter [m], as set via the children class options structure...
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
An implementation of the holonomic reactive navigation method "Nearness-Diagram". ...
unsigned int m_last_selected_sector
double RISK_EVALUATION_DISTANCE
A base class for holonomic reactive navigation methods.
vector_int gaps_ini
Member data.
std::vector< TGap > TGapArray
CHolonomicND::TSituations situation
Only specializations of this class are defined for each enum type of interest.
double WIDE_GAP_SIZE_PERCENT
This class allows loading and storing values and vectors of different types from a configuration text...
TOptions options
Parameters of the algorithm (can be set manually or loaded from CHolonomicND::initialize or options...
unsigned int representative_sector
#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...
A base class for log records for different holonomic navigation methods.
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
std::vector< double > factorWeights
Vector of 4 weights: [0]=Free space, [1]=Dist. in sectors, [2]=Closer to target (Euclidean), [3]=Hysteresis.
static void fill(bimap< enum_t, std::string > &m_map)
GLsizei const GLchar ** string
void setTargetApproachSlowDownDistance(const double dist) MRPT_OVERRIDE
Sets the actual value of this parameter [m].
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...
nav::CHolonomicND::TSituations enum_t
The structure used to store a detected gap in obstacles.
double TARGET_SLOW_APPROACHING_DISTANCE
A class for storing extra information about the execution of CHolonomicND navigation.
GLsizei GLsizei GLchar * source
std::vector< int32_t > vector_int
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map.
std::vector< double > gaps_eval
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
GLubyte GLubyte GLubyte a
Output for CAbstractHolonomicReactiveMethod::navigate()
TSituations
The set of posible situations for each trajectory.
This is a virtual base class for sets of options than can be loaded from and/or saved to configuratio...