Changes between Version 1 and Version 2 of Hand/282/ControlModes


Ignore:
Timestamp:
Jan 11, 2016, 7:43:17 PM (9 years ago)
Author:
cv
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Hand/282/ControlModes

    v1 v2  
    1 The BarrettHand has several control modes:
     1= Control Modes for the BarrettHand BH8-280 and BH8-282 =
    22
    3 * Torque (MODE = 2, TSTOP = 0) - You can stream torque commands to each
    4 of the four motors (or any subset) while receiving joint position
    5 feedback. The actual torques applied at the finger joints are only
    6 loosely related to the commanded motor torques because of the large
    7 amount of friction introduced by the worm drives. If you want to use
    8 torque control, you should implement your own higher-level control
    9 wrapper around the torque (using position or velocity). You must also
    10 keep track of the finger speeds, motor temperature, and joint limits
    11 yourself to prevent damage to the BarrettHand. We recommend an update
    12 rate of at least 200Hz to maintain smooth motions in this mode.
     3== Torque (MODE = 2, TSTOP = 0) ==
    134
    14 * Position (MODE = 3, TSTOP = 0) - You can stream position commands to
    15 each of the four motors (or any subset). The BarrettHand will attempt to
    16 reach the desired position instantly using its PID gain properties KP,
    17 KD, and KI. You must not give the BarrettHand a set of positions that is
    18 too far from the present position or else the controller will go
    19 unstable. You should write your own position profile generator and use
    20 the encoder positions as feedback. We recommend an update rate of at
    21 least 50Hz in order to maintain smooth motions in this mode. The
    22 BarrettHand is aware of its own joint stops in this mode and will not
    23 let you drive the fingers past their joint stops. However, you must
    24 limit the finger velocities with your own controller.
     5You can stream torque commands to each of the four motors (or any subset) while receiving joint position feedback. The actual torques applied at the finger joints are only loosely related to the commanded motor torques because of the large amount of friction introduced by the worm drives. If you want to use torque control, you should implement your own higher-level control wrapper around the torque (using position or velocity). You must also keep track of the finger speeds, motor temperature, and joint limits yourself to prevent damage to the BarrettHand. We recommend an update rate of at least 200Hz to maintain smooth motions in this mode.
    256
    26 * Velocity (MODE = 4, TSTOP = 0) - You can stream velocity commands to
    27 each of the four motors (or any subset). The BarrettHand will maintain
    28 the previously sent velocity until a new velocity command is received.
    29 The BarrettHand is aware of its own joint stops in this mode and will
    30 not let you drive the fingers past their joint stops. The BarrettHand
    31 will also limit the max finger velocity in this mode (to property MV).
    32 There is no minimum recommended update rate, so this mode works well for
    33 high-latency applications.
     7== Position (MODE = 3, TSTOP = 0) ==
    348
    35 * Trapezoidal velocity profile (MODE = 5, TSTOP = 1) - You can send
    36 discrete target endpoint positions (property E) to each of the four
    37 motors (or any subset). The BarrettHand will generate its own
    38 trapezoidal velocity profile to accelerate from its present position
    39 (using ACCEL) until it reaches max velocity (MV), then it will
    40 decelerate to reach the target endpoint position at zero velocity. You
    41 should not stream positions in this mode. This mode is intended for
    42 discrete motion commands separated in time, usually several seconds
    43 apart. The BarrettHand is aware of its own joint stops in this mode and
    44 will not let you drive the fingers past their joint stops. The
    45 BarrettHand will also limit the max finger velocity in this mode (to
    46 property MV). There is no minimum recommended update rate, so this mode
    47 works well for high-latency applications. However you should not send a
    48 new endpoint value until the present motion is complete. The MODE
    49 property of each finger will drop from 5 (TRAP) to either 3 (POS) or 0
    50 (IDLE) when the motion is complete. If the HOLD property is set to 1,
    51 the MODE will drop from 5 to 3, and the finger will actively hold
    52 position at the end of a trapezoidal move. If the HOLD property is set
    53 to 0, the MODE will drop from 5 to 0, and the motor will be able to move
    54 freely at the end of a trapezoidal move. The HOLD property is especially
    55 applicable to the "Spread" motor as it is driven by a backdrivable spur
    56 gear instead of a non-backdrivable worm gear as is found in the finger
    57 motor drives.
     9You can stream position commands to each of the four motors (or any subset). The BarrettHand will attempt to reach the desired position instantly using its PID gain properties KP, KD, and KI. You must not give the BarrettHand a set of positions that is too far from the present position or else the controller will go unstable. You should write your own position profile generator and use the encoder positions as feedback. We recommend an update rate of at least 50Hz in order to maintain smooth motions in this mode. The BarrettHand is aware of its own joint stops in this mode and will not let you drive the fingers past their joint stops. However, you must limit the finger velocities with your own controller.
     10
     11== Velocity (MODE = 4, TSTOP = 0) ==
     12
     13You can stream velocity commands to each of the four motors (or any subset). The BarrettHand will maintain the previously sent velocity until a new velocity command is received. The BarrettHand is aware of its own joint stops in this mode and will not let you drive the fingers past their joint stops. The BarrettHand will also limit the max finger velocity in this mode (to property MV). There is no minimum recommended update rate, so this mode works well for high-latency applications.
     14
     15== Trapezoidal velocity profile (MODE = 5, TSTOP = 1) ==
     16
     17You can send discrete target endpoint positions (property E) to each of the four motors (or any subset). The BarrettHand will generate its own trapezoidal velocity profile to accelerate from its present position (using ACCEL) until it reaches max velocity (MV), then it will decelerate to reach the target endpoint position at zero velocity. You should not stream positions in this mode. This mode is intended for discrete motion commands separated in time, usually several seconds apart. The BarrettHand is aware of its own joint stops in this mode and will not let you drive the fingers past their joint stops. The BarrettHand will also limit the max finger velocity in this mode (to property MV). There is no minimum recommended update rate, so this mode works well for high-latency applications. However you should not send a new endpoint value until the present motion is complete. The MODE property of each finger will drop from 5 (TRAP) to either 3 (POS) or 0 (IDLE) when the motion is complete. If the HOLD property is set to 1, the MODE will drop from 5 to 3, and the finger will actively hold position at the end of a trapezoidal move. If the HOLD property is set to 0, the MODE will drop from 5 to 0, and the motor will be able to move freely at the end of a trapezoidal move. The HOLD property is especially applicable to the "Spread" motor as it is driven by a backdrivable spur gear instead of a non-backdrivable worm gear as is found in the finger motor drives.