\input manualMacros.tex
\manBegin
\manPageInfo{RCI Reference Manual}{}{}
\manTitle{move}{1}
\manSection{NAME}
{\tt \manName{move}}
-- RCI program to move the robot to a specified joint
position.
\manSection{USAGE}
\cverbatim
move [<robotName>] (to|by) (<posName>|<jointSpec>) 
     [-on] [-sim[=<simaddr>]]
@endcverbatim
\manSection{DESCRIPTION}
Program used to move to a specified joint position.

\manSection{ARGUMENTS}
\manItem{{\tt robotName} --}
Optional robot name. If absent, the name is obtained from the system file
{\filefont \$RCCL/conf/defaultRobot}.

\manItem{{\tt to} --}
Indicates that the robot is to be moved to the specified joint values.
The joint values can be described either in line explicitly (see
{\tt jointSpec}, below), or by giving the name of a predefined joint
position. In the latter case, the program will try to find the position 
in the file {\filefont \$RCCL/conf/<robotName>.pos}, using the
routine {\tt getRobotPosition()} (q.v.).

\manItem{{\tt by} --}
Indicates that the robot is to be moved {\it by} the specified joint
values, relative to its current position. For this mode, the
user must give a {\tt jointSpec}; predefined positions
can't be used as relative joint offsets.

\manItem{{\tt posName} --}
Name of a predefined robot joint position.

\manItem{{\tt jointSpec} --}
An in-line joint value specification. This consists of joint
values, in degrees or millimeters, separated by commas. The syntax is actually
very similar to that used by the Unimation language VAL: joint values
can be left undefined by truncating the joint spec
and/or not putting anything between commas. For relative
({\tt by}) motions, undefined values are treated as zero.
For absolute motions,
the current value of the robot joint is used instead.
As an example, to move joint three of a robot by 90 degrees,
the following command could be issued:
\cverbatim
                    move <robotName> by ,,90.0 @endcverbatim
\manItem{}
Similarly, to move only joint 4 to 45 degrees, the following
command could be issued:
\cverbatim
                    move <robotName> to ,,,45.0 @endcverbatim
\manItem{}
White space in the command line between commas or joint values
has no effect, although joint values themselves should not contain white
space: {\tt "90 .5"} vs. {\tt "90.5"} or {\tt "- 45.0"} vs. {\tt "-45.0"}
should cause the program to complain.

\manItem{{\tt -on} --}
Option instructing the program to leave the robot power on when
it exits.
\manItem{{\tt -sim} --}
Instructs the program to use the robot simulator instead of
the real thing.
\manItem{}
If unqualified, the {\tt -sim} option causes the program to seek a simulator
running on the same machine under the same user name. A different simulator
can be specified by adding an address string {\tt <simaddr>},
as in {\tt -sim=<simaddr>}. For the format of this
address string, see {\tt simAddress(5)}.

\manSection{CAVEATS}
Relative moves tend to be safer than absolute ones, since it
is easier to visualize where the robot will end up as a result of
a relative change to the existing position.
\manEnd
\end
