Go to the documentation of this file.
9 #ifndef CAbstractReactiveNavigationSystem_H
10 #define CAbstractReactiveNavigationSystem_H
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; }
void navigationStep()
This method must be called periodically in order to effectively run the navigation.
This base class provides a common printf-like method to send debug information to std::cout,...
void resume()
Continues with suspended navigation.
virtual bool getCurrentPoseAndSpeeds(mrpt::poses::CPose2D &curPose, float &curV, float &curW)=0
Get the current pose and speeds of the robot.
TState
The different states for the navigation system.
virtual void suspend()
Suspend current navegation.
void cancel()
Cancel current navegacion.
#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.
virtual bool senseObstacles(mrpt::maps::CSimplePointsMap &obstacles)=0
Return the current set of obstacle points, as seen from the local coordinate frame of the robot.
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.
CAbstractReactiveNavigationSystem(CReactiveInterfaceImplementation &react_iterf_impl)
Constructor.
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
virtual void performNavigationStep()=0
To be implemented in derived classes.
A class used to store a 2D pose.
TNavigationParams * m_navigationParams
Current navigation parameters.
virtual void navigate(const TNavigationParams *params)=0
Navigation request.
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 ~CAbstractReactiveNavigationSystem()
Destructor.
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.
virtual bool changeSpeeds(float v, float w)=0
Change the instantaneous speeds of robot.
The struct for configuring navigation requests.
virtual std::string getAsText() const
Gets navigation params as a human-readable format.
TState m_lastNavigationState
Last internal state of navigator:
TNavigationParams()
Ctor with default values.
Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020 | | |