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] |