Base Katana class. More...
#include <kmlBase.h>
Public Member Functions | |
int | checkKatanaType (int type) |
checks for a K300 or K400 | |
CKatBase () | |
void | disableCrashLimits () |
crash limits disable | |
void | enableCrashLimits () |
crash limits enable | |
int | flushMoveBuffers () |
flush move buffers on all motors: | |
const TKatCBX * | GetCBX () |
Get a pointer to the desired structure. | |
const TKatCTB * | GetCTB () |
Get a pointer to the desired structure. | |
const TKatECH * | GetECH () |
Get a pointer to the desired structure. | |
TKatEFF * | GetEFF () |
Get a pointer to the desired structure. | |
const TKatGNL * | GetGNL () |
Get a pointer to the desired structure. | |
const TKatIDS * | GetIDS () |
Get a pointer to the desired structure. | |
void | getMasterFirmware (short *fw, short *rev) |
Get the master firmware of the robot we are communicating with. | |
const TKatMFW * | GetMFW () |
Get a pointer to the desired structure. | |
const TKatMOT * | GetMOT () |
Get a pointer to the desired structure. | |
CCplBase * | getProtocol () |
get a handle of the protocol, used in CKatana | |
const TKatSCT * | GetSCT () |
Get a pointer to the desired structure. | |
virtual bool | init (const TKatGNL _gnl, const TKatMOT _mot, const TKatSCT _sct, const TKatEFF _eff, CCplBase *_protocol) |
int | readDigitalIO () |
get digital I/O data from Katana400: | |
void | recvCTB () |
receive data | |
void | recvECH () |
receive data | |
void | recvGMS () |
receive data | |
void | recvIDS () |
receive data | |
void | recvMFW () |
receive data | |
void | recvMPS () |
read all motor positions simultaneously | |
void | setAndStartPolyMovement (std::vector< short > polynomial, int exactflag, int moreflag) |
void | setCrashLimit (long idx, int limit) |
set collision limits | |
void | setPositionCollisionLimit (long idx, int limit) |
set collision position limits | |
void | setSpeedCollisionLimit (long idx, int limit) |
set collision speed limits | |
void | startSplineMovement (int exactflag, int moreflag=1) |
void | unBlock () |
unblock robot after a crash | |
void | waitFor (TMotStsFlg status, int waitTimeout, bool gripper) |
wait for motor on all motors | |
virtual | ~CKatBase () |
destructor | |
Protected Attributes | |
TKatCBX | cbx |
connector box | |
TKatCTB | ctb |
cmd table | |
TKatECH | ech |
echo | |
TKatEFF | eff |
end effector | |
TKatGNL | gnl |
katana general | |
TKatIDS | ids |
ID string. | |
TKatMFW | mfw |
master's firmware version/revision | |
short | mMasterRevision |
master firmware revision | |
short | mMasterVersion |
master version of robot we are communicating with | |
TKatMOT | mot |
motors | |
CCplBase * | protocol |
protocol interface | |
TKatSCT | sct |
sensor controllers |
Base Katana class.
This class is the main object controlling the whole katana; to use it, it has to be initilized by using it's init function; those function expects a initilized protocol class, which in turn expects an initilized device! after the initialization, it does not mean that the coordinates (encoder values) of the motors have been set correctly; for that a calibration is needen; that calibration can be executed either by using the CKatana class in the 'kmlExt' module (which encapsulates this class) or by writing your own calibrations function..
CKatBase::CKatBase | ( | ) | [inline] |
virtual CKatBase::~CKatBase | ( | ) | [inline, virtual] |
int CKatBase::checkKatanaType | ( | int | type | ) |
checks for a K300 or K400
Definition at line 260 of file kmlBase.cpp.
void CKatBase::disableCrashLimits | ( | ) |
crash limits disable
Definition at line 186 of file kmlBase.cpp.
void CKatBase::enableCrashLimits | ( | ) |
crash limits enable
Definition at line 169 of file kmlBase.cpp.
int CKatBase::flushMoveBuffers | ( | ) |
flush move buffers on all motors:
Definition at line 291 of file kmlBase.cpp.
const TKatCBX* CKatBase::GetCBX | ( | ) | [inline] |
const TKatCTB* CKatBase::GetCTB | ( | ) | [inline] |
const TKatECH* CKatBase::GetECH | ( | ) | [inline] |
TKatEFF* CKatBase::GetEFF | ( | ) | [inline] |
const TKatGNL* CKatBase::GetGNL | ( | ) | [inline] |
const TKatIDS* CKatBase::GetIDS | ( | ) | [inline] |
void CKatBase::getMasterFirmware | ( | short * | fw, |
short * | rev | ||
) |
Get the master firmware of the robot we are communicating with.
Get master firmware read at initialization time.
Definition at line 164 of file kmlBase.cpp.
const TKatMFW* CKatBase::GetMFW | ( | ) | [inline] |
const TKatMOT* CKatBase::GetMOT | ( | ) | [inline] |
CCplBase* CKatBase::getProtocol | ( | ) | [inline] |
const TKatSCT* CKatBase::GetSCT | ( | ) | [inline] |
bool CKatBase::init | ( | const TKatGNL | _gnl, |
const TKatMOT | _mot, | ||
const TKatSCT | _sct, | ||
const TKatEFF | _eff, | ||
CCplBase * | _protocol | ||
) | [virtual] |
_gnl | general attributes |
_mot | motor attributes |
_sct | sensor controller attributes |
_eff | end effector attributes |
_protocol | desired protocol |
Definition at line 27 of file kmlBase.cpp.
int CKatBase::readDigitalIO | ( | ) |
get digital I/O data from Katana400:
Definition at line 278 of file kmlBase.cpp.
void CKatBase::recvCTB | ( | ) |
receive data
Definition at line 88 of file kmlBase.cpp.
void CKatBase::recvECH | ( | ) |
receive data
Definition at line 150 of file kmlBase.cpp.
void CKatBase::recvGMS | ( | ) |
receive data
Definition at line 102 of file kmlBase.cpp.
void CKatBase::recvIDS | ( | ) |
receive data
Definition at line 75 of file kmlBase.cpp.
void CKatBase::recvMFW | ( | ) |
receive data
Definition at line 62 of file kmlBase.cpp.
void CKatBase::recvMPS | ( | ) |
read all motor positions simultaneously
Definition at line 247 of file kmlBase.cpp.
void CKatBase::setAndStartPolyMovement | ( | std::vector< short > | polynomial, |
int | exactflag, | ||
int | moreflag | ||
) |
Send polynomials to all motors and start movement
polynomial | time, target pos and coefficients of the motor polynomials |
exactflag | exactflag |
moreflag | 0 = start moving more following, 1 = last or a single polynomial movement, 2 = do not start moving yet more following |
Definition at line 233 of file kmlBase.cpp.
void CKatBase::setCrashLimit | ( | long | idx, |
int | limit | ||
) |
void CKatBase::setPositionCollisionLimit | ( | long | idx, |
int | limit | ||
) |
set collision position limits
Definition at line 209 of file kmlBase.cpp.
void CKatBase::setSpeedCollisionLimit | ( | long | idx, |
int | limit | ||
) |
set collision speed limits
Definition at line 213 of file kmlBase.cpp.
void CKatBase::startSplineMovement | ( | int | exactflag, |
int | moreflag = 1 |
||
) |
Start a spline movement
exactflag | Set it to 1 if you want the position controller activated after the movement, 0 otherwise, add 2 to set motor6_follow (no gripper) |
moreflag | 0 = start moving more following, 1 = last or a single polynomial movement, 2 = do not start moving yet more following |
Definition at line 223 of file kmlBase.cpp.
void CKatBase::unBlock | ( | ) |
unblock robot after a crash
Definition at line 217 of file kmlBase.cpp.
void CKatBase::waitFor | ( | TMotStsFlg | status, |
int | waitTimeout, | ||
bool | gripper | ||
) |
wait for motor on all motors
Definition at line 118 of file kmlBase.cpp.
TKatCBX CKatBase::cbx [protected] |
TKatCTB CKatBase::ctb [protected] |
TKatECH CKatBase::ech [protected] |
TKatEFF CKatBase::eff [protected] |
TKatGNL CKatBase::gnl [protected] |
TKatIDS CKatBase::ids [protected] |
TKatMFW CKatBase::mfw [protected] |
short CKatBase::mMasterRevision [protected] |
short CKatBase::mMasterVersion [protected] |
TKatMOT CKatBase::mot [protected] |
CCplBase* CKatBase::protocol [protected] |
TKatSCT CKatBase::sct [protected] |