Method and apparatus for sport swing analysis system

A sport swing analysis system creates a three dimensional virtual environment and relates swing parameter measurements to the three dimensional virtual environment.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description

This application is a continuation of United States Patent Application having Ser. No. 09/952,714, entitled, “SPORT SWING ANALYSIS SYSETM,” which is hereby incorporated by reference in its entirety. The present application has the same inventors as, is assigned to the same entity as, and claims benefit of the same filing date, Sep. 14, 2001, as this application. Applications having the same inventors, the same assignee, and docket numbers: GT1CONTA, GT1CONTB, GT1CONTC, GT1CONTD, GT1CONTE, GT1CONTF, GT1CONTG, GT1CONTH, GT1CONTI, and GT1CONTJ are being filed on the same day herewith and each incorporates the other by reference.

FIELD OF THE INVENTION

The present invention relates to systems and methods to aid in analyzing the swing associated with athletic activities. More particularly, the present invention relates to a system and method for detecting and analyzing the path and orientation of an sports implement, such as a golf club, as it is swung. Although the present invention is well suited to the analysis of a golf club's swing, its application is not limited thereto.

BACKGROUND OF THE INVENTION

Practice makes perfect. However hackneyed that bromide may be, it offers an element of truth. That is, the skill-level of an individual, particularly in those tasks that involve muscle-memory, such as athletic or musical-performance activities, is directly related to the number of quality hours spent engaged in those pursuits. Pete Maravich almost always had his hands on a basketball, Jimi Hendrix rarely set his guitar down; even those with great natural ability developed their talents through many, many hours of practice. The implication of the term “quality hours” is that the time must be spent in a manner that provides feedback to allow the practitioner to modify his execution in order to improve his performance. A “sour note” in a blues riff, a concussion incurred while attempting a double back flip off a high board, or a hook into the rough off a golf tee are all forms of feedback that provide a learning opportunity to an aspiring competitor/performer.

There are a number of sports activities that involve extraordinarily complex swinging movements. The fact that no major league player has hit 400 since Ted Williams did so in his 1941 season is a testament to the extreme difficulty of effectively swinging a baseball bat. A sixty percent failure rate would be disastrous in nearly any other endeavor, but, in baseball, it's the apex of performance. Similarly, the many mechanical degrees of freedom associated with a golf swing conspire to provide the average duffer with many opportunities for failure and the mechanics of swinging a tennis racquet are critical to success in that sport. Ice hockey, field hockey, and lacrosse are among the other sport activities that rely upon the skillful swing of an implement (that is, a bat, a club, a racquet, etc.). Although professionals are available to help athletes improve their swings (e.g., hitting coaches for baseball players and golf and tennis professionals), costs associated with such lessons are beyond the means of the vast majority of players. Scheduling the time for and traveling to lessons adds another layer of inconvenience to this approach for improving your golf game. Additionally, athletic activities involving the use of an implement moving at a high rate of speed, it can be difficult to accurately assess any flaws in the mechanics of an individual's swing.

Devices and systems are available for sport participants to make critical evaluations of the techniques and mechanics associated with their sport of interest. In the sport of golf there have been a number of advances in golf club swing analysis. For example, U.S. Pat. No. 5,718,639 issued to Bouton, U.S. Pat. No. 5,474,298 issued to Lindsay, and U.S. Pat. No. 6,227,984 issued to Blankenship, disclose various approaches to sensing and analyzing golf swings. Notwithstanding the abundance of swing analysis systems, the development of accurate, inexpensive swing sensing and analysis systems remains elusive.

An automated system that analyzes a sport swing and provides feedback to a player as a convenient, accurate, low-cost alternative to the engagement of coaches and/or professionals would be highly desirable.

SUMMARY

A sport swing analysis system and method in accordance with the principles of the present invention senses electromagnetic energy reflected from a sports implement. The reflected energy may be of any wavelength or band of wavelengths. Although the wavelength of the energy may fall outside the range referred to as the visual spectrum, the energy will be referred to hereinafter as “light.” For the purpose of illustration, examples of operation using infrared light will be employed.

A system and method in accordance with the principles of the present invention emits light then detects light reflected from a sports implement, such as a golf club, baseball bat, or tennis racquet, for example. As the sports implement passes by one or more of photo-emitters (emitters) the implement reflects a portion of the light striking it from the emitters. One or more photo-detectors (detectors) detect light reflected from the implement and the amplitude of light reflected into one or more of the detectors will vary with the passing of the implement.

In accordance with the principles of the present invention, the system may employ pattern recognition methods and apparatus, including, but not limited to, edge detection techniques, to distinguish the light reflected from the implement and received at the detector(s) from background light and light from other sources that is received at the detector(s). Light from outside sources, also referred to herein as “artifact,” is a potential source of error and, once identified, is ignored by the system. In an illustrative embodiment, the edge-detection process includes the step of differentiating a swung sports implement's reflection profile to determine one or more points of inflection in the profile. The one or more points of inflection correspond to relatively sharp transitions in the amplitude of reflected light, and correspond to one or more identifiable features on the swung implement. Each identifiable feature may, for example, be a transition between materials having relatively high light absorption and relatively high light reflectivity. In an illustrative embodiment, the system stores information related to each such light level transition that meets a threshold criteria. Such information may include the time at which the transition occurred (that is, a time stamp) and a “tag” that identifies the detector that detected the light-level transition.

In an illustrative example, the identifiable features may be the leading and trailing edges of a reflective strip coupled to the swung implement. The reflective strip may be coupled to the implement using any attachment means, including, but not limited to, adhesives, hook and loop, tying, or strapping, for example. Alternatively, the reflective material may be integral with the swung implement, with one or more strips of reflective material embedded within the head of a golf club, within the body of a baseball bat, or within the head of a tennis racquet, for example. The reflective strip may, additionally, be flanked by one or more regions of highly light-absorptive material in order to establish a high-contrast reflectivity region: that is, a region in which the material surfaces present an abrupt shift from highly light-absorptive to highly light-reflective. Such a high-contrast reflectivity region enhances the system's ability to detect reflection transition events, thereby allowing the system to more precisely determine the exact time and location of transition events. For example, in an illustrative embodiment, a highly absorptive material, such as black electrical tape, is applied to the bottom surface of a golf club's head, then a strip of retroreflective material, is attached, via adhesive backing, to the absorptive material (that is, the black tape), with some of the absorptive material left uncovered. The combination of absorptive material and overlaid reflective material yields high-contrast reflectivity regions at the leading and trailing edges of the strip.

In another aspect of a system in accordance with the principles of the present invention, the retroreflective strip is of a known width and is aligned with leading and trailing edges parallel to the face of the club. An alignment tool may be employed to ensure that the strip is properly aligned with the face of the club. Knowing the width of the reflective strip allows the system to determine the speed of the associated swung implement by dividing the width of the strip by the time between reflectivity transitions associated with the leading and trailing edges of the reflective strip.

Triangulation techniques may be employed by a system in accordance with the principles of the present invention to determine the distance between the implement and the system's light detectors. In an illustrative golf club swing analysis embodiment, such a distance measurement may be used to provide an indication of the height of a swung club head above a surface holding the golf ball. Such a golf club swing analysis embodiment may include one or more arrays of detectors and emitters) embedded in a housing that provides support for a golf ball on its upper surface. The emitters and detectors are coupled to a controller that controls the output of the emitters and samples the input to the detectors. The controller may also perform signal conditioning, the timestamping, amplitude profile creation, and edge detection processes discussed briefly above, or, alternatively, may offload some, or all, of these tasks to an associated computer. The tasks associated with a swing analysis system in accordance with the principles of the present invention may be divided between the controller and a computer in a number of ways. In an illustrative embodiment, the amplitude profile stored includes the identification of the detector that experienced the light transition, the direction of the transition (that is, going from dark to light, or going from light to dark), and the time of the transition. However those tasks are divided, the system may be used to determine and display swing path angle, club head speed, club head angle, club head lateral alignment with respect to a ball support, club head loft angle, and club head height. Additionally, the system may be employed to calculate and display an “effective club head speed,” which takes into account the raw speed of the club head and discounts that speed according to swing path angle, club head lateral alignment, and club head angle. Sensor arrays (that is, arrays of emitters and detectors) are positioned within and supported by a sensor housing in a manner that permits the sensors to detect and analyze the passage of a swung club before, after, and at the point of impact with a ball.

A swing analysis system in accordance with the principles of the present invention may analyze slower motioned swings, such as putting strokes in a golf swing analysis embodiment and may incorporate both “regular” swing analysis (that is, the analysis of swings other than putting strokes) and putting swing analysis into one or more practice modes and into one or more game modes.

The system may include a user interface the provides a variety of textual and graphical information related to swing analysis and may include views of a struck ball's trajectory including, “still”, “follow the ball”, and “spin” views. In the “still” view, the user observes the ball trajectory from a stationary viewpoint corresponding to the place where he was standing when he hit the ball. In the “follow the ball” view, the user's viewpoint follows the ball, as thought tethered to the ball. In the “spin” view, the viewpoint follows the ball and then spins to a side view that travels along with the ball.

An applicator that properly aligns reflective material on the implement that is to be swung for analysis is also contemplated within the scope of the invention, as is a mat that is configured to receive a sensor housing and to support a user at approximately the same level as the top of the sensor housing.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and further features, aspects, and advantages of the invention will be apparent to those skilled in the art from the following detailed description, taken together with the accompanying drawings in which:

FIG. 1a is a conceptual block diagram of a sports swing analysis system in accordance with the principles of the present invention and FIGS. 1b, 1c, and 1d depict a baseball bat, a tennis racquet, and a golf club coupled to retroreflective materials in accordance with the principles of the present invention;

FIG. 2 is a perspective view of a golf swing analyzer system in accordance with the principles of the present invention;

FIGS. 3a through 3h illustrate the application of retroreflective materials to a golf

FIG. 4 is a top plan view of a golf swing analyzer sensor housing in accordance club head in accordance with the principles of the present invention; with the principles of the present invention;

FIGS. 5a through 5b illustrate in greater detail the operation of a golf swing analyzer in combination with retroreflective materials in accordance with the principles of the present invention;

FIG. 6 is a block diagram of a sensor system in accordance with the principles of the present invention;

FIG. 7 is a block diagram of a computer such as may be used in implementing a sports swing analysis system in accordance with the principles of the present invention;

FIG. 8 is a flow chart of the process of sports swing analysis in accordance with the principles of the present invention;

FIG. 9 is a screen shot of a sports swing analysis system in accordance with the principles of the present invention in which display components related to a golf swing are illustrated;

FIG. 10 is a screen shot of a sports swing analysis system in accordance with the principles of the present invention in which display components related to a golf putting swing are illustrated;

FIG. 11 is a screen shot of a sports swing analysis system in accordance with the principles of the present invention in which display components related to a golf course layout are illustrated; and

FIGS. 12a and 12b are, respectively, perspective and end views of a golf mat such as may be employed by a sports swing analysis system in accordance with the principles of the present invention.

DETAILED DESCRIPTION

A sports swing analysis system in accordance with the principles of the present invention may be configured and employed to analyze the characteristics of a swung sports implement. Although the implement could be any of a number of sports implements that are swung during the course of a sports activity, such as a baseball bat, a tennis racquet, a hockey stick, or a golf club, the following description will concentrate, for the sake of brevity and clarity of exposition, on the detection and analysis of a golf swing, in the details.

The conceptual block diagram of FIG. 1a outlines three functional building blocks of a sports swing analysis system 100 in accordance with the principles of the present invention. The detection systems 102 interface with signal generation and processing functions 104 that, in turn, interface with analysis, control, and user interface functions 106. The functions represented in the blocks 102, 104, and 106 may be distributed in a number of ways; with the functions dispersed in a plurality of packages or with all the functions located within a single package. As will be described in greater detail in the discussions related to subsequent Figures, in an illustrative embodiment of a golf swing analysis system, the majority of the detection system 102 and signal generation and processing 104 functions are located within a sensor housing that is linked with a general purpose computer upon which have been coded the analysis, control, and user interface functions 106.

The detection system functions 102, as described in greater detail in the discussion related to the following Figures, include the placement and orientation of electromagnetic emitters and detectors and the use of retroreflective materials to optimize the operation of the emitters and detectors. Although the electromagnetic energy employed by the photoemitters (emitters) and photodetectors (detectors) may be of any wavelength or band of wavelengths, and the wavelength(s) of the energy may fall outside the range referred to as the visual spectrum, the energy will be referred to hereinafter as “light.” For the ease and clarity of illustration, examples of operation using infrared light will be employed.

A system and method in accordance with the principles of the present invention emits light then detects light reflected from a sports implement, such as a golf club, baseball bat, or tennis racquet, for example. As the sports implement passes by one or more of photo-emitters (emitters) the implement reflects a portion of the light striking it from the emitters. One or more photo-detectors (detectors) detect light reflected from the implement and the amplitude of light reflected into one or more of the detectors will vary with the passing of the implement.

In accordance with the principles of the present invention, the system may employ pattern recognition methods and apparatus, including, but not limited to, edge detection techniques, to distinguish the light reflected from the implement and received at the detector(s) from background light and light from other sources that is received at the detector(s). Light from outside sources, also referred to herein as “artifact,” is a potential source of error and, once identified, is ignored by the system. In an illustrative embodiment, the edge-detection process includes the step of differentiating a swung sports implement's reflection profile to determine one or more points of inflection in the profile. The one or more points of inflection correspond to relatively sharp transitions in the amplitude of reflected light, and correspond to one or more identifiable features on the swung implement. Each identifiable feature may, for example, be a transition between materials having relatively high light absorption and relatively high light reflectivity. In an illustrative embodiment, the system stores information related to each such light level transition that meets a threshold criteria. Such information may include the time at which the transition occurred (that is, a time stamp) and a “tag” that identifies the detector that detected the light-level transition.

In an illustrative example, the identifiable features may be the leading and trailing edges of a reflective strip coupled to the swung implement. The reflective strip may be coupled to the implement using any attachment means, including, but not limited to, adhesives, hook and loop, tying, or strapping, for example. Alternatively, the reflective material may be integral with the swung implement, with one or more strips of reflective material embedded within the head of a golf club, within the body of a baseball bat, or within the head of a tennis racquet, for example. The reflective strip may, additionally, be flanked by one or more regions of highly light-absorptive material in order to establish a high-contrast reflectivity region: that is, a region in which the material surfaces present an abrupt shift from highly light-absorptive to highly light-reflective. Such a high-contrast reflectivity region enhances the system's ability to detect reflection transition events, thereby allowing the system to more precisely determine the exact time and location of transition events.

For example, in an illustrative embodiment, a highly absorptive material, such as black electrical tape, is applied to the bottom surface of a golf club's head, then a strip of retroreflective material, is attached, via adhesive backing, to the absorptive material (that is, the black tape), with some of the absorptive material left uncovered. The combination of absorptive material and overlaid reflective material yields high-contrast reflectivity regions at the leading and trailing edges of the strip. FIG. 1b illustrates a baseball bat 108 having a plurality of reflective strips 110 attached to the tip of the bat 108 over highly light-absorbent material 112. FIG. 1c illustrates a tennis racquet 114 having a reflective strip 116 attached to the racket over a highly light-absorbent material 118. FIG. 1d illustrates a golf club 210 having a reflective strip attached to the club over a highly light-absorbent material 213. The placement of the reflective strip and light absorbent material for all the implements may vary with application.

The signal generation and processing functions 104, as described in greater detail in the discussion related to the following Figures, include the use of pattern detection techniques and the timed activation of the emitters. The analysis, control, and user interface functions 106, described in greater detail in the discussion related to the following Figures, include the analysis of a swung implement, display of a simulated result of the swing, and audio and/or graphical feedback related to the analysis of the swing.

An illustrative embodiment of a golf swing analysis system 200 in accordance with the principles of the present invention is shown in the perspective view of FIG. 2. The system 200 include a sensor housing 202 or equivalent structure for containing therein a plurality emitters and detectors. As will be described in greater detail in the discussion related to the following Figures, the emitters and detectors are arranged into six groups, or arrays, identified in the Figures by reference numerals 204a, 204b, 204c, 204d, 204e, and 204f. The system 200 further includes signal generation and processing components 206 contained, in this illustrative embodiment, within the housing 202. As described in greater detail in the discussion related to the following Figures, the signal generation and processing components are coupled to the emitters and detectors (204a-204f) and to a general purpose computer 208.

A golf club 210 having retroreflective material 212 coupled to it is swung by a user over the housing 202 in order to capture data for analysis of the user's golf swing, and for providing various forms of feedback to the user by the system 200. A mat 215 may be employed to provide a level, resilient, grass-like surface upon which a user may stand. The mat 215 simulates the look and feel of a golf course surface and, with a thickness approximately the same as the thickness of the housing 202, positions a user level with the upper surface 202a of the housing 202. The illustrative system 200 also includes a net 214 which may be positioned to capture golf balls hit by a user.

Retroreflective material, such as used in this illustrative embodiment, is familiar to most people through its use in traffic signs. The material provides the unique property of returning light to a light source, rather than, as with conventional reflective material, reflecting light according to the familiar, “angle of incidence equals the angle of reflection,” rule. Retroreflective materials are typically one of two types: enclosed-lens, glass bead sheeting, or microprismatic, “cube-corner,” reflective material. “Glass bead” sheeting features a complex construction of many laminated layers. Thousands of microscopic glass beads are embedded per square inch in these layers. Sandwiched between the adhesive and bead layers, a metalization layer is closely molded to the contoured backside of the beads, and acts as a reflector. Light passes through the film's top layers and strikes this layer. Bouncing off the metalization layer, light returns through the beads back through to the light source. Microprismatic retroreflective material uses an embossed geometric pattern on the sheeting's interior surface to refract the light beam. By bouncing the light off different planes of the pattern, the light is redirected back to its origin. Various retroreflective film types are available from manufacturers, such as 3M corporation, Saint Paul, Minn.

The illustrative sensor housing 202 may be fabricated of a resilient material, with the emitters and detectors (204a-204f) embedded therein. In this illustrative embodiment, the emitters and detectors are reflective type sensors wherein the detectors produce a signal proportional to the amplitude of light they detect of the wavelength emitted by the emitters. Typically, background radiation will contribute to a signal at one or more of the detectors, but, as described in greater detail in the discussion related to the following Figures, the system 200 employs signal processing techniques to eliminate the effects of such “artifact.” This illustrative embodiment employs QED123 and QSD123 emitters and detectors, respectively, available from Fairchild Semiconductors. The housing 202 is primarily composed of opaque material, with ports formed in the upper surface 202a of the housing 202 at the locations of the sensors 204a-204f. In this illustrative embodiment, each of the sensors may be thought of as an emitter/detector pair. Emitters within a group of sensors will be referenced by the addition of an “e” to the respective sensor's reference number, and detectors will be referenced by the addition of a “d” to the respective sensor's reference number. For example, emitters within the 204a sensor group will be associated with reference numeral 204ae and, similarly, detectors within the 204a sensor group will be associated with the reference numeral 204ad. The ports may be open or covered by a resilient material, such as Plexiglas, that does not substantially absorb light at the wavelength employed by the sensors. In use, the housing 202 is positioned such that when a golf club 210 is swung, the head of the golf club 210 travels along a swing path 216 that passes over the housing upper surface 202a. Specifically, the swing path 216 passes over the housing back edge 202b, one or more of the sensors (204a-204f), and then the housing front edge 202c. A ball support 205 will directly support a golf ball substantially at the level of the housing upper surface 202a, to simulate the positioning of a ball while putting or, in general, during any shot other than a tee shot. Additionally, the ball support 205 is configured to accept a golf tee and to thereby permit a golfer to take a tee shot.

In this illustrative embodiment, the emitters and detectors of sensors 204a-204f respectively emit and accept relatively narrow beams of infrared light. As described in greater detail in the discussion related to the following Figures, the properties of the reflective material 212 coupled to the head of the club 210 permit the use of relatively narrow beams, which, in turn, provides greater accuracy in detecting the presence or absence of the head of a club 210 above the housing 202. In the illustrative embodiment, the emitted light forms a beam with a spread of approximately +/−11 degrees. The detectors are sensitive over a comparably narrow range. Such as narrow beam allows the system to distinguish smaller features over a greater distance than otherwise would be the case. Consequently, the accuracy and resolution of the system is increased concomitantly. With a conventional reflective surface, the reflected energy would only activate the detectors if the reflecting surface were substantially perpendicular to the central beam of the incident light energy. Additionally, a change in orientation relative to horizontal would appear as a horizontal shift in position if a conventional reflective surface were employed. In this illustrative embodiment, the reflective material 212 is a retroreflective tape that is applied to the bottom of the head of the club 210. The process of applying the retroreflective tape, along with a material 213 that is highly absorbent in the wavelength or band of wavelengths used by the sensors 204a-204f, is described in greater detail in the discussion related to FIGS. 3a through 3j.

In operation, light transmitted by an emitter only returns to a nearby, associated, detector when it is reflected by an object, such as the retroreflective tape 212. As a club 210 is swung along the swing path 216, light from one or more of the emitters 204ae-204fe is reflected back to one or more of the detectors 204ad-204fd by the reflective strip. Additionally, light from the emitters 204ae-204fe is substantially absorbed before and after passage of the reflective strip 212 by the absorbent material 213 which, in this illustrative example, substantially surrounds the reflective strip 212. The contrast between high levels of absorption and high levels of reflectivity provides for a sharp transition in reflected light amplitude that a system in accordance with the principles of the present invention may use to clearly distinguish the passage of a club head from fluctuations in light amplitude not due to the passage of a club head and, therefore, not relevant to a sports swing analysis system. Not only does the sharp contrast provided by the combination of absorbent and reflective materials distinguish such background fluctuations from light amplitude transitions of interest, it also allows the system 200 to determine with some precision the exact time at which the edge of the retroreflective material passes over a sensor and, therefore, permits the system to more accurately determine the values of swing parameters of interest, such as: swing path angle, club head speed, club head angle, club head lateral alignment with respect to a ball support, club head loft angle, and club head height.

The array of sensors 204a operate as triggers. That is, power is constantly applied to the emitters and detectors so that the sensors may detect the passage of a club head at any time. When a trigger event is detected by sensors in the trigger row 204a, the remaining sensors, in particular the emitters of the remaining sensors, are turned on at full power for a period of time that is sufficient to capture swing data. Contact row sensors 204d are positioned in close enough proximity to a ball support 205 to obtain club head data approximately at the time of the club's impact with a ball. That is, the trailing edge of a properly placed reflective strip will be detected substantially coincident with the striking of the ball. Sensor arrays 204c and 204e are used to evaluate club head toe and club head heel height before and after the point of impact, which provides further information on how the ball is struck relative to the sweet spot of the club head face. Club head toe and heel height are determined using a technique that is a variation on standard triangulation for distance determination. In an illustrative embodiment, the sensors are angled approximately 30 degrees with respect to a line perpendicular to the upper surface of the housing 202a. However, it will be understood that the sensors could be oriented at any reasonable angle, for example, from 15 degrees to 75 degrees. Note that, without the retroreflective surface, the angled beams would not activate their respective detectors. Since each of the sensors arrays 204c and 204e include two parallel rows (204cl and 204cr, and 204el and 204er, respectively) effectively situated an equal distance on either side of the tee, for a right handed golfer swinging in the direction indicated by the path 216, the height of the toe of the club is measured by sensor rows 204cr and 204er, and the height of the heel of the club is measured by sensor rows 204cl and 204el. This configuration enables the club head toe and heel heights to be measured independently, which, in turn, enables the system to provide a more accurate depiction of the swing, as is described below. The operation of entrance row sensors 204b, exit row sensors 204f and angled sensors 204c and 204e will be described in greater detail below.

The ball support 205 may directly support a ball, for example, when a golfer is operating the system in a putting mode, or, with the insertion of a tee into the hole 207 within the ball support by a golfer, the ball support 205 may support a tee which, in turn, supports the ball. The output of the entrance row 204b and exit row 204f sensors is used to determine the club's swing path angle and the club head's lateral alignment with the ball. The system employs a combination of parameter values, including: swing path angle, lateral alignment, and face angle, to indicate whether the ball has been struck on the center of the club head face (that is, the sweet spot) or if the ball has been struck on the heel or toe of the club head.

In accordance with the principles of the present invention, a distance measurement device 211 may be employed to determine the launch angle of a golf ball after a user strikes the ball. The distance measurement device 211 may be based on any of a variety of known technologies, such as RADAR or LIDAR, for example. In operation, the distance measurement device is located a known distance D4 from the ball support 205. Given the known distance D4, the distance measurement obtained by the device 211 may be used by the system to determine a golf ball's launch angle (that is, the vertical angle of the ball as it leaves the ball support). In a relatively simple embodiment, one or more of the devices 211 are positioned down range of the ball support forming a line perpendicular to the intended flight path of the ball at the distance D4 from the ball support. As a struck ball passes over one of the distance measurement devices 211, the device measures the vertical distance to the ball H (that is, the ball's height) and reports this information to a controller 600 (see FIG. 6). Given the ball's height and the distance D4 to the ball support, the controller or computer can determine the launch angle as the arctangent of H/D4. This approach assumes that the height measurement is obtained as the ball passes directly over the device 211 and, therefore, the angle between the line from the device 211 to the ball and the line from the ball support 205 to the device 211 is a right angle.

Other configurations are contemplated within the scope of the invention. For example, in another illustrative embodiment, the device 211 is a RADAR device that employs phased-array techniques to steer a radar beam in order to determine the distance to a struck ball from the device. Phased arrays and RADAR beam steering is known in the art and compact, steerable, inexpensive RADAR systems are known. A compact, inexpensive, steerable, RADAR is disclosed, for example in, “A Fully Integrated 24 Ghz 8 path Phased Array Receiver in Silicon”, Hossein Hashemi, Xiang Guan, and Ali Hamjimiri, International Solid State Circuits Conference, 2004, which is hereby incorporated by reference in its entirety. A system in accordance with the principles of the present invention may employ a steerable RADAR to obtain a variety of measurements, including the height and distance to a ball. Such measurements may be made one or more times. Because such a RADAR device may be used to determine both the distance and direction to a struck ball, the device may be located anywhere within a range of interest (that is, close enough to a projected ball flight path to obtain measurements), and wouldn't need to be positioned down range from the ball support 205. In order to transform angle and distance measurements from the device's coordinate system to that of the ball support and to thereby derive such measurements as ball launch angle, the RADAR device's position relative to that of the ball support must be determined. In order to simplify the coordinate transformation, a RADAR device may be positioned a predetermined distance D4 down range from the ball support, along a center line that travels through the center of the ball support 205 in the direction of the expected ball flight path. Readings obtained when the ball is directly overhead provide a direct measure of a ball's height and the ball's launch angle is given, as described above, by the arctangent of H/D4. Vector decomposition may be used to determine the height and directional angle (the angle, for example, to the left or the right of the center line) of a ball by transforming the height and angle of a ball in the receiver's coordinate system to the height and angle of the ball in the ball support's coordinate system. In accordance with the principles of the present invention a steerable RADAR device 211 may also be employed to make club head measurements, such as club head height, speed, path, etc.

In another aspect of a system in accordance with the principles of the present invention, the retroreflective strip is of a known width and is aligned with leading and trailing edges parallel to the face of the club. Additionally, an alignment tool may be employed to ensure that the strip is properly aligned with the face of the dub. Knowing the width of the reflective strip allows the system to determine the speed of the associated swung implement by dividing the width of the strip by the time between reflectivity transition events associated with the leading and trailing edges of the reflective strip. Triangulation techniques may be employed by a system in accordance with the principles of the present invention to determine the distance between the implement and the system's light detectors. In an illustrative golf club swing analysis embodiment, such a distance measurement may be used to provide an indication of the height of a swung club head above a surface holding the golf ball.

FIGS. 3a through 3f provide illustrative examples of light-absorbent and light-reflective material such as may be used in accordance with the principles of the present invention and their application to the head of a golf club, such as golf club 210. FIG. 3a is a bottom plan view of a golf club head 300 having fore (or face) 302, aft 304, and bottom 306 surfaces. The face 302 strikes the ball, ideally, in a manner that provides preferred characteristics, such as height, distance, direction, and other characteristics discussed in greater detail in the discussion related to the following Figures. In order to properly measure parameters such as club head speed, loft, club face angle and club path angle, the systems sensors 204a-204f must detect the actual orientation of the club head as it is swung along the path 216. Because the reflectivity of a club head varies, because of a club head's curvature, and because these and other club head characteristics differ from club to club, it is difficult to determine, with a great deal of precision, the actual orientation and speed of a club head simply by relying upon light reflected from the club head into one or more arrays of detectors. In accordance with the principles of the present invention, the use of a retroreflective strip minimizes the uncertainties associated with the use of light reflected directly from a club head and thereby allows for precise determination of club head speed and orientation. Although a system in accordance with the principles of the present invention could operate successfully with a reflective strip having any orientation relative to the club face 302, as long as the orientation was known, in this illustrative embodiment the long axis of the reflective strip is oriented parallel to the face of the club. By orienting the reflective strip in this manner, the system needn't transform data between a club face-centered coordinate system and a reflective strip-centered coordinate system. An alignment tool 307 in accordance with the principles of the present invention may be employed to ensure that the strip 212 is aligned parallel to the club face and with the sweet spot of the club face. FIG. 3b includes retroreflective strips 212, light absorbing material in the form of black electrical tape 213, and a reflective strip alignment tool 307. FIG. 3c illustrates the bottom surface of a club head with black electrical tape 213 applied in accordance with the principles of the present invention.

FIG. 3h illustrates an alignment tool in accordance with the principles of the present invention in greater detail. The applicator 307, which, in this illustrative embodiment is composed of a pliable, resilient, material such as polystyrene or polypropylene, includes a substantially rectangular member 310 having an aperture 312 for accepting a reflective strip that is to be applied to a club head 211. One or more tabs 314 are connected to the member 310 via a pliable joint 316, which joint may be created by forming a weakened line of material. The “weakened line” may be achieved by thinning the material, for example. Although two tabs are shown in this illustrative embodiment, any number of tabs, including a single tab running the entire length of the rectangular member, may be employed in accordance with the principles of the present invention. In operation, the tabs 314 are bent along the face of the club 302, as illustrated in FIG. 3e, centered on the club face's sweet spot. The aperture 312 is thereby positioned over the applied absorbent surface 213, with its long axis aligned with the club face 302. Although the retroreflective material may be coupled to a club head through any means, including semiperminant means, such as molding, soldering, etc., the use of retroreflective tape allows a golfer to apply the material to clubs he already owns and uses for playing golf.

FIG. 3f illustrates the application of a reflective strip 212 to the absorbent surface 213. In this illustrative embodiment the reflective strip 212 includes a retroreflective surface with an adhesive backing. The strip's adhesive backing is exposed before placing the strip within the aperture 312 and, consequently, when firmly positioned within the aperture 312, the strip adheres to the absorbent material 213 and remains affixed to the material 213 when the applicator 307 is removed, as illustrated in FIG. 3G.

FIG. 4 provides a more detailed view of a golf swing analysis system sensor housing 200 in accordance with the principles of the present invention. Sensors are arranged within the housing as follows. Sensors 204a are positioned at the trigger row of the housing. The sensors 204a include three emitter/detector pairs. One of the emitter detector pairs is positioned along a center line that it shares with the ball support 205. The other two of the emitter/detector pairs are equally spaced on either side of the middle emitter/detector pairs. Among other functions, this group of sensors 204a operates as a trigger” for the remaining sensors, applying power to the emitters of the remaining sensors only when a trigger event, indicating the passage of a golf club head, has occurred. A linear array of eleven emitters and ten detectors 204b is positioned transverse to the golf club swing path approximately 1.25 inches closer to the golf ball support 205 than the trigger array of sensors 204a. This array 204b is the entrance row of sensors. Angled sensor array 204c is arranged with two pairs of emitters and detectors, each pair parallel to the major axis of the housing 200, with a pair aligned to either side of the ball support 205. In an illustrative embodiment the angled emitter detectors are positioned at an angle of 30 degrees with the upper surface 202a of the housing 200. Such and alignment permits a system in accordance with the principles of the present invention to determine the height of a club head as it passes overhead. The array 204d of four emitters and five detectors is positioned transverse to the club swing path approximately four inches closer to the ball support than the trigger array 204a. This, the contact row of sensors, is positioned close enough to the ball support 205 to detect club swing information coincident with, or just before, contact between a club face and the golf ball. That is, being within 1.5 inches of the support 205 in the illustrative embodiment, the trailing edge of the retrorflective strip passes over the array substantially concurrent with the time the ball is being struck and, consequently, data related from that array is data at the time of impact. Another angled sensors array 204e is arranged with two pairs of emitters and detectors, each pair parallel to the major axis of the housing 200, with a pair aligned to either side of and equidistant from the major axis that passes through the center of the ball support. Additionally, in this illustrative embodiment, the angled arrays 204c and 204e are positioned an equal distance, d, of approximately three and one half inches to either side of the ball support 205 and perpendicular to the major axis of the housing 200. An exit row of sensors 204f includes eleven emitters and ten detectors arranged transverse to the dub swing path 216 and a distance d2 approximately four and one half inches from the ball support 205 (that is, approximately the same distance from, but on the opposite side of, the ball support as the sensor array 204b). In this illustrative embodiment, a signal light in the form of an LED 204g is positioned in close proximity to the center of the three emitter/detector pairs that form the sensor array 204a. This embodiment of a sports swing analysis system employs the LED to indicate to a user whether the user is operating in a “putting” mode or not.

The schematic representations of FIGS. 5a, 5b, and 5c illustrate in greater detail the operation of “angled arrays” 204c and 204e. The “ray tracing” representations of FIGS. 5a and 5b contrast the reflection from an “ordinary reflector” (FIG. 5a) with reflection from a retroreflector (FIG. 5b) as employed in this illustrative embodiment. In FIG. 5a a ray of light emitted by emitter e travels along a path P1 toward reflector R and is reflected in the familiar “angle of incidence equals angle of reflection” mode along path P2. In this representation a detector D has an acceptance angle θ which precludes the detection of light traveling along the reflected path P2. If detector D and emitter E were employed as one of the angled emitter/detector pairs of arrays 204c and 204e and the reflector R were employed as the reflective material coupled to the club head 211, light emitted by the emitter E would not be detected by the detector D as the club head 211 passed over the pair along the path 216.

In contrast, the ray tracing of FIG. 5b illustrates the use of a retroreflective material, as previously described. In this illustrative example, light emitted by the emitter E travels along the path P1 to the surface of the retroreflective material RET where it is reflected along the path P2. Because the retroreflective material does not reflect light according to the “angle of incidence equals the angle of reflection”, but, rather, along a path P2 much closer to the original path P1, a detector having the same acceptance angle, θ, (or an even narrower acceptance angle), will, in this instance, receive the reflected light as the club head passes over the detectors along the path 216.

The side schematic representation of FIG. 5c depicts the use of a retroreflective strip in concert with angled emitter/detector pairs to determine the height of a golf club head above the top surface 202a of the housing 202. Detector/emitter arrays 204a-204f are as previously described. A vertical broken line 500 represents the centerline of light emitted from the emitters 204be. As the golf club 210 passes over the array 204b, light emitted from the array strikes the bottom of the golf club's head. As the club proceeds along the path 216 emitted light will strike absorbent material for some period of time, then retrorefective material, then absorbent material. That is, if the entire bottom surface of the golf club is covered by a light absorbent material, such as the dark electrical tape described, as previously described, with a strip of retroreflective material applied over the tape, black tape will pass over the array 204b, followed by the retroreflective material, which is then followed by more black tape. The same sequence of absorbent, reflective, and absorbent material will apply to the angled array 204c. The light amplitude pattern of dark, light, dark, received at the detectors is employed by the system to recognize the passage of a golf club head and to distinguish such a passage from ambient light, the passage of shadows, and other spurious events.

In one aspect of a system in accordance with the principles of the present invention, if the width of the reflective strip 212 and the height of the strip are known, the system may determine the speed of the club head by dividing the time required for the passage of the strip into the width of the strip. That is, given a pair of light amplitude transitions that represent the passage of the leading and trailing edges of the reflective strip, the system divides width of the strip by the time between the transition pair. A secondary correction can be made to correct for the spreading of the beams with distance, since the height is known. In an illustrative example, the width of the strip is 0.25 inches and the system treats club head speeds between 10 mph and 220 mph (corresponding, respectively, to 1420 microsecond and 64.6 microsecond intervals between leading and trailing edges) as valid speeds. That is, the apparent club head speed is used, in conjunction with other parameter values, to determine whether variations in light amplitude received at the detectors are the result of emitted light being reflected by a club head as it passes over the sensor arrays, or the variations are due to other, extraneous, processes. Other, slower, speeds may be denominated valid in a putting mode, for example.

The system may record the time required for the club head to pass from above the array 204b until the club head intersects with the path P1 of light emitted from the angled array 204c. Because the club head speed has already been determined (that is, by dividing the width of the strip 212 by the time between light level transitions corresponding to the passage of the leading and trailing edges of the strip 212), the distance D1 between the points of intersection of the club head with the vertical line from the array 204b and the angled line P1 from the angled array 204c may be determined by the system by multiplying the time between those points of intersection by the speed of the club head. By subtracting the distance D3 between the arrays 204b and 204c from the distance D1, the system determines the distance D2. Given the angle φ and the distance D2, the system may determine the height H. Such measurements and corresponding height determinations may be made for both the heel and toe of the club head, using, respectively, the arrays closer and farther from the location of a golfer (this proximity of the sensor arrays will vary according to whether the user's stance is left-handed or right-handed).

Turning now to FIG. 6, the signal generation and processing functional block 104 is discussed in greater detail. A controller 600, which may be composed of electronic circuitry that includes a microprocessor or microcontroller, for example, provides drive signals for the systems' emitters through an emitter interface 602. Two or more emitters may be controlled with the same signal so that, for example, the emitters in the array 204c may all be turned on and off at the same time. The controller 600 also controls the operation of a mode indicator interface 602, which, in this illustrative embodiment, controls the operation of putting mode LED 204g. A detector interface 606 receives signals from the various detectors and passes them along to a differentiator 608. The differentiator 608 may be implemented in a variety of circuit configurations and may take the form of AC coupling of detector signals from the detector interface 606 to comparator circuitry 610. The comparator circuitry 610 converts the differentiated detector signal to digital form for processing by the controller 600.

FIG. 7 illustrates the system architecture for a computer system 700 on which a portion of the invention may be implemented. The exemplary computer system of FIG. 7 is for descriptive purposes only. Although the description may refer to terms commonly used in describing particular computer systems, the description and concepts equally apply to other systems, including systems having architectures dissimilar to FIG. 7.

Computer system 700 includes a central processing unit (CPU) 705, which may be implemented with a conventional microprocessor, a random access memory (RAM) 710 for temporary storage of information, and a read only memory (ROM) 715 for permanent storage of information. A memory controller 720 is provided for controlling RAM 710.

A bus 730 interconnects the components of computer system 700. A bus controller 725 is provided for controlling bus 730. An interrupt controller 735 is used for receiving and processing various interrupt signals from the system components.

Mass storage may be provided by diskette 742, CD ROM 747, or hard drive 752. Data and software may be exchanged with computer system 0.700 via removable media such as diskette 742 and CD ROM 747. Diskette 742 is insertable into diskette drive 741 which is, in turn, connected to bus 730 by a controller 740. Similarly, CD ROM 747 is insertable into CD ROM drive 746 which is, in turn, connected to bus 730 by controller 745. Hard disc 752 is part of a fixed disc drive 751 which is connected to bus 730 by controller 750.

User input to computer system 700 may be provided by a number of devices. For example, a keyboard 756 and mouse 757 are connected to bus 730 by controller 755. An audio transducer 796, which may act as both a microphone and a speaker, is connected to bus 730 by audio controller 797, as illustrated. It will be obvious to those reasonably skilled in the art that other input devices, such as a pen and/or tabloid may be connected to bus 730 and an appropriate controller and software, as required. DMA controller 760 is provided for performing direct memory access to RAM 710. A visual display is generated by video controller 765 which controls video display 770. Computer system 700 also includes a communications adaptor 790 which allows the system to be interconnected to a local area network (LAN) or a wide area network (WAN), schematically illustrated by bus 791 and network 795. An input interface 799 operates in conjunction with an input device 793 to permit a user to send information, whether command and control, data, or other types of information, to the system 700. The input device and interface may be any of a number of common interface devices, such as a joystick, a touch-pad, a touch-screen, a speech-recognition device, or other known input device.

Operation of computer system 700 is generally controlled and coordinated by operating system software. The operating system controls allocation of system resources and performs tasks such as processing scheduling, memory management, networking, and services, among things. In particular, an operating system resident in system memory and running on CPU 705 coordinates the operation of the other elements of computer system 700. The present invention may be implemented with any number of operating systems, including commercially available operating systems. One or more applications, such may also run on the CPU 705. If the operating system is a true multitasking operating system, multiple applications may execute simultaneously. An interface controller 733 may be employed, for example, to communicate with the controller 600.

The flow chart of FIG. 8 illustrates the basic processes of a swing analysis system in accordance with the principles of the present invention. A portion of such processes may be implemented on a computer system such as computer system 700 described in the discussion related to FIG. 7. The process begins in step 800 and proceeds from there to step 802 where the system determines whether a trigger event has occurred. In an illustrative golf swing analysis embodiment, emitters associated with entrance row sensors 204a sensors are turned “on” all the time the system is being used and other sensors remain off until after a trigger event occurs. An event that indicates the passage of a golf club head over the sensors is detected by the detection and signal processing systems, previously described. In this illustrative embodiment, the detection of two light amplitude transitions, corresponding to the passage of the leading and trailing edges of a retroreflective strip coupled to a club head, qualifies as such a triggering event. In step 802 the computer system 700 (upon which the analysis, control, and interface system 106 may be implemented) polls a trigger processing function to determine whether such an event has occurred. If no trigger event has occurred, the process proceeds to step 803 where the system determines whether it is to continue and, if not, the process proceeds to end in step 816. The decision to end the process may be made on the basis of user interaction or by virtue of the exhaustion of a process timeout clock, for example.

If a trigger event has occurred and been detected in step 802, the process proceeds to step 804 where data from the trigger event is gathered. In an illustrative embodiment, data is gathered by turning on all of the systems' sensors, sampling data from each of the sensors (that is, all the detectors in all the arrays, 204a-204f) for a predetermined period of time at a predetermined rate. Whenever there is a state change (that is, a change in a comparator output corresponding to a reflected light-level transition associated with the passage of a leading or trailing edge of a reflective strip), the system records the time of the transition. Transition data (that is, time of transition and the identity of the detector that experiences the transition) is accumulated until the predetermined time has elapsed. In an illustrative embodiment, the data accumulation time is determined by the time required for a club head to travel the distance from the entrance row sensors 204a to the exit row sensors 204b. This “travel time” may be employed by a system in accordance with the principles of the present invention in a variety of ways. For example, because the emitters associated with every sensor array other than the trigger array are turned on only during this period, more power may be applied to the emitters than would be the case if they were constantly “scanning” for club heads. That is, the minimum timing interval is not limited, as some conventional systems' is, by the need to turn off, or otherwise limit the power supplied to emitters that are constantly scanning because their systems have no trigger-detection capability. That is, such conventional systems continuously pulse power to their emitters at a rate that prevents the emitters from overheating; a system in accordance with the principles of the present invention, because it only operates the emitters when an event of interest has been detected by a trigger event, can operate the emitters at full power, without pulsing, for a length of time consonant with the passage of a club head over the sensor arrays. Not only does the system avoid cycling the emitters (that is, cycling the emitters on an off) during the time a club head is passing over the housing 200, and thereby increase the resolution of the system (that is, the number of data samples the system may be able to obtain for a given period of time), operating at higher power levels provides more certainty in distinguishing reflections of interest from extraneous light. Additionally, by limiting the data accumulation time, the system reinforces limits placed on the range of club head speeds it will analyze.

In an illustrative embodiment, the predetermined time set for accumulating data is 0.1 seconds. Because the distance between the entrance and exit rows of sensors is less than a foot, 0.1 seconds provides for the accumulation of sensor data for any club speed of interest. That is, at club speeds of 220 mph and 10 mph, a club head would cover the distance between entrance and exit row sensors in less than 0.0031 seconds and 0.0682 seconds, respectively. Consequently, 0.1 seconds provides a safe margin of time to record data of interest while allowing the emitters to operate at full power for a period of time that is brief enough to insure their safe operation. Each of the sensors delivers its output to the controller 600. In an illustrative embodiment the signal generation and processing 104 identifies the input associated with each sensor. Such identification may be implemented, for example, through use of multiplexing techniques, for example. The controller is also configured to control operation of the sensors and to provide clocking information associated with received signals. In this illustrative embodiment, the controller is configured to identify which sensors have transmitted signals indicating the time of their actuation at a frequency of 100 kHz for a corresponding timing rate of approximately 0.00001 second intervals. In this illustrative embodiment, the controller is a PIC RISC microcontroller; available from Microchip, Inc.

Data files are fed from the controller to the computer via an interface, such as the interface controller 733 described in the discussion related to FIG. 7. The controller monitors the sensors for change in state events and creates data files containing sequences of change of state events, along with their associated timestamps. As used herein, a change in state event occurs whenever the leading or trailing edge of the reflective tape passes over a sensor device. Each file includes at least a particular sensor device identifier, a status field, and a time of actuation field. The sensor device identifier may be any sort of identifier recognizable by the program. The status field may be an ON/OFF indication, for example, a “1” or a “0”, representing whether the particular device was actuated during a swing. The time field is filled with the time of actuation, as compared to the time of actuation of other sensor devices (for example, the time from activation of a trigger device).

The computer is programmed to assess whether a sufficient number of individual sensor devices were activated fro the purpose of making a swing assessment. The required number is a programming option. If an insufficient number has been filled, that may indicate that the swing path was wild or incomplete and the analysis process is terminated and the user advised accordingly. The analysis first determines whether a possible club head “image” has been detected on the entrance and exit rows. If both images are present, a preliminary club head speed calculation is made, based on measured time and known distance between the rows. If a sufficient number of fields have been filled, the analysis process continues by determining whether data from the sensors confirm a minimum gross club head speed has been detected. That initial speed calculation is preliminarily made by calculating the spacing differential between particular activated ones of the sensors and dividing that number by the time lapse between activation of such sensors. The minimum club speed could be any value, such as ten mph, for example, that helps to determine whether a legitimate swing has occurred. Alternatively, no minimum speed would be set for analyzing putting strokes. If that minimum speed has not been achieved, the analysis is terminated and the user so advised. If the minimum speed has been reached and a sufficient number of sensors have been actuated, a file is created from the temporary folders data for detail analysis related to swing characteristics.

After gathering data in step 804, the process proceeds to decision step 806, where the system determines whether to proceed in putting mode. This decision is based upon the data gathered in step 804. In an illustrative embodiment, a club head that passes over the center trigger of the trigger row 204a, then over a sensor at the extreme end of the entrance row and no other sensors, initiates the putting mode. If the putting mode is not activated, the process proceeds to step 808 where the data gathered in step 804 is examined to determine whether any transitions were recorded in the detectors associated with the exit row sensors 204f. If transitions were recorded in the exit row, the process proceeds to step 810, where recorded data is forwarded for processing in step 811.

In step 811, the data is used to calculate various parameters related to the mechanics of the swung club. In accordance with the principles of the present invention, those parameters may include: swing path angle, club head speed, club head angle, lateral alignment, club head height, loft angle, ball flight path, shot distance, ball spin, swing tempo, ball stroke location on the club face, club face angle, and the effective club head speed. In an illustrative embodiment a swing analysis system in accordance with the principles of the present invention employs a strip of retrorflective material attached to the head of a golf club. Due to the properties of retroreflective material, previously described, the system's sensor response is substantially independent of the angle of the bottom of a passing golf club head. Consequently, for example, club heads with convex bottoms, the reflective sensing of which would pose a problem if using conventional reflective material, are readily sensed using retroreflective material. Similarly, although various stance errors on the part of a user (for example, hands forward or back, standing too close or too far away from the ball) may cause the bottom of the club head to be other than horizontal, the use of retroreflective material allows the system to operate well, since emitted light that strikes the surface of the retroreflective material is returned substantially along the path it took from its source. The retroreflective material also allows the use of the narrowest possible emitter light beams and the narrowest possible detector sensitivity area, the combination of which maximizes the precision of the system's position measurements. As a result, time-stamped data corresponds exactly to the edges of the reflective tape passing directly over the particular detector.

The system organizes “on” and “off” edges, corresponding with leading and trailing edges of a retroreflective strip sensed by a particular sensor. Such on/off pairs are referred to as an “event.” The system organizes patterns of overlapping events in the sensor rows as “club signatures.” For example, if a club head were traveling at 100 mph, perfectly square, and along a path that is directly down the center of the housing, one “pattern of overlapping events” would be that the five middle detectors in entrance row 204b would all turn on at approximately the same time and all would turn off approximately 142×10−6 seconds later (assuming a 0.25 inch wide retroreflective strip and assuming negligible beam spread). In an illustrative embodiment in which all the emitters are turned on at a high power level for 0.1 seconds in response to a trigger event and the corresponding detector outputs are sampled for that 0.1 second period at 10×10−6 second intervals, a significant number (fourteen) of “on” samples should be obtained, thereby providing a high confidence level that the item being detected is, indeed a reflective strip of interest and not merely artifact. Alternatively, the system may search for a threshold number (four or five, for example) of overlapping events occurring on the entrance and exit row sensors. That is, the system may verify good data by examining turn on/turn off pairs that occur at approximately the same time within a plurality of detectors within the same sensor row and determining that those events having durations corresponding to an appropriate speed. Events within each row may also be compared with events detected within a plurality of rows.

In this illustrative embodiment “events” (that is, turn on/turn off pairs) are stored, along with a detector identifier and timestamp. By storing only this transition-related data, the system requires a great deal less memory than it would if all the data collected from all the detectors were stored. Additionally, the system can perform calculations related to the detector data much more quickly if it operates on the stored transition-related data than it would if it had to operate on the much more extensive “raw” data produced by all the detectors for an entire 0.1 second sampling period.

The system calculates the club face angle by associating the time difference between detector transitions within a pattern of events. For example, if a club face is swung approximately 7.2 degrees open, the end of the reflective strip closer to the golfer will create a transition in a row of detectors while the other end of the reflective strip still has approximately 0.25 inches to go before reaching the row of detectors (assuming a 2 inch long reflective strip, arcsin 0.25/2.0=7.2 degrees) At a club head speed of 100 mph, the 0.25 inch offset corresponds to a 142×10−6 delay between transition events associated with either end of the reflective strip. Similarly, a 7.2 degree closed club face would create the same delay, but with the end of the reflective strip farther from the golfer passing over a row of detectors before the end closer to the golfer.

In an illustrative embodiment the swing analysis system calculates the swing path angle, determining which detectors in which rows correspond to the path of the same reflective strip feature. For example, the system may determine which detector signal transitions in detector arrays 204b and 204f correspond to reflections from the end of the reflective strip closest to the golfer, farthest from the golfer, or the system may “average” detector responses to approximate detector transitions due to the passage of the center of the strip. Once a path is determined, for example, the center of the strip took a course that passed over a detector at one extreme of the array 204b to the other extreme of the array 204f. In this illustrative embodiment, that corresponds to a movement across the housing of approximately 4.5 inches in the course of transiting the nine inches between arrays 204b and 204f. The system calculates the path angle as the arctan of 4.5/9, or, 26.6 degrees. This value would be associated with a path attribute of inside/out or outside/in, depending upon whether the club head traveled, respectively, from a point closer to the golfer to a point farther from the golfer or from a point farther from the golfer to a point closer to the golfer.

In an illustrative embodiment, the swing analysis system calculates the club head speed by determining the “event duration” (that is, the time between a turn on and a turn off transition). This event time could be associated with detectors in the trigger row 204a, for example. As previously noted, if the width of the retroreflective material is known, the system can calculate the club head speed as the material width divided by the event duration. Additionally, the system may calculate the club head speed as the distance between any two sets of arrays divided by the corresponding delay between events. The system may make also employ averaging and/or smoothing algorithms to better approximate the club head speed. Because the system determines overlapping events corresponding to club signatures on all sensor rows, the system may employ data (that is, timestamps and detector identifications) associated with those signature events to determine speed, path angle, etc. The system may set acceptable timing and event duration ranges, and discard data associated with out-of-limits edge detection. This allows the system to “filter out” spurious data. The process of searching out patterns of overlapping events and discarding out-of-limits data may be repeated until, for example, the calculated results fall within a predetermined confidence level. In effect, a system in accordance with the principles of the present invention sets a window for the most likely duration of valid events for a given club head speed. If the speed and duration don't match, extreme events are discarded and the system recalculates the speed and duration of the remaining events until the system has identified swing events that fit within the norm, or, until all the collected events are discarded.

A system in accordance with the principles of the present invention may employ the club head speed and face angle to compute the ball spin, triangulation techniques such as previously described to compute a club head's toe and heel height before and after impact with a ball. The shot distance may calculated based on the club selection, club head speed, swing path, face angle, and point of contact on the club face. A ball's landing spot may be calculated on the basis of ball flight distance, spin, and the simulated course's terrain. In an illustrative embodiment, a golfer's tempo is the time between his backswing and downswing. A club's lateral alignment is determined by drawing an imaginary line from the club center at the entrance row to the club center at the exit row. The effective club head speed is determined, in this illustrative example, by derating the club head speed according to the degree to which the club face angle was off-square at the point of impact.

From step 811, the process proceeds to step 812, where the results of the calculations are displayed. In addition to displaying results of the calculations, the system may provide audio feedback and may provide a variety of display modes. Such audio feedback may be employed by a user to be coached while concentrating on the ball, his stance, his mechanics, without looking at a display, for example. From step 812 the process proceeds to step 814 where the system decides whether to continue or not. This decision may be based upon user input or a system timeout, for example. If the process is not to continue, it proceeds to end in step 816. If the process is to continue, the process returns to step 802 and, from there, as previously described.

If, in step 808, the process determines that there had been no events associated with sensors in the exit row, the system concludes that the trigger event of step 802 is associated with a player's backswing motion and the process proceeds to step 818. In step 818 backswing data recorded in step 804 is sent to the calculation process of step 819. In step 819 the swing analysis system employs the time between two sequential trigger events, associated with a club head passing over the trigger array 204a in a reverse direction, followed by it's passage in the forward direction, to calculate the player's backswing tempo. After calculating the backswing parameters in step 819, the process proceeds to step 812, where the backswing information is displayed, and, from there, the process proceeds as previously described.

Returning to step 806, if the system determines that a player's input indicates a desire to operate the system in the putting mode, the process proceeds to step 820. In step 820 the system gathers swing analysis data related to putting. Because putting is considerably different from a “regular” swing (that is, a tee shot, or chip shot, for example) the process of gathering data related to a player's putting stroke is also considerably different. For example, the expected clubhead speed is much slower than that associated with a regular swing. Consequently, the putting data-gathering process takes place on a much slower time scale.

In an illustrative embodiment, once the putting mode is entered, the system temporarily stores the state [that is, “on”(detecting light), or “off”(not detecting light)] of all the detectors in all the sensor arrays 204a-204f. Then, all the emitters in all the sensor arrays are turned on and the state of all the detectors in the sensor arrays is once again temporarily stored. All the emitters are then turned off, and the most recently stored state information for each of the detectors is compared to the corresponding next-most recently stored state in order to determine which, if any, of the detectors has undergone a change in state. The system timestamps each change of state for each detector in which a change of state is detected. The process of turning all the emitters on, logging the state of each detector, and timestamping each change of state continues until the end of the putting process. The end of the process may be brought about by virtue of user interaction or by a timeout, for example. In this illustrative embodiment, the pulsing of emitters in the putting mode takes place over an extended period of time in order to allow for the relatively slow strokes related to putting. In the putting mode, light level transitions are associated, not with the passage of the leading and trailing edges of a reflective strip, as in the normal mode of operation, but with reflections from a reflective strip associated with the pulsing on and pulsing off of emitters.

The system employs the timestamp list, as it does in other modes of operation, to determine the motion of the club head. That is, as previously described, a system in accordance with the principles of the present invention computes the values of various club head parameters, such as path angle, by examining the sequential detection of club head features at sequential detector locations. In this illustrative embodiment, those sequential detections are stored in the form of a timestamp list. After gathering the putting data in step 820, the process proceeds to step 822 where the data is forwarded to the calculation process of step 823. In step 823 the values of putting parameters are calculated, then the process proceeds to step 812, where those values are displayed. From step 812, the process proceeds as previously described.

The computer is programmed to determine the swing path angle, club head speed, club head angle, club head lateral alignment, and club head toe and heel height before and after impact and the club head loft. This information also enables the system to calculate the ball strike location on the club face. In addtion, the effective club head speed may be calculated. This rating is calculated based on the ratio of the club head angle, the relation of the club head to center, and the swing path to those parameters for an idealized swing and multiplying that fraction by the measured club head speed to obtain an overall or composite swing rating. Furthermore, based on this information, the systems calculates information about the shot that would have been taken if a real golf ball had been hit by the swing. Such information calculated includes the flight path of the ball, the distance of the shot, the spin of the ball and the swing tempo. This information enables the system to generate a three-dimensional representation of the shot, which can then be superimposed on a representation of a golf hole stored in the memory of the computer. The system is able to apply the calculated information to a standard golf hole, to a driving range simulation, and to a practice putting green simulation, as described in greater detail in the discussion related to the following Figures.

The calculated values may be displayed as textual information, a simple graphic representation, a multimedia representation, or any combination thereof on the display computer device. The computer may, optionally, be programmed to retrieve historical swing information associated with the current user, another user who has used the system or another player, such as a professional player or an “idealized” player swing attributes have been stored on the computer for comparison purposes. The system may be employed to analyze a player on a swing-by-swing basis, with swing analysis data cleared after each shot, or the swing information may be tied to a computer representation of a game simulation. The swing information captured by the system may be integrated into a course representation.

Such simulations are shown in FIGS. 9, 10, and 11. FIG. 9 is a screen shot 900 of one hole of a 3-D golf course that the user may play using the simulations calculated by the system 100. The screen includes the representation of the hole as well as a window which displays the information calculated by the system for each shot taken by the user. Other displays permit the representation of the hole being played and a window showing a representation of the shot as seen from above and a window showing the shot as seen from ground level. All of the data calculated by the system may be represented either in text on the screen or in pictures that show the shot in windows. The screen shot 900 illustrates data presentation such as may displayed by a swing analysis system in accordance with the principles of the present invention. In an illustrative embodiment, the system operates in five display modes: Practice Range, Practice Course, Practice Green, Course Game, and Green Game. The Practice Green and Green Game display modes operate in conjunction with the putting mode of data capture and analysis, as described in the discussion related to FIG. 8. The Practice Range, Practice Course, and Course Game display modes operate in conjunction with the regular swing mode of data capture and analysis, as described in greater detail in the discussion related to FIG. 8. Toolbar buttons 902, 904, 906, and 908 allow a user to, respectively, select the mode of play, select the club to use for analysis, select the view to be displayed, and select other options. In this illustrative example, information obtained by the system's sensor arrays and conditioned and analyzed by the controller has been passed to the computer for display. This particular display simulates a driving range and the visual feedback is organized in four windows. The largest window 910 includes graphical information that portrays the layout of a driving range, with yard markers 912, and a trace 914 that indicates the ball's trajectory.

A box 916 in the upper left corner of the window 910 includes textual information regarding a swing that has been analyzed by the system. This information includes the distance the ball has traveled (that is, the distance a ball would have traveled according to the simulation conducted by the system based on the information obtained from the sensor arrays and controller), in this cases 214.1 yards. The box also lists the speed at which the ball traveled, 74.9 mph, the swing tempo, 0.9 seconds (that is the time of a user's backswing), left or right of center, 4.2 yards (the distance at which the ball landed to the left or right of the user's intended ball path), and the toe and heel heights of the club relative to the “ground” (that is, to the upper surface of the sensor housing). The toe and heel heights indicate whether the club was angled in the vertical plane when the retroreflective strip intersected the beams of the angled arrays, as described previously described. The IN values are the heights of the club head toe and heel before ball contact (related to measurements from arrays 204c) and the OUT values are the heights of the club toe and heel after ball contact (related to measurements from arrays 204e). The “Penalty” value displayed at the bottom of the box 916 is computed by the system to reflect a combination of factors, including how far outside the club's sweet spot the ball was struck and the terrain on the course (for example, whether the ball was being hit from the rough).

A window 918 displays textual and graphical information regarding the swing's face angle and swing path. The system computes and displays the club's face angle before, after, and at the point of contact with the ball. Data relating to these positions are primarily obtained from the entrance 204b, contact 204d, and exit row 204f sensors, respectively, as previously described. The face angle is given in degrees, along with an indication of whether it is open, closed or square (that is, the face angle is zero). A square club face is desired for most shots. If a user is right handed and the face angle is open on contact, the face of the club is perpendicular to a line point to the right of the desired line of flight of the ball. If the face angle is closed, the face is pointing to a line pointing to the left of the desired line of flight of the ball. The IN/OUT swing path is also given in degrees and is the path of the club across the sensor unit 200. A square swing angle cuts a path directly across the middle of the swing sensor unit. For a right-handed golfer, an inside out swing describes a path from the lower right hand corner to the upper left hand corner in the window 918 and an outside in swing path follows a path from the upper right to the lower left hand corner of the window 918. This illustrative system displays a confidence meter 919 in the window 918 to indicate to a user the degree of confidence the system has in its calculations. The system's confidence in its measurements and calculations may be affected by light interfering with the sensors or errant swings, for example, and the meter 919 provides the system with a way in which to apprise a user of the system's view of the reliability of its current measurements.

The window 920 displays, in both textual and graphical form, a measurement (in degrees) or a swing path's variation, at the point of impact with the ball, from imaginary horizontal plane (that is, a plane parallel to the plane of the top of the sensor housing. The window 920 also displays a plurality of club h-lead heights. In this illustrative example, the displayed club head heights are measured as the club approaches the ball (0.9 inches), at the point or impact with the ball (0.2 inches), and after impact with the ball (0.4 inches). The window 924 displays information related to the location on the clubface at which the ball was struck. In a graphical component of the display, a red cross marks the impact point on the clubface and a textual display indicates the distance between the impact point and the club's sweet spot. The sweet spot is the ideal contact point on the club face, the contact point that yields maximum distance and power. The in this illustrative embodiment, penalties may be assigned to the trajectory of a ball corresponding to the distance between the actual point of impact and the desired point of impact (that is, the sweet spot). The format of the information displayed in this screen shot may be used, with minor modification, in a number of the system's modes of operation. That is, it may be used in conjunction with the Practice Range, Practice Course, and Course Game modes, with minor modifications, such as changes to the terrain and elimination of yard markers 912 in the Practice Course and Course Game modes.

In an alternative mode of operation, the system may be used to monitor a putting stroke. Since a golfer, when lining up a put, may take several practice swings, the system must be able to distinguish the practice swings from the actual putting stroke. In an illustrative embodiment, the system is placed in a putting mode by swinging a putter diagonally across arrays 204a and 204b. The system then begins storing information received by the sensors in a circular buffer for a predetermined period of time: ten seconds, for example. Since the putting swings are much slower than a regular swing, the system, in putting mode, operates at a lower power for a greater period of time compared to the standard swing mode described above. The system takes the last set of data stored in the circular buffer and analyzes it to give the calculated information for the put stroke.

The screen shot of FIG. 10 is of a display that provides substantially the same information as the screen shot of FIG. 9, except that this screen shot relates to data collected and analyzed while the system is operated in its putting mode. The illustrative embodiment's putting mode data gathering and analysis operations may provide data for the Practice Green and Green Game display modes. The box 916 provides a listing of the same type of information, as do windows 918, 920, and 924. The trace 914 provides an indication of to the balls trajectory that, unlike that or FIG. 9, remains in contact; with the ground. A box 1000 indicates the lay of the terrain and the distance to the hole. A system in accordance with the principles of the present invention may provide a plurality of greens for user interaction. In this illustrative embodiment, the Practice Green mode provides user interaction for nine different greens, with each green featuring different putting lengths. The system may be used to train a user to execute straight putts. The system's user interface allows a user to line up his sight for a putt. Depending upon the green and the lie of the ball, the ideal stroke may be in a direct line to the hole, to the right of the hole or to the left of the hole. In response to data collected and processed by the sensor arrays, the computes the trajectory of the user's shot, allowing for the slope of the green, and the accuracy and power of the user's shot. Based on the feedback displayed, as in FIG. 10, a user may modify his stance and swing in order to hit the ball with a square swing path, a square club face, and with the sweet spot of the club.

FIG. 11 is screen shot of a course overview available with the Practice Course and Course Game modes of the systetm's operation. In this illustrative embodiment, a user may select from a variety of tee locations (e.g., pro, intermediate, beginner, or women's tees), types of play, anti other options. During a game, players may start in a numerical sequence (e.g., 1,2,3, and 4) and, on subsequent holes, the system will automatically determine the order of shooting, based on the distance each shot lies from the hole being played. The user interface is also configured to allow a player to take a “Mulligan” and “whiff.” If a player hits a ball out-of-bounds, the player will be assessed a penalty stroke and the ball will automatically be placed on the fairway at the point where it crossed out of bounds.

In addition to the several views available corresponding to shot type and analysis, the system allows a user to choose from various views related to the travel of the ball, and these views are available in a plurality of modes. In particular, a user may choose, “still”, “follow the ball”, or “spin” views. In the “still” view, the user observes the ball trajectory from a stationary viewpoint corresponding to the place where he was standing where he hit the ball. In the “follow the ball” view, the user's viewpoint follows the ball, as thought tethered to the ball. And, in the “spin” view, the viewpoint follows the ball and then spins to a side view that travels along with the ball. The system's user interface also allows a user to “fly over” the course at any time. A fly over generates a “fly thru” or one or more holes from the respective tee box to hole pin. In accordance with the principles of the present invention, the system creates a three-dimensional (3D) representation or the course upon which a user is playing and, as a result, the views just described, which relate the flight of a user's golf bail to a 3D virtual golf course are available to a user. The creation of the 3D virtual course and the ball-related views may be implemented using animation and rendering techniques known in the art.

The system allows a user to interact, through a keyboard or a mouse, for example, with the user interface to thereby move the viewpoint of the fly thru up or down in order to get a better view of the hole. The user interface also allows a player to drop a ball anywhere on the course in order to practice shots from the selected location. The allows players to call up previous shots and to thereby allow a player to review the stored shots, to compare the shots, and to review the progress he may be making. A user may select wood and iron tee heights (heights used whenever a shot is hit with a driver or wood, or with an iron), and grass height (the height used whenever the player hits from the grass with an un-teed ball. This height information will be used by the system in conjunction with data collected from the sensor arrays to deter mine the location on the club face that strikes a ball when the player takes a shot. At the option of a user, the system may align the putt direction to a “hint line”, allowing a user to get a feel for how to play the lay of a putt.

The system provides audio feedback which a user might employ during practice to obtain feedback while focusing on his shots. That is, a user may select a mode that announces the data and swing analysis, such as is displayed in the various display windows previously discussed. By announcing the data through use of a speaker, such as speaker 770, a user may, for example, take a shot, hear the analysis of the shot, and line up his next shot, all while focusing on his ball and club, without resorting to viewing the system's display output.

The perspective view of FIG. 12a is a more detailed view of a mat 215 that may be employed in a swing analysis system in accordance with the principles of the present invention. In this illustrative embodiment, the mat 215 includes top and bottom layers 1202 and 1204, respectively. The top layer 1202 is composed of a resilient material, such as a uniback simulated grass surface, available from Grass-Tex, Inc., Dalton Ga. that emulates the texture and U appearance of grass. Both layers are made of durable resilient materials. The bottom layer may be made of an EVA foam, available from Der-Tex, Saco Me. The thickness of the mat T, is selected to be approximately the same thickness as that of the sensor housing, thereby supporting a user at approximately the same level as the top surface of the sensor housing. The head 1208 and foot 1210 of the mat are associated with the ends of the sensor housing that include, respectively, the exit and entrance row sensors. The drawing is not to scale. An aperture 1206 is designed to receive the sensor housing 202. Because the mat is made of resilient flexible materials, it may be folded or rolled for convenient packaging and transportation. FIG. 12b provides a sectional view from the foot 1210 of the mat 215. In this illustrative embodiment, the top layer 1202 includes three sections 1212, 1214, 1216, that extend the length of the mat, from head to foot. The sections 1212, 1214, and 1216, are coupled to the bottom layer 1202, in an illustrative embodiment, by an adhesive such as a heat-cured adhesive. Adhesive-free voids 1218, and 1220 are left on either side of the top section edges that form joints between top sections 1212 and 1214 and between top sections 1214 and 1216. The adhesive voids run the length of the mat 215. In this illustrative embodiment, the combination of adhesive voids 1218 and 1220, flexible, resilient materials used for top 1202 and bottom 1204 layers, and the three-section composition of the top layer 1202, permit the mat 215 to be readily folded “in three” for packaging and transportation, along the joints formed between top sections 1212 and 1214 and between top sections 1214 and 1216.

A software implementation of the above described embodiment(s) may comprise a series of computer instructions either fixed on a tangible medium, such as a computer readable media, e.g. diskette 742, CD-ROM 747, ROM 715, or fixed disc 752 of FIG. 2, or transmittable to a computer system, via a modem or other interface device, such as communications adapter 790 connected to the network 795 over a medium 791. Medium 791 can be either a tangible medium, including but not limited to, optical or analog communications lines, or may be implemented with wireless techniques, including but not limited to microwave, infrared or other transmission techniques. The series of computer instructions embodies all or part of the functionality previously decribed herein with respect to the invention. Those skilled in the art will appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Further, such instructions may be stored using any memory technology, present or future, including, but not limited to, semiconductor, magnetic, optical or other memory devices, or transmitted using any communications technology, present or future, including but not limited to optical, infrared, microwave, or other transmission technologies. It is contemplated that such a computer program product may be distributed as a removable media with accompanying printed or electronic documentation, e.g., shrink wrapped software, preloaded with a computer system, e.g., on system ROM or fixed disc, or distributed from a server or electronic bulletin board over a network, e.g., the Internet or World Wide Web.

Although various exemplary embodiments of the invention have been disclosed, it will be apparent to those skilled in the art that various changes and modifications can be made which will achieve some of the advantages of the invention without departing from the spirit and scope of the invention. It will be obvious to those reasonably skilled in the art that other components performing the same functions may be suitably substituted. Further, the methods of the invention may be achieved in either all software implementations, using the appropriate subject or processor instructions, or in hybrid implementations that utilize a combination of hardware logic, software logic and/or firmware to achieve the same results. The specific configuration of logic and/or instructions utilized to achieve a particular function, as well as other modifications to the inventive concept are intended to be covered by the appended claims.

The foregoing description of specific embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed, and many modifications and variations are possible in light of the above teachings. The embodiments were chosen and described to best explain the principles of the invention and its practical application, and to thereby enable others skilled in the art to best utilize the invention. It is intended that the scope of the invention be limited only by the claims appended hereto.

Claims

1. A golf system comprising

swing sensing apparatus configured to sense the motion of a golf club;
a controller configured to analyze the motion of the golf club; and
the controller further configured to produce a three dimensional virtual environment for the golf swing.

2. The golf system of claim 1 wherein the three dimensional virtual environment is a driving range.

3. The golf system of claim 1 wherein the three dimensional virtual environment is a golf course.

4. The golf system of claim 1 wherein the three dimensional virtual environment is a putting green.

5. The golf system of claim 1 further comprising a display wherein the controller is configured to display a view of the golf virtual environment in relation to the analyzed motion of the golf club.

6. The golf system of claim 5 wherein the controller is configured to display a spin view of the virtual environment.

7. The golf system of claim 5 wherein the controller is configured to display a view of struck golf ball's flight path from above the ball within the virtual environment.

8. The golf system of claim 5 wherein the controller is configured to display a view of struck golf ball's flight path from ground level within the virtual environment.

9. The golf system of claim 6 wherein the controller is configured to display a view of struck golf ball's flight path tracking along with the golf ball as it flies through the virtual environment.

10. A method comprising the steps of:

sensing the motion of a golf club with a swing sensing apparatus;
analyzing with a controller the motion of the golf club; and
producing with the controller a three dimensional virtual environment for the golf swing.

11. The method of claim 10 wherein the step of producing a three three dimensional virtual environment comprises the step of producing a three dimensional virtual driving range.

12. The method of claim 10 wherein the step of producing a three dimensional virtual environment comprises the step of producing three dimensional virtual golf course.

13. The method of claim 10 wherein the step of producing a three dimensional virtual environment comprises the step of producing a three dimensional virtual putting green.

14. The method of claim 10 wherein the step of producing a three dimensional virtual environment comprises the step of producing a view of the golf virtual environment in relation to the analyzed motion of the golf club.

15. The method of claim 14 wherein the step of producing a three dimensional virtual environment comprises the step of producing a view of the golf virtual environment in relation to the analyzed motion of the golf club including a spin view of the virtual environment.

16. The method of claim 14 wherein the step of producing a three dimensional virtual environment comprises the step of producing a view of the golf virtual environment in relation to the analyzed motion of the golf club including a view of struck golf ball's flight path from above the ball within the virtual environment.

17. The method of claim 14 wherein the step of producing a three dimensional virtual environment comprises the step of producing a view of the golf virtual environment in relation to the analyzed motion of the golf club including a view of struck golf ball's flight path from ground level within the virtual environment.

18. The method of claim 15 wherein the step of producing a three dimensional virtual environment comprises the step of producing a view of the golf virtual environment in relation to the analyzed motion of the golf club including a view of struck golf ball's flight path tracking along with the golf ball as it flies through the virtual environment.

Patent History
Publication number: 20050197198
Type: Application
Filed: Sep 15, 2004
Publication Date: Sep 8, 2005
Inventors: Leslie Otten (Greenwood, ME), Thomas Lawson (Malvern, PA)
Application Number: 10/943,815
Classifications
Current U.S. Class: 473/221.000