# Changes between Initial Version and Version 1 of Hand/262/KinematicsJointRangesConversionFactors

Ignore:
Timestamp:
May 11, 2011, 5:58:22 PM (11 years ago)
Comment:

--

### Legend:

Unmodified
 v1 = BarrettHand BH8-262 Kinematics, joint ranges, conversion factors = == !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.  Theoretically, the torque with which one tightens a uniform screw should be equal to that which is required to subsequently loosen it (neglecting inertia and provided all materials deformations remain elastic).  This principle holds true for the !TorqueSwitch™ mechanism. The !TorqueSwitch™ consists of a threaded shaft; a pair of Belleville spring washers and a spur gear with a threaded bore, shown in Figure 29. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure29.png)]] '''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.  In this state, the ratios of motor position to joint position for the 1st and 2nd finger joints are 93.75:1 and 125:1, respectively. When a finger opens against its motion stop, the threaded spur gear is tightened against the Belleville spring washers with a known motor torque; thereby setting the threshold torque for disengaging the spur gear.  If the inner finger link, while closing, contacts a target object of sufficient stiffness to increase the torque in the gear train above the threshold torque, the clutch will disengage from the Belleville spring washers. When the clutch is disengaged, the threaded spur gear “free-wheels” on the threaded shaft, allowing the motor pinion to turn without inducing motion in the inner link.  Instead, only the smaller spur gear, solidly fixed to its shaft, is driven.  This fixed spur gear actuates the worm gear drive for the fingertip.  Thus, when the clutch is disengaged, the inner finger link remains motionless while the fingertip continues to move allowing the fingers to form-fit around any shape. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure30.png)]] '''Figure 30 - !TorqueSwitch™ Operation''' }}} 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. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure31.png)]] '''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. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure32.png)]] '''Figure 32 – Stalled FingerTip Force Vs. Commanded Velocity (measured before breakaway).''' }}} == 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" without costly tool changes associated with traditional grippers.  In addition, the backdrivability built into this degree of freedom causes the !BarrettHand™’s grasp shape to change in mid-grasp, creating a more stable grasp of oddly shaped target objects. Should you wish to control the spread position of the fingers, the complete command set available to the fingers is also available for the spread, including commands for fixed-increment motion and move-to-position commands. The sustainable torque that the spread fingers can exert continuously in a ‘pinch’ type grasp is shown in Figure 33.  These are found by changing the FPG property while keeping all other properties at their defaults.  For a given torque setting, larger forces can be achieved by curling F1 and/or F2 closed to the point where the contact point becomes closer to the spread axis. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure33.png)]] '''Figure 33 - Pinch Grasp Torque''' }}} == 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.  When a force is applied to the fingertip, Force A, the torque is measured by the amount of deflection in the beam.  The beam deflection is proportional to the difference in cable tension, which translates to a force on the pulley attached to the flexible beam, Force B.  The flexing in the beam creates a measurable voltage change in the Wheatstone Bridge.  This difference in voltage is conditioned, amplified, converted and available to you in digital form. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure34.png)]] '''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.  If the gage values do not fall within the specified range, see Section 7.4.  For improved accuracy, the user can measure the no-load value before taking readings of SG.  For example, issue a GO command and then a FGET SG command to open the fingers against their J2 stops.  J3 has no open stop, so its torque will measure only second order effects, such as residual friction, gravity, and dynamic inertia effects (on a moving robotic arm). {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure35.png)]] '''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 torque curves for each finger will be different due to the variations in materials. == Forward Kinematics == The forward kinematics for the !BarrettHand™ were determined using the Denavit - Hartenberg notation described in "Introduction to Robotics, Mechanics and Control 2nd Edition", John J. Craig.  Each finger is considered its own manipulator and is referenced to a wrist coordinate frame in the center of the palm.  Use the forward kinematics calculated in this section to determine fingertip position and orientation with respect to the palm. {{{ #!div class="center" align="center" {{{ #!latex $^{i-l}T_{i} = \left[\begin{array}{cccc} c\Theta_{i} & -s\Theta_{i} & 0 & a_{i-l}\\ s\Theta_{i}c\alpha_{i-l} & c\Theta_{i}c\alpha_{i-l} & -s\alpha_{i-l} & -s\alpha_{i-l}d_{i}\\ s\Theta_{i}s\alpha_{i-l} & c\Theta_{i}s\alpha_{i-l} & c\alpha_{i-l} & c\alpha_{i-l}d_{i}\\ 0 & 0 & 0 & 1\end{array}\right]$ Where: $a_{i-l}$ = distance from $z_{i-l}$ to $z_{i}$ measured along $x_{i-l}$ $\alpha{}_{i-l}$ = angle between $z_{i-l}$ to $z_{i}$ measured about $x_{i-l}$ $d_{i}$ = distance from ${x}_{i-l}$ to ${x}_{i}$ measured along $z_{i}$ $\theta_{i}$ = angle between $x_{i-l}$ to $x_{i}$ measured along $z_{i}$ $c\theta_{i}=cos(\theta_{i})$ $s\theta_{i}=sin(\theta_{i})$ }}} '''Equation 1 - Homogeneous Transform Between Frame {i-1} and {i}''' }}} The forward kinematics are determined using the following equation: {{{ #!div class="center" align="center" {{{ #!latex $^{w}T_{T}=^{W}T_{1}^{1}T_{2}^{2}T_{3}^{3}T_{T}$ }}} '''Equation 2 - Forward Kinematics from Wrist Frame to Fingertip''' }}} {{{ #!div class="center" align="center" '''Table 8 is a list of the parameter values used to compute the forward kinematic transformation matrices for all of the fingers.''' [[Image(htdocs:table8.png)]] }}} All of the kinematics for the !BarrettHand™ are derived from the zero position.  The configuration of the fingers and spread in the zero position of the !BarrettHand™ is shown in Figure 36 along with the wrist coordinate frame. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure36.png)]] '''Figure 36 - !BarrettHand™ in Zero Position''' }}} Finger Kinematics: {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure37.png)]] '''Figure 37 - D-H Frame Assignment for Generalized Finger ''' '''Table 9 - D-H Link Parameters for Fingers''' [[Image(htdocs:table9.png)]] Where:  “k” is defined as the desired finger [1,2,3]. * “r” is either [-1,1,0] for [F1,F2,F3] respectively. * “j” is either [1,1,-1] for [F1,F2,F3] respectively. }}} The transforms from each axis to the next can be determined using the homogeneous transform in Equation 1 and finger link parameters in Table 9.  Each of the first three link parameters are fixed and the fourth one is configuration dependent on one of the position variables Θ,,k1,,, Θ,,k2,,, or Θ,,k3,, for the first three joints. 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: {{{ #!div class="center" align="center" '''Equation 3 - Forward Kinematics Matrix for Finger F1''' {{{ #!latex $_{T}^{w}T=\begin{array}{cccc} c_{1}c_{ab} & -s_{1} & -c_{1}s_{ab} & A_{3}c_{1}c_{ab}-D_{3}c_{1}s_{ab}+A_{2}c_{1}c_{a}+A_{1}c_{1}+jA_{w}\\ s_{1}c_{ab} & c_{1} & -s_{1}s_{ab} & A_{3}s_{1}c_{ab}-D_{3}s_{1}s_{ab}+A_{2}s_{1}c_{a}+A_{1}s_{1}\\ s_{ab} & 0 & c_{ab} & A_{3}s_{ab}+D_{3}c_{ab}+s_{a}A_{2}+D_{w}\\ 0 & 0 & 0 & 1\end{array}$ where: $a=\theta_{k2}+\Phi_{2}$ $b=\theta_{k3}+\Phi_{3}$ $c_{ab}=cos(a+b)$ $s_{ab}=sin(a+b)$ $c_{1}=cos(r\cdot\theta_{k1}-(\pi/2)\cdot j)$ $s_{1}=cos(r\cdot\theta_{k1}-(\pi/2)\cdot j)$ $k=1$ }}} }}} The hand configuration is determined using position feedback from the encoders.  The number of encoder ticks and availability of inner link joint encoders depends on the model number of the hand.  The following are the hand positions in units of radians before the !TorqueSwitch™ is activated: {{{ #!div class="center" align="center" {{{ #!latex $\theta_{k1}=(ENC(k)/CNT(k))\cdot\pi$ for $k=1,2$ $\theta_{k1}=0$ for k=3 $\theta_{k2}=(ENC(k)/CNT(k))\cdot140\cdot(\pi/180)$ for $k=1,2,3$ $\theta_{k3}=(ENC(k)/CNT(k))\cdot(140/3)\cdot(\pi/180)$ for $k=1,2,3$ where, $CNT(k)=$ total number of quadrature encoder counts of finger k $ENC(k)=$ present encoder position of finger k }}} }}} Notice that Θ,,k3,, will generally move 1/3 the amount of Θ,,k2,, but after the !TorqueSwitch™ has been activated the inner link stops moving and all the joint torque is applied to the outer link.  Users that have inner link joint position sensors will be able to determine finger joint positions at all times.  For earlier hands without inner link position sensors it may be possible to estimate joint positions after detecting breakaway.  This section is concerned with equations for forward kinematics and does not attempt keeping track of finger joint positions all the time.  Once the outer finger link stops on hands without inner link position sensors after !TorqueSwitch™ activation, the joint positions and end tip position cannot be accurately determined until the !TorqueSwitch™ mechanism is reset.  It may be reset by opening the finger.  Refer to Appendix B for information on how to detect !TorqueSwitch™ activation. The finger end tip positions are found in the WTT matrices in the last column.  Discarding the 1 in the last row, you have the Cartesian X end tip coordinate in the first row, the Y coordinate in the 2nd row, and the Z coordinate in the 3rd row. == Joint Properties == === 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.  Table 10 applies to the hands before breakaway occurs.  Each finger has 3 joints starting with the knuckle joint that swings the spread, the last one moves the outer link, and the one in between moves an amount proportional to the outer link until breakaway occurs.  To go from motor encoder position to actual finger position for joint 2 multiply the encoder position by the corresponding joint Radians to ticks ratio.  Joint 3 of the finger moves one third this amount.  This transformation works before breakaway of the !TorqueSwitch™ has occurred. {{{ #!div class="center" align="center" '''Table 10 - Finger and Spread Joint Ratios''' ||Hand Motor||Encoder(Min Ticks)||Encoder(Max ticks)||Mechanical Reduction (Joint)||Joint Radians/tick Ratio|| ||262 Finger||0||17,500||125 (2), 375 (3)||(140°)(π/180°)/17,500 ||262 Spread||0||3,150||17.5 (1)||π/3,150 ||280 Finger||0||199,111.1||125 (2), 375 (3)||(140°)(π/180°)/199,111.1 ||280 Spread||0||35,840||17.5 (1)||π/35,840 }}} The optical encoders for each of the 280 hand motors have 4096 count encoders and 262 hand motors uses a 90 line, or 360 count, encoder.  Inner link encoders are the same ones used on the motor for position feedback. The forward kinematics from section 9.5, that are used to calculate end-tip positions, depend on the configuration of joint positions for each finger (joint 2 and joint 3) and the spread.  Calculate positions in radians for each joint including spread, finger joint 2, and finger joint 3.  These will be the joint positions before breakaway. Joint 3 position can be represented more precisely if it is calculated relative to the plane of the palm plate that is accurate before and after breakaway.  This position for joint 3 depends only on the model number (262 or 280) of the hand where [[Image(htdocs:phi.png)]],,3,, is a joint 3 offset from joint 2 equal to approximately 42°. {{{ #!div class="center" align="center" ||262 Joint 3 Position || (π/180°) * ([[Image(htdocs:bhand/phi.png)]],,3,, + (4/375) * ENC(k))|| ||280 Joint 3 Position || (π/180°) * ([[Image(htdocs:bhand/phi.png)]],,3,, + (4/375) * ENC(k) * (360/4096))|| '''Equation 4 - Joint 3 Positions Before and After Breakaway''' }}} Note that joint 1 in the knuckle drives the outer link first through a 93.75 reduction and then a 4:1 reduction.  The motor position directly determines the outer link angle with the palm plate of the hand as shown in Equation 4.  During breakaway joint 2 position needs to be detected in software by using breakaway  acceleration threshold for the 262 hand and then this link remains motionless as described in section 9.3.  The breakaway position may be used for finding where breakaway occurred.  Joint 3 position still only depends on just absolute motor position.  On 280 hands, the inner-link joint position sensors may be used together with the outer link position to determine the finger positions at all times. === 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, Θ11, and the objects in the grasp, the maximum joint motion limits for the finger links may vary. The inner link, Θ,,12,,, Θ,,22,,, Θ,,32,,, has a maximum joint motion limit of 140° with no object blocking movement and Θ,,11,, in the full close or open position.  The outer link, Θ13, Θ,,23,,, Θ,,33,,, has a maximum joint motion limit of 48° when Θ,,11,, is fully open or closed and there is no object in the grasp, as shown in Figure 38.  When the spread is in any position other than full open or close, the fingers may not have the full range of motion due to interference with other fingers. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure38.png)]] '''Figure 38 - Finger Joint Motion Limit Range''' }}} The spread joint, Θ,,11,,, 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, Θ,,11,, may be restricted due to finger interference.  See Figure 39. {{{ #!div class="center" align="center" [[Image(htdocs:bhand/figure39.png)]] '''Figure 39 - Spread Joint motion limit Range''' }}}