Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
KNI::KatanaKinematics6M90T Class Reference

#include <KatanaKinematics6M90T.h>

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

List of all members.

Classes

struct  angles_calc
struct  position

Public Member Functions

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

Private Types

typedef std::vector< angles_calcangles_container

Private Member Functions

void _setLength (metrics const &length)
void _setParameters (parameter_container const &parameters)
bool angledef (angles_calc &a) const
bool AnglePositionTest (const angles_calc &a) const
double findFirstEqualAngle (const angles &v1, const angles &v2) const
bool GripperTest (const position &p_gr, const angles_calc &angle) const
void IK_b1b2costh3_6MS (angles_calc &a, const position &p) const
void IK_theta234theta5 (angles_calc &angle, const position &p_gr) const
bool PositionTest6MS (const double &theta1, const double &theta2, const double &theta3, const double &theta234, const position &p) const
void thetacomp (angles_calc &a, const position &p_m, const coordinates &pose) const

Private Attributes

metrics _length
parameter_container _parameters

Static Private Attributes

static const int _nrOfPossibleSolutions = 8
static const double _tolerance = 0.001

Detailed Description

Author:
Tiziano Mueller <tiziano.mueller@neuronics.ch>
Christoph Voser <christoph.voser@neuronics.ch>

Definition at line 39 of file KatanaKinematics6M90T.h.


Member Typedef Documentation

Definition at line 71 of file KatanaKinematics6M90T.h.


Member Function Documentation

void KNI::KatanaKinematics6M90T::_setLength ( metrics const &  length) [inline, private]

Definition at line 79 of file KatanaKinematics6M90T.h.

void KNI::KatanaKinematics6M90T::_setParameters ( parameter_container const &  parameters) [inline, private]

Definition at line 80 of file KatanaKinematics6M90T.h.

bool KNI::KatanaKinematics6M90T::angledef ( angles_calc a) const [private]

Definition at line 344 of file KatanaKinematics6M90T.cpp.

bool KNI::KatanaKinematics6M90T::AnglePositionTest ( const angles_calc a) const [private]

Definition at line 374 of file KatanaKinematics6M90T.cpp.

void KNI::KatanaKinematics6M90T::DK ( coordinates solution,
encoders const &  current_encoders 
) const [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

Implements KNI::KatanaKinematics.

Definition at line 31 of file KatanaKinematics6M90T.cpp.

double KNI::KatanaKinematics6M90T::findFirstEqualAngle ( const angles v1,
const angles v2 
) const [private]

Definition at line 216 of file KatanaKinematics6M90T.cpp.

bool KNI::KatanaKinematics6M90T::GripperTest ( const position p_gr,
const angles_calc angle 
) const [private]

Definition at line 184 of file KatanaKinematics6M90T.cpp.

void KNI::KatanaKinematics6M90T::IK ( encoders::iterator  solution,
coordinates const &  pose,
encoders const &  cur_angles 
) const [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

Implements KNI::KatanaKinematics.

Definition at line 404 of file KatanaKinematics6M90T.cpp.

void KNI::KatanaKinematics6M90T::IK_b1b2costh3_6MS ( angles_calc a,
const position p 
) const [private]

Definition at line 199 of file KatanaKinematics6M90T.cpp.

void KNI::KatanaKinematics6M90T::IK_theta234theta5 ( angles_calc angle,
const position p_gr 
) const [private]

Definition at line 140 of file KatanaKinematics6M90T.cpp.

void KNI::KatanaKinematics6M90T::init ( metrics const &  length,
parameter_container const &  parameters 
) [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

Implements KNI::KatanaKinematics.

Definition at line 131 of file KatanaKinematics6M90T.cpp.

bool KNI::KatanaKinematics6M90T::PositionTest6MS ( const double &  theta1,
const double &  theta2,
const double &  theta3,
const double &  theta234,
const position p 
) const [private]

Definition at line 328 of file KatanaKinematics6M90T.cpp.

void KNI::KatanaKinematics6M90T::thetacomp ( angles_calc a,
const position p_m,
const coordinates pose 
) const [private]

Definition at line 230 of file KatanaKinematics6M90T.cpp.


Member Data Documentation

Definition at line 73 of file KatanaKinematics6M90T.h.

const int KNI::KatanaKinematics6M90T::_nrOfPossibleSolutions = 8 [static, private]

Definition at line 77 of file KatanaKinematics6M90T.h.

Definition at line 74 of file KatanaKinematics6M90T.h.

const double KNI::KatanaKinematics6M90T::_tolerance = 0.001 [static, private]

Definition at line 76 of file KatanaKinematics6M90T.h.


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


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