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
65 
66  // Circular gedeelte
67  double radius;
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,
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
represents rotations in 3 dimensional space.
Definition: frames.hpp:303
virtual void Write(std::ostream &os)
virtual double PathLength()
virtual Twist Vel(double s, double sd) const
double LengthToS(double length)
virtual Frame Pos(double s) const
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:48
virtual Path * Clone()
represents both translational and rotational velocities.
Definition: frames.hpp:723
A concrete implementation of a 3 dimensional vector class.
Definition: frames.hpp:162
RotationalInterpolation * orient
Definition: path_circle.hpp:64
virtual IdentifierType getIdentifier() const
IdentifierType
Definition: path.hpp:61
virtual Twist Acc(double s, double sd, double sdd) const
virtual ~Path_Circle()
represents a frame transformation in 3D space (rotation + translation)
Definition: frames.hpp:572


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