38 virtual void loadDefaultParams() MRPT_OVERRIDE;
39 virtual
bool supportVelCmdNOP() const MRPT_OVERRIDE;
40 virtual
double maxTimeInVelCmdNOP(
int path_k) const MRPT_OVERRIDE;
42 std::
string getDescription() const MRPT_OVERRIDE;
43 bool inverseMap_WS2TP(
double x,
double y,
int &out_k,
double &out_d,
double tolerance_dist = 0.10) const MRPT_OVERRIDE;
44 bool PTG_IsIntoDomain(
double x,
double y ) const MRPT_OVERRIDE;
45 void onNewNavDynamicState() MRPT_OVERRIDE;
48 virtual
mrpt::kinematics::CVehicleVelCmdPtr directionToMotionCommand(uint16_t k) const MRPT_OVERRIDE;
49 virtual
mrpt::kinematics::CVehicleVelCmdPtr getSupportedKinematicVelocityCommand() const MRPT_OVERRIDE;
51 size_t getPathStepCount(uint16_t k) const MRPT_OVERRIDE;
52 void getPathPose(uint16_t k, uint32_t step,
mrpt::math::TPose2D &p) const MRPT_OVERRIDE;
53 double getPathDist(uint16_t k, uint32_t step) const MRPT_OVERRIDE;
54 bool getPathStepForDist(uint16_t k,
double dist, uint32_t &out_step) const MRPT_OVERRIDE;
55 double getPathStepDuration() const MRPT_OVERRIDE;
56 double getMaxLinVel() const MRPT_OVERRIDE {
return V_MAX; }
59 void updateTPObstacle(
double ox,
double oy, std::vector<double> &tp_obstacles)
const MRPT_OVERRIDE;
60 void updateTPObstacleSingle(
double ox,
double oy, uint16_t k,
double &tp_obstacle_k)
const MRPT_OVERRIDE;
70 std::string expr_V,
expr_W, expr_T_ramp;
77 double internal_get_v(
const double dir)
const;
78 double internal_get_w(
const double dir)
const;
79 double internal_get_T_ramp(
const double dir)
const;
81 void internal_construct_exprs();
83 void internal_processNewRobotShape() MRPT_OVERRIDE;
84 void internal_initialize(const
std::
string & cacheFilename =
std::
string(), const
bool verbose = true) MRPT_OVERRIDE;
85 void internal_deinitialize() MRPT_OVERRIDE;
90 static
double calc_trans_distance_t_below_Tramp(
double k2,
double k4,
double vxi,
double vyi,
double t);
92 static
double calc_trans_distance_t_below_Tramp_abc(
double t,
double a,
double b,
double c);
double getMaxAngVel() const MRPT_OVERRIDE
Returns the maximum angular velocity expected from this PTG [rad/s].
Base class for all PTGs using a 2D circular robot shape model.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
double turningRadiusReference
mrpt::math::CRuntimeCompiledExpression m_expr_w
EIGEN_STRONG_INLINE const AdjointReturnType t() const
Transpose.
A wrapper of exprtk runtime expression compiler: it takes a string representing an expression (from a...
This class allows loading and storing values and vectors of different types from a configuration text...
This is the base class for any user-defined PTG.
A PTG for circular-shaped robots with holonomic kinematics.
#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...
std::vector< int > m_pathStepCountCache
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...
static double PATH_TIME_STEP
Duration of each PTG "step" (default: 10e-3=10 ms)
x y t t *t x y t t t x y t t t x *y t *t t x *y t *t t x y t t t x y t t t x(y+z)
static double eps
Mathematical "epsilon", to detect ill-conditioned situations (e.g. 1/0) (Default: 1e-4) ...
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)