Public Member Functions | Private Member Functions | Private Attributes | List of all members
AnaGuess::Kinematics Class Referenceabstract

Base Class for the kinematics implementations. More...

#include <kinematics.h>

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

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 More...
 
virtual std::vector< double > getAngMin ()=0
 get angle min More...
 
virtual std::vector< double > getAngOff ()=0
 get angle offset More...
 
virtual std::vector< double > getAngRange ()=0
 get angle range More...
 
virtual std::vector< double > getAngStop ()=0
 get angle stop More...
 
virtual std::vector< int > getDir ()=0
 get direction More...
 
virtual std::vector< int > getEncOff ()=0
 get encoder offset More...
 
virtual std::vector< int > getEpc ()=0
 get encoders per cycle More...
 
virtual std::vector< double > getLinkLength ()=0
 get link length More...
 
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 More...
 
virtual bool setAngStop (const std::vector< double > aAngStop)=0
 set angle stop More...
 
virtual bool setLinkLength (const std::vector< double > aLengths)=0
 set link length More...
 
virtual ~Kinematics ()
 Virtual destructor. More...
 

Private Member Functions

virtual bool initialize ()=0
 initializes the kinematic More...
 

Private Attributes

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

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 ( )
inlinevirtual

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 ( )
privatepure 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].

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

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

Angle stop vector [rad].

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

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

Encoder offset vector.

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

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

Encoders per cycle vector.

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

int AnaGuess::Kinematics::mNumberOfMotors
private

Number of motors of the robot.

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

int AnaGuess::Kinematics::mNumberOfSegments
private

Number of segments of the robot.

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

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

Rotation direction vector [1|-1].

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

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

Effector segment lengths vector [m].

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 Fri Jan 3 2020 04:01:17