9 #ifndef CAbstractHolonomicReactiveMethod_H
10 #define CAbstractHolonomicReactiveMethod_H
45 public
mrpt::utils::CSerializable
57 std::vector<mrpt::math::TPoint2D>
targets;
87 void setConfigFileSectionName(
const std::string §Name);
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
#define DEFINE_VIRTUAL_SERIALIZABLE(class_name)
This declaration must be inserted in virtual CSerializable classes definition:
#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 holonomic reactive navigation methods.
std::string m_cfgSectionName
used in setConfigFileSectionName(), initialize()
virtual void setTargetApproachSlowDownDistance(const double dist)=0
Sets the actual value of this parameter [m].
mrpt::nav::CParameterizedTrajectoryGenerator * m_associatedPTG
If applicable, this will contain the argument of the most recent call to setAssociatedPTG()
virtual void initialize(const mrpt::utils::CConfigFileBase &c)=0
Initialize the parameters of the navigator, reading from the default section name (see derived classe...
virtual void saveConfigFile(mrpt::utils::CConfigFileBase &c) const =0
saves all available parameters, in a forma loadable by initialize()
virtual void navigate(const NavInput &ni, NavOutput &no)=0
Invokes the holonomic navigation algorithm itself.
void enableApproachTargetSlowDown(bool enable)
virtual double getTargetApproachSlowDownDistance() const =0
Returns the actual value of this parameter [m], as set via the children class options structure.
bool m_enableApproachTargetSlowDown
Whether to decrease speed when approaching target.
This is the base class for any user-defined PTG.
Clearance information for one particular PTG and one set of obstacles.
This class allows loading and storing values and vectors of different types from a configuration text...
The virtual base class which provides a unified interface for all persistent objects in MRPT.
A bidirectional version of std::map, declared as bimap<KEY,VALUE> and which actually contains two std...
void insert(const KEY &k, const VALUE &v)
Insert a new pair KEY<->VALUE in the bi-map.
GLsizei const GLchar ** string
THolonomicMethod
The implemented reactive navigation methods.
@ hmSEARCH_FOR_BEST_GAP
CHolonomicND.
@ hmVIRTUAL_FORCE_FIELDS
CHolonomicVFF.
@ hmFULL_EVAL
CHolonomicFullEval.
#define MRPT_NO_THROWS
C++11 noexcept: Used after member declarations.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Output for CAbstractHolonomicReactiveMethod::navigate()
CHolonomicLogFileRecordPtr logRecord
The navigation method will create a log record and store it here via a smart pointer.
double desiredDirection
The desired motion direction, in the range [-PI, PI].
double desiredSpeed
The desired motion speed in that direction, from 0 up to NavInput::maxRobotSpeed.
nav::THolonomicMethod enum_t
static void fill(bimap< enum_t, std::string > &m_map)
Only specializations of this class are defined for each enum type of interest.