Public Types | Public Member Functions
KNI::KatanaKinematics Class Reference

#include <KatanaKinematics.h>

Inheritance diagram for KNI::KatanaKinematics:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector< double > angles
typedef std::vector< double > coordinates
typedef std::vector< int > encoders
typedef std::vector< double > metrics
typedef std::vector
< KinematicParameters
parameter_container

Public Member Functions

virtual void DK (coordinates &solution, encoders const &current_encoders) const =0
virtual void IK (encoders::iterator solution, coordinates const &pose, encoders const &cur_angles) const =0
virtual void init (metrics const &length, parameter_container const &parameters)=0
virtual ~KatanaKinematics ()

Detailed Description

The base class for all kinematic implementations.

Definition at line 63 of file KatanaKinematics.h.


Member Typedef Documentation

typedef std::vector<double> KNI::KatanaKinematics::angles

Being used to store angles (in radian).

Definition at line 71 of file KatanaKinematics.h.

typedef std::vector<double> KNI::KatanaKinematics::coordinates

To store coordinates.

Definition at line 74 of file KatanaKinematics.h.

typedef std::vector<int> KNI::KatanaKinematics::encoders

To store encoders.

Definition at line 80 of file KatanaKinematics.h.

typedef std::vector<double> KNI::KatanaKinematics::metrics

To store metrics, 'aka' the length's of the different segments of the robot.

Definition at line 77 of file KatanaKinematics.h.

Definition at line 67 of file KatanaKinematics.h.


Constructor & Destructor Documentation

virtual KNI::KatanaKinematics::~KatanaKinematics ( ) [inline, virtual]

Definition at line 65 of file KatanaKinematics.h.


Member Function Documentation

virtual void KNI::KatanaKinematics::DK ( coordinates solution,
encoders const &  current_encoders 
) const [pure virtual]

Direct Kinematic. Calculates the actual position in cartesian coordinates using the given encoders

Parameters:
solutionThis is where the algorithm will store the solution to (in cartesian coordinates)
current_encodersThe encoder values which are being used for the calculation
Note:
strong guarantee provided

Implemented in KNI::KatanaKinematics6M180, KNI::KatanaKinematics5M180, KNI::KatanaKinematics6M90G, and KNI::KatanaKinematics6M90T.

virtual void KNI::KatanaKinematics::IK ( encoders::iterator  solution,
coordinates const &  pose,
encoders const &  cur_angles 
) const [pure virtual]

Inverse Kinematic. Calculates one set of encoders (=one solution) for the given cartesian coordinates. You also have to provide the current encoders to allow the algorithm to choose between different valid solutions.

Parameters:
solutionThis is where the algorithm will store the solution to (in encoders)
poseThe target position in cartesian coordinates plus the euler angles for the direction of the gripper
cur_anglesThe current angles (in encoders) of the robot
Note:
strong guarantee provided

Implemented in KNI::KatanaKinematics6M180, KNI::KatanaKinematics5M180, KNI::KatanaKinematics6M90G, and KNI::KatanaKinematics6M90T.

virtual void KNI::KatanaKinematics::init ( metrics const &  length,
parameter_container const &  parameters 
) [pure virtual]

Initialize the parameters for the calculations. This is needed to validate the calculated angles and to choose an appropriate solution You have to provide 5 or 6 length's and parameters, depending on you robot type

Implemented in KNI::KatanaKinematics6M180, KNI::KatanaKinematics5M180, KNI::KatanaKinematics6M90G, and KNI::KatanaKinematics6M90T.


The documentation for this class was generated from the following file:


kni
Author(s): Martin Günther
autogenerated on Thu Aug 27 2015 13:40:08