Main MRPT website > C++ reference for MRPT 1.5.7
CNavigatorManualSequence.h
Go to the documentation of this file.
1 /* +---------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2017, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +---------------------------------------------------------------------------+ */
9 #pragma once
10 
12 #include <map>
13 #include <mrpt/utils/CTicTac.h>
14 
15 namespace mrpt {
16 namespace nav
17 {
18  /** "Fake navigator" for tests: it just sends out a pre-programmed sequence of commands to the robot.
19  * For a short discussion of the API, see CNavigatorVirtualBase
20  */
22  {
23  public:
24  CNavigatorManualSequence( CRobot2NavInterface &react_iterf_impl );
25  virtual ~CNavigatorManualSequence();
26 
27  /** @name Initialization API
28  * @{ */
29  virtual void loadConfigFile(const mrpt::utils::CConfigFileBase &c) MRPT_OVERRIDE; // See base class docs!
30  virtual void saveConfigFile(mrpt::utils::CConfigFileBase &c) const MRPT_OVERRIDE; // See base class docs!
31  void initialize() MRPT_OVERRIDE; //!< Must be called for loading collision grids, etc. before invoking any navigation command
32  /** @} */
33 
34  /** Overriden in this class to ignore the cancel/pause/... commands */
35  void navigationStep() MRPT_OVERRIDE;
36 
37  struct TVelCmd
38  {
39  mrpt::kinematics::CVehicleVelCmdPtr cmd_vel; //!< all with the same meaning than in CRobot2NavInterface::changeSpeeds()
40  };
41 
42  std::map<double,TVelCmd> programmed_orders; //!< map [time_in_secs_since_beginning] -> orders.
43 
44  protected:
46 
47  private:
48  // Not used in this class:
49  virtual void navigate( const TNavigationParams *params ) MRPT_OVERRIDE { }
50  virtual void performNavigationStep( ) MRPT_OVERRIDE { }
51  };
52 }
53 }
54 
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
"Fake navigator" for tests: it just sends out a pre-programmed sequence of commands to the robot...
virtual void navigate(const TNavigationParams *params) MRPT_OVERRIDE
Navigation request to a single target location.
This class allows loading and storing values and vectors of different types from a configuration text...
virtual void performNavigationStep() MRPT_OVERRIDE
To be implemented in derived classes.
The struct for configuring navigation requests.
const GLubyte * c
Definition: glext.h:5590
std::map< double, TVelCmd > programmed_orders
map [time_in_secs_since_beginning] -> orders.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
virtual void onStartNewNavigation() MRPT_OVERRIDE
Called whenever a new navigation has been started.
mrpt::kinematics::CVehicleVelCmdPtr cmd_vel
all with the same meaning than in CRobot2NavInterface::changeSpeeds()
The pure virtual interface between a real or simulated robot and any CAbstractNavigator-derived class...
This is the base class for any reactive/planned navigation system.
GLenum const GLfloat * params
Definition: glext.h:3514



Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 8277875f6 Mon Jun 11 02:47:32 2018 +0200 at lun oct 28 01:50:49 CET 2019