$search

Exceptions

Classes

class  CannotGetSetPortAttributesException
class  CannotOpenPortException
class  CLMBase
 Linear movement Class. More...
class  ConfigFileEntryNotFoundException
class  ConfigFileOpenException
class  ConfigFileSectionNotFoundException
class  ConfigFileStateException
class  ConfigFileSubsectionNotFoundException
class  ConfigFileSyntaxErrorException
struct  Context
class  DeviceReadException
class  DeviceWriteException
class  ErrorException
class  AnaGuess::Exception
class  Exception
class  FirmwareException
class  JointSpeedException
class  MotorCrashException
class  MotorOutOfRangeException
class  MotorTimeoutException
class  KNI::NoSolutionException
class  ParameterReadingException
class  ParameterWritingException
class  PortNotOpenException
class  ReadNotCompleteException
class  ReadWriteNotCompleteException
class  SlaveErrorException
class  WaitParameterException
class  WriteNotCompleteException
class  WrongCRCException
class  WrongParameterException

Functions

bool CLMBase::checkJointSpeed (std::vector< int > lastsolution, std::vector< int > solution, double time)
 CLMBase::CLMBase ()
bool CLMBase::getActivatePositionController ()
double CLMBase::getMaximumLinearVelocity () const
int CLMBase::getSpeed (int distance, int acceleration, int time)
void CLMBase::moveRobotLinearTo (std::vector< double > coordinates, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)
void CLMBase::moveRobotLinearTo (double x, double y, double z, double phi, double theta, double psi, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)
void CLMBase::moveRobotTo (std::vector< double > coordinates, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)
void CLMBase::moveRobotTo (double x, double y, double z, double phi, double theta, double psi, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)
void CLMBase::movLM (double X, double Y, double Z, double Al, double Be, double Ga, bool exactflag, double vmax, bool wait=true, int tolerance=100, long timeout=TM_ENDLESS)
void CLMBase::movLM2P (double X1, double Y1, double Z1, double Al1, double Be1, double Ga1, double X2, double Y2, double Z2, double Al2, double Be2, double Ga2, bool exactflag, double vmax, bool wait=true, int tolerance=100, long timeout=TM_ENDLESS)
void CLMBase::movP2P (double X1, double Y1, double Z1, double Ph1, double Th1, double Ps1, double X2, double Y2, double Z2, double Ph2, double Th2, double Ps2, bool exactflag, double vmax, bool wait=true, long timeout=TM_ENDLESS)
double CLMBase::relPosition (double reltime, double distance, double acc, double dec, double vmax)
void CLMBase::setActivatePositionController (bool activate)
void CLMBase::setMaximumLinearVelocity (double maximumVelocity)
void CLMBase::splineCoefficients (int steps, double *timearray, double *encoderarray, double *arr_p1, double *arr_p2, double *arr_p3, double *arr_p4)
double CLMBase::totalTime (double distance, double acc, double dec, double vmax)

Variables

bool CLMBase::_activatePositionController

Function Documentation

bool CLMBase::checkJointSpeed ( std::vector< int >  lastsolution,
std::vector< int >  solution,
double  time 
) [private, inherited]

Checks if the joint speeds are below speed limit.

Maximum joint speed is 180enc / 10ms.

Author:
Jonas Haller
Parameters:
lastsolution encoder values of last point
solution encoder values of current point
time time difference between the points in s
Returns:
true if joint speeds ok, false if joint speed too high

Definition at line 407 of file lmBase.cpp.

CLMBase::CLMBase (  )  [inline, inherited]

Definition at line 153 of file lmBase.h.

bool CLMBase::getActivatePositionController (  )  [inherited]

Check if the position controller will be activated after the linear movement

Definition at line 914 of file lmBase.cpp.

double CLMBase::getMaximumLinearVelocity (  )  const [inherited]

Definition at line 907 of file lmBase.cpp.

int CLMBase::getSpeed ( int  distance,
int  acceleration,
int  time 
) [private, inherited]

Calculates speed from distance, acceleration and time for the movement.

Author:
Jonas Haller
Parameters:
distance absolute (positive) distance of the movement in encoder
acceleration acceleration and deceleration in enc / s^2
time time that can be used for the movement in s
Returns:
speed in enc / s to finish the movement on time

Definition at line 423 of file lmBase.cpp.

void CLMBase::moveRobotLinearTo ( std::vector< double >  coordinates,
bool  waitUntilReached = true,
int  waitTimeout = TM_ENDLESS 
) [inherited]

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.moveRobotLinearTo( (x,y,z,phi,theta,psi) )
If the size of the container is smaller than 6, it will throw an exception!

Definition at line 876 of file lmBase.cpp.

void CLMBase::moveRobotLinearTo ( double  x,
double  y,
double  z,
double  phi,
double  theta,
double  psi,
bool  waitUntilReached = true,
int  waitTimeout = TM_ENDLESS 
) [inherited]
Parameters:
waitUntilReached has to be true with new implementation of movLM2P

Definition at line 869 of file lmBase.cpp.

void CLMBase::moveRobotTo ( std::vector< double >  coordinates,
bool  waitUntilReached = true,
int  waitTimeout = TM_ENDLESS 
) [inherited]

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

Reimplemented from CikBase.

Definition at line 895 of file lmBase.cpp.

void CLMBase::moveRobotTo ( double  x,
double  y,
double  z,
double  phi,
double  theta,
double  psi,
bool  waitUntilReached = true,
int  waitTimeout = TM_ENDLESS 
) [inherited]

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

Note:
Instead of a given tolerance, a default tolerance is being used

Reimplemented from CikBase.

Definition at line 880 of file lmBase.cpp.

void CLMBase::movLM ( double  X,
double  Y,
double  Z,
double  Al,
double  Be,
double  Ga,
bool  exactflag,
double  vmax,
bool  wait = true,
int  tolerance = 100,
long  timeout = TM_ENDLESS 
) [inherited]
Parameters:
wait has to be true with new implementation of movLM2P

Definition at line 853 of file lmBase.cpp.

void CLMBase::movLM2P ( double  X1,
double  Y1,
double  Z1,
double  Al1,
double  Be1,
double  Ga1,
double  X2,
double  Y2,
double  Z2,
double  Al2,
double  Be2,
double  Ga2,
bool  exactflag,
double  vmax,
bool  wait = true,
int  tolerance = 100,
long  timeout = TM_ENDLESS 
) [inherited]

Move linear from point to point using multiple splines.

Author:
Jonas Haller
Parameters:
X1,Y1,Z1,Ph1,Th1,Ps1 X, Y, Z, Phi, Theta, Psi of actual position
X2,Y2,Z2,Ph2,Th2,Ps2 X, Y, Z, Phi, Theta, Psi of target position
exactflag activate the position controller after the movement
vmax maximum velocity of the movement in mm/s
wait wait for end of movement
tolerance tolerance for all motor encoders
timeout timeout for linear movement in ms
Exceptions:
NoSolutionException if no solution found for IK
JointSpeedException if joint speed too high
WaitParameterException if wait set to false
Returns:
void

Definition at line 32 of file lmBase.cpp.

void CLMBase::movP2P ( double  X1,
double  Y1,
double  Z1,
double  Ph1,
double  Th1,
double  Ps1,
double  X2,
double  Y2,
double  Z2,
double  Ph2,
double  Th2,
double  Ps2,
bool  exactflag,
double  vmax,
bool  wait = true,
long  timeout = TM_ENDLESS 
) [inherited]

Move point to point using splines.

Author:
Jonas Haller
Parameters:
X1,Y1,Z1,Ph1,Th1,Ps1 X, Y, Z, Phi, Theta, Psi of actual position
X2,Y2,Z2,Ph2,Th2,Ps2 X, Y, Z, Phi, Theta, Psi of target position
exactflag activate the position controller after the movement
vmax maximum velocity for motors
wait wait for end of movement
tolerance tolerance for all motor encoders
timeout timeout for movement in ms
Exceptions:
NoSolutionException if no solution found for IK
JointSpeedException if joint speed too high
WaitParameterException if wait set to false
Returns:
void

Definition at line 457 of file lmBase.cpp.

double CLMBase::relPosition ( double  reltime,
double  distance,
double  acc,
double  dec,
double  vmax 
) [private, inherited]

Calculates the relative position reached after the relative time given.

Author:
Jonas Haller
Parameters:
reltime relative time (fraction of totaltime)
distance distance of the movement in mm
acc acceleration at the beginning in mm/s^2
dec deceleration at the end in mm/s^2
vmax maximum velocity of the movement in mm/s
Returns:
relative distance (fraction of distance)

Definition at line 284 of file lmBase.cpp.

void CLMBase::setActivatePositionController ( bool  activate  )  [inherited]

Re-Activate the position controller after the linear movement.

Note:
This can result in a small movement after the movement

Definition at line 911 of file lmBase.cpp.

void CLMBase::setMaximumLinearVelocity ( double  maximumVelocity  )  [inherited]

Definition at line 900 of file lmBase.cpp.

void CLMBase::splineCoefficients ( int  steps,
double *  timearray,
double *  encoderarray,
double *  arr_p1,
double *  arr_p2,
double *  arr_p3,
double *  arr_p4 
) [private, inherited]

Calculates the spline coefficient and stores them in arr_p1 - arr_p4.

Boundary conditions are that f_1'=0 and f_n'=0 (zero velocity at beginning and end of the movement) and f_i''=P_(i+1)''.

Author:
Jonas Haller
Parameters:
steps number of splines to calculate
timearray times of the points (length = steps + 1)
encoderarray encoder values of the points (length = steps + 1)
arr_p1 to return parameters 1 (length = steps)
arr_p2 to return parameters 2 (length = steps)
arr_p3 to return parameters 3 (length = steps)
arr_p4 to return parameters 4 (length = steps)
Returns:
void

Definition at line 316 of file lmBase.cpp.

double CLMBase::totalTime ( double  distance,
double  acc,
double  dec,
double  vmax 
) [private, inherited]

Calculates time needed for movement over a distance.

Author:
Jonas Haller
Parameters:
distance distance of the movement in mm
acc acceleration at the beginning in mm/s^2
dec deceleration at the end in mm/s^2
vmax maximum velocity of the movement in mm/s
Returns:
time needed for the movement in s

Definition at line 267 of file lmBase.cpp.


Variable Documentation

Definition at line 77 of file lmBase.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


kni
Author(s): Neuronics AG (see AUTHORS.txt); ROS wrapper by Martin Günther
autogenerated on Tue Mar 5 12:33:23 2013