CikBase Class Reference

#include <ikBase.h>

Inheritance diagram for CikBase:

[legend]
Collaboration diagram for CikBase:
[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:
refreshEncoders With 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,
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::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::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 ( 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

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


Member Data Documentation

std::auto_ptr<KNI::KatanaKinematics> CikBase::_kinematicsImpl [private]

Definition at line 47 of file ikBase.h.

bool CikBase::_kinematicsIsInitialized [private]

Definition at line 48 of file ikBase.h.


The documentation for this class was generated from the following file:
Generated on Mon Sep 14 19:13:15 2009 for KatanaNativeInterface by  doxygen 1.4.7