Orocos KDL
path_line.hpp
1/***************************************************************************
2 tag: Erwin Aertbelien Mon Jan 10 16:38:39 CET 2005 path_line.h
3
4 path_line.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* ALTERNATIVE FOR trajectory_line.h/cpp
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: path_line.h,v 1.1.1.1.2.3 2003/07/24 13:26:15 psoetens Exp $
42 * $Name: $
43 ****************************************************************************/
44
45#ifndef KDL_MOTION_PATH_LINE_H
46#define KDL_MOTION_PATH_LINE_H
47
48#include "path.hpp"
49#include "rotational_interpolation.hpp"
50
51
52namespace KDL {
53
54
59class Path_Line : public Path
60 {
61 // Orientatie gedeelte
63
64 // Lineair gedeelte
65 Vector V_base_start;
66 Vector V_base_end;
67 Vector V_start_end;
68
69 double eqradius; // equivalent radius
70
71 // verdeling baanlengte over pos/rot
72 double pathlength;
73 double scalelin;
74 double scalerot;
75
76 bool aggregate;
77 public:
107 Path_Line(const Frame& F_base_start,
108 const Frame& F_base_end,
110 double eqradius,
111 bool _aggregate=true);
112 Path_Line(const Frame& F_base_start,
113 const Twist& twist_in_base,
115 double eqradius,
116 bool _aggregate=true);
117 double LengthToS(double length);
118 virtual double PathLength();
119 virtual Frame Pos(double s) const;
120 virtual Twist Vel(double s,double sd) const ;
121 virtual Twist Acc(double s,double sd,double sdd) const;
122 virtual void Write(std::ostream& os);
123 virtual Path* Clone();
124
129 return ID_LINE;
130 }
131 virtual ~Path_Line();
132 };
133
134
135}
136
137
138#endif
represents a frame transformation in 3D space (rotation + translation)
Definition frames.hpp:572
virtual Twist Vel(double s, double sd) const
Path_Line(const Frame &F_base_start, const Frame &F_base_end, RotationalInterpolation *orient, double eqradius, bool _aggregate=true)
virtual double PathLength()
virtual Path * Clone()
double LengthToS(double length)
virtual void Write(std::ostream &os)
virtual Twist Acc(double s, double sd, double sdd) const
Path_Line(const Frame &F_base_start, const Twist &twist_in_base, RotationalInterpolation *orient, double eqradius, bool _aggregate=true)
virtual IdentifierType getIdentifier() const
Definition path_line.hpp:128
virtual Frame Pos(double s) const
virtual ~Path_Line()
Definition path.hpp:59
IdentifierType
Definition path.hpp:61
@ ID_LINE
Definition path.hpp:62
Definition rotational_interpolation.hpp:63
represents both translational and rotational velocities.
Definition frames.hpp:723
A concrete implementation of a 3 dimensional vector class.
Definition frames.hpp:163
Definition articulatedbodyinertia.hpp:32