KDL
1.5.3
Toggle main menu visibility
Loading...
Searching...
No Matches
src
trajectory.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Erwin Aertbelien Mon Jan 10 16:38:39 CET 2005 trajectory.h
3
4
trajectory.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
* \author
31
* Erwin Aertbelien, Div. PMA, Dep. of Mech. Eng., K.U.Leuven
32
*
33
* \version
34
* ORO_Geometry V0.2
35
*
36
* \par History
37
* - $log$
38
*
39
* \par Release
40
* $Id: trajectory.h,v 1.1.1.1.2.5 2003/07/23 16:44:25 psoetens Exp $
41
* $Name: $
42
* \todo
43
* Peter's remark : should separate I/O from other routines in the
44
* motion/chain directories
45
* The problem is that the I/O uses virtual inheritance to write
46
* the trajectories/geometries/velocityprofiles/...
47
* Have no good solution for this, perhaps
48
* * #ifdef's
49
* * declaring dummy ostream/istream and change implementation file .cpp
50
* * declaring some sort of VISITOR object (containing an ostream) ,
51
* the classes contain code to pass this object around along its children
52
* a subroutine can then be called with overloading.
53
* PROBLEM : if you declare a friend you have to fully declare it ==> exposing I/O with ostream/istream decl
54
* CONSEQUENCE : everything has to be declared public.
55
****************************************************************************/
56
57
#ifndef TRAJECTORY_H
58
#define TRAJECTORY_H
59
60
#include "
frames.hpp
"
61
#include "
frames_io.hpp
"
62
#include "
path.hpp
"
63
#include "
velocityprofile.hpp
"
64
65
66
67
namespace
KDL
{
68
69
70
71
78
class
Trajectory
79
{
80
public
:
81
virtual
double
Duration
()
const
= 0;
82
// The duration of the trajectory
83
84
virtual
Frame
Pos
(
double
time)
const
= 0;
85
// Position of the trajectory at <time>.
86
87
virtual
Twist
Vel
(
double
time)
const
= 0;
88
// The velocity of the trajectory at <time>.
89
virtual
Twist
Acc
(
double
time)
const
= 0;
90
// The acceleration of the trajectory at <time>.
91
92
virtual
Trajectory
*
Clone
()
const
= 0;
93
virtual
void
Write
(std::ostream& os)
const
= 0;
94
static
Trajectory
*
Read
(std::istream& is);
95
virtual
~Trajectory
() {}
96
// note : you cannot declare this destructor abstract
97
// it is always called by the descendant's destructor !
98
};
99
100
101
102
}
103
104
105
#endif
KDL::Frame
Definition
frames.hpp:572
KDL::Trajectory
An abstract class that implements a trajectory contains a cartesian space trajectory and an underlyin...
Definition
trajectory.hpp:79
KDL::Trajectory::Vel
virtual Twist Vel(double time) const =0
KDL::Trajectory::Read
static Trajectory * Read(std::istream &is)
Definition
trajectory.cpp:56
KDL::Trajectory::~Trajectory
virtual ~Trajectory()
Definition
trajectory.hpp:95
KDL::Trajectory::Clone
virtual Trajectory * Clone() const =0
KDL::Trajectory::Acc
virtual Twist Acc(double time) const =0
KDL::Trajectory::Write
virtual void Write(std::ostream &os) const =0
KDL::Trajectory::Pos
virtual Frame Pos(double time) const =0
KDL::Trajectory::Duration
virtual double Duration() const =0
KDL::Twist
represents both translational and rotational velocities.
Definition
frames.hpp:723
frames.hpp
frames_io.hpp
Defines routines for I/O of Frame and related objects.
KDL
Definition
articulatedbodyinertia.cpp:26
path.hpp
velocityprofile.hpp
Generated by
1.17.0