rotational_interpolation_sa.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  tag: Erwin Aertbelien Mon May 10 19:10:36 CEST 2004 rotational_interpolation_sa.cxx
3 
4  rotational_interpolation_sa.cxx - description
5  -------------------
6  begin : Mon May 10 2004
7  copyright : (C) 2004 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  * \author
29  * Erwin Aertbelien, Div. PMA, Dep. of Mech. Eng., K.U.Leuven
30  *
31  * \version
32  * ORO_Geometry V0.2
33  *
34  * \par History
35  * - $log$
36  *
37  * \par Release
38  * $Id: rotational_interpolation_singleaxis.cpp,v 1.1.1.1.2.2 2003/02/24 13:13:06 psoetens Exp $
39  * $Name: $
40  ****************************************************************************/
41 
42 
44 #include "trajectory.hpp"
45 
46 namespace KDL {
47 
48 
50  {}
51 
53  R_base_start = start;
54  R_base_end = end;
55  Rotation R_start_end = R_base_start.Inverse()*R_base_end;
56  angle = R_start_end.GetRotAngle(rot_start_end);
57 }
58 
61 }
62 
63 Vector RotationalInterpolation_SingleAxis::Vel(double theta,double thetad) const {
64  return R_base_start * ( rot_start_end*thetad );
65 }
66 
67 Vector RotationalInterpolation_SingleAxis::Acc(double theta,double thetad,double thetadd) const {
68  return R_base_start * ( rot_start_end* thetadd);
69 }
70 
72  return angle;
73 }
74 
75 void RotationalInterpolation_SingleAxis::Write(std::ostream& os) const {
76  os << "SingleAxis[] " << std::endl;
77 }
78 
80 }
81 
82 
85 }
86 
87 }
88 
represents rotations in 3 dimensional space.
Definition: frames.hpp:301
virtual Vector Acc(double th, double thd, double thdd) const
virtual Vector Vel(double th, double thd) const
virtual RotationalInterpolation * Clone() const
double GetRotAngle(Vector &axis, double eps=epsilon) const
Definition: frames.cpp:358
virtual void Write(std::ostream &os) const
A concrete implementation of a 3 dimensional vector class.
Definition: frames.hpp:160
Rotation Inverse() const
Gives back the inverse rotation matrix of *this.
Definition: frames.hpp:638
virtual void SetStartEnd(Rotation start, Rotation end)
static Rotation Rot2(const Vector &rotvec, double angle)
Along an arbitrary axes. rotvec should be normalized.
Definition: frames.cpp:303


orocos_kdl
Author(s):
autogenerated on Tue Sep 1 2020 03:18:51