\input manualMacros.tex
\manBegin
\manPageInfo{RCCL Reference Manual}{}{}
\manTitle{getSpeed}{3}
\manSection{NAME}
{\rightskip=0ptplus1fil
{\tt \manName{getSpeed}},
{\tt \manName{getCartVel}},
{\tt \manName{getJointVel}},
{\tt \manName{getJvelScale}},
{\tt \manName{getDefaultCartVel}},
{\tt \manName{getDefaultJointVel}}
-- read back velocity specs. for RCCL manipulators.

}
\manSection{USAGE}
\cverbatim
#include <rccl.h>

float getSpeed (mnp)
  MANIP *mnp;

getCartVel (mnp, tvel, rvel)
  MANIP *mnp;
  float *tvel, *rvel;

getJointVel (mnp, jvel)
  MANIP *mnp;
  JNTS *jvel;

float getJvelScale (mnp)
  MANIP *mnp;

getDefaultCartVel (mnp, tvel, rvel)
  MANIP *mnp;
  float *tvel, *rvel;

getDefaultJointVel (mnp, jvel)
  MANIP *mnp;
  JNTS *jvel;@endcverbatim
\manSection{ARGUMENTS}
\manItem{{\tt mnp} --}
Manipulator reference structure.
\manItem{{\tt tvel}, {\tt rvel} --}
Return values for translational and rotational velocity (mm. per sec).
These are optional and may be given as {\tt NULL}.
\manItem{{\tt jvel} --}
Return values for rotational velocity (degrees or mm. per second).
\manSection{RESTRICTIONS}
{\rightskip=0ptplus1fil
{\tt getJointVel()}, {\tt getJvelScale()}, and {\tt getDefaultJointVel()}
are not defined for virtual manipulators.

}
\manSection{DESCRIPTION}
These routines read back the various speed and velocity values specified
for a particular manipulator {\tt mnp}.

{\tt getSpeed()} returns the overall manipulator speed scale, 
specified by the routine {\tt setSpeed()}, where
a speed of 1.0 is the default value.

{\tt getCartVel()} reads back the nominal translational and rotational
velocities for Cartesian motions, specified by {\tt setCartVel()}.
If either of the argument pointers is given as {\tt NULL}, the
corresponding value is not returned. 

{\tt getJointVel()} reads back the nominal joint velocities
specified by the routine {\tt setJointVel()}.

{\tolerance=10000
{\tt getJvelScale()} returns the joint velocity scale factor,
specified by the routine {\tt setJvelScale()}, where the default value is
1.0. 

}
{\tt getDefaultCartVel()} gets the default Cartesian velocity
settings associated with the manipulator. These are the values
of the parameters {\tt tvel} and {\tt rvel} given in the {\tt .rciparams}
file. If these parameters are not defined, then the defined constants
{\tt DEFAULT_TRANS_VEL} and {\tt DEFAULT_ROT_VEL} are used instead.

{\tt getDefaultJointVel()} returns the default settings for the joint
velocities 
associated with the manipulator. These are taken from the {\tt nominalVel}
field of the robot's {\tt JLS} structure.

\manSection{DIAGNOSTICS}
These routines return {\tt -1} in the event of an error.
They will automatically abort the program if the option {\tt RCCL_ERROR_EXIT}
is set (see {\tt rcclSetOptions(3)}). 
Error codes and messages are placed on the {\it errorStack} (q.v.). 

{\tt getJointVel()}, {\tt getJvelScale()}, and {\tt getDefaultJointVel()}
may set the following error codes:

\manItem{{\tt ENotDefined} --}
The routine was called for a virtual manipulator.

No other errors are currently implemented.
\manSection{SEE ALSO}
\rightskip=0ptplus1fil
{\tt getSpeed(3)}, {\tt move(3)}, {\tt rcclSetOptions(3)}, {\tt
errorStack(3)}.
\manEnd
\end
