class mrpt::nav::CHolonomicND
Overview
An implementation of the holonomic reactive navigation method “Nearness-Diagram”.
The algorithm “Nearness-Diagram” was proposed in:
Nearness diagram (ND) navigation: collision avoidance in troublesome scenarios, IEEE Transactions on Robotics and Automation, Minguez, J. and Montano, L., vol. 20, no. 1, pp. 45-59, 2004.
These are the optional parameters of the method which can be set by means of a configuration file passed to the constructor or to CHolonomicND::initialize() or directly in CHolonomicND::options
# Section name can be changed via setConfigFileSectionName() [ND_CONFIG] factorWeights=1.0 0.5 2.0 0.4 // 1: Free space // 2: Dist. in sectors // 3: Closer to target (euclidean) // 4: Hysteresis WIDE_GAP_SIZE_PERCENT = 0.25 MAX_SECTOR_DIST_FOR_D2_PERCENT = 0.25 RISK_EVALUATION_SECTORS_PERCENT = 0.25 RISK_EVALUATION_DISTANCE = 0.15 // In normalized ps-meters [0,1] TARGET_SLOW_APPROACHING_DISTANCE = 0.60 // For stopping gradually TOO_CLOSE_OBSTACLE = 0.02 // In normalized ps-meters
See also:
CAbstractHolonomicReactiveMethod, CReactiveNavigationSystem
#include <mrpt/nav/holonomic/CHolonomicND.h> class CHolonomicND: public mrpt::nav::CAbstractHolonomicReactiveMethod { public: // typedefs typedef std::vector<TGap> TGapArray; // enums enum TSituations; // structs struct TGap; struct TOptions; // fields TOptions options; // construction CHolonomicND(const mrpt::config::CConfigFileBase* INI_FILE = nullptr); // methods virtual void navigate(const NavInput& ni, NavOutput& no); virtual void initialize(const mrpt::config::CConfigFileBase& INI_FILE); 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 CHolonomicND::initialize or options.loadFromConfigFile(), etc.)
Construction
CHolonomicND(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& INI_FILE)
Initialize the parameters of the navigator.
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: