U.S. patent application number 11/135893 was filed with the patent office on 2005-10-13 for method and system for calibrating sports implement inertial motion sensing signals.
This patent application is currently assigned to SmartSwing, Inc.. Invention is credited to Cassady, Eric A., Eyestone, Richard D., Farrington, John A. JR., Gabbi, Alessandro U., Hood, Nathan J., Lupher, John H..
Application Number | 20050227775 11/135893 |
Document ID | / |
Family ID | 46304618 |
Filed Date | 2005-10-13 |
United States Patent
Application |
20050227775 |
Kind Code |
A1 |
Cassady, Eric A. ; et
al. |
October 13, 2005 |
Method and system for calibrating sports implement inertial motion
sensing signals
Abstract
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.
Inventors: |
Cassady, Eric A.; (Austin,
TX) ; Eyestone, Richard D.; (Black Mountain, NC)
; Hood, Nathan J.; (Austin, TX) ; Gabbi,
Alessandro U.; (Austin, TX) ; Farrington, John A.
JR.; (Georgetown, TX) ; Lupher, John H.;
(Austin, TX) |
Correspondence
Address: |
SCOTT MANATT, ESQ.
P.O. BOX 1348
CABOT
AK
72023
|
Assignee: |
SmartSwing, Inc.
|
Family ID: |
46304618 |
Appl. No.: |
11/135893 |
Filed: |
May 24, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11135893 |
May 24, 2005 |
|
|
|
10810168 |
Mar 26, 2004 |
|
|
|
60591636 |
Jul 28, 2004 |
|
|
|
60640632 |
Dec 31, 2004 |
|
|
|
60640634 |
Dec 29, 2004 |
|
|
|
Current U.S.
Class: |
473/225 ;
463/36 |
Current CPC
Class: |
A63B 2225/20 20130101;
A63B 69/3632 20130101; A63B 2102/32 20151001; A63B 2102/20
20151001; A63F 2300/105 20130101; A63B 2102/182 20151001; A63B
69/0015 20130101; A63B 2220/40 20130101; A63B 2071/0625 20130101;
A63B 2102/02 20151001; A63B 60/46 20151001; A63B 2071/0627
20130101; A63B 2102/18 20151001; A63B 69/38 20130101; A63B 59/50
20151001; A63B 69/3614 20130101; A63B 2225/50 20130101; G01C 21/16
20130101; A63B 69/0002 20130101; A63B 2024/0012 20130101; A63B
60/16 20151001; A63B 15/00 20130101; G01P 15/00 20130101 |
Class at
Publication: |
473/225 ;
463/036 |
International
Class: |
A63B 069/36 |
Claims
I claim:
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.
Description
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
[0001] 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
[0002] 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
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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
[0007] 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.
[0008] 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
[0009] 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.
[0010] FIG. 1 shows an instrumented golf club (IGC), which is a
component of the claimed subject matter
[0011] FIG. 2 shows an outer view and an expanded inner view of a
club grip incorporated into the IGC;
[0012] FIG. 3 shows three views of an inertial measurement unit
(IMU) incorporating the claimed subject matter;
[0013] 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
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] IMU 30 employs three solid-state gyroscopes, such as Analog
Devices' ADXRS160, to measure angular rates around axes C.sub.X,
C.sub.Y, and C.sub.Z. A gyroscope located on accel/gyro board 76
measures the angular rate of rotation around C.sub.X, a gyroscope
located on main board 34 measures the angular rate of rotation
around C.sub.Y, and a gyroscope located on the Z-gyro board 78
measures the angular rate of rotation around C.sub.Z.
[0030] 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.
[0031] 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 C.sub.X, C.sub.Y, and
C.sub.Z. An accelerometer on main board 34 measures linear
acceleration along C.sub.X and C.sub.Z axes. An accelerometer on
accel/gyro board 76 measures linear acceleration along C.sub.Y axis
and duplicated data along the C.sub.Z axis. Although one embodiment
uses only one channel of the C.sub.Z data, another embodiment may
compare both channels of C.sub.Z 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.
[0032] 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.
[0033] 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 `C.sub.X`, the positive club y-axis is
identified as `C.sub.Y` and the positive club z-axis is identified
as `C.sub.Z`. Frame 92 corresponds to a coordinate system in which
the positive world x-axis is identified as `G.sub.X`, the positive
world y-axis is identified as `G.sub.Y` and the positive world
z-axis is identified as `G.sub.Z`.
[0034] 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.
[0035] IMU 30 may be termed a six degrees of freedom inertial
measurement unit since it measures linear acceleration along axes
C.sub.X, C.sub.Y, and C.sub.Z (the first 3 degrees of freedom) and
it measures angular rate (rotation speed) around axes C.sub.X,
C.sub.Y, and C.sub.Z (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.
[0036] A calibrated x-axis gyroscope data element corresponds to a
measurement of angular rotation around the C.sub.X 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 C.sub.Y 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 C.sub.Z axis of IGC 10 taken by the gyroscope located on
Z-gyro board 78.
[0037] A calibrated x-axis accelerometer data element corresponds
to a measurement of movement in the C.sub.X 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 C.sub.Y axis of IGC 10 taken from the same accelerometer on
accel/gyro board 76 that measures the C.sub.X. A calibrated z-axis
accelerometer data element corresponds to a measurement of movement
in the C.sub.Z axis of IGC 10 taken from the second accelerometer
on accel/gyro board 76.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] The disclosed subject matter establishes a system of
equations for gyroscope and accelerometer measurement calibrations.
To understand the present system for gyroscope calibration,
consider .omega..sub.a as the reading of the gyroscope on x-axis a
with .omega..sub.a'. as the real angular rate about axis a. The
parameter GS.sub.ab represents the sensitivity of the axis a
gyroscope to real rotation about axis b. Cal.sub.final(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.
[0050] Given the following equations: 1 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 ' ;
[0051] 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: 2 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 )
[0052] The expressions for .omega..sub.x, .omega..sub.y,
.omega..sub.z, therefore, are the following: 3 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 4 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 5 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
[0053] The following equations can be used during normal system
operation to calibrate IMU 30. 6 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
[0054] The following equations are the expanded compound
coefficients which are calculated for each IMU 30 sensor axis: 7
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
[0055] 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 A.sub.a, which represents the reading
of the accelerometer on axis a, A.sub.a' which represents the real
linear acceleration on axis a, AS.sub.ab which represents the
sensitivity of the axis a accelerometer to real linear acceleration
on axis b, and ARS.sub.ab which represents the sensitivity of the
axis a accelerometer to real rotation about axis b.
Cal.sub.final[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. Cal.sub.final[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.
[0056] 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). 8 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
[0057] 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 A.sub.x', A.sub.y', and A.sub.z', as follows: 9 { 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 10 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 11 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 12 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
[0058] 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. 13
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
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
* * * * *