orocos_kdl
path_circle.hpp
Go to the documentation of this file.
1 /***************************************************************************
2  tag: Erwin Aertbelien Mon Jan 10 16:38:39 CET 2005 path_circle.h
3 
4  path_circle.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_circle.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_circle.h,v 1.1.1.1.2.3 2003/07/24 13:26:15 psoetens Exp $
42  * $Name: $
43  ****************************************************************************/
44 
45 #ifndef KDL_MOTION_PATHCIRCLE_H
46 #define KDL_MOTION_PATHCIRCLE_H
47 
48 #include "path.hpp"
50 
51 
52 namespace KDL {
53 
54 
60 class Path_Circle : public Path
61  {
62 
63  // Orientatie gedeelte
64  RotationalInterpolation* orient;
65 
66  // Circular gedeelte
67  double radius;
68  Frame F_base_center;
69 
70  // equivalent radius
71  double eqradius;
72 
73  // verdeling baanlengte over pos/rot
74  double pathlength;
75  double scalelin;
76  double scalerot;
77 
78  bool aggregate;
79 
80  public:
81 
87  Path_Circle(const Frame& F_base_start,const Vector& V_base_center,
88  const Vector& V_base_p,
89  const Rotation& R_base_end,
90  double alpha,
91  RotationalInterpolation* otraj,
92  double eqradius,
93  bool _aggregate=true);
94 
95  double LengthToS(double length);
96 
97  virtual double PathLength();
98  virtual Frame Pos(double s) const;
99  virtual Twist Vel(double s,double sd) const;
100  virtual Twist Acc(double s,double sd,double sdd) const;
101  virtual Path* Clone();
102  virtual void Write(std::ostream& os);
103 
107  virtual IdentifierType getIdentifier() const {
108  return ID_CIRCLE;
109  }
110 
111  virtual ~Path_Circle();
112  };
113 
114 
115 }
116 
117 
118 #endif
KDL::Path_Circle::Write
virtual void Write(std::ostream &os)
Definition: path_circle.cpp:196
KDL::Path_Circle::F_base_center
Frame F_base_center
Definition: path_circle.hpp:146
KDL::Path_Circle::Vel
virtual Twist Vel(double s, double sd) const
Definition: path_circle.cpp:155
KDL::Path_Circle::Acc
virtual Twist Acc(double s, double sd, double sdd) const
Definition: path_circle.cpp:163
KDL
Definition: kukaLWR_DHnew.cpp:25
KDL::Path_Circle::~Path_Circle
virtual ~Path_Circle()
Definition: path_circle.cpp:191
KDL::Path_Circle::aggregate
bool aggregate
Definition: path_circle.hpp:156
KDL::Twist
represents both translational and rotational velocities.
Definition: frames.hpp:723
KDL::Path_Circle::orient
RotationalInterpolation * orient
Definition: path_circle.hpp:142
std::ostream
KDL::Path::IdentifierType
IdentifierType
Definition: path.hpp:137
KDL::Path_Circle::pathlength
double pathlength
Definition: path_circle.hpp:152
KDL::Path_Circle::PathLength
virtual double PathLength()
Definition: path_circle.cpp:143
KDL::Path_Circle::radius
double radius
Definition: path_circle.hpp:145
KDL::Path_Circle::getIdentifier
virtual IdentifierType getIdentifier() const
Definition: path_circle.hpp:185
KDL::Path_Circle::Path_Circle
Path_Circle(const Frame &F_base_start, const Vector &V_base_center, const Vector &V_base_p, const Rotation &R_base_end, double alpha, RotationalInterpolation *otraj, double eqradius, bool _aggregate=true)
Definition: path_circle.cpp:86
KDL::Path_Circle::eqradius
double eqradius
Definition: path_circle.hpp:149
KDL::Path_Circle::Clone
virtual Path * Clone()
Definition: path_circle.cpp:178
path.hpp
rotational_interpolation.hpp
KDL::Path
Definition: path.hpp:96
KDL::Path_Circle::scalerot
double scalerot
Definition: path_circle.hpp:154
KDL::Path_Circle::LengthToS
double LengthToS(double length)
Definition: path_circle.cpp:138
KDL::Path_Circle::Pos
virtual Frame Pos(double s) const
Definition: path_circle.cpp:147
KDL::Path::ID_CIRCLE
@ ID_CIRCLE
Definition: path.hpp:177
KDL::Path_Circle::scalelin
double scalelin
Definition: path_circle.hpp:153