Public Member Functions | Private Member Functions | Private Attributes
AnaGuess::Kinematics Class Reference

Base Class for the kinematics implementations. More...

#include <kinematics.h>

Inheritance diagram for AnaGuess::Kinematics:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual bool directKinematics (std::vector< double > &aPosition, const std::vector< double > aAngles)=0
virtual bool enc2rad (std::vector< double > &aAngles, const std::vector< int > aEncoders)=0
virtual std::vector< double > getAngMax ()=0
 get angle max
virtual std::vector< double > getAngMin ()=0
 get angle min
virtual std::vector< double > getAngOff ()=0
 get angle offset
virtual std::vector< double > getAngRange ()=0
 get angle range
virtual std::vector< double > getAngStop ()=0
 get angle stop
virtual std::vector< int > getDir ()=0
 get direction
virtual std::vector< int > getEncOff ()=0
 get encoder offset
virtual std::vector< int > getEpc ()=0
 get encoders per cycle
virtual std::vector< double > getLinkLength ()=0
 get link length
virtual bool inverseKinematics (std::vector< double > &aAngles, const std::vector< double > aPosition, const std::vector< double > aStartingAngles)=0
virtual bool rad2enc (std::vector< int > &aEncoders, const std::vector< double > aAngles)=0
virtual bool setAngOff (const std::vector< double > aAngOff)=0
 set angle offset
virtual bool setAngStop (const std::vector< double > aAngStop)=0
 set angle stop
virtual bool setLinkLength (const std::vector< double > aLengths)=0
 set link length
virtual ~Kinematics ()
 Virtual destructor.

Private Member Functions

virtual bool initialize ()=0
 initializes the kinematic

Private Attributes

std::vector< double > mAngleOffset
 Angle offset vector [rad].
std::vector< double > mAngleStop
 Angle stop vector [rad].
std::vector< int > mEncoderOffset
 Encoder offset vector.
std::vector< int > mEncodersPerCycle
 Encoders per cycle vector.
int mNumberOfMotors
 Number of motors of the robot.
int mNumberOfSegments
 Number of segments of the robot.
std::vector< int > mRotationDirection
 Rotation direction vector [1|-1].
std::vector< double > mSegmentLength
 Effector segment lengths vector [m].

Detailed Description

Base Class for the kinematics implementations.

This class is pure virtual. The different robot kinematics implement this interface

Definition at line 42 of file AnalyticalGuess/include/kinematics.h.


Constructor & Destructor Documentation

virtual AnaGuess::Kinematics::~Kinematics ( ) [inline, virtual]

Virtual destructor.

Definition at line 67 of file AnalyticalGuess/include/kinematics.h.


Member Function Documentation

virtual bool AnaGuess::Kinematics::directKinematics ( std::vector< double > &  aPosition,
const std::vector< double >  aAngles 
) [pure virtual]

calculates the direct kinematics

Parameters:
aPositionempty vector to store the position
aAnglesthe angle vector
Returns:
true if no error occurred, false on error

Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.

virtual bool AnaGuess::Kinematics::enc2rad ( std::vector< double > &  aAngles,
const std::vector< int >  aEncoders 
) [pure virtual]

calculates the angles corresponding to the given encoders

Parameters:
aAnglesempty vector to store the angles
aEncodersthe encoder vector
Returns:
true if no error occurred, false on error

Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.

virtual std::vector<double> AnaGuess::Kinematics::getAngMax ( ) [pure virtual]
virtual std::vector<double> AnaGuess::Kinematics::getAngMin ( ) [pure virtual]
virtual std::vector<double> AnaGuess::Kinematics::getAngOff ( ) [pure virtual]
virtual std::vector<double> AnaGuess::Kinematics::getAngRange ( ) [pure virtual]
virtual std::vector<double> AnaGuess::Kinematics::getAngStop ( ) [pure virtual]
virtual std::vector<int> AnaGuess::Kinematics::getDir ( ) [pure virtual]
virtual std::vector<int> AnaGuess::Kinematics::getEncOff ( ) [pure virtual]
virtual std::vector<int> AnaGuess::Kinematics::getEpc ( ) [pure virtual]
virtual std::vector<double> AnaGuess::Kinematics::getLinkLength ( ) [pure virtual]
virtual bool AnaGuess::Kinematics::initialize ( ) [private, pure virtual]

initializes the kinematic

Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.

virtual bool AnaGuess::Kinematics::inverseKinematics ( std::vector< double > &  aAngles,
const std::vector< double >  aPosition,
const std::vector< double >  aStartingAngles 
) [pure virtual]

caltulates the inverse kinematics

Parameters:
aAnglesempty vector to store the angles
aPositionthe position vector
aStartingAnglesstarting angle vector to find the best (nearest) solution
Exceptions:
NoSolutionExceptionif no solutios exists
Returns:
true if no error occurred, false on error

Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.

virtual bool AnaGuess::Kinematics::rad2enc ( std::vector< int > &  aEncoders,
const std::vector< double >  aAngles 
) [pure virtual]

calculates the encoders corresponding to the given angles

Parameters:
aEncodersempty vector to store the encoders
aAnglesthe angle vector
Returns:
true if no error occurred, false on error

Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.

virtual bool AnaGuess::Kinematics::setAngOff ( const std::vector< double >  aAngOff) [pure virtual]
virtual bool AnaGuess::Kinematics::setAngStop ( const std::vector< double >  aAngStop) [pure virtual]
virtual bool AnaGuess::Kinematics::setLinkLength ( const std::vector< double >  aLengths) [pure virtual]

Member Data Documentation

std::vector<double> AnaGuess::Kinematics::mAngleOffset [private]

Angle offset vector [rad].

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 52 of file AnalyticalGuess/include/kinematics.h.

std::vector<double> AnaGuess::Kinematics::mAngleStop [private]

Angle stop vector [rad].

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 54 of file AnalyticalGuess/include/kinematics.h.

std::vector<int> AnaGuess::Kinematics::mEncoderOffset [private]

Encoder offset vector.

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 58 of file AnalyticalGuess/include/kinematics.h.

std::vector<int> AnaGuess::Kinematics::mEncodersPerCycle [private]

Encoders per cycle vector.

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 56 of file AnalyticalGuess/include/kinematics.h.

Number of motors of the robot.

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 46 of file AnalyticalGuess/include/kinematics.h.

Number of segments of the robot.

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 48 of file AnalyticalGuess/include/kinematics.h.

std::vector<int> AnaGuess::Kinematics::mRotationDirection [private]

Rotation direction vector [1|-1].

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 60 of file AnalyticalGuess/include/kinematics.h.

std::vector<double> AnaGuess::Kinematics::mSegmentLength [private]

Effector segment lengths vector [m].

Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.

Definition at line 50 of file AnalyticalGuess/include/kinematics.h.


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


kni
Author(s): Martin Günther
autogenerated on Thu Jun 6 2019 21:42:35