This invention relates to a system and method for measuring and analyzing acceleration data from a golf club and for applying said data to golf swing analysis.
The use of electronics in the shaft or club head of a golf club to measure golf swing characteristics has been the subject of considerable past work. Modern implementations offer a large number of sensors and computational power all concealed within the shaft. Over time, the tendency has been to make ever more sophisticated measurements in an effort to obtain increasingly detailed understanding of the golf swing.
U.S. Pat. Nos. 6,648,769, 6,638,175, 6,402,634 and 6,224,493 describe instrumented golf clubs that use accelerometers and strain gages mounted in the club head and an angular rate sensor to measure the angular speed of the grip area of the club.
U.S. Pat. Nos. 6,658,371, 6,611,792, 6,490,542, 6,385,559 and 6,192,323 describe methods for matching golfers with a driver and ball by measuring a golfer's club head speed and comparing that measured data with recorded sets of data that correlate a few key variables that can aid in matching golfers with the most suitable club and ball.
However, as will be seen below, further advances in the state of the art are desirable and believed to be achieved by the present invention.
It is thus an objective of the present invention to improve the state of the art.
It is another objective to provide improved measurement and analyses methodologies for a golf swing.
Another objective of the present invention is the calculation, identification and display of key parameters of the golf swing using a double pendulum model of the golf swing so that they can be used to improve a golfer's performance.
Other objectives and advantages of the present invention will be described below and/or be obvious in view of the disclosure below.
The present invention accordingly comprises the features of construction, combination of elements, arrangement of parts and sequence of steps which will be exemplified in the construction, illustration and description hereinafter set forth, and the scope of the invention will be indicated by the claims.
To that end, in a preferred embodiment, the present invention generally speaking, is directed to a method for analyzing at least one golf swing parameter using a plurality of accelerometers located at distal ends of a golf club, a signal processing and display system utilizing a double pendulum model of a golf club swing, said model for describing swing parameters and having an upper portion, a pivot and a lower portion, the method comprising the steps of entering initial swing conditions and golf club parameters; performing a swing and collecting data from the accelerometers; determining a differential mode signal from the acceleration data; calculating the pivot point location relative to each accelerometer using the accelerometer data; calculating a common mode signal using the pivot point and acceleration data; and determining at least one golf swing parameter as a function of time using the common mode signal.
In another embodiment, the present invention is directed to a method for analyzing at least one golf swing parameter using (i) an instrumented golf club having two accelerometers located at respective distal ends of a golf club, (ii) data collection means and (iii) computer analysis means running a program based on a double pendulum model of a golf club swing, the method comprising the steps of entering initial swing conditions and golf club parameters; performing a swing and collecting data from the accelerometers; determining a differential mode signal from the acceleration data; calculating the pivot point location relative to each accelerometer using the accelerometer data; calculating a common mode signal using the pivot point and acceleration data; and determining at least one golf swing parameter as a function of time using the common mode signal.
In yet another preferred embodiment, a method for analyzing at least one motion parameter of an elongated member moving relative to a pivot point using a plurality of accelerometers located at proximate distal ends of the elongated member, a signal processing and display system utilizing a model relating the motion of the pivot point and accelerometers to a reference point is provided, the method comprising the steps of entering initial positional and physical parameters of the elongated member; moving the elongated member about the pivot point and collecting data from the accelerometers; determining a differential mode signal from the acceleration data; calculating the pivot point location relative to each accelerometer using the accelerometer data; calculating a common mode signal using the pivot point location relative to each accelerometer; and determining at least one parameter of motion for the elongated member as a function of time using the common mode signal.
And, in yet another preferred embodiment, a method is provided for analyzing at least one motion parameter of a swinging elongated member using a plurality of accelerometers located at proximate distal ends of the elongated member, a signal processing and display system utilizing a double pendulum model of the swinging elongated member, said model having an upper portion, a pivot point and a lower portion, the method comprising the steps of entering initial positional and physical conditions of the elongated member; swinging the elongated member and collecting data from the accelerometers; determining a differential mode signal from the acceleration data; calculating the pivot point location relative to each accelerometer using the accelerometer data; calculating a common mode signal using the pivot point location relative to each accelerometer; and determining at least one motion parameter of the elongated member as a function of time using the common mode signal.
In a specific embodiment, the measurement system preferably comprises two accelerometers mounted in the shaft of a golf club with the direction of maximum sensitivity oriented along the axis of the shaft. One accelerometer is located under the grip, preferably near where the hands would be located. The other is located further down the shaft nearer to the club head.
The two accelerometers yield a common mode signal and a differential mode signal. The common mode signal contains components that are present in both accelerometers while the differential mode signal is the difference between the accelerometer values and is proportional to the rotational kinetic energy of the golf club. An important objective of the present invention is the automatic location of a pivot point of the double pendulum to substantially eliminate mixing of common mode accelerometer signals with differential mode accelerometer signals and therefore provide improved analysis of golf swing parameters that include common mode signal components.
For a fuller understanding of the invention, reference is made to the following description taken in connection with the accompanying figures, in which:
a and 4b show raw data for the two accelerometers S1 and S2;
a and 7b show a differential mode signal g(t) and common mode signal f(t) calculated from the data displayed in
While all features may not be labeled in each Figure, all elements with like reference numerals refer to similar or identical parts.
The entire contents of U.S. Patent Application 2006/0063600, also by Robert Grober, is hereby incorporated into this application by reference as if set forth in its entirety.
Reference is first made to
The golf club at 200 comprises an elongated member, generally indicated at 215, which itself comprises at least a shaft 215 and a club head 230. Golf club 200 also comprises a first accelerometer 220 generally located near club grip 222 and a second accelerometer 225 located closer to club head 230. Both accelerometers are preferably coupled to member 215. In the preferred embodiment accelerometer 220 is an Analog Devices ADXL 78 and accelerometer 225 is an Analog Devices ADXL 193. The foregoing positions more than satisfy the understanding that the accelerometers are located proximate the distal ends of the shaft.
Accelerometers 220 and 225 monitor accelerations along the axis of member 215 as a golfer (not shown) swings club 200. Preferably located in member 215 is additional circuitry, generally indicated at 245, comprising two (2) A/D converters 254 and 255 respectively operatively coupled to accelerometers 220 and 225, a microprocessor 260 coupled to converters 254, 255 and a wireless transceiver 265 coupled between the output of microcontroller 260 and antenna 235.
As shown in
Microprocessor 260 supervises the collection of data from the A/D converters 254 and 255 and formats the resulting 12 bit NRZ data for transmission to signal processing and display system 390 via transceiver 265, antenna 235 and wireless interface 310 (shown in
Transceiver 265 is preferably a Chipcon CC1000 configured to receive the NRZ serial data from microprocessor 260, reformat the data into synchronous Manchester coding and preferably feed antenna 235 at 915 MHZ. Transceiver initialization values, which include data formatting, frequency selection, etc. are stored in flash memory in microprocessor 260 and fed to transceiver 265 by serial link 266. The initialization data may also originate in signal processing and display system 390 and fed to transceiver 235 via interface 310. The acceleration data stream from microcontroller 260 is sent to transceiver 265 by serial link 264.
As shown in
Accelerometer Measurements
Shown in
In a preferred embodiment of the invention the zero of the time axis in
The data of
Data similar to that used to generate in
Rotational Analysis of a Golf Club
The generalized two-dimensional geometry and motion associated with a point on a golf club in a plane is shown in
The position of the club in space is defined by the coordinates {right arrow over (R)}0=(Y0,X0) of the reference point {right arrow over (R)}0 on the club and the angle φ of the club with respect to the {circumflex over (x)}-axis. The preferred choice for the point {right arrow over (R)}0 is that point about which the club rotates. The distance to the general point {right arrow over (r)}1 on the shaft is measured relative to the reference point {right arrow over (R)}0. The coordinates of {right arrow over (r)}1 are given as
{right arrow over (r)}1=(X0+{right arrow over (r)}1 cos φ){circumflex over (x)}+(Y0+r1 sin φ)ŷ (1)
One determines the generalized acceleration of the point {right arrow over (r)}1 as
{umlaut over ({right arrow over (r)}1=({umlaut over (X)}0−r1{dot over (φ)}2 cos φ−r1{umlaut over (φ)} sin φ){circumflex over (x)}+(Ÿ0−r1{dot over (φ)}2 sin φ+r1{umlaut over (φ)} cos φ)ŷ (2)
It is useful to rewrite this equation in terms of the in terms of the {circumflex over (r)}−{circumflex over (φ)} coordinate system, as indicated in
{circumflex over (x)}={circumflex over (r)} cos φ−{circumflex over (φ)} sin φ (3a)
ŷ={circumflex over (r)} sin φ+{circumflex over (φ)} cos φ (3b)
one obtains
{umlaut over ({right arrow over (r)}1=({umlaut over (X)}0 cos φ+Ÿ0 sin φ−r1{dot over (φ)}2){circumflex over (r)}+(−{umlaut over (X)}0 sin φ+Ÿ0 cos φ+r1{umlaut over (φ)}){circumflex over (φ)} (4)
Accelerometers 225 and 220 are located along shaft 215 at positions {right arrow over (r)}1 and {right arrow over (r)}2 which are measured relative to {right arrow over (R)}0 on shaft 215. Accelerometers 225 and 220 are oriented to be most sensitive to accelerations along the axis of shaft 215 and to yield a positive centripetal acceleration as the golf club 200 is swung. The accelerations measured by accelerometers 225 and 220 along the {right arrow over (r)}-axis are S1 and S2 respectively and have values of:
S1=−{circumflex over (r)}·{umlaut over ({right arrow over (r)}1=−{umlaut over (X)}0 cos φ−Ÿ0 sin φ+r1{dot over (φ)}2 (5a)
S2=−{circumflex over (r)}·{umlaut over ({right arrow over (r)}2=−{umlaut over (X)}0 cos φ−Ÿ0 sin φ+r2{dot over (φ)}2 (5b)
Because these measurements are made in the presence of earth's gravitational field, the equations above are preferably adjusted to include this effect, yielding the expressions:
S1=−{right arrow over (r)}·{umlaut over ({right arrow over (r)}1=−{umlaut over (X)}0 cos φ−Ÿ0 sin φ+r1{dot over (φ)}2+G* cos φ (6a)
S2=−{right arrow over (r)}·{umlaut over ({right arrow over (r)}2=−{umlaut over (X)}0 cos φ−Ÿ0 sin φ+r2{dot over (φ)}2+G* cos φ (6b)
where G* is the effective gravitational acceleration in the plane of the golf swing.
These two signals are preferably written in terms of two signals. The first is a common mode signal (contribution to accelerometer output value that is common to the output of both accelerometers), and that is f(t)=−{umlaut over (X)}0 cos φ−Ÿ0 sin φ+G* cos φ, and the second is a differential mode (the difference between the outputs of both accelerometers) resulting value g(t)=(r1−r2){dot over (φ)}2. Rewriting S1 and S2 in a generic form gives:
The differential mode signal, g(t), is recovered by taking the difference of the two signals (after appropriate scaling), S1−S2=g(t)=(r1−r2){dot over (φ)}2. Because the separation between accelerometers 225 and 220, r1−r2, is easily measured, knowledge of g(t) permits the calculation of φ(t) as discussed below.
While the differential mode signal is substantially independent of the choice of the point {right arrow over (R)}0, the common mode signal depends strongly on the choice of the point {right arrow over (R)}0. Thus, the choice of the point {right arrow over (R)}0 determines how much of the differential mode signal is mixed into the calculated common mode signal and therefore effects the calculation of φ(t). This sensitivity to {right arrow over (R)}0 makes recovering f(t) more difficult and requires consideration of the motion of point {right arrow over (R)}0=(Y0,X0). To this end it has been discovered that the use of a double pendulum model gives good results.
Use of the double pendulum in an analysis of the golf swing was developed by T. P. Jorgensen. The model he used is shown in
The angle β defines the angle of the lower portion with respect to the upper portion, and is interpreted as the wrist cocking angle. The model assumes no translational motion of the center of the swing which is at the upper point of the upper portion l0. Additionally, the model assumes a rigid shaft for club 200 as it is known that shaft dynamics yield second order effects.
The relevant portion golf club 200 is modeled as a rigid rod having a length lc, that is measured from the point R0 to approximately the center of club head 230. The orientation of golf club 200 is preferably measured by the angle β=θ−φ, which, as previously noted, roughly corresponds to the angle through which the wrists are cocked.
The accelerometers 225 and 220 are oriented along the axis of the golf club 200 with their positions along the club also measured from the hinged point R0 between the upper and lower portions of the pendulum and given by lengths r1 and r2 (see
{right arrow over (r)}1=(l0 cos θ+r1 cos φ){circumflex over (x)}+(l0 sin θ+r1 sin φ)ŷ (8a)
{right arrow over (r)}2=(l0 cos θ+r2 cos φ){circumflex over (x)}+(l0 sin θ+r2 sin φ)ŷ (8b)
One can determine the generalized acceleration of the two points {right arrow over (r)}1 and {right arrow over (r)}2 as:
It is useful to rewrite the above the equations in terms of the r−φ coordinate system attached to the golf club with the r-axis aligned along the shaft. Using the relations:
{circumflex over (x)}={circumflex over (r)} cos φ−{circumflex over (φ)} sin φ (10a)
ŷ={circumflex over (r)} sin φ+{circumflex over (φ)} cos φ (10b)
and the trigonometric identities
sin θ cos φ−cos θ sin φ=sin(θ−φ) (11a)
sin θ sin φ+cos θ cos φ=cos(θ−φ) (11b)
one obtains
{umlaut over ({right arrow over (r)}1=−(r1{dot over (φ)}2+l0{dot over (θ)}2 cos β+l0{umlaut over (θ)} sin β){circumflex over (r)}+(r1{umlaut over (φ)}−l0{dot over (θ)}2 sin β+l0{umlaut over (θ)} cos β){circumflex over (φ)} (12a)
{umlaut over ({right arrow over (r)}2=−(r1{dot over (φ)}2+l0{dot over (θ)}2 cos β+l0{umlaut over (θ)} sin β){circumflex over (r)}+(r2{umlaut over (φ)}−l0{dot over (θ)}2 sin β+l0{umlaut over (θ)} cos β){circumflex over (φ)} (12b)
Projecting the acceleration along the negative {circumflex over (r)}-axis yields a positive centripetal acceleration:
S1=−{circumflex over (r)}·{umlaut over ({right arrow over (r)}1=r1{dot over (φ)}2+l0{dot over (θ)}2 cos β+l0{umlaut over (θ)} sin β+G* cos φ (13a)
S2=−{circumflex over (r)}·{umlaut over ({right arrow over (r)}2=r2{dot over (φ)}2+l0{dot over (θ)}2 cos β+l0{umlaut over (θ)} sin β+G* cos φ (13b)
that includes the gravitational force G* which is the projection of the gravitational acceleration into the plane of motion along the axis of the club 200.
The differential mode and common mode signals are given as
g(t)=(r1−r2){dot over (φ)}2; and (14a)
f(t)=l0({dot over (θ)}2 cos β+{umlaut over (θ)} sin β)+G* cos φ (14b)
where the generic terms {umlaut over (X)}0 and Ÿ0 are replaced with explicit expressions in terms of the motion of the double pendulum. The two signals can therefore be written as,
Determination of a Calculation Time Window
Impact with Actual Golf Ball
In a preferred embodiment, the calculation time window is determined by examining the contents of ring buffer 342 which holds approximately 5 seconds of data. Signal processing and display system 390 receives data from interface 310 and continuously loads the circular buffer 342 with the data from club 200. The signal processing and display system 390 continuously calculate the difference signal, g(t). When g(t) becomes larger than a preset threshold, typically 300-500 m/s2, the system acknowledges that a swing is occurring by generating a trigger. This magnitude of signal only happens during the downswing in the vicinity of the ball. Buffer 342 continues to store data for about 2.5 seconds so that the trigger point can be substantially centered in buffer 342 with approximately 2.5 seconds of data on either side of the trigger point. The contents of the buffer then includes a complete data set for analysis of the golf swing.
The actual time of impact is preferably determined by calculating the derivative of the difference signal, g(t), and comparing this value to a reference level (impact threshold) of order of −5 g/sampling period (i.e. −5 g/4.42 msec), which is large in magnitude and negative in sign. When the derivative of g(t) is more negative than this reference level at a point in time after the trigger threshold, an impact has occurred.
When a real ball is hit the transfer of momentum from club head 230 to the ball causes a sharp discontinuity in g(t) and therefore a spike in the derivative in g(t). The point of impact (378 in
The beginning of the backswing swing and the transition from backswing to downswing is preferably determined by having the signal processing and display system 390 search through buffer 342, working backward in time from the point of impact looking for two points at which {dot over (φ)}i, (from Eq. 16 below) equals 0; the first point (376 in
Impact with Simulated Ball
In an alternate embodiment a simulated ball, one of plastic for example, is used to further improve the practice process. As would be known to one skilled in the art, the plastic ball being of very low mass would not substantially affect readings from accelerometers 220 and 225 and or a change in club head 230's momentum at impact. The impact does however generate an acoustic spike and this spike is sense by a microphone near the ball and fed directly to signal processing and display 390 to initiate an interrupt. This interrupt inserts a marker into the data stream received from interface 310. An advantage of this latter approach is that if desired, positional data can be developed into the follow through of the swing. The start of the swing is determined as before by having signal processing and display system 390 search backwards through the buffer 342 from the point of “impact” looking for a second data point at which {dot over (φ)}i, (from Eq. 16 below) yields 0; the first point being where a backswing transitions to a downswing.
Determination of Club Positional Information
An object of the present invention is to use the values of S1 and S2 to determine θ(t) and φ(t) and therefore the position and timing associated with a swing of golf club 200.
External means are preferably used to determine the initial values φ(0)=φi, θ(0)=θi, from which one calculates βi=θi−φi. These can be determined through direct measurement, video analysis, or various other techniques known to those skilled in the art. Generically, φi is constrained relatively close to zero, generally between 5 and 20 degrees. θi is likewise comparably constrained. It is assumed that the initial values of {dot over (φ)}i={umlaut over (φ)}i={dot over (θ)}i={umlaut over (θ)}i are all =0.
Since S1−S2=g(t), using equation (14a) we find that:
where the separation between accelerometers, r1−r2 is know at time of manufacture; and the sign convention is negative in the backswing and positive in the downswing. Using the initial conditions described above, {dot over (φ)}(t) is integrated to yield φ(t)
It has been determined that providing an accurate determination of f(t) from the expressions for S1 and S2 given in equations 13a and 13b is non-trivial in a practice or playing environment because it is not readily apparent around which point, R0 the club rotates. Since r1 and r2 are measured relative to this point of rotation, the point must be known with reasonable accuracy if the resulting calculation of f(t) is to be useful in a calculation of θ(t) and φ(t).
It is reasonable to assume that this point R0 is between the hands, but exactly where the golfer grips the club can vary from shot to shot and locating this point somewhere within the hands can introduce errors on the order 10-15% due to the spatial extent of the grip. This problem is solved by the present invention by using the hardware described above and software based on the development below.
As shown above, S(t) is of the form S(t)=f(t)+αg(t) and g(t) is obtained by taking the difference S1−S2. However we do not know either α or f(t). The preferred embodiment for determining α is to minimize the quantity ∫[S(t)−αg(t)]2dt. Taking a derivative with respect to α and rearranging yields the expression:
where the integrations are performed over the time interval discussed above.
Using this expression for α, f(t)=S(t)−αg(t) (Eq. 17a) is determined. This is done for S1 and S2. The resulting values of α are then used to calculate r1 and r2.
a) and 7(b) display the result of this calculation using the same data set used to generate
With f(t) determined, the invention uses Eq. 14b to solve for θ(t). The value of G* is preferably determined from the value of f(t) just prior to the beginning of the swing, when {dot over (θ)}(t) and {umlaut over (θ)}(t) are assumed to be zero and φi is known. Having previously determined φ(t) from g(t), one can now reliably subtract G* cos φ from f(t), yielding
ξ(t)=l0({dot over (θ)}2 cos β+{umlaut over (θ)} sin β) (18)
Eq. 18 is used as an update equation to solve for θ(t). Given θ(t). {dot over (θ)}(t) and {umlaut over (θ)}(t) one determines {umlaut over (θ)}(t+dt), {dot over (θ)}(t+dt) and θ(t+dt) as follows:
Define the parameter ε such that,
To simplify the equations we define the parameters:
Rewriting Eqs. 18(a), 18(b), and 18(c) above, gives
Inserting these expressions into Eq. 18 above, one obtains
where we have defined β0=θ0−φ(t+dt). Expanding the above equation to first order in ε yields the preferred expression
This value of ε is then used in equations 18(a), 18(b) and 18(c) to determine θ(t+dt).{dot over (θ)}(t+dt), and {umlaut over (θ)}(t+dt).
In alternate embodiments, Eq. 22 can be solved to higher order in ε if increased numerical precision is deemed necessary.
The above methodology is used to determine θ(t) and φ(t) over some range of time. The starting point is the beginning of the swing. The starting parameters, φi and θi, are inputs to the calculation. In the preferred embodiment the final points, φf and θf, are where the club impacts the ball, though in alternate embodiments one could perform the calculation over any region of time during which one has valid data for S1 and S2.
The values of the final points φf and θf are sensitive to the various independent parameters used in the calculation, φi, θi, r1, r2, and l0. As is described above, φi and θi can be measured precisely at the start of the swing. The values r1 and r2 are determined as a byproduct of the calculation for f(t). The only remaining independent parameter in this analysis is l0.
The preferred embodiment uses l0 as an adjustable parameter to enforce physically plausible endpoints for φf and θf. In the preferred embodiment the condition βf≈βi is enforced, though one could use any condition, including those determined through video analysis. In practice, the calculation starts by using an estimated value of l0 to calculate θ(t) and φ(t). The final points φf and θf are determined and βf is compared to βi. Based on this result, l0 is adjusted so as to decrease the difference |βf−βi| and the calculation is performed again. This loop is continued until one obtains the result and performs a loop test that varies l0 until equation 22 gives and update value that leads to a result that gives βf substantially equal to βi. In a preferred embodiment the allowable range of l0 relative to the estimated value of l0 is +/−10-20%. If for some reason l0 does not converge to a value that is within the range of +/−10-20%, the swing is repeated.
Display of φ(t) and θ(t)
Shown in
The orientation of the upper and lower portions of the double pendulum in an x-y coordinate system as a function of time is shown in
Display area 362 includes control parameters “Threshold”, “Swing Max” and “Release Max” (expressed in g's) which are shown at 368 and used for scaling graphic displays 364, 372, and 370. Also generally shown at 368 is a “System Messages” area which displays certain swing parameters. In the preferred embodiment cursor positions 374, 376 and 378 identify start of backswing, start of downswing and impact respectively, while positions 380 and 382 are used to define the change in common mode acceleration at “release”. These cursor positions are determined automatically based on internally set thresholds and time based criteria. In an alternate embodiment cursor position are set manually for alternative analysis protocols.
Graph 364 is labeled “Swing Kinetics”, and provides a real-time representation of the difference between the outputs of accelerometers 220 and 225 which is the differential signal, g(t). Graph 370 is labeled “Swing” and also represents g(t) but is presented with an expanded time axis so that acceleration values near ball impact are more clearly visible. Graph 371 is labeled “Release” and represents the common mode signal f(t). Cursor positions 380 and 382 mark the minimum and maximum values f(t) before the impact. Graph 370 and graph 372 are displayed after threshold 366 in graph 364 is exceeded and the graph 364 is completed; that is, a full data set is collected. In an alternate embodiment, display area 362 includes the double pendulum representation of the golf swing modeled in
In a preferred embodiment the present invention calculates and displays in the message area 368 of
The methods of the present invention are not limited to the sport of golf. In fact the methods apply to any analysis of motion of a substantially rigid shaft about a pivot point where accelerometers mounted at positions along the shaft are used to calculate shaft dynamics and the positions of the accelerometers relative to the pivot point are not accurately known.
One skilled in the art would therefore recognize that the methods of the present invention are applicable to an analysis of the dynamics associated with baseball/softball (throwing and batting), tennis, bowling and fishing, among others, which are all readily able to be studied using the methods of the present invention.
Moreover, one skilled in the art would recognize that given the details of motion identified by the methods of the present invention and the physical characteristics of a golf club, bat, or any elongated member, one can also readily find the torque exerted on the club, bat or elongated member.
While the invention has been particularly shown and described with respect to preferred embodiments thereof, it will be understood by those skilled in the art that changes in form and details may be made therein without departing from the scope and spirit of the invention. For example, unless specifically recited in the claims, the order in which the claimed steps are performed is not material to the present invention, and therefore, again, unless explicitly recited, the order set forth in the claims is for convenience purposes only and not in any limiting sense.
Number | Name | Date | Kind |
---|---|---|---|
6192323 | Boehm | Feb 2001 | B1 |
6224493 | Lee et al. | May 2001 | B1 |
6385559 | Boehm | May 2002 | B2 |
6402634 | Lee et al. | Jun 2002 | B2 |
6490542 | Boehm | Dec 2002 | B2 |
6611792 | Boehm | Aug 2003 | B2 |
6638175 | Lee et al. | Oct 2003 | B2 |
6648769 | Lee et al. | Nov 2003 | B2 |
6658371 | Boehm et al. | Dec 2003 | B2 |
7041014 | Wright et al. | May 2006 | B2 |
7160200 | Grober | Jan 2007 | B2 |
20040257342 | Chiu et al. | Dec 2004 | A1 |