$search

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 41 of file AnalyticalGuess/include/kinematics.h.


Constructor & Destructor Documentation

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

Virtual destructor.

Definition at line 66 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:
aPosition empty vector to store the position
aAngles the angle vector
Returns:
true if no error occurred, false on error

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

Parameters:
aAngles empty vector to store the angles
aEncoders the encoder vector
Returns:
true if no error occurred, false on error

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

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::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

Parameters:
aAngles empty vector to store the angles
aPosition the position vector
aStartingAngles starting angle vector to find the best (nearest) solution
Exceptions:
NoSolutionException if no solutios exists
Returns:
true if no error occurred, false on error

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

Parameters:
aEncoders empty vector to store the encoders
aAngles the angle vector
Returns:
true if no error occurred, false on error

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

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 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.

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.

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


kni
Author(s): Neuronics AG (see AUTHORS.txt); ROS wrapper by Martin Günther
autogenerated on Tue Mar 5 12:33:32 2013