Main MRPT website > C++ reference for MRPT 1.5.6
CPTG_DiffDrive_CS.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 
13 namespace mrpt
14 {
15  namespace nav
16  {
17  DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(CPTG_DiffDrive_CS, CParameterizedTrajectoryGenerator, NAV_IMPEXP)
18 
19  /** A PTG for optimal paths of type "CS", as named in PTG papers.
20  * - **Compatible kinematics**: differential-driven / Ackermann steering
21  * - **Compatible robot shape**: Arbitrary 2D polygon
22  * - **PTG parameters**: Use the app `ptg-configurator`
23  *
24  * See "Obstacle Distance for Car-Like Robots", IEEE Trans. Rob. And Autom, 1999.
25  * \note [Before MRPT 1.5.0 this was named CPTG5]
26  * \ingroup nav_tpspace
27  */
29  {
31  public:
32  CPTG_DiffDrive_CS() : R(0),K(0) {}
34  loadFromConfigFile(cfg,sSection);
35  }
36  virtual void loadFromConfigFile(const mrpt::utils::CConfigFileBase &cfg,const std::string &sSection) MRPT_OVERRIDE;
37  virtual void saveToConfigFile(mrpt::utils::CConfigFileBase &cfg,const std::string &sSection) const MRPT_OVERRIDE;
38 
39  std::string getDescription() const MRPT_OVERRIDE;
40  bool PTG_IsIntoDomain( double x, double y ) const MRPT_OVERRIDE;
41  void ptgDiffDriveSteeringFunction( float alpha, float t,float x, float y, float phi, float &v, float &w ) const MRPT_OVERRIDE;
42  void loadDefaultParams() MRPT_OVERRIDE;
43 
44  protected:
45  double R,K;
46  };
48 
49  }
50 }
GLclampf GLclampf GLclampf alpha
Definition: glext.h:3510
GLdouble GLdouble t
Definition: glext.h:3610
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:3962
This class allows loading and storing values and vectors of different types from a configuration text...
This is the base class for any user-defined PTG.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
GLsizei const GLchar ** string
Definition: glext.h:3919
CPTG_DiffDrive_CS(const mrpt::utils::CConfigFileBase &cfg, const std::string &sSection)
const GLdouble * v
Definition: glext.h:3603
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
const float R
A PTG for optimal paths of type "CS", as named in PTG papers.
Base class for all PTGs suitable to non-holonomic, differentially-driven (or Ackermann) vehicles base...
GLenum GLint GLint y
Definition: glext.h:3516
GLenum GLint x
Definition: glext.h:3516
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)



Page generated by Doxygen 1.8.14 for MRPT 1.5.6 Git: 4c65e8431 Tue Apr 24 08:18:17 2018 +0200 at lun oct 28 01:35:26 CET 2019