Base Class for the kinematics implementations. More...
#include <kinematics.h>

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... | |
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.
|
inlinevirtual |
Virtual destructor.
Definition at line 67 of file AnalyticalGuess/include/kinematics.h.
|
pure virtual |
calculates the direct kinematics
| aPosition | empty vector to store the position |
| aAngles | the angle vector |
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
calculates the angles corresponding to the given encoders
| aAngles | empty vector to store the angles |
| aEncoders | the encoder vector |
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get angle max
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get angle min
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get angle offset
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get angle range
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get angle stop
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get direction
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get encoder offset
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get encoders per cycle
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
get link length
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
privatepure virtual |
initializes the kinematic
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
caltulates the inverse kinematics
| aAngles | empty vector to store the angles |
| aPosition | the position vector |
| aStartingAngles | starting angle vector to find the best (nearest) solution |
| NoSolutionException | if no solutios exists |
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
calculates the encoders corresponding to the given angles
| aEncoders | empty vector to store the encoders |
| aAngles | the angle vector |
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
set angle offset
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
set angle stop
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
pure virtual |
set link length
Implemented in AnaGuess::Kinematics6M90T, AnaGuess::Kinematics6M180, and AnaGuess::Kinematics6M90G.
|
private |
Angle offset vector [rad].
Definition at line 52 of file AnalyticalGuess/include/kinematics.h.
|
private |
Angle stop vector [rad].
Definition at line 54 of file AnalyticalGuess/include/kinematics.h.
|
private |
Encoder offset vector.
Definition at line 58 of file AnalyticalGuess/include/kinematics.h.
|
private |
Encoders per cycle vector.
Definition at line 56 of file AnalyticalGuess/include/kinematics.h.
|
private |
Number of motors of the robot.
Definition at line 46 of file AnalyticalGuess/include/kinematics.h.
|
private |
Number of segments of the robot.
Definition at line 48 of file AnalyticalGuess/include/kinematics.h.
|
private |
Rotation direction vector [1|-1].
Definition at line 60 of file AnalyticalGuess/include/kinematics.h.
|
private |
Effector segment lengths vector [m].
Definition at line 50 of file AnalyticalGuess/include/kinematics.h.