class mrpt::nav::CHolonomicVFF

A holonomic reactive navigation method, based on Virtual Force Fields (VFF).

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 (see also the field CHolonomicVFF::options).

# Section name can be changed via setConfigFileSectionName()
[VFF_CONFIG]
TARGET_SLOW_APPROACHING_DISTANCE = 0.10  // For stopping gradually
TARGET_ATTRACTIVE_FORCE          = 20    // Dimension-less (may have to be
tuned depending on the density of obstacle sampling)

See also:

CAbstractHolonomicReactiveMethod, CReactiveNavigationSystem

#include <mrpt/nav/holonomic/CHolonomicVFF.h>

class CHolonomicVFF: public mrpt::nav::CAbstractHolonomicReactiveMethod
{
public:
    // structs

    struct TOptions;

    //
fields

    TOptions options;

    // construction

    CHolonomicVFF(const mrpt::config::CConfigFileBase* INI_FILE = nullptr);

    //
methods

    virtual void navigate(const NavInput& ni, NavOutput& no);
    virtual void initialize(const mrpt::config::CConfigFileBase& c);
    virtual void saveConfigFile(mrpt::config::CConfigFileBase& c) const;
    virtual double getTargetApproachSlowDownDistance() const;
    virtual void setTargetApproachSlowDownDistance(const double dist);
    void enableApproachTargetSlowDown(bool enable);
    static CAbstractHolonomicReactiveMethod::Ptr Factory(const std::string& className);
};

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 CHolonomicVFF::initialize or options.loadFromConfigFile(), etc.)

Construction

CHolonomicVFF(const mrpt::config::CConfigFileBase* INI_FILE = nullptr)

Initialize the parameters of the navigator, from some configuration file, or default values if set to NULL.

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& c)

Initialize the parameters of the navigator, reading from the default section name (see derived classes) or the one set via setConfigFileSectionName()

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:

getTargetApproachSlowDownDistance()