Method and system for calibrating sports implement inertial motion sensing signals

-

Techniques for calibrating club-like sports implement inertial motion sensing signals are disclosed. The disclosed method and system generate calibrated output of a motion sensing circuit, which circuit includes an inertial measurement unit and associates with a club-like sports implement. The method and system generate a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said club-like sports implement. The calibration coefficients are applied to a sensing program that operates in association with the inertial measurement unit. The method and system generate sensed motion data using the inertial measurement unit, which includes data relative to the predetermined set of axes. The data is in response to motion of the club-like sports implement. Furthermore, the method and system calibrate the sensed motion data using said plurality of calibration coefficients.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This patent application is a continuation in part and claims the benefit of U.S. patent application Ser. No. 10/810,168 filed on Mar. 26, 2004, and claims the benefit of U.S. Provisional Patent Applications Ser. Nos. 60/591,636; 60/640,632, and 60/640,634.

FIELD

This disclosure pertains generally to a sports training system and, more particularly, to a method and system for calibrating sports implement inertial motion sensing signals.

BACKGROUND OF THE DISCLOSED SUBJECT MATTER

Various devices exist to assist golfers' efforts to improve their swing. One category of devices is electronic in nature and entirely external to the golf club, typically involving some type of swing motion capture. These systems typically employ arrays of sensors and cameras configured around the golfer. Visualization and analysis of individual frames as well as slow motion animation of the golf swing is difficult with conventional video analysis because of the high frame rates required. Further, high frame rates require large amounts of data storage and processing power. In some instances, the users must also affix indicators or sensors on their person and/or their club. The inconvenience and complexity of these externally configured systems prevent this technology category from gaining widespread appeal in the golfing community. In addition, because of the nature of these systems, golfers are not able to play a round of golf while using these systems.

A class of electronic devices exists that requires users to mount the devices on the outside of the shaft of the club. The weight of these devices changes the club's swing characteristics and renders swing lessons less meaningful. The externally mounted devices significantly change the look of the club and may loosen or move on the shaft.

In U.S. Pat. No. 6,648,729, issued to Lee et al., a device is disclosed to capture and analyze data related to a golf club swing. This device is comprised of electronic components in the distal end of the club shaft with additional circuitry in the head of the club. The presence of components in the modified golf club head degrades the users' experience by providing a different tone at ball strike. Furthermore, by locating critical components in the club head, the region of the club that experiences the highest rates of acceleration, the device is more susceptible to mechanical degradation and failure. The club requires a wired link to download swing data to a computing device. This wired link is cumbersome for users. Finally, the club provides feedback to the user regarding their swing only after data is downloaded to a computing device. This lack of real-time feedback, during the course of the swing, provides a less meaningful learning experience to the user.

In all of these devices and others, there is a need for a method and system that calibrates sensor readings that actually occur in actual or less than ideal measurement.

SUMMARY

Techniques for calibrating club-like sports implement inertial motion sensing signals are disclosed. The disclosed method and system generate calibrated output of a motion sensing circuit, which circuit includes an inertial measurement unit and associates with a club-like sports implement. The method and system generate a plurality of calibration coefficients along a predetermined set of axes. The axes correspond to the axes of movement for said club-like sports implement. The calibration coefficients are applied to a sensing program that operates in association with the inertial measurement unit. The method and system generate sensed motion data using the inertial measurement unit, which includes data relative to the predetermined set of axes. The data is in response to motion of the club-like sports implement. Furthermore, the method and system calibrate the sensed motion data using said plurality of calibration coefficients.

These and other aspects of the disclosed subject matter, as well as additional novel features, will be apparent from the description provided herein. The intent of this summary is not to be a comprehensive description of the claimed subject matter, but rather to provide a short overview of some of the subject matter's functionality. Other systems, methods, features and advantages here provided will become apparent to one with skill in the art upon examination of the following FIGUREs and detailed description. It is intended that all such additional systems, methods, features and advantages that are included within this description, be within the scope of the accompanying claims.

BRIEF DESCRIPTION OF THE FIGURES

For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following brief descriptions taken in conjunction with the accompanying drawings, in which like reference numerals indicate like features.

FIG. 1 shows an instrumented golf club (IGC), which is a component of the claimed subject matter

FIG. 2 shows an outer view and an expanded inner view of a club grip incorporated into the IGC;

FIG. 3 shows three views of an inertial measurement unit (IMU) incorporating the claimed subject matter;

FIG. 4 shows a three-dimensional frame of reference corresponding to the IGC with respect to a three-dimensional frame of reference corresponding to the world.

DETAILED DESCRIPTION OF THE FIGURES

Although described with particular reference to a golf club, the claimed subject matter for calibrating accelerometer measurements and gyroscopic measurements of an inertial measurement unit may be implemented in many types of devices. With reference to other golf clubs, the claimed subject matter for measurement calibrations is applicable to all types of golf clubs, including irons, fairway woods, wedges, and putters. Another type of sports device that may benefit from the claimed subject matter is a racket. All racket sports include tennis, racquetball, squash and badminton. With minor software modifications to the disclosed embodiment, the advantages of real-time swing feedback, swing data storage, transmission, and advanced analysis can be extended to the players of racket sports. Further, additional embodiments may include bats such as those used in baseball, softball, t-ball, cricket, polo, etc. With minor software modifications to the disclosed embodiment, the advantages of real-time swing feedback, swing data storage, transmission, and advanced analysis could be extended to the players of bat sports.

An additional embodiment of the present calibration process may be adapted for use with a video game controller or computer game controller. Real time data transmission from an instrumented game controller allows for real-life swing data to be directly fed into any sports video or computer game. In addition, the portions of the disclosed subject matter can be implemented in software, hardware, or a combination of software and hardware. The hardware portion can be implemented using specialized logic; the software portion can be stored in a memory and executed by a suitable instruction execution system such as a microprocessor, tablet personal computer (PC), or desktop PC.

In addition, the concepts of the present embodiment may also be employed in system associated with a telecommunications system for the purpose of communicating between the sports participant and a remote site. As such, the remote site may receive data relating to the movement of the sports implement. Such data may be used to provide even more accurate evaluation and coaching of the sports participant from the remote location.

Several exemplary objects and advantages of an electronic sports implement with which the calibration process and associated system of present embodiment may cooperate are described for the sake of simplicity only with respect to a golf club, are as stated in U.S. patent application Ser. No. 10/810,168 filed on Mar. 26, 2004, which is entitled “Method and System for Golf Swing Analysis and Training” and assigned to SmartSwing, Inc. of Austin, Tex.

The following terms and definitions are herein provided for the purpose of illustration and not for limitation. There may be other equivalent definitions for the terms herein provided and any used for explanatory or demonstrative purposes. Accordingly, it is only by reference to appended claims that the scope of the present disclosed subject matter and the various embodiments herein is and can be limited. However, because of their beneficial ability to establish the novel concepts of the present disclosed subject matter they are here provided.

For purposes of the disclosed subject matter, the term “inertial measurement unit” or “IMU 30” ascribes to a sensor grouping of three accelerometers and three gyroscopes aligned along mutually perpendicular axes. It is the calibration of sensor measurements from IMU 30 that the present disclosure provides. The IMU 30 may be classified as a six-degree-of-freedom measurement unit. The term “Frame-of-reference” or “FoR” relates to a system within a system. For example, when a golfer rides in a car, golfer is motionless in the golfer's frame of reference, while the world appears to move around the golfer. In the present embodiment, a FoR has its own coordinate system, so the IMU 30 FoR has a set of coordinate axes fixed relative to it.

In the golfing application of the disclosed subject matter, the term “square clubface” describes a situation that occurs when the face of the club is lined up so that the normal vector is along the target line. The “neutral address position” or “at address position” occurs when a club is positioned so that the clubface is square and the shaft is leaning neither towards the target nor away from the target.

In such applications, the “world FoR” or “world frame of reference” has a set of coordinate axes where the x-axis is the direction a right-handed golfer faces, the y-axis is the target line of the golf shot, and the z-axis is up. In the world FoR, the origin is at the center of the golf ball. The “club FoR” or “club frame of reference” includes the coordinate axes given a neutral address position for the club, where the z-axis is up center of club shaft, the x-axis is the “top” of the club grip and should lie in world XZ plane in a neutral address position, and further where the y-axis—points towards target and should be parallel to world y-axis is a neutral address position. In the club FoR, the origin is fixed distance from top of board.

With the above terms and definitions as a basis and with a focus on the calibration process of the disclosed subject matter, FIG. 1 shows the context for practicing the present embodiment as an instrumented golf club (IGC) 10, which is one component of a System of Golf Swing Analysis and Training (SGSAT) of the claimed subject matter. IGC 10 includes a head 12 and a shaft 14, both of which are similar to shafts and heads on a typical golf club. Although illustrated as a driver, head 12 can be any type of golf club, including but not limited to, an iron, a wedge, a wood and a putter. As mentioned above, the claimed subject matter is not limited to golf clubs but can be applied to many types of bats, rackets and game controllers. Attached to the top of shaft 14 is a grip 16, into which the claimed subject matter is incorporated. Grip 16 includes a Power On/Mute/Power Off button 18, a battery recharge connector 20, a battery recharge connector cover 22, a grip faceplate 24 and a Flag Swing button 26.

Power On/Mute/Power Off button 20 is pushed once to power on the IGC 10. Once the IGC 10 is powered on, button 20 is pushed to toggle on and off an audio feedback signal that indicates to a user when a particular swing has broken a plane representing a correct swing. To power off the IGC 10, button 20 is pushed in and held for four or more seconds. Battery recharge connector 28 is a socket into which battery recharger 22 is inserted to charge a battery pack within IGC 10. Flag swing button 26 is pushed when a user desires to mark the data corresponding to a particular swing of IGC 10 for future investigation using an analysis application on an associated computing device. A saved swing can also become a benchmark, or reference swing, against which subsequent swings can be compared, including setting a reference for the breaking planes sounds.

FIG. 2 shows club grip 16 and an expanded view of a top portion of IMU 30, which fits within IGC 10. Battery recharge connector cover 22, grip faceplate 24, power on/mute/power off button 20 and flag swing button 26 were introduced above in conjunction with FIG. 1. Below grip faceplate 24 is an antenna board 32 that is employed in wireless communication between IGC 10 and an associated RF link box as described in U.S. patent application Ser. No. 10/810,168. Antenna board 32 is coupled to a main circuit board 34, which is explained in more detail below in conjunction with FIG. 3. Illustrated parts 20, 22, 24, 26, 32 and 34 connect together and are coupled to, and part of, IMU 30, which fits into grip 16. A tab 36 extends from main board 34 and serves to secure IMU 30 in a fixed position relative to grip 16. A second, opposing tab (not shown) protrudes from the other side of main board 34 and also serves to secure IMU 30 in position relative to grip 16.

Also included on main board 34 is a temperature sensor (not shown) for providing temperature compensation of data from the gyroscopes and accelerometers because the performance characteristics of the gyroscopes and accelerometers can be affected by temperature. A microprocessor (not shown), on main board 34, is employed as a central processing unit for IGC 10. The microprocessor controls the other components of board 34, collects sensor data, monitors system temperature, corrects sensor data for temperature related distortion, processes the corrected sensor data into position, velocity, and acceleration vectors, stores the corrected sensor data in flash memory (not shown) for later download, and performs real-time collision detection of IGC 10 with respect to the swing planes.

Swing data is stored on 8 MB of serial flash memory (not shown) on main board 34. One embodiment of the claimed subject matter employs approximately 72 kB of memory per recorded swing therefore allowing over 100 swings to be stored on the flash memory before the flash memory is consumed.

FIGS. 3A through 3C show three views of IMU 30. In particular, an outer view 60 appears in FIG. 3A; an inner, exploded view 62 appears in FIG. 3B and an inner, assembled view, or assembly 64 appears in FIG. 3C. Outer view 60 shows a tube 68 into which assembly 64 fits. Also shown is a screw 70 which secures assembly 64 to tube 68. Exploded view 62 includes antenna board 32 and a full view of main board 34, both of which were introduced above in conjunction with FIG. 3. Antenna board 32 is coupled both mechanically and electrically to main board 34. Also coupled mechanically and electrically to main board 34 are a club transceiver chip 72, a sounder 74, an accel/gyro board 76 and a z-gyro board 78.

Club transceiver chip 72, which in this example is a 2.4 GHz transceiver, is responsible for wireless communication between IGC 10 and the associated RF link box. Transceiver chip 72 employs a quarter wave monopole antenna (not shown) located on antenna board 32. Sounder 74 provides an audio feedback signal to a user of IGC 10 when a particular swing falls outside of acceptable parameters. Screw 70 extends through one wall of tube 68, through one tube insert 58, through main board 34, through second tube insert 58 and through the opposite wall of tube 68. Screw 70 serves as a main point of structural integrity within IMU 30. In other words, screw 70 and tube inserts 58 prevent the various components of assembly 64 from vibrating within tube 68.

IMU 30 employs three solid-state gyroscopes, such as Analog Devices' ADXRS160, to measure angular rates around axes CX, CY, and CZ. A gyroscope located on accel/gyro board 76 measures the angular rate of rotation around CX, a gyroscope located on main board 34 measures the angular rate of rotation around CY, and a gyroscope located on the Z-gyro board 78 measures the angular rate of rotation around CZ.

The present embodiment makes possible calibrated output from the gyroscope sensor measurements from accel/gyro board 76. These gyroscopes are configured with a bandwidth of 1320 degrees per second in order to record a typical golf swing, although other bandwidths are possible depending upon the particular application. Additional signal conditioning and analog to digital conversion circuitry (not shown) supports the three gyroscope sensors.

Looking ahead briefly to FIG. 4, IMU 30 also provides two dual-axis accelerometers, such as Analog Devices ADXL210e, to measure linear acceleration along axes CX, CY, and CZ. An accelerometer on main board 34 measures linear acceleration along CX and CZ axes. An accelerometer on accel/gyro board 76 measures linear acceleration along CY axis and duplicated data along the CZ axis. Although one embodiment uses only one channel of the CZ data, another embodiment may compare both channels of CZ data for such benefits as increased accuracy and/or signal noise reduction. It should be noted that accelerometers can measure both linear acceleration and forces due to gravity. The ability to measure the effects of gravity allows for the resolution of a gravity vector that in effect tells IGC 10 which direction is down with respect to the surrounding world.

Another embodiment of the claimed subject matter may use higher quantities of memory that would allow for data captured for a higher number of swings. In addition, other embodiments may sample fewer data points per swing, thereby allowing for data to be captured from a higher number of swings. Furthermore, other embodiments may employ data compression algorithms to allow for more data to be captured from a higher number of swings. For completeness, exploded view 64 further shows tube inserts 80A and 80B, battery standoff 82, battery pack 84, and battery pack wires 86.

With a more focused view to FIG. 4, there appears IGC 10 within two three-dimensional, orthogonal frames of reference. The calibration process of the disclosed subject assures that the theoretical approach that orthogonal frames of reference 90 and 92 present, in fact, are the frames of reference for swing analysis and diagnosis, all to the ultimate benefit of the IGC 10 user. Frame of reference 90 is plotted with reference to a typical position for IGC 10. Frame of reference 92 is plotted with reference to gravity corresponding to the world. Frame 90 corresponds to a coordinate system in which the positive club x-axis is identified as ‘CX’, the positive club y-axis is identified as ‘CY’ and the positive club z-axis is identified as ‘CZ’. Frame 92 corresponds to a coordinate system in which the positive world x-axis is identified as ‘GX’, the positive world y-axis is identified as ‘GY’ and the positive world z-axis is identified as ‘GZ’.

During processing of data collected by ICG 10 both frames 90 and 92 are applicable. Frame 90 corresponds to a frame of reference for measurements taken by accel/gyro board 76 and Z-gyro board 78. Frame 92 corresponds to a frame of reference of a user of IGC 10 and a display for providing feedback to the user. Those with skill in the mathematical arts can easily convert measurements back and forth between frames 90 and 92.

IMU 30 may be termed a six degrees of freedom inertial measurement unit since it measures linear acceleration along axes CX, CY, and CZ (the first 3 degrees of freedom) and it measures angular rate (rotation speed) around axes CX, CY, and CZ (an additional 3 degrees of freedom). Using algorithms known to those well versed in the art of IMUs 30, the calibrated data from these six degrees of freedom yield the orientation and position of IMU 30 as a function of time relative to its initial position. Employing additional algorithms common to this field, the orientation and position of all elements of IGC 10 can be calculated given the orientation and position of the IMU 30. Finally with some basic knowledge of a golfer's physical dimensions and common stance, IGC 10 determines whether or not a swing has remained within the region defined by the upper and lower swing planes.

A calibrated x-axis gyroscope data element corresponds to a measurement of angular rotation around the CX axis of IGC 10 taken by the gyroscope located on accel/gyro board 76. A calibrated y-axis gyroscope data element corresponds to a measurement of angular rotation around the CY axis of IGC 10 taken by the gyroscope located on main board 34. A calibrated z-axis gyroscope data element corresponds to a measurement of angular rotation around the CZ axis of IGC 10 taken by the gyroscope located on Z-gyro board 78.

A calibrated x-axis accelerometer data element corresponds to a measurement of movement in the CX axis of IGC 10 taken from an accelerometer on accel/gyro board 76. A calibrated y-axis accelerometer data element corresponds to a measurement of movement in the CY axis of IGC 10 taken from the same accelerometer on accel/gyro board 76 that measures the CX. A calibrated z-axis accelerometer data element corresponds to a measurement of movement in the CZ axis of IGC 10 taken from the second accelerometer on accel/gyro board 76.

In addition to providing calibrated data from accel/gyro board 76, the present embodiment makes two significant corrections in the swing analysis data, an orientation correction and an acceleration correction. The first correction relates to rotation of the club having an incorrect rotation at impact. Also, upon making the orientation correction it is possible to make the acceleration correction. Note, however, that the acceleration correction does not affect the orientation correction. The acceleration and orientation corrections applicable to the here-disclosed subject matter appear in U.S. Provisional Patent Application Ser. No. 60/640,652, filed Dec. 31, 2004 and associated U.S. patent application Ser. No. 10/810,168, both entitled “Method & System for Correcting Golf Swing Measurement Errors,” and commonly assigned to the assignee of the present patent application.

The acceleration correction uses basic physics principles wherein vector mathematics provides an understanding of the acceleration and velocity components of the golf club swing analysis model. In such a model, it is possible to apply a constant correction to understand how the system operates. If the IMU 30 is considered to be a point, then it possible to apply a constant acceleration from address to impact to understand the position of the club. In order for this to occur, it is necessary to take the orientation of the IMU 30 at every point throughout the swing and calculate in the frame of reference of the orientation, which changes as the swing progresses. Because the orientation changes throughout the swing, it is necessary to make the orientation corrections prior to performing the acceleration correction.

Orientation correction is the process by which the present embodiment compensates for noise in the gyroscopes by moving the impact orientation close to the address orientation. The goal of the correction is to remove the inaccuracy of the gyroscope data with as little distortion of the swing as possible. Distortion of the swing happens in part because of bad orientation: there is the need to subtract gravity readings from each interval, and if the orientation is drastically off, the present embodiment must “push” the swing in some direction by removing the wrong gravity reading.

In addition to the acceleration and orientation corrections of the disclosed subject matter, the present embodiment provides for highly accurate determination of accelerometer measurements and gyroscopic measurements using a calibration process. The calibration process takes into consideration the property that IMU 30 operates as though all accelerometer and gyroscopic measurements occur with reference to a single geometric point. Because this cannot occur in practice, measurement calibrations must take place. The calibration process of the disclosed subject matter, therefore, accounts for both position and orientation measurements that actually occur and that differ from measurements that may occur were it possible for them to occur in ideal circumstances.

In addition to measurement differences from the ideal that may occur as a result of position and orientations deviations from the ideal, there may also be aberrations in measurements due integrated circuit variances, electrical anomalies, or other variations from the ideal single point of measurement. As a result of these variances, the overall circuit for the IGC 10 may suffer in responsiveness or sensitivity.

These factors generate a complex response from the IMU 30 data generation process. For example, the x-accelerometer may produce a complex response to x-axis acceleration which may include at least a partial response to y-axis and z-axis acceleration. These effects must be distinguished and isolated, or at least taken into consideration.

In addition, IMU 30 is located at the center of the swinging motion and responds to the differential radius that occurs during the swing rotation. As a result, arbitrary axial rotation in space produces different effects on the centripetal and tangential acceleration on the differently located accelerometers. That is, due to the dynamics and geometries of accel/gyro board 76, analytical determination of calibration requirements may be at least highly complex and, quite likely, impossible to achieve to an acceptable accuracy.

The disclosed subject matter, therefore, instead of analytically considering all of the various independent effects that may contribute to inaccurate or non-ideal reading from accel/gyro board 76, determines such effects empirically. The disclosed subject matter avoids the need to determine the exact orientation vector of the sensor chip and the exact radius of curvature and, instead, provides an empirical determination of the difference between the observed measurement and the ideal measurement.

The equations below represent a method for determining a set of coefficients to be applied to readings of the sensors in IMU 30 to account for geometric and device variation. Rather than calculating or measuring the exact geometric offsets from the center of the IMU as well as the electrical characteristics of each device, the disclosed subject matter starts from a simple group of equations setting the device reading equal to a function of the true inertial values acting on IMU 30. By applying known positions (for linear acceleration) and rotations (for angular rate) to IMU 30, the disclosed subject matter can determine the coefficients in the equation. By solving for the true inertial values, the process obtains a set of “compound coefficients” that are determined empirically. These compound coefficients enable calibrating IMU 30 under normal operating conditions.

The physics of the IMU 30 assumes a theoretical point from which all of the sensed measurements emanate. In addition, the IMU 30 assumes that all of the sensor readings occur simultaneously. Neither of these assumptions are true in the observed measurements. The disclosed subject matter, therefore, compensates for these differences. These missing elements are addressed through estimations that identifying and estimating the largest components of the missing elements. For example, the radius may be evaluated as the most significant contributor to the sensor reading changes from these missing elements.

The measurements occur by orienting the device along the different axes and taking measurements. By applying known positions for linear acceleration and rotations for angular motion, for angular rate to the IMU 30, we can determine the angular rate to the coefficients for use in the equations. It is simply a matter of performing each of these calculations for each device.

The disclosed subject matter establishes a system of equations for gyroscope and accelerometer measurement calibrations. To understand the present system for gyroscope calibration, consider ωa as the reading of the gyroscope on x-axis a with ωa′. as the real angular rate about axis a. The parameter GSab represents the sensitivity of the axis a gyroscope to real rotation about axis b. Calfinal(Rsa,GB) is the calibration coefficient to be multiplied by the reading of the gyroscope on axis a to obtain the component of real rotation about axis B determined by that reading.

Given the following equations: ω x = GS xx · ω x + GS xy · ω y + GS xz · ω z ; ω y = GS yy · ω y + GS yz · ω z + GS yx · ω x ; and ω z = GS zz · ω z + GS zx · ω x + GS zy · ω y ;
the present embodiment enables determining the simple coefficients by performing a series of measurements of rotation about one axis. Then, the process involves solving for the actual inertial values, by collecting the terms representing the device readings to obtain the following system of equations which may be used to calibrate the IMU at run-time: Find ( ω x , ω y , ω z ) -> ( ω z · GS xy · GS yz - ω z · GS xz · GS yy - GS zz · GS xy · ω y + GS zz · ω x · GS yy - GS zy · GS yz · ω x + GS zy · ω y · GS xz - GS zy · GS xx · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy GS zx · GS yz · ω x - GS zx · ω y · GS xz + ω y · GS xx · GS zz - GS yx · GS zz · ω x - GS yz · GS xx · ω z + GS yx · ω z · GS xz - GS zy · GS xx · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy - GS zy · GS xx · ω y + GS xy · GS zx · ω y - GS xy · GS yx · ω z - ω x · GS zx · GS yy + ω x · GS yx · GS zy + GS xx · ω z · GS yy - GS zy · GS xx · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy )

The expressions for ωx, ωy, ωz, therefore, are the following: ω x = ( GS zz · GS yy - GS yz · GS zy ) - GS ? · GS ? · GS ? + GS ? · GS ? · GS ? - GS ? · GS ? · GS ? + GS ? · GS ? · GS ? - GS ? · GS ? · GS ? + GS ? · GS ? · GS ? · ω x + - GS zz · GS xy + GS xz · GS zy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy · ω y + GS xy · GS yz - GS xz · GS yy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy · ω z ? indicates text missing or illegible when filed ω y = GS zx · GS yz - GS yx · GS zz - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy · ω x + GS xx · GS zz - GS xz · GS zx - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy · ω y + GS xz · GS yx - GS xx · GS yz - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy and ω z = - GS zx · GS yy + GS yx · GS zy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy · ω x + - GS xx · GS zy + GS xy · GS zx - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy · ω y + - GS xy · GS yx + GS xx · GS yy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy · ω z

The following equations can be used during normal system operation to calibrate IMU 30. ω x = Cal final RS x , GX · ω x + Cal final RS y , GX · ω y + Cal final RS z , GX · ω z ω y = Cal final RS x , GY · ω x + Cal final RS y , GY · ω y + Cal final RS z , GY · ω z ω z = Cal final RS x , GZ · ω x + Cal final RS y , GZ · ω y + Cal final RS z , GZ · ω z

The following equations are the expanded compound coefficients which are calculated for each IMU 30 sensor axis: Cal final RS x , GX = GS zz · GS yy - GS yz · GS zy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS y , GX = - GS zz · GS xy + GS xz · GS zy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS x , GY = GS zx · GS yz - GS yx · GS zz - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS z , GX = GS xy · GS yz - GS xz · GS yy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS y , GY = GS xx · GS zz - GS xz · GS zx - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS z , GY = GS xz · GS yx - GS xx · GS yz - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS x , GZ = - GS zx · GS yy + GS yx · GS zy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS y , GZ = - GS xx · GS zy + GS xy · GS zx - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy Cal final RS z , GZ = - GS xy · GS yx + GS xx · GS yy - GS xx · GS zy · GS yz + GS xy · GS zx · GS yz - GS xy · GS yx · GS zz + GS xx · GS zz · GS yy - GS xz · GS zx · GS yy + GS xz · GS yx · GS zy
The disclosed subject matter also provides for the calibration of accelerometers on accel/gyro board 76. The accelerometers take into consideration the effects of rotation. The accelerometers are affected by the linear acceleration associated with rotation, as well as the distance of the accelerometer from the center point. By applying a similar approach of determine the equations and, then, obtaining the coefficient values empirically, the present embodiment provides the ability to generate correct calibration data without the need for complex parametric analysis. The associated parameters are Aa, which represents the reading of the accelerometer on axis a, Aa′ which represents the real linear acceleration on axis a, ASab which represents the sensitivity of the axis a accelerometer to real linear acceleration on axis b, and ARSab which represents the sensitivity of the axis a accelerometer to real rotation about axis b. Calfinal[Asa,AB] represents the coefficient to be multiplied by the reading of the accelerometer on axis a to obtain the component of real linear acceleration on axis B determined by that reading. Calfinal[RSa,AB] represents the coefficient to be multiplied by the square of the real rotation about axis a to obtain the component of real linear acceleration on axis B determined by that reading.

The following equations can be used to determine the simple coefficients by performing a series of measurements of gravity on each axis, in each direction (positive and negative). A x = AS xx · A x + AS xy · A y + AS xz · A z + ARS xx · ω x 2 + ARS xy · ω y 2 + ARS xz · ω z 2 A y = AS yy · A y + AS yz · A z + AS yx · A x + ARS yx · ω x 2 + ARS yy · ω y 2 + ARS yz · ω z 2 A z = AS zz · A z + AS zx · A x + AS zy · A y + ARS zx · ω x 2 + ARS zy · ω y 2 + ARS zz · ω z 2

After solving for the actual inertial values, the process includes collecting the terms representing the device readings to obtain a system of equations which can be used to calibrate IMU 30 at run-time for Ax′, Ay′, and Az′, as follows: { A ? · AS ? · AS ? - A ? · AS ? · AS ? + AS ? · A ? · AS ? - AS ? · AS ? · A ? + AS ? · AS ? · ARS · ? + AS ? · AS ? · ARS · ω ? + AS ? · AS ? · ARS ? · ω ? - AS ? · ARS · ω ? AS ? - AS ? · ARS ? · ω ? · AS ? - AS ? · ARS ? · ω ? · AS ? + AS ? · A ? · AS ? + AS ? · AS ? · ARS ? · ω ? - AS ? · AS ? · A ? + AS ? · AS ? · ARS ? · ω ? + AS ? · AS ? · ARS ? · ω ? - AS ? · ARS ? · ω ? · AS ? - AS ? · ARS ? · ω ? · AS ? - AS ? · ARS ? · ω ? · AS ? + ARS ? · ω ? · AS ? · AS ? - ARS ? · ω ? · AS ? · AS ? - ARS ? · ω ? · AS ? · AS ? + ARS ? · ω ? · AS ? · AS ? - ARS ? · ω ? · AS ? · AS ? + ARS ? · ω ? · AS ? · AS ? AS ? · AS ? · A ? - AS ? · AS ? · ARS ? · ω ? + ARS ? · ω ? · AS ? · AS ? - AS ? · AS ? · ARS ? · ω ? - AS ? · AS ? · ARS ? · ω ? + ARS ? · ω ? · AS ? · AS ? - A ? · AS ? · AS ? + ARS ? · ω ? · AS ? · AS ? - AS ? · AS ? · A ? + AS ? · A ? · AS ? - AS ? · ARS ? · ω ? · AS ? + AS ? · AS ? · A ? - AS ? · ARS ? · ω ? · AS ? - AS ? · ARS ? · ω ? · AS ? + AS ? · AS ? · ARS ? · ω ? + AS ? · AS ? · ARS ? · ω ? + AS ? · AS ? · ARS ? · ω ? - AS ? · AS ? · ARS ? · ω ? + ARS ? · ω ? · AS ? · AS ? + ARS ? · ω ? · AS ? · AS ? - AS ? · AS ? · ARS ? · ω ? + ARS ? · ω ? · AS ? · AS ? - AS ? · AS ? · ARS ? · ω ? - A ? · AS ? · AS ? | AS ? · AS ? · ARS ? · ω ? + AS ? · A ? · AS ? + AS ? · AS ? · ARS ? · ω ? - ARS ? · ω ? · AS ? · AS ? + AS ? · AS ? · ARS ? · ω ? - A ? · AS ? · AS ? - ARS ? · ω ? · AS ? · AS ? - AS ? · ARS ? · ω ? · AS ? - AS ? · AS ? · ARS ? · ω ? + ARS ? · ω ? · AS ? · AS ? - AS ? · ARS ? · ω ? · AS ? - S ? · AS ? · ARS ? · ω ? - AS ? · AS ? · ARS ? · ω ? + AS ? · AS ? · A ? - AS ? · ARS ? · ω ? · AS ? + A ? · AS ? · AS ? + AS ? · AS ? · ARS ? · ω ? + AS ? · AS ? · ARS ? · ω ? - AS ? · AS ? · A ? + AS ? · AS ? · ARS ? · ω ? + ARS ? · ω ? · AS ? · AS ? - ARS ? · ω ? · AS ? · AS ? + ARS ? · ω ? · AS ? · AS ? - AS ? · AS ? } - AS ? · AS ? · AS ? - AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? - AS ? · AS ? · AS ? ? indicates text missing or illegible when filed A x = - AS xy · AS yz + AS zz · AS yy - AS xx · AS xy · AS yz - AS xy · AS yz · AS zz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · A x + AS xy · AS xz - AS xx · AS xy - AS xx · AS xy · AS xz - AS xy · AS yx · AS zz + AS xy · AS xx · AS yx + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · A y + AS xy · AS yz - AS xz · AS yy - AS xx · AS zy · AS yz - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · A z + - AS zy · ARS yx · AS xz + AS zz · AS xy · ARS yx + ARS zx · AS xz · AS yy - ARS zx · AS xy · AS yz - AS zz · ARS xx · AS yy + AS zy · AS yz · ARS xx - AS xx · AS zy · AS yz - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · ω x 2 + ARS zy · AS xz · AS yy + AS zz · AS xy · ARS yy - AS zy · ARS yy · AS xz + AS zy · AS yz · ARS xy - AS zz · ARS xy · AS yy - ARS zy · AS xy · ARS yz - AS xx · AS zy · AS yz - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · ω y 2 + AS zx · AS xy · ARS yz + AS zy · AS yz · ARS xx - AS zy · ARS yz · AS xz - AS zz · ARS xz · AS yy + ARS zz · AS xz · AS yy - ARS zz · AS xy · AS yz - AS xx · AS xy · AS yz - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · ω z 2 A y = AS zx · AS yz - AS zz · AS yx - AS ? · AS ? · AS ? - AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? - AS ? · AS ? ? · AS ? · A x + AS zx · AS xx - AS zx · AS xz - AS xx · AS zy · AS yz - AS xy · AS yx · AS xz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · A y + AS yx · AS xz - AS yz · AS xx - AS ? · AS ? · AS ? - AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? - AS ? · AS ? ? · AS ? · A z + - AS zz · AS xx · ARS yx + ARS yx · AS zx · AS xz - AS yz · AS zx · ARS xx + AS yx · AS zx · ARS xx - AS yx · ARS zx · AS xz + ARS zx · AS xx · AS yz - AS ? · AS ? · AS ? - AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? - AS ? · AS ? ? · AS ? · ω x 2 + ARS zy · AS xx · AS yz - AS yz · AS zx · ARS xy - AS yx · ARS zy · AS xz - AS zz · AS xx · ARS yy + AS yx · AS zz · ARS xy + ARS yy · AS zx · AS xx - AS ? · AS ? · AS ? - AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? - AS ? · AS ? ? · AS ? · ω y 2 + - AS yz · AS zx · ARS xz + AS yx · AS zz · ARS xz + ARS yz · AS zx · AS xz + ARS zz · AS xx · AS yz - AS zz · AS xx · ARS yz - AS yx · ARS zz · AS xz - AS ? · AS ? · AS ? - AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? - AS ? · AS ? ? · AS ? · ω z 2 ? indicates text missing or illegible when filed A z = - AS xx · AS yy + AS zy · AS yx - AS xx · AS zy · AS yz - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · A x + - AS xx · AS zy + AS xy · AS zx - AS xx · AS xy · AS yz - AS xy · AS yx · AS zx + AS xy · AS zx · AS yz + AS xx · AS zx · AS yy + AS xz · AS yz · AS zy - AS xz · AS zx · AS yy · A y + AS xx · AS yy - AS xy · AS yx - AS ? · AS ? · AS ? - AS ? · AS ? · AS ? + AS ? · AS ? · AS ? + AS ? · AS ? · AS ? · + AS ? · AS ? · AS ? - AS ? · AS ? · AS ? · A x + - AS xx · ARS zx · AS yy + AS xy · AS yx · ARS zx + AS xx · AS zy · ARS yx - AS xy · AS xx · ARS yx - ARS xx · AS yx · AS zy + ARS xx · AS zx · AS yy - AS xx · AS zy · AS yz - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz + AS xx · AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS xx · AS yy · ω x 2 + AS xy · AS yx · ARS zy - AS xx · ARS zy · AS yy - AS xy · AS zx · ARS yy + ARS xy · AS zx · AS yy + AS xx · AS xy · ARS yy - ARS xy · AS yx · AS xy - AS xx · AS zy · AS yz - AS xy · AS yx · AS zx + AS xy · AS zx · AS yx + AS xx · AS xx · AS yy + AS xz · AS yx · AS zy - AS xz · AS xx · AS yy · ω y 2 + - AS xy · AS xx · ARS yz + ARS xz · AS zx · AS yy - ARS xz · AS yx · AS zy + AS xy · AS yx · ARS zx - AS xx · ARS zz · AS yy + AS xx · AS zy · ARS yx - AS xx · AS zy · AS yz - AS xy · AS yx · AS zx + AS xy · AS zx · AS yz + AS xx + AS zz · AS yy + AS xz · AS yx · AS zy - AS xz · AS zx · AS yy · ω z 2 ? indicates text missing or illegible when filed

These equations can be used during normal system operation to calibrate the IMU 30. The equations below are the expanded compound coefficients which must be calculated for each IMU 30. A x = Cal final AS x , AX · A x + Cal final AS y , AX · A y + Cal final AS z , AX · A z + Cal final RS x , AX · ω x 2 + Cal final RS y , AX · ω y 2 + Cal final RS z , AX · ω z 2 A y = Cal final AS x , AY · A x + Cal final AS y , AY · A y + Cal final AS z , AY · A z + Cal final RS x , AY · ω x 2 + Cal final RS y , AY · ω y 2 + Cal final RS z , AY · ω z 2 A z = Cal final AS x , AZ · A x + Cal final AS y , AZ · A y + Cal final AS z , AZ · A z + Cal final RS x , AZ · ω x 2 + Cal final RS y , AZ · ω y 2 + Cal final RS z , AZ · ω z 2 Cal final AS x , AX = - AS zy · AS yz + AS zz · AS yy AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS y , AX = AS zy · AS xz - AS zz · AS xy AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS z , AX = AS xy · AS yz - AS xz · AS yy AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS x , AY = AS zx · AS yz - AS zz · AS yx AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS y , AY = AS zz · AS xx - AS zx · AS xz AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS z , AY = AS yx · AS xz - AS yz · AS xx AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS x , AZ = - AS zx · AS yy + AS zy · AS yx AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS y , AZ = - AS zx · AS zy + AS xy · AS zx AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final AS z , AZ = AS xx · AS yy + AS xy · AS yx AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS x , AX = ARS zx · AS xz · AS yy + AS zz · AS xy · ARS yx - AS zz · ARS xx · AS yy - AS zy · ARS yx · AS xz - ARS zx · AS xy · AS yz + AS zy · AS yz · ARS xx AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS y , AX = - ARS zy · AS xy · AS yz - AS zz · ARS xy · AS yy + AS zz · AS xy · ARS yy + ARS zy · AS zz · AS yy + AS zy · AS yz · ARS xy - AS zy · ARS yy · AS xz AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS x , AY = - AS zz · AS xx · ARS yx + ARS yx · AS zx · AS xz - AS yz · AS zx · ARS xx + AS yx · AS zz · ARS xx - AS yx · ARS zx · AS xz + ARS zx · AS xx · AS yz AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS x , AY = - AS zz · AS xx · ARS yx + ARS yx · AS zx · AS xz - AS yz · AS zx · ARS xx + AS yx · AS zz · ARS xx - AS yx · ARS zx · AS xz + ARS zx · AS xx · AS yz AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS y , AY = - ARS zy · AS xx · AS yz - AS yz · AS zx · ARS xy - AS yx · ARS zy · AS xx - AS zz · AS xx · ARS yy + AS yx · AS zz · ARS xy + ARS yy · AS zx · AS xx AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS z , AY = - AS yz · AS zx · ARS xz + AS yx · AS zz · ARS xz + ARS yz · AS zx · AS xz + ARS zz · AS xx · AS yz - AS zz · AS xx · ARS yz - AS yx · ARS zz · AS xz AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS x , AZ = - AS xx · ARS zx · AS yy + AS xy · AS yx · ARS zx + AS xx · AS zy · ARS yx - AS xy · AS zx · ARS yx - ARS xx · AS yx · AS zy + ARS xx · AS zx · AS yy AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS y , AZ = AS xy · AS yx · ARS zy - AS xx · ArS zy · AS yy - AS xy · AS zx · ARS yy + ARS xy · AS zx · AS yy + AS xx · AS zy · ARS yy - ARS xy · AS yx · AS zy AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz Cal final RS z , AZ = - AS xy · AS zx · ARS yz + ARS xz · AS zx · AS yy - ARS xz · AS yx · AS zy + AS xy · AS yx · ARS zz - AS xx · ARS zz · AS yy + AS xx · AS zy · ARS yz AS xz · AS yx · AS zy - AS xz · AS zx · AS yy + AS xx · AS zz · AS yy - AS xy · AS yx · AS zz + AS xy · AS zx · AS yz - AS xx · AS zy · AS yz

The disclosed subject matter includes calibrating the IMU 30 using a device that allows for keeping the IMU 30 orientation flat and applying a constant weight about the IMU 30 center point. This approach enables use of the known y-axis rotation and z-axis rotation to be zero, together with the x-axis rotation set at a known value (e.g., 120 degrees per second). With the known x-axis, y-axis, and z-axis values, the observed reading may be compared to the supplied x-axis rotation value. The difference between the observed x-axis rotation and the actual x-axis rotation serves as a major constituent of the calibration coefficient for the present embodiment.

These expressions also includes a zero value which serves as an electrical origin. In the present embodiment, readings are generated as A/D ticks or data elements. The devices have a range of, for example, 1200 degrees/second. So, the zero is at some point in the range of A/D data elements. The electronic circuit must know the particular zero point. However, this data element is calculated and may be determined as part of the calibration calculation.

Once the non-zero value that takes into consideration the zero point is multiplied by the coefficient which is determined at manufacturing time. The result becomes the angular rate of change, which may be constant over a range of the entire rigid body. Although the center point does not come into the equation, the calculation takes into consideration the orientation of the device. In the event that the sensor is somewhat off axis, then a reading will vary from what the actual reading should be.

The disclosed subject matter avoids the need to analytically determine the coefficient by determining empirically the coefficient value. By measuring the coefficient empirically and using the measured coefficient value, the present embodiment avoids the need for analytically deriving the individual coefficient constituent values. These include both orientation as well as electrical variations in the sensing integrated circuit for the associated gyroscope.

The use of the terms “a” and “an” and “the” and similar referents in the context of describing embodiments of the disclosed subject matter (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein.

All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate embodiments of the disclosed subject matter and does not pose a limitation on the scope of the disclosed subject matter unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the disclosed subject matter.

Preferred embodiments of this disclosed subject matter are described herein, including the best mode known to the inventors for carrying out the disclosed subject matter. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the disclosed subject matter to be practiced otherwise than as specifically described herein. Accordingly, this disclosed subject matter includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosed subject matter unless otherwise indicated herein or otherwise clearly contradicted by context.

Claims

1. A method for generating calibrated output of a motion sensing circuit comprising an inertial measurement unit, said motion sensing circuit associated with a club-like sports implement, the method comprising the steps of:

generating empirically a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said club-like sports implement;
applying said plurality of calibration coefficients to a sensing program operating in association with said inertial measurement unit;
generating sensed motion data using said inertial measurement unit, said sensed motion data comprising data relative to said predetermined set of axes and in response to motion of said club-like sports implement; and
calibrating said sensed motion data using said plurality of calibration coefficients.

2. The method of claim 1, further comprising the step of generating at least one gyroscope calibration coefficient corresponding to movement of said club-like sports implement.

3. The method of claim 1, further comprising the step of generating at least one accelerometer calibration coefficient corresponding to movement of said club-like sports implement.

4. The method of claim 1, further comprising the step of generating a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said club-like sports implement, said club-like sports implement comprising an instrumented golf club.

5. The method of claim 1, further comprising the step of generating said calibration coefficients in a first axis of said set of axes, with movement only in a direction of said first axis and no movement in the remaining of said set of axes.

6. The method of claim 1, further comprising the step of associating said calibrated sensed data with data corrected for orientation anomalies.

7. The method of claim 1, further comprising the step of associating said calibrated sensed data with data corrected for acceleration anomalies.

8. An integrated circuit forming a portion of a instrumented golf club for operating a cache memory in association with an addressable memory of a microprocessor, the integrated circuit comprising:

calibration coefficient generating circuitry for generating empirically a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said club-like sports implement;
sensing program circuitry for applying said plurality of calibration coefficients to a sensing program operating in association with said inertial measurement unit;
sensed data generating circuitry for generating sensed motion data using said inertial measurement unit said sensed motion data comprising data relative to said predetermined set of axes and in response to motion of said club-like sports implement; and
sensed data calibrating circuitry for calibrating said sensed motion data using said plurality of calibration coefficients.

9. The system of claim 8, wherein said calibration coefficient generating circuitry further comprises circuitry for generating at least one gyroscope calibration coefficient corresponding to movement of said club-like sports implement.

10. The system of claim 8, wherein said calibration coefficient generating circuitry further comprises circuitry for generating at least one accelerometer calibration coefficient corresponding to movement of said club-like sports implement.

11. The system of claim 8, wherein said calibration coefficient generating circuitry further comprises circuitry for generating a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said club-like sports implement, said club-like sports implement comprising an instrumented golf club.

12. The system of claim 8, wherein said calibration coefficient generating circuitry further comprises circuitry for generating said calibration coefficients in a first axis of said set of axes, with movement only in a direction of said first axis and no movement in the remaining of said set of axes.

13. The system of claim 8, further comprising circuitry for associating said calibrated sensed data with data corrected for orientation anomalies.

14. An instrumented golf club for generating calibrated output of a motion sensing circuit comprising an inertial measurement unit, said motion sensing circuit associated with a club-like sports implement, the instrumented golf club comprising:

means for generating a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said instrumented golf club;
means for applying said plurality of calibration coefficients to a sensing program operating in association with said inertial measurement unit;
means for generating sensed motion data using said inertial measurement unit said sensed motion data comprising data relative to said predetermined set of axes and in response to motion of said instrumented golf club; and
means for calibrating said sensed motion data using said plurality of calibration coefficients.

15. The instrumented golf club of claim 14, further comprising means for generating at least one gyroscope calibration coefficient corresponding to movement of said club-like sports implement.

16. The instrumented golf club of claim 14, further comprising means for generating at least one accelerometer calibration coefficient corresponding to movement of said club-like sports implement.

17. The instrumented golf club of claim 14, further comprising means for generating a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said club-like sports implement, said club-like sports implement comprising an instrumented golf club.

18. The instrumented golf club of claim 14, further comprising means for generating said calibration coefficients in a first axis of said set of axes, with movement only in a direction of said first axis and no movement in the remaining of said set of axes.

19. The instrumented golf club of claim 14, further comprising means for associating said calibrated sensed data with data corrected for orientation anomalies.

20. The instrumented golf club of claim 14, further comprising means for associating said calibrated sensed data with data corrected for acceleration anomalies.

21. A computer usable medium having computer readable program code means embodied therein for operation in association with a instrumented golf club for generating calibrated output of a motion sensing circuit comprising an inertial measurement unit, said motion sensing circuit associated with a club-like sports implement, the computer usable medium comprising:

computer readable program code means for generating a plurality of calibration coefficients along a predetermined set of axes, said axes corresponding to the axes of movement for said instrumented golf club;
computer readable program code means for applying said plurality of calibration coefficients to a sensing program operating in association with said inertial measurement unit;
computer readable program code means for generating sensed motion data using said inertial measurement unit said sensed motion data comprising data relative to said predetermined set of axes and in response to motion of said instrumented golf club; and
computer readable program code means for calibrating said sensed motion data using said plurality of calibration coefficients.

22. The computer usable medium of claim 21, further comprising computer readable program code means for generating said calibration coefficients in a first axis of said set of axes, with movement only in a direction of said first axis and no movement in the remaining of said set of axes.

Patent History
Publication number: 20050227775
Type: Application
Filed: May 24, 2005
Publication Date: Oct 13, 2005
Applicant:
Inventors: Eric Cassady (Austin, TX), Richard Eyestone (Black Mountain, NC), Nathan Hood (Austin, TX), Alessandro Gabbi (Austin, TX), John Farrington (Georgetown, TX), John Lupher (Austin, TX)
Application Number: 11/135,893
Classifications
Current U.S. Class: 473/225.000; 463/36.000