Module to get "low-level" control of a BarrettHand


Data Structures

class  BHand
 Basic class for controlling the BarrettHand. More...
class  BHandException
class  BHandExt
 Extended class for controlling the BarrettHand in Realtime-Mode. More...
struct  ControlBlock
 Control block. More...
struct  FeedbackBlock
 Feedback block from BarrettHand. More...
struct  MotorControl
 Contains motor control data for one motor. More...
struct  MotorFeedback
 Contains feedback for one motor. More...

Enumerations

enum  GParameter {
  LOOP_FEEDBACK_TEMP, OVER_TEMP, LOOP_FEEDBACK_DELTA_POS_DISCARD, TEMP,
  PEAK_TEMP, UPTIME_SECS, SERIAL_NR
}
 Global parameters are used to configure or observe the hand as a whole. Large parts copied from BarrettHand users Manual Barrett Technology, Inc . More...
enum  MParameter {
  DEFAULT_POS, DEFAULT_STEP, MAX_STRAIN, MIN_STRAIN,
  MAX_OPEN_VEL, MAX_CLOSE_VEL, LOOP_CTRL_VEL, LOOP_CTRL_VEL_COEFF,
  LOOP_CTRL_PROP_GAIN, LOOP_FEEDBACK_VEL, LOOP_FEEDBACK_VEL_COEFF, LOOP_FEEDBACK_STRAIN,
  LOOP_FEEDBACK_ABS_POS, LOOP_FEEDBACK_DELTA_POS, LOOP_FEEDBACK_DELTA_POS_COEFF, ODOMETER,
  POSITION, STATUS, STRAIN
}
 Motor parameters change how a motor functions. Large parts copied from BarrettHand users Manual Barrett Technology, Inc . More...

Detailed Description

This Group contains method and objects for a basic control of a BarrettHand

Enumeration Type Documentation

enum GParameter

Global parameters are used to configure or observe the hand as a whole. Large parts copied from BarrettHand users Manual Barrett Technology, Inc .

Enumerator:
LOOP_FEEDBACK_TEMP  Loop Feedback Temperature. If non-zero, then when in RealTime mode the firmware sends a signed two-byte datum of temperature in each feedback block (0,1).

Default: 0


OVER_TEMP  OverTemperature. If non-zero, then if the temperature exceeds this value then any motor command fails with an overtemperature error (0-1250).

Value is temperature in tenths of a degrees C.

Default: 0


LOOP_FEEDBACK_DELTA_POS_DISCARD  Loop Feedback Delta Position Discard. If non-zero, then in RealTime mode any position change that cannot be sent in a delta position datum is discarded. If zero, then any unsent position change is accumulated for transmission in the next cycle (0,1).

Default: 0


TEMP  The present temperature on the CPU board in tenths of a degree C (-550-1250).


PEAK_TEMP  The maximum temperature ever experienced by this hand (0-1250).

This value is never reset; it is maintained through power failures and firmware downloads.


UPTIME_SECS  The total power-up time for this hand (0 to 4 billion).

This value is never reset; it is maintained through power failures and firmware downloads. The parameter can accommodate 136 years of power-up time before rolling over.


SERIAL_NR  The serial number of the hand.

This value is never reset; it is maintained through power failures and firmware downloads. Hands upgraded to firmware version 4.2 in the field will have a serial number of 0.


enum MParameter

Motor parameters change how a motor functions. Large parts copied from BarrettHand users Manual Barrett Technology, Inc .

Enumerator:
DEFAULT_POS  Destination of movePos() command if no argument specified (0-65,535).

While DEFAULT_POS can be set as high as 65,535, its true range of useful values is bounded by the joint limits of the axes (e.g. approximately 0 to 18,000 for fingers and approximately 0 to 3150 for spread).

Default: Finger: 8500, Spread: 1575


DEFAULT_STEP  Size of openInc(), closeInc() and move() command movement if no argument specified (0-65,535).

While DEFAULT_STEP can be set as high as 65,535, its true range of useful values is bounded by the joint limits of the axes (e.g. approximately 0 to 18,000 for fingers and approximately 0 to 3150 for spread).

Default: Finger: 1700, Spread: 315


MAX_STRAIN  In open(), close(), openInc(), closeInc(), move(), movePos(), openTorque(), closeTorque(), and home() commands, a motor's motion is terminated if its strain gauge value exceeds the value of MAX_STRAIN (0-256).

A value of 255 or 256 disables the strain gage checking during motion commands.

Default: 256


MIN_STRAIN  In open(), close(), openInc(), closeInc(), move(), movePos(), openTorque(), closeTorque(), and home() commands, a motor's motion is terminated if its strain gauge value falls below the value of MIN_STRAIN (0-256).

A value of 255 or 256 disables the strain gage checking during motion commands.

Default: 256


MAX_OPEN_VEL  Controls the maximum velocity while opening a motor (16-4080).

Default: Finger: 100, Spread: 60

MAX_CLOSE_VEL  Controls the maximum velocity while closing a motor (16-4080).

Default: Finger: 100, Spread: 60


LOOP_CTRL_VEL  Loop Control Velocity. If non-zero, then a velocity byte will be sent in the control block for the motor (0,1).

Default: 1


LOOP_CTRL_VEL_COEFF  Loop Control Velocity Coefficient. When the firmware receives a velocity byte in a control block, it multiplies the value by the value of LOOP_CTRL_VEL before passing it to the affected motor (0-255).

Default: 1


LOOP_CTRL_PROP_GAIN  Loop Control Proportional Gain. If non-zero, then a Proportional Gain byte will be sent in the control block for the motor (0,1).

This controls the constant that is multiplied by the velocity error in order to produce the motor torque.

Default: 1


LOOP_FEEDBACK_VEL  Loop Feedback Velocity. If non-zero, then the firmware sends a signed byte giving the present velocity for the motor divided by the LOOP_FEEDBACK_VEL_COEFF parameter (0,1).

Default: 0


LOOP_FEEDBACK_VEL_COEFF  Loop Feedback Velocity Coefficient Purpose. Before sending a Loop Feedback Velocity byte, the firmware divides the velocity by this parameter's value (0-255).

Default: 1


LOOP_FEEDBACK_STRAIN  Loop Feedback Strain. If non-zero, then the firmware sends an unsigned byte giving the strain gauge value for the motor (0,1).

Default: 1


LOOP_FEEDBACK_ABS_POS  Loop Feedback Absolute Position. If non-zero, then the firmware sends an unsigned two-byte value giving the present position of the motor (0,1).

Default: 1


LOOP_FEEDBACK_DELTA_POS  Loop Feedback Delta Position. If non-zero, then the firmware sends a signed byte giving the change in position since the last datum, divided by the value of the LOOP_FEEDBACK_DELTA_POS_COEFF parameter (0,1).

A conflict occurs when the change in position is too great to transmit in a single signed byte, even after scaling.

Default: 1


LOOP_FEEDBACK_DELTA_POS_COEFF  Loop Feedback Delta Position Coefficient. Used to scale a delta position value (0-255).

Delta position is the change in position from the last reported position and is limited to one signed byte. The Present position is read and compared to the last reported position. The difference is divided by the RealTime variable LOOP_FEEDBACK_DELTA_POS_COEFF, clipped to a single signed byte, and then sent to the host. The value sent to the host should be multiplied by LOOP_FEEDBACK_DELTA_POS_COEFF and then added to the last reported position.

Default: 0


ODOMETER  The total number of counts traveled by the selected motor, divided by 1000 (0-4 billion).

This value is never reset; it is maintained through power failures and firmware downloads. This parameter is a readonly parameter.


POSITION  The present position of the motor (Finger: 0 to approximately 17,800, Spread: 0 to approximately 3150).

The range of the position parameter is dependent on the values of the OPEN_TARGET and the CLOSE_TARGET parameters. If these parameters are set beyond the joint stops then the joint stops themselves will dictate the range of position values, in which case the ranges may differ slightly from finger to finger. This parameter is a readonly parameter.


STATUS  The present status of the motor. 0 if ready to be used, or a status code otherwise (0, 1, 2, 4,...,8192, 16384 and sums of these). This parameter is a readonly parameter.


STRAIN  The present strain gage value for the motor (0-255).

Is 255 if there is no strain gauge. This parameter is a readonly parameter.




tams Tim Baier bhandlib v0.25
Generated Wed Aug 16 14:58:28 2006 by doxygen 1.4.7