\input manualMacros.tex
\manBegin
\manPageInfo{RCI Reference Manual}{}{}
\manTitle{updateVar}{3}
\manSection{NAME}
{\rightskip=0ptplus1fil
{\tt \manName{updateVar}},
{\tt \manName{updateVarXsincos}}
-- RCI routines to maintain the {\tt VAR} structure for a robot.
}
\manSection{USAGE}
\cverbatim
#include <robot_kynvar.h>

updateVar (var, j6, kyn)
   void *var;
   flost *j6;
   KYN *kyn;

updateVarXsincos (var, j6, kyn)
   void *var;
   flost *j6;
   KYN *kyn;
@endcverbatim
\manSection{ARGUMENTS}
\manItem{{\tt var} --}
Robot's {\tt VAR} structure.
\manItem{{\tt j6} --}
Joint position values (radians or millimeters).
\manItem{{\tt kyn} --}
Robot's {\tt KYN} structure, which defines
parameters and kinematic constants.
\manSection{DESCRIPTION}
These routines update entries in a robot's {\tt VAR} structure.

The {\tt VAR} structure contains control variables which depend on robot
position, such as the sines and cosines of the joint angles, and various
coefficients related to the Jacobian. 
The purpose of this structure is to store these terms so that
routines like {\tt fwdJacobVar()} and {\tt gravloadVar()} can use
them repeatedly without having to recompute them each time.
It is only necessary to update the {\tt VAR} structure when the
robot position changes. For full details on the {\tt VAR} structure and how to
obtain it, see the manual page {\tt VAR(3)}.

{\tt updateVar()} instantiates all the entries in {\tt var} for
the given set of joint angles.

{\tt updateVarXsincos()} instantiates all the entries in {\tt var} execpt
for the sines and cosines of the angles, which are assumed to have be
obtained elsewhere (perhaps as a by-product of the kinematic routines
{\tt fwdKinematics()} or {\tt invKinematics()}).

The {\tt kyn} structure contains robot kinematic and
dynamic constants. For full details on the {\tt KYN} structure and how to
obtain it, see the manual page {\tt KYN(3)}.

\manSection{SEE ALSO}
\rightskip=0ptplus1fil
{\tt KYN(3)}, {\tt VAR(3)}, {\tt fwdJacobianVar(3)},
{\tt fwdKinematics(3)}.

\manEnd
\end
