9 #ifndef CAbstractReactiveNavigationSystem_H 10 #define CAbstractReactiveNavigationSystem_H 39 virtual bool getCurrentPoseAndSpeeds(
mrpt::poses::CPose2D &curPose,
float &curV,
float &curW) = 0;
46 virtual bool changeSpeeds(
float v,
float w ) = 0;
52 return changeSpeeds(0,0);
74 virtual void sendNavigationStartEvent () { std::cout <<
"[sendNavigationStartEvent] Not implemented by the user." << std::endl; }
75 virtual void sendNavigationEndEvent() { std::cout <<
"[sendNavigationEndEvent] Not implemented by the user." << std::endl; }
77 virtual void sendWaySeemsBlockedEvent() { std::cout <<
"[sendWaySeemsBlockedEvent] Not implemented by the user." << std::endl; }
116 virtual std::string getAsText()
const;
134 void navigationStep();
142 virtual void suspend();
161 virtual void performNavigationStep( )=0;
TState
The different states for the navigation system.
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
float targetAllowedDistance
Allowed distance to target in order to end the navigation.
mrpt::math::TPoint2D target
Coordinates of desired target location.
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans. ...
bool targetIsRelative
(Default=false) Whether the target coordinates are in global coordinates (false) or are relative to t...
This is the base class for any reactive navigation system.
virtual bool stop()
Stop the robot right now.
virtual void sendNavigationEndEvent()
TNavigationParams * m_navigationParams
Current navigation parameters.
virtual TNavigationParams * clone() const
TState getCurrentState() const
Returns the current navigator state.
#define MRPT_UNUSED_PARAM(a)
Can be used to avoid "not used parameters" warnings from the compiler.
CReactiveInterfaceImplementation & m_robot
The navigator-robot interface.
virtual bool startWatchdog(float T_ms)
Start the watchdog timer of the robot platform, if any.
virtual void sendWaySeemsBlockedEvent()
virtual ~TNavigationParams()
virtual void sendNavigationStartEvent()
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
A class used to store a 2D pose.
virtual void notifyHeadingDirection(const double heading_dir_angle)
TState m_navigationState
Current internal state of navigator:
virtual bool stopWatchdog()
Stop the watchdog timer.
The pure virtual class that a user of CAbstractReactiveNavigationSystem-derived classes must implemen...
TState m_lastNavigationState
Last internal state of navigator:
double targetHeading
Target location (heading, in radians).
This base class provides a common printf-like method to send debug information to std::cout...
virtual void sendNavigationEndDueToErrorEvent()
The struct for configuring navigation requests.