$search
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 | |
| 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]. | |
Base Class for the kinematics implementations.
This class is pure virtual. The different robot kinematics implement this interface
Definition at line 41 of file AnalyticalGuess/include/kinematics.h.
| virtual AnaGuess::Kinematics::~Kinematics | ( | ) | [inline, virtual] |
Virtual destructor.
Definition at line 66 of file AnalyticalGuess/include/kinematics.h.
| virtual bool AnaGuess::Kinematics::directKinematics | ( | std::vector< double > & | aPosition, | |
| const std::vector< double > | aAngles | |||
| ) | [pure virtual] |
calculates the direct kinematics
| aPosition | empty vector to store the position | |
| aAngles | the angle vector |
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual bool AnaGuess::Kinematics::enc2rad | ( | std::vector< double > & | aAngles, | |
| const std::vector< int > | aEncoders | |||
| ) | [pure virtual] |
calculates the angles corresponding to the given encoders
| aAngles | empty vector to store the angles | |
| aEncoders | the encoder vector |
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<double> AnaGuess::Kinematics::getAngMax | ( | ) | [pure virtual] |
get angle max
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<double> AnaGuess::Kinematics::getAngMin | ( | ) | [pure virtual] |
get angle min
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<double> AnaGuess::Kinematics::getAngOff | ( | ) | [pure virtual] |
get angle offset
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<double> AnaGuess::Kinematics::getAngRange | ( | ) | [pure virtual] |
get angle range
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<double> AnaGuess::Kinematics::getAngStop | ( | ) | [pure virtual] |
get angle stop
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<int> AnaGuess::Kinematics::getDir | ( | ) | [pure virtual] |
get direction
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<int> AnaGuess::Kinematics::getEncOff | ( | ) | [pure virtual] |
get encoder offset
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<int> AnaGuess::Kinematics::getEpc | ( | ) | [pure virtual] |
get encoders per cycle
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual std::vector<double> AnaGuess::Kinematics::getLinkLength | ( | ) | [pure virtual] |
get link length
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual bool AnaGuess::Kinematics::initialize | ( | ) | [private, pure virtual] |
initializes the kinematic
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| 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
| 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::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual bool AnaGuess::Kinematics::rad2enc | ( | std::vector< int > & | aEncoders, | |
| const std::vector< double > | aAngles | |||
| ) | [pure virtual] |
calculates the encoders corresponding to the given angles
| aEncoders | empty vector to store the encoders | |
| aAngles | the angle vector |
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual bool AnaGuess::Kinematics::setAngOff | ( | const std::vector< double > | aAngOff | ) | [pure virtual] |
set angle offset
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual bool AnaGuess::Kinematics::setAngStop | ( | const std::vector< double > | aAngStop | ) | [pure virtual] |
set angle stop
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
| virtual bool AnaGuess::Kinematics::setLinkLength | ( | const std::vector< double > | aLengths | ) | [pure virtual] |
set link length
Implemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
std::vector<double> AnaGuess::Kinematics::mAngleOffset [private] |
Angle offset vector [rad].
Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
Definition at line 51 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 53 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 57 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 55 of file AnalyticalGuess/include/kinematics.h.
int AnaGuess::Kinematics::mNumberOfMotors [private] |
Number of motors of the robot.
Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
Definition at line 45 of file AnalyticalGuess/include/kinematics.h.
int AnaGuess::Kinematics::mNumberOfSegments [private] |
Number of segments of the robot.
Reimplemented in AnaGuess::Kinematics6M180, AnaGuess::Kinematics6M90G, and AnaGuess::Kinematics6M90T.
Definition at line 47 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 59 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 49 of file AnalyticalGuess/include/kinematics.h.