KDL  1.4.0
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
KDL::RotationalInterpolation_SingleAxis Class Reference

An interpolation algorithm which rotates a frame over the existing single rotation axis formed by start and end rotation. More...

#include <src/rotational_interpolation_sa.hpp>

Inheritance diagram for KDL::RotationalInterpolation_SingleAxis:
Inheritance graph
[legend]
Collaboration diagram for KDL::RotationalInterpolation_SingleAxis:
Collaboration graph
[legend]

Public Member Functions

 RotationalInterpolation_SingleAxis ()
 
virtual void SetStartEnd (Rotation start, Rotation end)
 Set the start and end rotational_interpolation. More...
 
virtual double Angle ()
 
virtual Rotation Pos (double th) const
 Returns the rotation matrix at angle theta. More...
 
virtual Vector Vel (double th, double thd) const
 Returns the rotational velocity at angle theta and with derivative of theta == thetad. More...
 
virtual Vector Acc (double th, double thd, double thdd) const
 Returns the rotational acceleration at angle theta and with derivative of theta == thetad, and 2nd derivative of theta == thdd. More...
 
virtual void Write (std::ostream &os) const
 Writes one of the derived objects to the stream. More...
 
virtual RotationalInterpolationClone () const
 virtual constructor, construction by copying . More...
 
virtual ~RotationalInterpolation_SingleAxis ()
 

Static Public Member Functions

static RotationalInterpolationRead (std::istream &is)
 Reads one of the derived objects from the stream and returns a pointer (factory method) More...
 

Private Attributes

Rotation R_base_start
 
Rotation R_base_end
 
Vector rot_start_end
 
double angle
 

Detailed Description

An interpolation algorithm which rotates a frame over the existing single rotation axis formed by start and end rotation.

If more than one rotational axis exist, an arbitrary one will be chosen, therefore it is not recommended to try to interpolate a 180 degrees rotation.

Constructor & Destructor Documentation

§ RotationalInterpolation_SingleAxis()

KDL::RotationalInterpolation_SingleAxis::RotationalInterpolation_SingleAxis ( )

Referenced by Clone().

§ ~RotationalInterpolation_SingleAxis()

KDL::RotationalInterpolation_SingleAxis::~RotationalInterpolation_SingleAxis ( )
virtual

Member Function Documentation

§ Acc()

Vector KDL::RotationalInterpolation_SingleAxis::Acc ( double  theta,
double  thetad,
double  thetadd 
) const
virtual

Returns the rotational acceleration at angle theta and with derivative of theta == thetad, and 2nd derivative of theta == thdd.

Implements KDL::RotationalInterpolation.

References R_base_start, and rot_start_end.

§ Angle()

double KDL::RotationalInterpolation_SingleAxis::Angle ( )
virtual
  • Returns the angle value to move from start to end. This should have units radians,
  • With Single Axis interp corresponds to the angle rotation
  • With Three Axis interp corresponds to the slowest of the three rotations.

Implements KDL::RotationalInterpolation.

References angle.

§ Clone()

RotationalInterpolation * KDL::RotationalInterpolation_SingleAxis::Clone ( ) const
virtual

virtual constructor, construction by copying .

Implements KDL::RotationalInterpolation.

References RotationalInterpolation_SingleAxis().

§ Pos()

Rotation KDL::RotationalInterpolation_SingleAxis::Pos ( double  theta) const
virtual

Returns the rotation matrix at angle theta.

Implements KDL::RotationalInterpolation.

References R_base_start, KDL::Rotation::Rot2(), and rot_start_end.

§ Read()

RotationalInterpolation * KDL::RotationalInterpolation::Read ( std::istream &  is)
staticinherited

Reads one of the derived objects from the stream and returns a pointer (factory method)

Referenced by KDL::Path::Read().

§ SetStartEnd()

void KDL::RotationalInterpolation_SingleAxis::SetStartEnd ( Rotation  start,
Rotation  end 
)
virtual

Set the start and end rotational_interpolation.

Implements KDL::RotationalInterpolation.

References angle, KDL::Rotation::GetRotAngle(), KDL::Rotation::Inverse(), R_base_end, R_base_start, and rot_start_end.

§ Vel()

Vector KDL::RotationalInterpolation_SingleAxis::Vel ( double  theta,
double  thetad 
) const
virtual

Returns the rotational velocity at angle theta and with derivative of theta == thetad.

Implements KDL::RotationalInterpolation.

References R_base_start, and rot_start_end.

§ Write()

void KDL::RotationalInterpolation_SingleAxis::Write ( std::ostream &  os) const
virtual

Writes one of the derived objects to the stream.

Implements KDL::RotationalInterpolation.

Member Data Documentation

§ angle

double KDL::RotationalInterpolation_SingleAxis::angle
private

Referenced by Angle(), and SetStartEnd().

§ R_base_end

Rotation KDL::RotationalInterpolation_SingleAxis::R_base_end
private

Referenced by SetStartEnd().

§ R_base_start

Rotation KDL::RotationalInterpolation_SingleAxis::R_base_start
private

Referenced by Acc(), Pos(), SetStartEnd(), and Vel().

§ rot_start_end

Vector KDL::RotationalInterpolation_SingleAxis::rot_start_end
private

Referenced by Acc(), Pos(), SetStartEnd(), and Vel().


The documentation for this class was generated from the following files: