velocityprofile.hpp
Go to the documentation of this file.
1 /***************************************************************************
2  tag: Erwin Aertbelien Mon Jan 10 16:38:38 CET 2005 velocityprofile.h
3 
4  velocityprofile.h - description
5  -------------------
6  begin : Mon January 10 2005
7  copyright : (C) 2005 Erwin Aertbelien
8  email : erwin.aertbelien@mech.kuleuven.ac.be
9 
10  ***************************************************************************
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU Lesser General Public *
13  * License as published by the Free Software Foundation; either *
14  * version 2.1 of the License, or (at your option) any later version. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19  * Lesser General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU Lesser General Public *
22  * License along with this library; if not, write to the Free Software *
23  * Foundation, Inc., 59 Temple Place, *
24  * Suite 330, Boston, MA 02111-1307 USA *
25  * *
26  ***************************************************************************/
27 
28 
29 /*****************************************************************************
30  *
31  * \author
32  * Erwin Aertbelien, Div. PMA, Dep. of Mech. Eng., K.U.Leuven
33  *
34  * \version
35  * ORO_Geometry V0.2
36  *
37  * \par History
38  * - $log$
39  *
40  * \par Release
41  * $Id: velocityprofile.h,v 1.1.1.1.2.5 2003/07/24 13:26:15 psoetens Exp $
42  * $Name: $
43  ****************************************************************************/
44 
45 #ifndef KDL_VELOCITYPROFILE_H
46 #define KDL_VELOCITYPROFILE_H
47 
48 #include "utilities/utility.h"
49 #include "utilities/utility_io.h"
50 
51 
52 namespace KDL {
53 
54 
63  {
64  public:
65  // trajectory parameters are set in constructor of
66  // derived class
67 
68  virtual void SetProfile(double pos1,double pos2) = 0;
69  // sets a trajectory from pos1 to pos2 as fast as possible
70 
71  virtual void SetProfileDuration(
72  double pos1,double pos2,double duration) = 0;
73  // Sets a trajectory from pos1 to pos2 in <duration> seconds.
74  // @post new.Duration() will not be shorter than the one obtained
75  // from SetProfile(pos1,pos2).
76 
77 
78  virtual double Duration() const = 0;
79  // returns the duration of the motion in [sec]
80 
81  virtual double Pos(double time) const = 0;
82  // returns the position at <time> in the units of the input
83  // of the constructor of the derived class.
84 
85  virtual double Vel(double time) const = 0;
86  // returns the velocity at <time> in the units of the input
87  // of the constructor of the derived class.
88 
89  virtual double Acc(double time) const = 0;
90  // returns the acceleration at <time> in the units of the input
91  // of the constructor of the derived class.
92 
93  virtual void Write(std::ostream& os) const = 0;
94  // Writes object to a stream.
95 
96  static VelocityProfile* Read(std::istream& is);
97  // reads a VelocityProfile object from the stream and returns it.
98 
99  virtual VelocityProfile* Clone() const = 0;
100  // returns copy of current VelocityProfile object. (virtual constructor)
101 
102  virtual ~VelocityProfile() {}
103  };
104 }
105 
106 
107 #endif
virtual void Write(std::ostream &os) const =0
virtual double Pos(double time) const =0
static VelocityProfile * Read(std::istream &is)
virtual void SetProfileDuration(double pos1, double pos2, double duration)=0
virtual double Acc(double time) const =0
virtual VelocityProfile * Clone() const =0
virtual double Duration() const =0
virtual double Vel(double time) const =0
virtual void SetProfile(double pos1, double pos2)=0


orocos_kdl
Author(s):
autogenerated on Thu Apr 13 2023 02:19:14