zerograv(1)

NAME
zerograv -- RCI program to put the robot into zero gravity mode.

USAGE
zerograv [<robotName>] [-sim[=<simaddr>]] [-on]

DESCRIPTION
This program is used to put the robot into zerogravity mode, where its joints are put into current control mode and just enough current is applied at each instant to balance to gravity loading of whatever position the robot happens to be in. This allows the robot to be moved about and positioned freely, as though it were a $50,000 luxo-lamp.

Warning: This program will only work for a particular robot if (1) a gravload function is defined for that robot's class and a pointer to it is contained in the KYN structure, and (2) the gravity loading coefficients for the particular robot are known and available in the KYN structure as well. If these conditions are not met, then the robot may try to put itself through the floor.

ARGUMENTS

robotName --
    Optional robot name. If absent, the name is obtained from the system file $RCCL/conf/defaultRobot.

-sim --
    Causes the program to be run in simulator mode, in which it will attempt to connect to a robot simulator program (see robotsim) instead of connecting to a real robot.

    If unqualified, the -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 <simaddr>, as in -sim=<simaddr>. For the format of this address string, see simAddress(5).

-on --
    Leave the robot arm power on after the program has exited.

-friction --
    Increase the functionality of the program to provide friction compensation for the joints. This can be enabled or disabled for each joint interactively (disabled is the default) and the compensation values themselves can also be set.

OPERATION
The program is interactive. Commands are entered using the C-tree matcher, an automatic command completion utility. Full documentation on the C-tree matcher is given in the file doc/CtreeMatch.doc.

The commands available are:

show --
    Show the current robot encoder values. If the robot is calibrated, also show angle values. Show Coulomb friction terms if the -friction option was specified.

hand open --
    Open the robot gripper.

hand close --
    Close the robot gripper.

frictionComp <jnt> on --
    Enable friction compensation for joint number <jnt> (or all joints, if <jnt> is given as all). When friction compensation is enabled for a particular joint, the Coulomb friction term for that joint is used to make it easier to "move" the joint in a particular direction (although there will still be a "sticking" effect when the joint changes directions). Initial values for the Coulomb friction terms are taken from the coulFriction field in the robot's KYN structure (q.v.).

frictionComp <jnt> off --
    Disable friction compensation for joint number <jnt> (or all joints, if <jnt> is given as all).

set frictionComp <jnt> <value> --
    Set the Coulomb friction term for joint number <jnt> to the indicated value. Note that the final values are not automatically written back into the robot's KYN structure.

quit --
    Exit the program.