KatanaNativeInterface  $VERSION$
Public Member Functions | Private Member Functions | Private Attributes
CikBase Class Reference

#include <ikBase.h>

Inheritance diagram for CikBase:
Inheritance graph
[legend]
Collaboration diagram for CikBase:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CikBase ()
 ~CikBase ()
void DKApos (double *position)
 Returns the current position of the robot in cartesian coordinates.
void getCoordinates (double &x, double &y, double &z, double &phi, double &theta, double &psi, bool refreshEncoders=true)
 Returns the current position of the robot in cartesian coordinates.
void IKCalculate (double X, double Y, double Z, double Al, double Be, double Ga, std::vector< int >::iterator solution_iter)
 Calculates a set of encoders for the given coordinates.
void IKCalculate (double X, double Y, double Z, double Al, double Be, double Ga, std::vector< int >::iterator solution_iter, const std::vector< int > &actualPosition)
 Calculates a set of encoders for the given coordinates.
void IKGoto (double X, double Y, double Z, double Al, double Be, double Ga, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)
 Moves to robot to given cartesian coordinates and euler-angles.
void moveRobotTo (double x, double y, double z, double phi, double theta, double psi, bool waitUntilReached=false, int waitTimeout=TM_ENDLESS)
 Moves to robot to given cartesian coordinates and euler-angles.
void moveRobotTo (std::vector< double > coordinates, bool waitUntilReached=false, int waitTimeout=TM_ENDLESS)
 This method does the same as the one above and is mainly provided for convenience.

Private Member Functions

void _initKinematics ()

Private Attributes

std::auto_ptr
< KNI::KatanaKinematics
_kinematicsImpl
bool _kinematicsIsInitialized

Detailed Description

Definition at line 44 of file ikBase.h.


Constructor & Destructor Documentation

CikBase::CikBase ( ) [inline]

Definition at line 53 of file ikBase.h.

CikBase::~CikBase ( ) [inline]

Definition at line 54 of file ikBase.h.


Member Function Documentation

void CikBase::_initKinematics ( ) [private]
void CikBase::DKApos ( double *  position)

Returns the current position of the robot in cartesian coordinates.

Note:
This method is deprecated, please use getCoordinates(...) instead
void CikBase::getCoordinates ( double &  x,
double &  y,
double &  z,
double &  phi,
double &  theta,
double &  psi,
bool  refreshEncoders = true 
)

Returns the current position of the robot in cartesian coordinates.

Parameters:
refreshEncodersWith this parameter you can determine if the method reads the actual encoders from the robot or if it will use the cached ones
Note:
This function returns a tuple in python
void CikBase::IKCalculate ( double  X,
double  Y,
double  Z,
double  Al,
double  Be,
double  Ga,
std::vector< int >::iterator  solution_iter 
)

Calculates a set of encoders for the given coordinates.

This method reads the current encoders from the robot and involves therefore also communication to the robot

void CikBase::IKCalculate ( double  X,
double  Y,
double  Z,
double  Al,
double  Be,
double  Ga,
std::vector< int >::iterator  solution_iter,
const std::vector< int > &  actualPosition 
)

Calculates a set of encoders for the given coordinates.

For this method you have to pass an actualPosition too. No communication with the robot will be done here.

void CikBase::IKGoto ( double  X,
double  Y,
double  Z,
double  Al,
double  Be,
double  Ga,
bool  wait = false,
int  tolerance = 100,
long  timeout = TM_ENDLESS 
)

Moves to robot to given cartesian coordinates and euler-angles.

Note:
This method is deprecated, please use moveRobotTo(...) instead
void CikBase::moveRobotTo ( double  x,
double  y,
double  z,
double  phi,
double  theta,
double  psi,
bool  waitUntilReached = false,
int  waitTimeout = TM_ENDLESS 
)

Moves to robot to given cartesian coordinates and euler-angles.

Note:
Instead of a given tolerance, a default tolerance is being used
void CikBase::moveRobotTo ( std::vector< double >  coordinates,
bool  waitUntilReached = false,
int  waitTimeout = TM_ENDLESS 
)

This method does the same as the one above and is mainly provided for convenience.

Note:
You can call this function in python using tuples: Example: katana.moveRobotTo( (x,y,z,phi,theta,psi) )
If the size of the container is smaller than 6, it will throw an exception

Member Data Documentation

Definition at line 47 of file ikBase.h.

Definition at line 48 of file ikBase.h.


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