48 Exception(
"Cannot open configuration file '" + port +
"'", -40) {}
129 void inc(
long idx,
int dif,
bool wait =
false,
int tolerance = 100,
long timeout =
TM_ENDLESS);
132 void dec(
long idx,
int dif,
bool wait =
false,
int tolerance = 100,
long timeout =
TM_ENDLESS);
136 void mov(
long idx,
int tar,
bool wait =
false,
int tolerance = 100,
long timeout =
TM_ENDLESS);
219 std::vector<int>::iterator
getRobotEncoders(std::vector<int>::iterator start, std::vector<int>::const_iterator end,
bool refreshEncoders =
true)
const;
237 void moveMotorByEnc(
short number,
int encoders,
bool waitUntilReached =
false,
int waitTimeout = 0);
238 void moveMotorBy (
short number,
double radianAngle,
bool waitUntilReached =
false,
int waitTimeout = 0);
240 void moveMotorToEnc(
short number,
int encoders,
bool waitUntilReached =
false,
int encTolerance = 100,
int waitTimeout = 0);
241 void moveMotorTo (
short number,
double radianAngle,
bool waitUntilReached =
false,
int waitTimeout = 0);
243 void waitForMotor(
short number,
int encoders,
int encTolerance = 100,
short mode = 0,
int waitTimeout = 5000);
248 void moveRobotToEnc(std::vector<int>::const_iterator start, std::vector<int>::const_iterator end,
bool waitUntilReached =
false,
int encTolerance = 100,
int waitTimeout = 0);
252 void moveRobotToEnc(std::vector<int> encoders,
bool waitUntilReached =
false,
int encTolerance = 100,
int waitTimeout = 0);
254 void moveRobotToEnc4D(std::vector<int> target,
int velocity=180,
int acceleration = 1,
int encTolerance = 100);
256 void openGripper (
bool waitUntilReached =
false,
int waitTimeout = 100);
257 void closeGripper(
bool waitUntilReached =
false,
int waitTimeout = 100);
278 void sendSplineToMotor(
unsigned short number,
short targetPosition,
short duration,
short p1,
short p2,
short p3,
short p4);
284 void sendFourSplinesToMotor(
unsigned short number,
short targetPosition,
short duration, std::vector<short>& coefficients);
285 void sendFourSplinesToMotor(
unsigned short number,
short targetPosition,
short duration,
short p01,
short p11,
short p21,
short p31,
short p02,
short p12,
short p22,
short p32,
short p03,
short p13,
short p23,
short p33,
short p04,
short p14,
short p24,
short p34);
Abstract base class for protocol definiton.
Extended Katana class with additional functions.
void switchMotorOn(short number)
void disableCrashLimits()
crash limits disable
void startSplineMovement(bool exactflag, int moreflag=1)
Start a spline movement.
void sendFourSplinesToMotor(unsigned short number, short targetPosition, short duration, short p01, short p11, short p21, short p31, short p02, short p12, short p22, short p32, short p03, short p13, short p23, short p33, short p04, short p14, short p24, short p34)
int mKatanaType
The type of KatanaXXX (300 or 400)
void setMotorAccelerationLimit(short number, short acceleration)
int _gripperCloseEncoders
void sendSplineToMotor(unsigned short number, short targetPosition, short duration, short p1, short p2, short p3, short p4)
Send one spline to the motor.
void inc(long idx, int dif, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)
Increments the motor specified by an index postion in encoders.
void incDegrees(long idx, double dif, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)
Increments the motor specified by an index postion in degree units.
void create(TKatGNL &gnl, TKatMOT &mot, TKatSCT &sct, TKatEFF &eff, CCplBase *protocol)
Create routine.
short getMotorVelocityLimit(short number) const
void openGripper(bool waitUntilReached=false, int waitTimeout=100)
void switchMotorOff(short number)
void startFourSplinesMovement(bool exactflag)
Start a fourSplines movement.
void moveMotorBy(short number, double radianAngle, bool waitUntilReached=false, int waitTimeout=0)
void setCrashLimit(long idx, int limit)
unblock robot after a crash
void setTPSPDegrees(long idx, double tar)
Sets the target position of a motor in degree Units and allows the movement of that motor during the ...
void calibrate(long idx, TMotCLB clb, TMotSCP scp, TMotDYL dyl)
int getMotorEncoders(short number, bool refreshEncoders=true) const
void enableCrashLimits()
crash limits enable
void moveRobotToEnc(std::vector< int > encoders, bool waitUntilReached=false, int encTolerance=100, int waitTimeout=0)
Move to robot to given encoders in the vector-container.
void mov(long idx, int tar, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)
Moves the motor specified by an index to a given target position in encoders.
void setTolerance(long idx, int enc_tolerance)
Sets the tolerance range in encoder units for the robots movements.
void resetTPSP()
Forbid the movement of all the motors during the parallel movement.
void setPositionCollisionLimit(long idx, int limit)
set collision position limits
void setTPSP(long idx, int tar)
Sets the target position of a motor in encoders and allows the movement of that motor during the para...
short getNumberOfMotors() const
void setSpeedCollisionLimit(long idx, int limit)
set collision speed limits
void sendTPSP(bool wait=false, long timeout=TM_ENDLESS)
Moves the allowed motors simultaneously.
void moveMotorTo(short number, double radianAngle, bool waitUntilReached=false, int waitTimeout=0)
void create(const char *configurationFile, CCplBase *protocol)
Create routine.
bool checkENLD(long idx, double degrees)
Check if the absolute position in degrees is out of range.
std::vector< int >::iterator getRobotEncoders(std::vector< int >::iterator start, std::vector< int >::const_iterator end, bool refreshEncoders=true) const
Write the cached encoders into the container.
short getMotorAccelerationLimit(short number) const
void setGripperParameters(bool isPresent, int openEncoders, int closeEncoders)
Tell the robot about the presence of a gripper.
void sendFourSplinesToMotor(unsigned short number, short targetPosition, short duration, std::vector< short > &coefficients)
Send four splines to the motor.
void closeGripper(bool waitUntilReached=false, int waitTimeout=100)
void moveRobotToEnc(std::vector< int >::const_iterator start, std::vector< int >::const_iterator end, bool waitUntilReached=false, int encTolerance=100, int waitTimeout=0)
Move to robot to given encoders.
void dec(long idx, int dif, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)
Decrements the motor specified by an index postion in encoders.
void freezeMotor(short number)
void setRobotAccelerationLimit(short acceleration)
Set the velocity of all motors together.
void setMotorVelocityLimit(short number, short velocity)
void moveMotorToEnc(short number, int encoders, bool waitUntilReached=false, int encTolerance=100, int waitTimeout=0)
void moveRobotToEnc4D(std::vector< int > target, int velocity=180, int acceleration=1, int encTolerance=100)
Move to robot to given target in the vector-container with the given velocity, acceleration and toler...
void decDegrees(long idx, double dif, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)
Decrements the motor specified by an index postion in degree units.
void movDegrees(long idx, double tar, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)
Moves the motor specified by an index to a given target position in degree units.
void waitForMotor(short number, int encoders, int encTolerance=100, short mode=0, int waitTimeout=5000)
void searchMechStop(long idx, TSearchDir dir, TMotSCP scp, TMotDYL dyl)
void setRobotVelocityLimit(short velocity)
void unBlock()
unblock robot after a crash
void moveMotorByEnc(short number, int encoders, bool waitUntilReached=false, int waitTimeout=0)
CKatBase * GetBase()
Returns pointer to 'CKatBase*'.
void create(KNI::kmlFactory *infos, CCplBase *protocol)
CKatBase * base
base katana
std::vector< int > getRobotEncoders(bool refreshEncoders=true) const
Get the current robot encoders as a vector-container.
Accessing the given configuration file failed (may be: access denied or wrong path)
ConfigFileOpenException(const std::string &port)
This class is for internal use only It may change at any time It shields the configuration file parsi...
#define TM_ENDLESS
timeout symbol for 'endless' waiting
Inverse Kinematics structure of the endeffektor.
[GNL] general robot attributes
[MOT] every motor's attributes
[SCT] every sens ctrl's attributes
Calibration structure for single motors.
[SCP] static controller parameters