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



Page generated by Doxygen 1.8.17 for MRPT 2.0.3 at Thu May 21 21:53:32 UTC 2020