Table of Contents TABLE OF CONTENTS..........................2 LIST OF FIGURES............................5 LIST OF TABLES............................7 LIST OF EQUATIONS..........................7 1 SYSTEM DESCRIPTION..........................8 1.1 S BH8-SERIES S ..................8 TANDARD YSTEM OMPONENTS 1.1.1 System Features..........................8 1.1.2 Documentation..........................8 1.1.3 BarrettHand™..........................9 1.1.4 Power Supply..........................10 1.1.5 Electrical Cables...........................11 1.1.6 Lab Bench Stand..........................13 1.1.7 Control Software and Firmware....................13 1.1.8 Maintenance Kit..........................14 1.2 S...
Page 3
5.4.1 Configuration ..........................38 5.4.2 Status ............................39 5.4.3 Advanced............................39 5.5 T ................40 ERMINATION ONDITIONS FOR OVEMENT OMMANDS 5.6 BH8-280 I ........................40 MPLEMENTATION 6 REALTIME CONTROL..........................42 6.1 P API..........................42 UCKS IN 6.2 O ..................43 VERVIEW OF ERIAL ROTOCOL FOR ARLIER ANDS 6.3 C ......................43 ONTROL AND EEDBACK...
List of Figures FIGURE 1 - BARRETTHAND™.........................8 FIGURE 2 - BARRETTHAND™ BH8-28X 48-VOLT UNIVERSAL POWER SUPPLY.....9 FIGURE 3 - USB TO CAN ADAPTER FOR BH8-280 BARRETTHAND™........10 FIGURE 4 - EARLIER BARRETTHAND™ BH8-SERIES 24-VOLT POWER SUPPLY....11 FIGURE 5 - CABLE CONNECTIONS TO THE EARLIER BH8-SERIES POWER SUPPLY..11 FIGURE 6 - LAB BENCH STAND......................12 FIGURE 7 - ARM ADAPTER........................14 FIGURE 8 - LAB BENCH STAND WITH WIRE STRAIN RELIEF............16...
List of Tables TABLE 1 - FIRMWARE FILE LIST..................20 TABLE 2 - MOTOR PREFIXES....................22 TABLE 3 - HAND STATUS CODES...................23 TABLE 4 - REALTIME FINGER CONTROL PROPERTIES FOR THE BH8-262.....45 TABLE 5 - REALTIME GLOBAL CONTROL PROPERTIES..........45 TABLE 6 - LUBRICATION SCHEDULE..................50 TABLE 7 - BARRETTHAND™...
System integration with any robotic arm is fast and simple. Even with its low, 1.2-kg, weight and compact form, it is totally self-contained. Communication with the BarrettHand™ offers a couple of connectivity options. The BH8-280 hand has high-speed CAN connectivity with Barrett’s universal Puck controllers embedded in the hand. The BH8-262 model and earlier hands use industry-standard serial communications, which has been the common denominator of communications, for guaranteed universal compatibility.
DC brushless servo motor. The joints of each finger are coupled through Barrett’s patented TorqueSwitch™, which automatically switches motor torque to the appropriate finger joint when closing on a target object. Using the fingers together allows the BarrettHand™...
BH8-28x Universal 48-V Power Supply The BH8-28x power supply shown in Figure 2 is smaller than earlier ones and is designed to run a hand from a host computer over serial or CAN. The user should connect all wires, which connect to the power supply before turning on power.
1.1.6 Lab Bench Stand The bench mount stand for the BarrettHand™, shown in Figure 6, is ideal for off-arm development. The durable Lexan® stand comes complete with cable management clips and mounting features to hold your BarrettHand™ unit securely on any flat surface. Non-slip rubber feet keep the stand from sliding during testing and programming.
includes HTML generated documentation that describes all of the classes, variables, and methods that users should use in detail and gives examples. The API is written in C++ and compiled for 32-bit versions of Ubuntu 9.10 and Windows XP. It is a typical C++ library, providing a class from which you instantiate one BHand object and use it for all communications.
1.2.1 Arm adapter Barrett Technology provides an arm adapter (Figure 7) matching the make and model of any robot specified by the customer. This lightweight arm adapter is made to work with the end-effector bolt pattern on your robot, allowing quick, easy mounting and wire management for a BH8- SERIES System.
2 Safety and Cautions PLEASE READ THIS SECTION IN ITS ENTIRETY BEFORE USING YOUR BARRETTHAND™. Following these safety instructions will help prevent user injury and equipment damage. • As with any piece of robotic equipment, it is ultimately up to you to be aware of your surroundings during robot operation.
3 System Setup 3.1 Mounting Method 1: Lab Bench Stand The Lexan Bench Stand you received with the BarrettHand™ has been provided for convenience in programming the BarrettHand™ when a host robot arm is not available. Use the wire guide clips to provide strain relief to the Hand cable.
To mount your BarrettHand™ on a robot, bolt the arm adapter onto the tool-plate bolt circle, located at the end tip of the robot arm. Next, insert the threaded base of the BarrettHand™ through the hole in the arm adapter shown in Figure 9 aligning the indexing tab on the arm adapter to the mating alignment slot on the BarrettHand™.
• With your PC off, attach the DB-9 extension cable from your 9-pin COM Port or Peak USB to CAN adapter to the Power Supply. Barrett Technology supplies a 3-meter standard straight-through DB-9 cable, but you may purchase a longer cable if desired.
9.10. The BarrettHand Control GUI requires a good amount of CPU power and memory for running this wxWidgets based application. Barrett Technology requires the minimum specs for using the corresponding operating system. A processor with a CPU clock speed of 1 GHz or greater, 1 GB of RAM, at least a Gigabyte of free disk space, and a modern graphics card is recommended.
3.7 Upload Firmware The BarrettHand™ firmware resides on board the electronics located inside the hand. BH8-262 hand firmware is stored in RAM that receives its power from the Power Supply when the system is turned on and from an embedded super capacitor when powered down. This super capacitor is designed to maintain the firmware in RAM for two days.
4 Control Modes – Supervisory and RealTime The BarrettHand™ can be used in either of two (2) modes: high-level Supervisory mode or low-level RealTime mode. Most users of the BarrettHand™ can rely exclusively on Supervisory mode since it handles virtually every function of the BarrettHand™. Supervisory mode leverages the control capabilities of the BH8-262 on-board Motorola microprocessor or the BH8-280 Pucks in the hand.
5 Supervisory Control Mode An application designed to run and create Supervisory programs, that all users should become familiar with, is the BarrettHand Control GUI. Sequences of most commands may be formed though intuitive input controls, may be added to an execution buffer, and run with the click of a button.
5.1.3 Status Codes When a Supervisory mode command encounters an error or unexpected result, the command is terminated, a status code is printed, and then a new prompt is printed to the host PC. The status code is in the format "ERR <value>", where <value> is the sum of the status codes encountered. Note that the status codes are powers of 2 so that the sum may be decomposed into the individual status codes.
Page 24
Command: Name: Hand Initialize Purpose: Initializes the selected motor controller(s), preparing them for use by other movement commands. Arguments: (none) Example: Notes: HI must be run before any other movement command. Generally it is run without a motor prefix, initializing all four motors; although, if desired, a subset of the motors can be specified.
Command: Name: Open Purpose: Commands the selected motor(s) to move fingers in open direction with a velocity ramp-down at target limits. If selected, F1, F2, and F3 open away from the palm, and the spread motor moves so that fingers F1 and F2 are opposite finger F3.
Command: FGET Name: Finger Get Purpose: Gets and prints the property value(s) for the selected motor(s). Each property has its value(s) printed on one line, with one value for each selected motor separated by spaces. Arguments: <propertyName> Example: SFGET DS DP Notes: More than one property name may be added.
Page 27
Command: PSET Name: Property Set Purpose: Sets one or more properties to the given value(s) Arguments: <propertyName> <propertyValue> Example: PSET OTEMP 60 Notes: More than one property may be set be listing more than one propertyName/propertyValue pair. Command: PGET Name: Property Get Purpose: Gets and prints one or more given property value(s).
5.2.4 Administrative Commands Administrative commands implement various housekeeping functions. Command: Name: Help Purpose: Lists all of the standard commands. If immediately followed by a command name, then it lists the command name and its description. Arguments: <commandName> Example: Notes: There must be no space between "?" and any command name. Command: RESET Name:...
5.2.5 Advanced Commands Users do not generally need these commands and should avoid using them. They are not listed by the “?" command; they are only listed by the "A?" command. Command: Name: Help All Purpose: Lists all of the standard and advanced commands. Arguments: (none) Example:...
Page 30
Property: BDAT Name: Breakaway Detection Acceleration Threshold Purpose: Used to adjust the breakaway detection accuracy Values: 0 to 20000 Default: Finger: 1500 Spread: N/A Notes: Units of BDAT are: Encoder counts/(Ticklet ). There are 307 ticklets per millisecond. Property: Name: Breakaway Stop Purpose: Used to stop finger as soon as breakaway has been detected.
Property: Name: Maximum Open Velocity Purpose: Controls the maximum velocity while opening a motor. Values: 16 to 4080 Default: Finger: 100 Spread: 60 Notes: Property: Name: Maximum Close Velocity Purpose: Controls the maximum velocity while closing a motor. Values: 16 to 4080 Default: Finger: 100 Spread: 60...
Property: Name: Position Purpose: The present position of the motor. Values: Finger: 0 to approximately 17,800 Spread: 0 to approximately 3150 Default: Notes: The range of the position property is dependent on the values of the OT (open target) and the CT (close target) properties. If these properties 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.
Page 33
Property: Name: Loop Control Torque Purpose: If non-zero, then a signed 2-byte torque will be sent in the control block for the motor. Values: 0, 1 Default: Notes: Motor torque is set using position mode by setting the commanded position reference equal to the actual position plus the desired torque value.
Property: LFAP Name: Loop Feedback Absolute Position Purpose: If non-zero, then the firmware sends an unsigned two-byte value giving the present position of the motor. Values: 0, 1 Default: Notes: Property: LFDP Name: Loop Feedback Delta Position Purpose: 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 LFDPC property.
Page 35
Property: Name: Enabled Purpose: If non-zero, then a motion command with no motor prefix will act on this motor. Values: 0, 1 Default: Notes: Property: Name: Filter Derivative Zero Purpose: Used to calculate the desired motor torque. Values: 0 to 255 Default: Notes: FPG sets B in the HCTL-1100 controller, which is applied as specified in...
Page 36
0 to 65,535 Default: Finger: 2 Spread: 0 Notes: Barrett recommends not setting IHIT to a value greater than 5. IHIT is used to get a consistent origin for the finger motors, and thus a consistent breakaway force. Property: IOFF...
Notes: Written into the HCTL-1100 Sample Timer register according to See http://www.hctl-1100.com/HCTL%20docs/HCTL-1100%20Data%20Sheet.pdf. (The HCTL-1100 clock speed used in the BH8-series Hand is 2.00 MHz.) Barrett Technology does not recommend changing this property from default. Property: SGFLIP Name: Strain Gage Flip...
Property: OTEMP Name: OverTemperature Purpose: If non-zero, then if the temperature exceeds this value then any motor command fails with an overtemperature error. Values: 0 to 1250 Default: Notes: Value is temperature in tenths of a degrees C. 5.4.2 Status Global status properties are read-only and give information about the state of the hand.
5.5 Termination Conditions for Movement Commands There are eight commands in Supervisory mode that control finger motion: • Position commands, absolute: M and HOME • Position commands, relative: IO, IC. • Velocity commands with ramp-down at target limits: O, C •...
Page 40
The BH8-280 hand implements each of the important commands found in the earlier BH8-Series hands to offer compatibility. These commands are found in the new hand: • Movement commands: C, HI, HOME, IO, IC, LOOP, M, O, T, TC, TO •...
6 RealTime Control RealTime mode, also known as Loop-Control mode, is the second control method for the BarrettHand™. This control mode allows you to send control data and receive feedback data continuously, without waiting for the motors to stop moving. Any desired control law can be implemented within the host computer by calculating the desired motor control reference, sending the control block with the control reference to the hand, waiting for the requested feedback data, and then repeating this update process.
appropriate callback function with the BHand setWaitCallbackFunc method. This callback method will be called frequently while Supervisory commands block until movement is done or with the API delay command. This has not been possible with earlier hands. 6.2 Overview of Serial Protocol for Earlier Hands To enter RealTime mode, the host computer sends the Supervisory mode "LOOP"...
• "Loop Control Velocity" Signed, 1 byte • LCPG "Loop Control Proportional Gain" Unsigned, 1 byte • "Loop Control Torque" Signed, 2 bytes The control data should be sent in a specific order: first all data for motor 1, then all for motor 2, then motor 3, and finally motor 4.
Coefficient") property, clipped to a single signed byte, and then sent to the host. The host should then multiply the received value by LFDPC and then add it to the reported position. The problem with using delta position is that the reported position can change at most by +127/- 128 in each cycle.
Table 4 - RealTime Finger Control Properties for the BH8-262 Property Name Type Function Size in Block Loop Control Flag If True, RealTime control 1 signed byte Velocity block will contain control velocity LCVC Loop Control Coefficient LCV is multiplied by Velocity Coefficient (1 to 255) LCVC to determine control...
Page 46
To set this, use the following commands: 12FSET LCV 1 LCVC 1 LCPG 0 LCT 0 LFV 0 LFS 1 LFAP 0 LFDP 1 LFDPC 1 4FSET LCV 0 LCT 0 LCPG 0 LFV 0 LFS 0 LFAP 0 LFDP 1 LFDPC 1 PSET LFT 1 124LOOP The hand will then send a single "*"...
You can easily readjust the pretension through Barrett Technology’s patented cable tensioning mechanism as follows: Loosen the hex set screw with the right angle hex wrench provided in the maintenance kit.
Apply 15 oz-in of clockwise torque to the tensioner screw located on the back of each Joint 3 housing as seen in Figure 12. A 2-mm hex torque wrench is provided in the maintenance kit for this purpose. CAUTION: The tendon is properly tensioned when all loose slack has been removed and you can feel the direct connection of the fingertip to its drive gears.
All screw fasteners in the BarrettHand™ have been installed with a thread locker, which should prevent loosening over the life of the product. However, after prolonged use, Barrett Technology recommends that you conduct a precautionary inspection to ensure all external fasteners are in place and tight.
7.3 Lubrication Each BarrettHand™ unit has been lubricated and tested prior to shipping. Periodically, lubrication must be reapplied to areas with high probability of lubricant flow. Use the grease syringe to apply Mobil 1® Synthetic Grease (both included with the maintenance kit) to all exposed gear teeth at the application points according to Figure 14 and the schedule in Table 6.
Motor Spur Gear Lube points Palm Spur Gear Lube points Finger Worm Gear Lube Points Finger Spur Gear Lube Points Figure 14 - Lubricant Application Points Lubricating the finger spur gears requires caution, because you must remove each finger from the palm assembly to access this application point.
Step 2: Open all fingers on the BarrettHand and open the Spread completely (fingers 1 and 2 opposite finger 3). The fingers can be opened manually using a 2 mm hex wrench in the right-hand hole shown. See Figure 15. Figure 15: Prepare BarrettHand Step 3: Locate shoulder screw that connects the finger to the hand.
Step 5: Slide the finger assembly up slightly (Figure 17a), then pivot it out (Figure 17b). Figure 17: Gently lift and rotate finger off If the joint-torque sensor option is installed, BE CAREFUL not to damage the gold-plated electrical contact pins when disengaging the teeth. Do not twist or rock the finger when removing or attaching it.
Step 8: Check/adjust the angle of the fingertip using the plexiglass finger-angle tool. Place the tool as shown (Figure 20). Using a 2 mm hex wrench, insert it into the left-hand hole and rotate until the finger stops up against the forward edge of the plexiglass tool. For BH8-262 hands only: Should either link, or the spur gears to which they are attached, move after the finger has been removed, the fingertip position must be reset.
Step 10: Once the finger is in place, apply slight pressure down and screw in the shoulder screw. See Figure 22. Figure 22: Apply downwards pressure and secure shoulder screw. Step 11: Verify that the finger operates smoothly. Using a 2mm hex wrench in the right-hand hole (see Figure Error: Reference source not found), drive the finger manually through its range of motion.
7.4 Strain Gages Due to variations in materials, manufacturing and external forces, the strain gage values may change. These changes will affect the zero force reading for each beam differently. To maintain consistent results, the zero force reading needs to remain constant. Each strain gage is equipped with a balancing potentiometer.
Strain Gage Beam Balancing Potentiometer Figure 24 - Balancing Potentiometer After balancing the strain gage, exit the Monitor Strain program, put the shroud and shroud cover back on and secure the screws. Be careful not to touch the strain gage or damage any of the electrical wiring when replacing the shroud.
8 Troubleshooting Most of the symptoms repeated in this section were generated by Barrett’s own lab Hands which are assigned to destructive testing over millions of cycles. The Hand behaves erratically. It disobeys some commands while obeying Symptom: others. Possible Solution: Reload Firmware for the BH8-262 and earlier hands.
If so, loosen shoulder screw, shown in Figure 25, so the idler pulley will move with cable motion. If the problem persists, contact Barrett Technology. Symptom: Only the fingertip closes when the entire finger should close (Premature Breakaway).
Page 60
Possible Solution: Reload firmware. There is an encoder feedback problem. Reinitializing the finger should solve the immediate problem. If this recurs, contact Barrett Technology for servicing. Symptom: The TorqueSwitch™ does not breakaway properly, prohibiting the fingertip from completing a form grasp around an object.
Page 62
See Section 7.3 for lubrication instructions. Alternatively, the commanded gains or commanded velocities from nominal allows you to compensate. If the problem persists, contact Barrett Technology. Symptom: Fingers will not close completely.
Page 63
The threaded locking ring does not fit on the threaded base of the Symptom: BarrettHand™. Possible Solution: The threaded locking ring has been damaged or is warped. Contact Barrett Technology for a replacement part. The threads on the base of the BarrettHand™ have been damaged. Contact Barrett Technology for service.
BH8-280 Hand The new BH8-280 BarrettHand uses a total of 4 ultra-miniature, high performance brushless motor controllers contained within the hand. Barrett’s PUCk (Powerful Universal Controller) is perfect for power sensitive mobile applications and has integrated power amplifiers and precision current sensing.
User’s Host PC Hand CPU Board MC68HC11 Motion Controllers HCTL-1100s Encoder Phase Motor Decoder Power Power Boards Figure 28 – BarrettHand™ Controller Block Diagram Brushless Motors The BarrettHand™ utilizes one of the smallest DC brushless servo motors in the world for their torque range.
9.3.1 TorqueSwitch™ Barrett Technology’s patented TorqueSwitch™ mechanism affords the BarrettHand™ unparalleled weight reduction without sacrificing dexterity or functionality by serving as a “smart” coupling of two finger joints to one motor. The mechanism’s operation is similar to that of a simple screw fastener.
Belleville Worm Shaft Washers Figure 29 - Barrett's Patented TorqueSwitch™ Mechanism The following description follows the progression of Figure 30. When the clutch is engaged, both worm gear drives and their corresponding finger links are coupled to the geared servo-motor pinion.
The force required to cause the TorqueSwitch™ to disengage can be set using the properties, IVEL, IOFF, IHIT, and OT. Barrett Technology recommends that users should not change IVEL, IOFF, and IHIT from their default values. The following Breakaway force Curve can be repeated by using OT with the default values.
Figure 31 - Breakaway Force Curve To control how much force is applied to an object being grasped, the command TorqueClose and TorqueOpen must be used. These commands use the Velocity Control Law with the properties MCV and MOV. To determine the amount of desired force at the fingertip use Figure 32 to select proper velocities.
Figure 32 – Stalled FingerTip Force Vs. Commanded Velocity (measured before breakaway). 9.3.2 Spread Motion The spreading action of fingers F1 and F2 on the BarrettHand™ increases the dexterity of the entire unit with only one additional actuator. Optimal grasp configurations can be achieved "on- the-fly"...
Figure 33 - Pinch Grasp Torque 9.4 Optional Strain Gage Joint-Torque Sensor The BarrettHand™ provides an optional Joint-Torque sensor for each finger. The Joint-Torque sensor measures the torque about the outer joint on each finger, see Figure 34. The Joint-Torque sensor is comprised of a flexible beam with four foil strain gages applied and wired in a Wheatstone Bridge configuration.
Force A Foil Strain Gages Top Cable Torque Force B Bottom Cable Figure 34 - Strain Gage Joint-Torque Sensor The gages are adjusted before leaving the factory and should exhibit a no-load SG value between 100 and 140 for 8-bit strain on earlier hands. Newer hands, using Pucks will have 12-bit resolution and the expected no-load SG value should be between 1600 and 2240.
Figure 35 - Strain Gage Torque Curves Note: In Figure 35, true SG values have been adjusted so that the no-load value corresponds to zero torque. If the torque curve measured does not approximate the torque curve shown in Figure 35, see Section 8.
The forward kinematics are determined using the following equation: Τ Τ Τ Τ Τ Equation 2 - Forward Kinematics from Wrist Frame to Fingertip Table 8 is a list of the parameter values used to compute the forward kinematic transformation matrices for all of the fingers.
It is useful to check that the multiplication of the four transformation matrices matches for a given finger and at least one hand configuration, such as the zero position. The computed homogeneous transformation matrix from the wrist to tool frame for finger 1 is: −...
9.6 Joint Properties 9.6.1 Encoder to Joint Ratios This section describes all mechanical reductions in the 262 and 280 hands as well as the ratios that go from finger and spread encoder positions to joint positions in units of radians. To find the finger or spread mechanical reduction relative to the motor use the constants in the table below.
9.6.2 Joint Motion Limits The maximum joint motion limits for the BarrettHand™ are calculated based on the zero position seen in Figure 36. Depending on the position of the spread joint, Θ , and the objects in the grasp, the maximum joint motion limits for the finger links may vary. The inner link, Θ...
The spread joint, Θ , has a maximum joint motion limit of 180° with no object blocking movement and all fingers in the full open position. If the fingers are partially closed or there is an object in the grasp, Θ may be restricted due to finger interference.
Appendix A Technical Specifications Kinematics Qty. Total fingers: Fingers which spread: Joints per finger: Motors per finger: Axes of spread motion: Motors for spread motion: Total axes: Total motors: Range of Motion Finger base joint: 140° Fingertip: 48° Finger spread: 180°...
Hand Dimensions Figure 40 - BarrettHand™ Dimensions Available Options B029A Strain gage Fingertip Torque Sensors for all three fingers B0111 C++ Function Library B01C3 Subscription Service US Patents (patents established and pending in other countries) 5,501,498 5,388,480 4,957,320 Page 81 of 89...
80 but this may be lowered to 70 for future hands. Finger tips will likely change so please ask about them if you have a need for special finger tips. Barrett is working on black rubber pads for customers without pressure profile sensor tips.
It is recommended that you have a 2 mm hex wrench and manually turn the Joint 2 drive access to unwedge jammed fingers as shown in Figure Error: Reference source not found. For more questions, please contact Barrett Technology Customer Service. Page 83 of 89...
BarrettHand™ – The 1.2 kilogram dexterous robotic Grasper™ as described in Section 1.1.2. BarrettHand™ System - The entire system received from Barrett Technology, Inc. Includes all components as listed in Section 1.1, plus any additional options as described in Section 1.1.2.
Page 85
Lexan® - Α water clear, high-impact resistant polycarbonate used to make the BarrettHand™ lab bench stand. Pretension - The process of adding additional tension to a cable during the assembly process. RealTime Mode - A control mode of the BarrettHand™, which allows you to control the motors in real-time.
Appendix D Pucks In Hand Protocol The BH8-280 protocol with the Pucks in the Hand is partially listed in this appendix. It will give users an idea of how new hand communication works. When the pucks first power up, they are in Monitor mode (for downloading firmware). You must issue a "Set STAT(5) = STATUS_READY(2)"...
Need help?
Do you have a question about the BarrettHand BH8 Series and is the answer not in the manual?
Questions and answers