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.