Go to the documentation of this file.
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();
139 virtual void navigate(
const TNavigationParams *params )=0;
142 virtual void suspend();
161 virtual void performNavigationStep( )=0;
This base class provides a common printf-like method to send debug information to std::cout,...
TState
The different states for the navigation system.
#define MRPT_UNUSED_PARAM(a)
Can be used to avoid "not used parameters" warnings from the compiler.
mrpt::math::TPoint2D target
Coordinates of desired target location.
CReactiveInterfaceImplementation & m_robot
The navigator-robot interface.
This is the base class for any reactive navigation system.
TState getCurrentState() const
Returns the current navigator state.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
virtual bool stopWatchdog()
Stop the watchdog timer.
bool targetIsRelative
(Default=false) Whether the target coordinates are in global coordinates (false) or are relative to t...
virtual void sendNavigationEndEvent()
virtual void sendWaySeemsBlockedEvent()
double targetHeading
Target location (heading, in radians).
#define MRPT_MAKE_ALIGNED_OPERATOR_NEW
A class used to store a 2D pose.
TNavigationParams * m_navigationParams
Current navigation parameters.
virtual TNavigationParams * clone() const
A cloud of points in 2D or 3D, which can be built from a sequence of laser scans.
virtual ~TNavigationParams()
TState m_navigationState
Current internal state of navigator:
The pure virtual class that a user of CAbstractReactiveNavigationSystem-derived classes must implemen...
virtual bool stop()
Stop the robot right now.
virtual void sendNavigationStartEvent()
virtual void notifyHeadingDirection(const double heading_dir_angle)
virtual bool startWatchdog(float T_ms)
Start the watchdog timer of the robot platform, if any.
virtual void sendNavigationEndDueToErrorEvent()
float targetAllowedDistance
Allowed distance to target in order to end the navigation.
The struct for configuring navigation requests.
TState m_lastNavigationState
Last internal state of navigator:
Page generated by Doxygen 1.8.17 for MRPT 1.4.0 SVN: at Tue Mar 3 09:15:16 UTC 2020 | | |