U.S. patent application number 11/133048 was filed with the patent office on 2006-02-02 for motion tracking and analysis apparatus and method and system implementations thereof.
Invention is credited to Zachery LaValley, Satayan Mahajan, Arun Mehta.
Application Number | 20060025229 11/133048 |
Document ID | / |
Family ID | 35733057 |
Filed Date | 2006-02-02 |
United States Patent
Application |
20060025229 |
Kind Code |
A1 |
Mahajan; Satayan ; et
al. |
February 2, 2006 |
Motion tracking and analysis apparatus and method and system
implementations thereof
Abstract
An orientation and position tracking system and method in
three-dimensional space and over a period of time utilizing
multiple inertial and other sensors for determining motion
parameters to measure orientation and position of a moveable
object. The sensors, for example vibrational and angular velocity
sensors, generate signals characterizing the motion of the moveable
object. The information is received by a data acquisition system
and processed by a microcontroller. The data is then transmitted to
an external data reception system (locally based or a global
network), preferably via wireless communication. The information
can then be displayed and presented to the user through a variety
of means including audio, visual, and tactile. According to various
embodiments, the present invention provides for a motion tracking
apparatus and method for implementation in motion systems including
systems to teach motion to a group and for body motion capture and
analysis systems.
Inventors: |
Mahajan; Satayan;
(Cambridge, MA) ; Mehta; Arun; (Cambridge, MA)
; LaValley; Zachery; (Leominster, MA) |
Correspondence
Address: |
CHOATE, HALL & STEWART LLP
TWO INTERNATIONAL PLACE
BOSTON
MA
02110
US
|
Family ID: |
35733057 |
Appl. No.: |
11/133048 |
Filed: |
May 19, 2005 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10742264 |
Dec 19, 2003 |
|
|
|
11133048 |
May 19, 2005 |
|
|
|
60572398 |
May 19, 2004 |
|
|
|
60603967 |
Aug 24, 2004 |
|
|
|
Current U.S.
Class: |
473/131 ;
463/36 |
Current CPC
Class: |
A63B 24/0003 20130101;
A63B 69/0024 20130101; A63B 2225/50 20130101; A63B 69/3614
20130101; A63B 2220/51 20130101; A63B 2024/0012 20130101; A63B
2024/0028 20130101; A63B 69/362 20200801; A63B 69/0002 20130101;
A63B 24/0021 20130101 |
Class at
Publication: |
473/131 ;
463/036 |
International
Class: |
A63B 69/36 20060101
A63B069/36 |
Claims
1. A system for motion tracking and analysis of a plurality of
moveable objects, comprising: at least one sensor disposed in or on
each of said plurality of moveable objects, wherein said at least
one sensor generates orientation and position signals of each of
said plurality of moveable objects; at least one microcontroller
disposed in or on each of said plurality of moveable objects,
wherein said at least one microcontroller processes the orientation
and position signals to generate motion data; at least one
transmission unit disposed in or on each of said plurality of
moveable objects, wherein said at least one transmission unit
transmits said motion data from each of said plurality of moveable
objects; at least one receiving unit that receives said transmitted
motion data.
2. The system of claim 1, wherein said at least one transmission
unit is a wireless transmitter that wireless transmits said motion
data to said at least one receiving unit.
3. The system of claim 1, further comprising: at least one host
device that receives as an input said transmitted motion data from
said at least one receiving unit, wherein said at least one host
device further processes and displays said motion data.
4. The system of claim 1, further comprising a power source to
provide power to said at least one sensor, said at least
microcontroller, and said at least one transmitter on each of said
plurality of moveable objects.
5. The system of claim 1, wherein each of said plurality of
moveable objects is a golf club.
6. The system of claim 1, wherein each of said plurality of
moveable objects is a game controller.
7. The system of claim 1, wherein each of said plurality of
moveable objects is a controller in a virtual reality
simulation.
8. The system of claim 1, wherein each of said plurality of
moveable objects is an article of clothing.
9. The system of claim 8, wherein said article of clothing is a
vest.
10. The system of claim 1, wherein the at least one sensor is an
absolute or relative position magnetic sensor which tracks motion
in at least one degree of freedom.
11. The system of claim 1, wherein the at least one sensor is an RF
emitter or receiver that uses triangulation to track absolute or
relative motion of each of the plurality of moveable objects.
12. A method for motion tracking and analysis of a plurality of
moveable objects, comprising: generating orientation and position
signals to measure orientation and position of a plurality of
moveable objects with at least one sensor for determining motion
parameters disposed in each of said plurality of moveable objects;
processing said and orientation and position signals to generate
motion data; transmitting said motion data in real-time from each
of said plurality of moveable objects to a receiving device;
processing and displaying said motion data from said plurality of
moveable objects.
13. The method of claim 12, wherein said motion data is transmitted
wirelessly.
14. The method of claim 12, wherein each of said plurality of
moveable objects is a golf club.
15. The method of claim 12, wherein each of said plurality of
moveable objects is a game controller.
16. The method of claim 12, wherein each of said plurality of
moveable objects is a controller in a virtual reality
simulation.
17. The method of claim 12, wherein each of said plurality of
moveable objects is an article of clothing.
18. The method of claim 15, wherein said article of clothing is a
vest.
19. An apparatus for capturing and analyzing body motion of a user,
comprising: at least one sensor node that generates orientation and
position signals; a motion coupling means that couples said at
least one sensor node to body motion of the user; at least one
analysis device coupled to said at least one sensor node that
receives said orientation and position signals from said at least
sensor node and outputs motion data; at least one transmission unit
coupled to said at least one analysis device that receives said
motion data from at least one analysis device and transmits said
motion data; at least one data reception device that receives said
motion data transmitted from said at least one transmission unit;
at least one display device that receives an output of said at
least one data reception device and graphically displays the body
motion of said user.
20. The apparatus of claim 19, wherein said at least one data
reception device further processes said motion data received from
said at least one transmission unit.
21. The apparatus of claim 19, wherein said motion coupling means
is an article of clothing worn by the user and wherein said at
least one sensor node is embedded in said article of clothing.
22. The apparatus of claim 19, wherein said article of clothing is
a vest.
23. The apparatus of claim 19, wherein the at least one sensor node
is an absolute or relative position magnetic sensor which tracks
motion in at least one degree of freedom.
24. The apparatus of claim 19, wherein the at least one sensor node
is an RF emitter or receiver that uses triangulation to track
absolute or relative motion of the user.
25. The apparatus of claim 19, further comprising: at least one
additional sensor node, wherein the at least one sensor node
interacts with an output of said at least one other sensor
node.
26. The apparatus of claim 25, wherein an output of said at least
one sensor node is adjusted based on an output of said at least one
other sensor node.
27. The apparatus of claim 26, wherein said output of said at least
one sensor node is adjusted by an application of different filters
on the orientation and position data coming from the at least one
sensor node.
28. The apparatus of claim 27, wherein said output of said at least
one sensor node is adjusted by modifying the motion being tracked
by the at least one sensor node based on the motion being tracked
by the at least one other sensor node.
29. The apparatus of claim 19, further comprising: at least one
user input system, wherein the user may input information to
control the system.
30. The apparatus of claim 19, wherein said at least one
transmitter is a wireless transmitter that wirelessly transmits
said motion data to said at least on data reception device.
31. The apparatus of claim 19, wherein the at least one
transmission unit combines all the information from all sensor
nodes and transmits it centrally to another device.
32. The apparatus of claim 19, wherein the at least one
transmission unit is a set of transmission nodes connected with
each sensor node.
33. The apparatus of claim 32, wherein the transmission nodes
associated with each sensor node send independently to at least one
of another device located on the apparatus and another device not
located on the same apparatus.
34. The apparatus of claim 19, further comprising: at least one
software module that interprets signals received from said at least
one data reception unit.
35. The apparatus of claim 19, further comprising: a feedback
mechanism that provides tactile, visual, auditory, and chemical
feedback to the user in response to the motion data.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation-in-part of U.S.
patent application Ser. No. 10/742,264, filed Dec. 19, 2003,
entitled "Method and Apparatus for Determining Orientation and
Position of a Moveable Object," now pending, and the present
application also claims priority to U.S. Provisional App. No.
60/572,398, filed May 19, 2004, entitled "Teaching Motion to a
Group" and to U.S. Provisional App. No. 60/603,967, filed Aug. 24,
2004, entitled "Body Motion Capture and Analysis System," all of
which are incorporated herein by reference.
FIELD OF THE INVENTION
[0002] The present invention relates to an apparatus and method for
motion tracking and analysis and the implementation thereof into
motion systems, including body motion capture and analysis systems
and systems for teaching motion to a group.
BACKGROUND OF THE INVENTION
[0003] Technologies are known for determining and analyzing object
motion through transmission of position and orientation information
of the object to a processing system. Such technologies are
utilized today in a variety of industries including navigation and
entertainment. (See, for example, U.S. Pat. No. 6,001,014 to Ogata,
et al., U.S. Pat. No. 5,903,228 to Ohgaki, et al., and U.S. Pat.
No. 5,875,257 to Marrin, et al., which are incorporated herein by
reference). In particular, wireless transmission of object motion
data for analysis is continuing to be developed and utilized, and
applications of such technology include the expanding industry of
simulated "virtual reality" environments. (See, for example, U.S.
Pat. No. 5,819,206 to Horton, et al., which is incorporated herein
by reference).
[0004] Object motion can be measured using sensors for determining
motion parameters such as accelerometers and gyroscopes. Gyroscopes
and accelerometers are well-known in the automotive and aerospace
industries for providing motion information, establishing an
inertial space reference, and allowing measurement of pitch and
roll relative to a gravitational vector. Historically, the use of
these sensors have been limited to large devices due to the weight
and bulk of the sensors. However, technology improvements have
produced smaller gyroscopes and accelerometers that can be utilized
in a wide variety of applications where limited sensor space is
available. (See, for example, U.S. Pat. No. 5,898,421 to Quinn and
RE37,374 to Roston, et al., which are incorporated herein by
reference).
[0005] Acceleration sensors, including accelerometers and strain
gauges, have been utilized in sporting equipment, such as golf
clubs, to provide analysis of golf swings. (See, for example, U.S.
Pat. No. 5,694,340 to Kim and U.S. Pat. No. 5,233,544 to Kobayashi,
which are incorporated herein by reference). Such acceleration
sensors can provide rotational information about the golf club, but
the accuracy of such rotational information can be problematic.
[0006] U.S. Pat. No. 6,224,493 to Lee, et al., which is
incorporated herein by reference, discloses an instrumented golf
club system with sensors to measure characteristics of a golf
swing, including the use of an angular rate sensor. A distinctive
feature of this instrumented golf club is the use of a data storage
memory device located within the golf club that eliminates the need
for radio transmission hardware. The data from a golf swing is
captured internally and stored until the user is ready to download
the data for further processing. Swing analysis can only be
conducted after the internally stored swing information is
downloaded to the external processing device.
[0007] Accordingly, there is a need for a motion tracking and
analysis apparatus and method which utilizes motion sensors and
data transmission of motion information for analysis and display
and which may be utilized in a wide variety of applications and
systems.
SUMMARY OF THE INVENTION
[0008] An orientation and position tracking system and method in
three-dimensional space and over a period of time utilizing
multiple inertial and other sensors for determining motion
parameters to measure orientation and position of a moveable
object. The sensors, for example vibrational and angular velocity
sensors, generate signals characterizing the motion of the moveable
object. The information is received by a data acquisition system
and processed by a microcontroller. The data is then transmitted to
an external data reception system (locally based or a global
network), preferably via wireless communication. The information
can then be displayed and presented to the user through a variety
of means including audio, visual, and tactile. According to various
embodiments, the present invention provides for a motion tracking
apparatus and method for implementation in motion systems including
systems to teach motion to a group and for body motion capture and
analysis systems.
BRIEF DESCRIPTION OF THE DRAWING
[0009] The invention is described with reference to the several
figures of the drawing, in which:
[0010] FIG. 1 is a functional diagram of an orientation and
position tracking system according to one embodiment of the
invention;
[0011] FIG. 2 is a schematic illustration of a device utilizing the
orientation and position tracking system according to one
embodiment of the invention;
[0012] FIG. 3 is a schematic illustration of a device utilizing the
orientation and position tracking system and including a pressure
sensor according to one embodiment of the invention;
[0013] FIG. 4 is a schematic illustration showing the utilization
of multiple devices in an orientation and position tracking system
according to one embodiment of the invention;
[0014] FIG. 5 is a detailed data flow model for a device utilizing
the orientation and position tracking system according to one
embodiment of the invention;
[0015] FIG. 6 is a flow chart of the operational software for a
motion and position sensing device installed on or in a moveable
object according to one embodiment of the invention;
[0016] FIG. 7 is a flow chart of the operational software installed
on a computer system for analyzing and displaying transmitted
orientation and position information according to one embodiment of
the invention;
[0017] FIG. 8 is a schematic illustration showing a motion tracking
system using multiple transmitters according to one embodiment of
the invention;
[0018] FIG. 9 is a schematic circuit diagram of a Pitcher unit
suitable for utilization in a motion tracking system having
multiple users according to one embodiment of the invention;
[0019] FIG. 10 illustrates a transmitter (Pitcher) and receiver
(Catcher) timing diagram according to one embodiment of the
invention;
[0020] FIG. 11 is a sample of microcontroller code governing the
timing protocol set forth in FIG. 10;
[0021] FIG. 12 is a schematic circuit diagram of a Catcher with
multiple frequency capabilities according to one embodiment of the
invention;
[0022] FIG. 13 illustrates an initial setup of the system in which
all three sub-systems are physically connected together as shown
according to one embodiment of the invention;
[0023] FIG. 14 is the flow diagram for manual Pitcher scanning
according to one embodiment of the invention;
[0024] FIG. 15 is a flow diagram for automated Pitcher scanning
according to one embodiment of the invention;
[0025] FIG. 16 illustrates sample code for the Best Channel
function according to one embodiment of the invention;
[0026] FIG. 17 is a screen shot of the iClub system with the Swing
Signature developments of this thesis incorporated according to one
embodiment of the invention;
[0027] FIGS. 18A-C illustrates a body motion capture vest system
according to one embodiment of the invention;
[0028] FIG. 19 is a screen shot of video input and synchronization
for a body motion capture and analysis system according to one
embodiment of the invention;
[0029] FIG. 20 illustrates a control box with user input for the
body motion capture and analysis system according to one embodiment
of the invention.
DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION
[0030] The present invention provides for an orientation and
position tracking system in three-dimensional space installed on or
in a moveable object that utilizes inertial and other sensors for
determining real-time motion parameters and real-time wireless
transmission of that motion information to an external computer
system (including PDA, cellular phone, or over a network). In one
embodiment, the present invention provides for an intelligent golf
club, the iClub.TM. (trademarked by Fortescue Corporation), that
provides golfers with real-time, precise and dynamically presented
data, including swing analysis. A golfer takes a swing and a
detailed analysis of club motion, launch conditions, club speed
information, as well as contextual feedback is automatically
downloaded into an computer system (such as a PDA, cellular phone,
or network). Swing history is stored and tracked over time,
allowing users to monitor their progress, make swing adjustments,
maintain a practice regime, and develop desired swing
characteristics. According to various embodiments, the present
invention provides for a motion tracking apparatus and method for
implementation in motion systems including systems to teach motion
to a group and for body motion capture and analysis systems.
[0031] Referring herein to the figures of the drawing, the figures
constitute a part of this specification and illustrate exemplary
embodiments of the invention. It is to be understood that in some
instances various aspects of the invention may be shown exaggerated
or enlarged to facilitate an understanding of the invention.
Embodiment: General Motion Tracking and Analysis System
[0032] FIG. 1 is a functional diagram of an orientation and
position tracking system 10 according to one embodiment of the
invention. A sensing device fitted with inertial and other sensors
for determining motion parameters is installed on a moveable
object, such as a golf club. In one embodiment, the sensors include
multiple angular rate sensors, such as 3-axis vibration and
rotational gyroscopes 12. A variety of additional sensors 14, 16
may also be added for determining position and orientation for
additional applications. For example, a dual axis accelerometer may
be added to the system to determine position and orientation
relative to the earth's gravity, an electronic compass can be used
to provide absolute position and orientation relative to a
permanent magnetic field, and a GPS system may be added for similar
results
[0033] Signals from the sensors are sent to a data acquisition
system 18 that processes the information. In one embodiment, the
data acquisition system 18 is installed internally on the moveable
object; however, the system may also be an external component. The
data is delivered to a wireless data transmission system 20 which
transmits the data to a data reception system 22 on a computer
(PDA, cellular phone, or network). The data is further processed
and displayed to a user by means of an interface device 24, such as
a PC, a PDA, cellular phone, or network. The interface device 24
comprises software to process the data. This software can be
configured based on the characteristics of the moveable object. For
example, a user may select the style of golf club that he or she is
using that comprises information on the physical and material
properties of the golf club. This information is utilized by the
software to enhance the accuracy of the information displayed. For
example, the type of material of the golf club allows for an
accurate analysis of the flex characteristics of the golf club
shaft and the length of the golf club can be utilized for an
accurate determination of the club head speed.
[0034] FIG. 2 is a schematic illustration of one embodiment of a
device 110 utilizing the orientation and position tracking system
10 according to one embodiment of the invention. The device 110 is
attached to a desired moveable object 100. Such objects may include
sporting equipment, such as the golf club as shown in FIG. 2. In a
preferred embodiment, the device 110 is attached to or otherwise
integrated within the handle, grip, or shaft of the object 100.
[0035] FIG. 2 further illustrates the support body and schematic
layout for the components of device 110 of the orientation and
position tracking system 10 when disposed in a handle of object
100. The system can be manually activated by a power switch 32
positioned on an orthogonal board 30 at the end of the handle that
activates a power control circuit 34 to power up the system from an
attached battery pack or other power source 36. Alternatively, the
system can be activated by a motion activation component that
provides power upon movement of the object. An indicator LED 38 can
be used as a visual cue to assess whether the system is operating
properly.
[0036] In one embodiment, angular rate sensors 42, 44, 46 are
positioned on the orthogonal board 30 and main board 40 to measure
angular motion changes about three axes. In an embodiment utilizing
a golf club, these motion changes comprise rotational motion within
a swing plane of a golf stroke, motion perpendicular to the swing
plane of the golf stroke, and rotation about a axis along the
handle of the club. These motion changes can also be determined
using combinations of motion parameter determining sensors such as
gyroscopes or other additional sensors 48 such as accelerometers,
electronic compasses and GPS units.
[0037] The data acquisition system 18 positioned on main board 40
comprises a microcontroller 50 having Analog to Digital inputs and
pulse width modulating inputs. The microcontroller 50 receives data
from the sensors 42, 44, 46, and delivers data to the data
transmission system. The data transmission system 20 comprises a
transmitter circuit 52 and an antenna 54 for wireless transmission
of data to a data reception system such as a PC, PDA, cellular
phone, or network. The wireless transmission can be performed at
any suitable frequency(s) and using any protocol(s) for
transmitting the data, as known to one of ordinary skill in the
art. The system according to the present invention is described
with wireless transmission of data; alternatively, however, it is
possible to implement the system of the present invention using
wire connections in place of wireless transmission as would be
known to one of ordinary skill in the art.
[0038] In another embodiment, the microcontroller 50 of the data
acquisition system 18 may receive analog signals from the angular
rate sensors 42, 44, 46 containing the orientation and position
information of the object 100 and then digitize the analog signals
into digital data with an analog to digital converter component.
The microcontroller 50 delivers the digital data to the data
transmission system 20 for wireless transmission to the data
reception system 22. The user interface device 24 then analyzes and
displays the received digital data.
[0039] In another embodiment, the inertial sensors, data
acquisition system and data transmission system are incorporated
within the handle, grip, or shaft of the object for which
orientation and position are desired. In a golf club, these systems
can be incorporated on or in the handle or grip portions of the
shaft. This modular design provides for the present invention to be
incorporated into pre-existing golf clubs.
[0040] FIG. 3 is a schematic illustration of a device utilizing the
orientation and position tracking system and including a pressure
sensor according to one embodiment of the invention. One or more
pressure sensors 26 installed on, within or behind an impact head
of the moveable object 100, i.e. golf club. These sensors can
measure data including, strike location of the ball on the head,
the spin imparted to the ball, and the impact force of the head on
the golf ball which can be utilized to provide launch conditions of
the golf ball's flight. This information can be processed by a
controller and transmitted along with the motion information to the
data receiving unit for analysis and display to a user.
[0041] FIG. 4 is a schematic illustration showing the utilization
of multiple devices in an orientation and position tracking system
according to one embodiment of the invention. In one embodiment,
the sensor, the microcontroller and the wireless transmitter are
integrated into at least one modular component or node that is
removable from said moveable object. Multiple modular nodes, each
having a separate complement of elements, may be integrated with
both unconnected objects and interconnected objects. For example,
as shown in FIG. 4, modular nodes 112 and 114 are affixed to the
shoulders and hips of a user in order to detect body motion during
the golf swing. The detection of the motion from nodes 112 and 114
may be integrated with the orientation and position data determined
by the node (device 110) on the golf club, thereby providing more
detailed information on the entire golf club swing system.
Alternatively, multiple nodes may be utilized with multiple golf
clubs, as for example in a class or teaching environment, with each
device transmitting orientation and position data to centralized
receiving and display units.
EXAMPLE 1
[0042] FIG. 5 is a detailed data flow model of device 110 utilizing
the orientation and position tracking system 10 according to one
embodiment of the invention. FIG. 6 is a flow chart 120 of the
operational software for a motion and position sensing device
installed on a moveable object according to the embodiment of the
invention. The system is initialized and the LED provides a visual
cue that the system is operational. The system software controls
the identification of a user, the sampling of inputs and the
encoding and sending of data concerning orientation and position
information. The hardware device need not have an on-board memory
for storing the orientation and position information. Instead, the
information is transmitted in real-time to a data reception system,
for example a PC, PDA, cellular phone, or network.
[0043] The real time, wireless motion and position sensing system
operates in three-dimensional space and over time based on four
modules: the sensor module, the microcontroller, the wireless
module, and the support system module. The sensor module
continually sends orientation and position signals to the
microcontroller. The microcontroller then packages the data
received from the sensor module and sends it to the wireless
module. The wireless module transmits the packaged data to a device
such as a PC, PDA, cellular phone, or network. The support module
surrounds the other three modules, providing power to the system,
as well as designer access tools. The modules will now be further
described in detail.
Sensor Module
[0044] In one embodiment, the underlying sensor nodes in the sensor
module are gyroscopes (such as Murata ENC-03JA/B). Each gyroscope
measures angular velocity about a single axis. In order to achieve
3-dimensional data three gyroscopes are used, each positioned so
that its sensing axis is orthogonal to every other gyroscope. The
gyros send their angular velocity data directly to the
microcontroller. Additional sensors including accelerometers,
compasses, GPS systems may provide additional information based on
particular motion and position sensing needs.
Microcontroller
[0045] The microcontroller system relies on a single Microchip
Technology PIC16F877 microcontroller, running off a 20 Mhz
Panasonic-ECG EFO-BM2005E5 resonator. The main objective of the
microcontroller is to receive data from the sensors, manipulate the
data and send it to the wireless transmitter. The microcontroller
utilizes three of its on-board analog-to-digital converters and
pulse width modulated inputs to process the data. Finally, the data
is packaged sent to the wireless module.
Wireless Module
[0046] The wireless module sends data wirelessly using a radio
frequency transmitter (e.g. Radiometrix TX3-914-50) and an optimal
antenna. The sending system formats the data appropriately for the
receiving system.
Support System Module
[0047] The support system module has two power supply functions.
First, it uses a switch (E-switch EG1270) to allow power to flow
from an onboard battery to the microcontroller. The microcontroller
then switches on a P-channel MOSFET (Fairchild Semiconductor
NDS352P), which provides power to all devices in the system. Its
second power function is to allow for recharging of the onboard
battery. The support module contains a set of headers (Sullins
Electronics Corp. PPPN401BFCN and PRPN401AEN) for internal and
external connections; one of the headers allows a recharge to
access the battery directly, bypassing all other components.
[0048] Further, there are a number of designer access tools in the
support system module. First, there is the programmer port which is
used to initially program the microcontroller. The programmer port
uses a header (same headers as above) in order to allow the
external programmer access to the microcontroller.
[0049] Second, the support module provides a communication port.
This port is used to reprogram the microcontroller or access data
directly, bypassing the wireless transmitter.
[0050] The final tool is a visual cue to the user/designer that the
system has received power and is working properly. The system
provides this cue using a dual color LED (Lite-ON Inc.
LTST-C155KGJRKT).
EXAMPLE 2
[0051] FIG. 7 is a flow chart 130 of the operational software
installed on a computer system for processing and presenting
orientation and position information according to one embodiment of
the invention. The operational steps of the software will now be
described in detail.
1) Initialize Variables
[0052] As soon as the software program starts, a number of
variables are named and allocated in memory for the program to
store and access information. These initial variables are split
into three major categories (with other supporting categories):
main class variables, sensor variables, and 3D model variables.
2) Receive Packet
[0053] The software program is constantly processing bytes of data
as they stream into the computer system. The software program looks
for packets of appropriately formatted data, and sends them to the
next step in the program.
3) Error Check Packet
[0054] Before each packet is passed on to the next step in the
program, the software program ensures that the packet was not
corrupted during wireless transmission.
4) Convert Packet Data to Sensor Data
[0055] Sensor data is encoded across each new packet; therefore,
the packet must correctly reassembled into sensor data before it
can be intelligibly deciphered by the rest of the software
program.
5) Update Sensor Parameters
[0056] This step corrects for variations in sensor hardware that
could be caused by a number of environmental changes (e.g.
temperature variance, electromagnetic interference, etc.).
6) Create Swing Model
[0057] At this point, the system enters an iterative loop in which
sensor data is used to update an internal 3D model of a golf club.
The software system processes both the sensor data and the 3D club
model to match for a possible golf swing pattern. If a match
occurs, the system creates an internal Swing Object representing
that golf swing, storing both the sensor data and 3D model history
inside this object. This Swing Object can then be saved directly to
an available storage medium, such as a local hard drive or a
remotely server accessible through available networks. Saved Swing
Objects can later be reinterpreted by the system individually or as
part of a series of Swing Objects.
7) Generate Single-Swing Statistics and Feedback
[0058] The software program uses the newly captured golf swing to
generate swing statistics. These statistics include, but are not
limited to, impact detection, launch angle, face angle (at impact
and at various moments of the swing path), club head speed, initial
face angle, tempo breakdown by swing stage (address-to-top,
top-to-impact, impact-to-finish), impact location (toe, heel,
center), power transfer index, derived distance, ball trajectory,
wrist break, and swing plane alignment. Using algorithms, the 3D
model and/or swing statistics are used to provide detailed
feedback
8) Generate Multi-Swing Statistics and Feedback
[0059] The software program uses the single swing 3D models and
statistics to generate multi-swing statistics. These statistics
include, but are not limited to, tempo consistency (at
address-to-top, top-to-impact and, impact-to-finish), club fitting
data, long-term trends, training regimes
9) Save Swing as a File
[0060] The software program saves each new swing as a file.
EXAMPLE 3
[0061] The operational steps for using an iClub system according to
one embodiment of the present invention are described below:
Step 1:
[0062] Take a swing. The iClub does not even need to be manually
activated and is smart enough to activate based on the motion of
the swing. Waggle or warm-up the golf club as normal; the iClub is
intelligent and can sense a real swing versus your warm up.
Step 2:
[0063] After you have swung the iClub, data is wirelessly
transmitted to your hand held laptop, cell phone or other
electronic device. There you can view real-time swing properties
and gain feedback on your swing. If you would rather wait until
later to view your results, go ahead, your feedback will be waiting
for you whenever you want it.
Step 3:
[0064] If you happen to be connected to the Internet while at the
golf course, you can gain valuable real-time analysis from our
on-line swing engine which, among other things, is capable of
correlating your long-term swing history with your handicap.
Furthermore, the iClub System will let you know which equipment
upgrades will improve your swing, which training methods to
implement to eliminate a reoccurring problem, and even share
information with your teaching professional.
[0065] The present invention is suitable for installation in a wide
variety of objects and applications. Besides golf clubs, the
present invention may be applied to tennis rackets, hockey sticks,
fishing rods, baseball bats, swords, rifles, and other sporting
equipment. Multiple sensors can be placed on the body to provide
detailed body movement. Furthermore, the present invention can be
utilized in joy sticks, 3D computer mice, and other computer user
interface devices. In particular, the present invention can be
utilized in virtual reality equipment for which position and
orientation information is relied on extensively.
[0066] As described in Example 3, the present invention can be
utilized as an instructional tool. The transmitted information can
be stored by the computer analysis and display system for multiple
swings of an individual golfer or other sport participant. The
compilation of this data can be utilized to determine problems in a
golfer's swing or to "fit" a golfer to an appropriate golf club.
The large statistical number of golf swings analyzed provided by
the use of the present invention fosters the ability of these
instructional techniques to provide accurate evaluations and a
means for mass customization of golf and sporting equipment in
general
Embodiment: Multiple User Capability
[0067] There are many instances where an instructor must convey
biomechanical information to a group of students: physical
education classes; professional and recreational athletics; young
children learning how to write; laborers learning the proper may to
move and/or operate machinery; etc. Once a given motion has been
initially conveyed between the instructor and the student through
audible and visual explanation, the student then repeats the
motion, until proficiency is reached. In our society, the ratio of
students to instructors is high. For instance, the average
elementary school classroom has typically 27 students for each
teacher. As a result, it is difficult for a motion instructor to
determine if an individual student is progressing towards motion
proficiency.
[0068] Currently, most motion instructors go from student to
student, observing a small subset of a student's attempts and
provide feedback on the observed attempts. This feedback is often
skewed towards the observed attempts and may not address deeper
underlying problems that were not obvious during the observed
motions. (See Rust, Chris. "A Briefing on the Assessment of Large
Groups." LTSN Generic Centre. November 2001.)
[0069] Motion instructors subscribing to the student-to-student
methods often focus on solving a specific motion mistake during a
class. Although this can be highly beneficial to students who make
this mistake, this teaching method can be time wasting and even
detrimental to students who do not display the specific mistake.
Meanwhile, for most of the students in the class, more and more bad
habits are being continually reinforced.
[0070] Providing the motion instructor with a tool that gives her
the ability to accurately and quickly scan the class's performance
allows the students to continuously practice the motion. It also
allows the motion instructor to provide feedback on a spectrum of a
student's attempts and not rely on a small subset of physically
observed performances. Lastly, the motion instructor could divide
the class into smaller groups, where the members of each group
display a similar mistake. Specific practice motions can then be
given to meet the needs of each group.
[0071] Tools for group instruction fall into two categories:
large-group low-precision devices and single-user high-precision
devices.
[0072] The large-group low-precision devices focus on tracking a
large number of users but sacrifice the ability to capture a single
user's finer motion. Recently, many marathons throughout the United
States have adopted these types of devices to allow runners,
organizers, and spectators to track the progress of any given
runner. This is very impressive; as in New York City, 35,000
runners can now be tracked by a single system. (See Graham, Peter.
"Fit Sense and Motorola Partner to Track Runners in `Solidarity
Run` at the New York City Marathon." Fit Sense, Oct. 29, 2001.) The
devices are small enough to be placed on runners' shoes and do not
hinder the runner's performance. They are also low in cost,
allowing a runner to walk away with the device after the event.
However, none of the runners being tracked have access to how their
stride changed in mile ten, or whether they tensed their shoulders
during mile nineteen. The marathon style large-group low-precision
motion-tracking device does not provide any finer level of capture
than course position. This is the typical level of granularity for
all large-group low-precision motion-tracking devices.
[0073] In contrast, there are the single-user high-precision
devices. These types of motion tracking systems allow a user to
view and understand exactly how he moved at any given point during
the motion. A common example of a single-user high-precision motion
capture device is the elaborate high-speed infrared camera setups
used for golf instruction. These systems normally inhabit a
specially lighted full size room, with cameras running at up to 120
frames per second strategically placed to ensure a 360-degree view
of the student. The cost of such a system can run into the hundreds
of thousands of dollars. However, what the system lacks in
portability and affordability it makes up for in precise capture of
the user's motion. An instructor is provided with a 360-degree view
of any point during the students swing. By drawing on monitors, or
capturing specific frames the instructor is able to convey highly
focused feedback to the student on any given swing. (See Gorant,
Jim, "Swing Doctors: A Computerized Motion Analysis System Helps
BioVision Sports Perfect Your Golf Swing." Popular Mechanics,
October 1998.)
[0074] Both of these types of devices have their place in motion
capture and instruction, but neither are suited for a group of five
to thirty students requiring a high level of motion tracking
precision. What is needed is a high-precision device that can be
used by many people at the same time. In one embodiment, the
present invention provides a small, portable, non-invasive, highly
accurate golf swing detection, capture and analysis system that
creates a small-group high-precision motion capture teaching aid.
The multi-Pitcher capable iClub system of the present invention
provides the high precision of costly video capture in addition to
the group capabilities of the marathon GPS tracking systems.
[0075] As further described elsewhere herein, a motion tracking and
analysis system according to one embodiment of the invention
includes three physical devices: a data acquisition system 18
(hereinafter termed the "Pitcher"), a data reception system 22
(hereinafter termed the "Catcher") and an interface device 24
(hereinafter termed the "Host") (see FIG. 1). In various
embodiments, the Pitcher is the part of the system that is placed
on the student's golf club. It may contain all the motion capture
sensors, and transmits its data wirelessly to the rest of the
system. The Catcher is the wireless receiver that receives data
from the Pitcher and outputs that data to the Host. The Host is
customarily a laptop, accepting data from the Catcher, analyzing
that data and displaying the data.
[0076] In another embodiment, the present invention provides for
accurately capturing the motion of a group of individuals in a
multi-user capable system. The Pitcher and the Catcher may be
designed to allow for multi-channel RF wireless transmission. FIG.
8 illustrates a motion tracking and analysis system 200 according
to one embodiment of the present invention that includes multiple
Pitchers 202 transmitting to a single Catcher 204 and Host 206. In
one embodiment, during setup, the Pitchers are systematically
connected to the Catcher and post-setup, Pitchers only communicate
one-way to the rest of the system.
[0077] One aspect of the present invention is the interaction
between a group of Pitchers 210(a-e) and a single Catcher 220 and
Host 230. The Pitcher is the part of the iClub system that every
student must have on his golf club. However, the instructor should
only need a single Catcher and a single Host to interact with all
the students' Pitchers. As a result, a way to control and optimize
the RF channels on which each of the Pitchers is sending was
created. This channel selection process was then synchronized with
the Catcher and Host so that students' Pitchers could be readily
scanned, giving the instructor access to all of her students' data.
When an instructor must quickly glance at the screen and decipher
how each student in the class is doing it is imperative that the
analysis of each student's swing is concise and readily
understandable. This allows the instructor the ability to absorb an
entire class worth of data at a single glance.
[0078] Finally, methods to allow the instructor to either manually
select a particular student's input feed, or to automatically scan
the entire class are required. The manual selection of a student
allows the instructor to quickly jump directly to a student of
interest. The automatic scan function allows the user to focus on
an individual student with the knowledge that all the other
students' swings are being captured and analyzed.
EXAMPLE 4
[0079] The following is a detailed description of the changes made
to the single-user iClub system for multi-user implementation. The
total increase in drawn current from the power supply by the
modified systems described below is 7 mA as compared with a single
user iClub system. Certain desired system requirements for the
multi-user modified system include: [0080] 1. The total added cost
to the system should be less than $40. [0081] 2. The Pitcher should
run off of the equivalent of two alkaline AAA batteries, and have a
run time life of no less than 4 hrs. [0082] 3. The Pitcher should
also fit in the pre-existing housing, created for the original
design. [0083] 4. The Catcher may use the Host's USB port for
power, or an equivalent. [0084] 5. The Catcher should communicate
through the serial port. Pitcher--Multiple Frequency
Capabilities
[0085] The single-user iClub device may use a single frequency RF
transmitter and receiver pair, in the general-purpose 902-928 MHz
band. As a result, if more than one of these devices is used within
20 meters of one another, there is destructive interference and no
device works properly.
[0086] In a multiple-user context, it is desirable to maintain
functionality within the 902-928 MHz band, as well as to support
access to a host device through serial communication. Size and
power consumption were also major considerations when designing a
solution to this problem. FIG. 9 is schematic circuit diagram of a
Pitcher unit 210 suitable for utilization in a motion tracking
system having multiple users according to one embodiment of the
invention. The Pitcher unit 210 has multi-frequency transmitting
capabilities and may receive information from the Host during setup
initialization.
[0087] As shown in FIG. 9, the transmitter 214 (for exampole, Linx
Technologies TXM-900-HP3-PPS) provided the multiple frequency
capabilities required. Four additional lines from the
microcontroller 212 were required in order to operate the
transmitter 214 properly. The microcontroller 212 may be programmed
with two different methods of operating the transmitter 214. The
first allows extremely fast parallel programming of the transmitter
to eight different frequencies. This style of transmitter
programming requires the MODE pin to be grounded. With the MODE pin
grounded, the CS0, SCL, and SDA pins determine which of the eight
predefined channels are to be used. However, if greater than eight
devices are required to operate in the same vicinity, then a
slightly slower serial programming method is available. Power unit
216 provides power to the microcontroller 214 and peripheral
systems 218 (for example, motion sensors).
[0088] In this embodiment, the Pitcher and Catcher adheres to the
timing protocol shown in FIG. 10 in order to program the
transmitter and receiver respectively, to a given channel. This
specification can also be found within the Linx Technologies
datasheets. (See "HP Series-3 Transmitter Module Design Guide."
Linx Technologies, Inc. Grants Pass, Oreg., 2003; and Balena,
Francesco. "Programming Microsoft Visual Basic 6.0." Redmond,
Wash., 1999.) FIG. 11 is a sample of microcontroller code governing
the timing protocol set forth in FIG. 10. This code is written in a
dialect of C, specifically for the CCS compiler and meets the needs
of the PIC16 class of micro-controllers. (See C Compiler Reference
Manual." Custom Computer Services, Inc. Brookfield, Wis., 2002.)
The timing specification can be found in the Linx Technologies
datasheets cited above.
Pitcher--Data Serial Communication
[0089] The Host 230 expects to receive data from the rest of the
system through its serial port. To avoid the overhead of conforming
to the entire EIA232 serial protocol, only the RX, TX, and GND
lines are utilized. An inverter is used in the Pitcher 210 to
reverse polarize the RX and TX lines in order to match the EIA232
requirements (see FIG. 9). From practice it has been shown that the
"mark" signal state is not required and proper functionality can be
achieved using inverted, near-ttl level signals.
Catcher--Multiple Frequency Capabilities
[0090] FIG. 12 is a schematic circuit diagram of a Catcher 220
including an RF receiver unit 222 with multiple frequency
capabilities according to one embodiment of the invention. The
microcontroller 224 governs which signals are sent to the Host 230
through the multiplexer 226. The Host 230 can also directly
communicate with the Catcher 220. In one embodiment, the Linx
Technologies receiver RXM-906-HP3-PPS was chosen, due to its
multiple frequency capabilities as well as its compatibility with
the transmission circuitry in the Pitcher. Similar to the Pitcher,
the microcontroller 224 may be programmed with two different
methods of operating the transmitter. The first allows extremely
fast parallel programming of the transmitter to eight different
frequencies. This style of receiver programming requires the MODE
pin to be grounded. With the MODE pin grounded, the CS0, SCL, and
SDA pins determine which of the eight predefined channels are to be
used. However, if greater than eight devices are required to
operate in the same vicinity then a slightly slower serial
programming method is available.
Competing Catcher TX lines
[0091] Unlike the Pitcher where the bulk of the data to be sent to
the other parts of the system originates in the Pitcher's
micro-controller, the bulk of the data the Catcher must communicate
to the Host comes directly from the Linx Technologies receiver
unit. As a result, if the Catcher's micro-controller wishes to
communicate directly with the Host the receiver unit must be
disabled. However, upon disabling, the receiver unit un-latches the
programmed channel.
[0092] The multiplexer 226 shown in FIG. 12 is one solution to this
restriction. The Host 230 sends information directly to the
microcontroller 224 of the Catcher 220 via the Catcher's RX line.
The Catcher's microcontroller 224 responds to a Host directive
directly by enabling port A of the multiplexer and sending data on
the R_TX line. However, the microcontroller 224 may also enable
port B of the multiplexer and allow the Pitcher 210 to continuously
feed data to the Host 230 via the Catcher's receiver 222, D_TX. In
the case when all three sub-systems are connected, the multiplexer
226 can enable port C and allow the Pitcher 210 to communicate
directly to the Host 230.
Pitcher-Catcher Handshaking
[0093] In order for a single Pitcher to communicate properly with a
Catcher and Host, a frequency channel is decided upon. The Pitcher
also communicates its identification number to the Catcher and
Host, so that the Catcher and Host know exactly which Pitcher they
are tuned to.
[0094] In an effort to reduce costs, a one-way communications
scheme using a transmitter and receiver pair was chosen over using
a transceiver style device. The drawback to such an implementation
is coordinating what frequency the transmitter is sending on, and
what frequency the receiver is listening on. In order for the
transmitter not to be sending on a frequency being heavily used,
the receiver must identify unused frequency channels. Furthermore,
the receiver must then communicate which unused channel the pair
will use to further communicate to the transmitter. In one
embodiment, this challenge may be overcome by forcing the user to
connect the Pitcher and the Catcher upon system startup. The header
in FIG. 9 is the port in which the Pitcher 210 connects to the
Catcher 220.
Host-Catcher-Pitcher Communication Protocol
[0095] FIG. 13 illustrates an initial setup of the system in which
all three sub-systems are physically connected together as shown
according to one embodiment of the invention. The Host 230 is able
to send commands to both the Pitcher 210 and the Catcher 220. The
Catcher's micro-controller governs what the Host receives. On
system startup, the host, pitcher and catcher are all connected
together to ensure that all three sub-systems work in conjunction
with one another. Both the Pitcher's transmitter and the Catcher's
receiver are programmed to the same frequency channel. The chosen
frequency channel should not have any other devices communicating
on it, as well as have an acceptably low level of noise present.
The Host is responsible for identifying whether or not a channel
meets these requirements.
Communication Protocol Steps:
[0096] 1. The Host first sends a Catcher identifying byte along the
TX line. This allows the Pitcher to ignore the following commands
and prompts the Catcher to process the commands to come. [0097] 2.
The Host then sends a "p". To the Catcher a "p" represents the
ProgramChannel function. [0098] 3. The next byte the host sends
must be an integer in the set [0,100]. This integer represents the
channel number the Catcher is to program its receiver with. [0099]
4. The Catcher then enables its R_TX line and echoes back the
channel number it just received to the Host. [0100] 5. Using the
code in FIG. 6, the receiver is then programmed with the desired
channel, and the D_TX line is enabled. [0101] 6. The Host waits 40
ms for any data to come in over its RX line, which is tied to the
D_TX line. [0102] 7. Based on the data received the Host identifies
the status of the current channel. Table 1 outlines the possible
states of a channel. [0103] 8. The Host then has the Catcher
program its receiver to the next channel and its status is
determined. Repeat steps 1 through 8 until all 100 possible
channels have been listened to and given a status. Then continue
onto step 9. [0104] 9. The Host then computes a BestChannel
function, outlined in Section 4.4, identifying which channel the
system should use during this session. [0105] 10. The Host then has
the Catcher program its receiver to the desired channel. [0106] 11.
The Host then sends a Pitcher identifying byte along the TX line.
This allows the Catcher to ignore the following commands as well as
tie the Host's RX line to the P_TX line. [0107] 12. A "P" is sent
to the Pitcher, readying the Pitcher to program its transmitter.
[0108] 13. The next byte the Host sends must be an integer in the
set [101,201]. 101 subtracted from this integer represents the
channel number the Pitcher is to program its transmitter with.
[0109] 14. The Pitcher echoes the desired channel back to the Host.
[0110] 15. The Pitcher then programs its transmitter using the code
in FIG. 6.
[0111] Table 1 is a description of the status given to a channel
during scanning and programming of a Pitcher. TABLE-US-00001 TABLE
1 Status Description Pitcher Object Built "Open" No other Pitcher
device is broad- No casting on the channel, and there is a low
level of noise on the channel. "Used" There is already another
Pitcher Yes, Pitcher number and broadcasting on the channel. This
is channel are recorded determined by listening for Pitcher data
packets. "Noisy" No other Pitcher is using the chan- Yes, the
channel is nel, but noise levels on the channel recorded but there
is no are deemed unacceptable. An unac- Pitcher number to record.
ceptable noise level is ten bytes of information per
millisecond.
[0112] At this point the Pitcher is transmitting on a previously
open channel, the Host has recorded the channel the recently
programmed Pitcher is operating on and correlated that channel with
the Pitcher's unique identification number. The time required to
complete this 1.times.System initialization is approximately 5
seconds.
EXAMPLE 5
[0113] An example of an N.times.System is a class of N golfers
being taught by a single golf professional. The N.times.System
differs from the 1.times.System in that the single Catcher-Host
pair identifies N number of Pitchers, N number of Pitcher unique
identification numbers, and the N channels the N Pitchers are
communicating on. Furthermore, the N.times.System is able to switch
from one Pitcher to another manually or automatically, as further
described elsewhere herein.
[0114] N.times.System communication assumes that 1.times.System
communication has been preformed on all N Pitchers in the
N.times.System. A Pitcher was connected to the Catcher 20 and Host,
all the channels were scanned, the best "open" channel was
determined, and the "best" channel was programmed to the Pitcher,
for all N Pitchers in the N.times.System. The time required to
initialize an N.times.System is approximately N times the time to
setup a 1.times.System, or N times 5 seconds. For a class of 15
people this means the setup time required to initialize the Catcher
and Host and all 15 Pitchers is 75 seconds.
[0115] Each time a Pitcher is added to the N.times.System, the
channel the Pitcher is broadcasting on and the Pitcher's
identification number are formed into a Pitcher object. The new
object is placed in an array holding all the Pitcher objects. The
array is ordered by the Pitcher channel.
Manual Pitcher Scanning
[0116] Within the iClub System a database of information is kept on
all users including user's name and an identification number of the
user's Pitcher. FIG. 14 is the flow diagram 240 for manual Pitcher
scanning. For manual Pitcher scanning, the instructor or golf
professional has the ability to choose the name of a student in the
current class whose Pitcher has been added to the N.times.System.
The name of the student is used to search for that student's
Pitcher identification number. With the identification number, the
Pitcher object array is searched and the channel of that Pitcher is
found. The Host then has the Catcher reprogram its receiver using
steps 1 thru 5 of the communication protocol discussed above. No
other students will be analyzed or viewed until the instructor
chooses another name, or the system is put in automated Pitcher
scanning mode. The instructor chooses a student, and that student's
Pitcher is listened to until another student is chosen.
Automated Pitcher Scanning
[0117] When the auto-scan function is chosen through the user
interface, the Host-Catcher sub-system cycles through all the
channels of the current Pitchers initialized in the N.times.System.
The Host-Catcher sub-system starts at the beginning of the Pitcher
object array and steps through it one object at a time. The Host
has the Catcher reprogram its receiver to the channel of the
current Pitcher object in the array, using steps 1 thru 5 of the
communication protocol discussed above. A built-in function in the
iClub System is Swing Detect. This function analyzes the data
streaming in from a Pitcher and determines whether or not a swing
is in the process of happening. If Swing Detect believes a swing is
taking place it returns true, otherwise it is set to false.
[0118] FIG. 15 is a flow diagram 250 for automated Pitcher scanning
according to one embodiment of the invention. In automated Pitcher
scanning, Swing Detect is used to determine whether or not to stay
with the current Pitcher or to program the Catcher's receiver to
listen to the next Pitcher. If Swing Detect does not return true
within a 2-second window, then the Catcher's receiver is programmed
to the next Pitcher in the object array. However, if Swing Detect
returns true within the 2-second window, then the Host and Catcher
stay on the current channel and wait until the swing has finished
to move to the next channel. One by one the Pitchers identified in
the Pitcher object array are listened to. If the Pitcher's user is
swinging during the listening period, the system continues to
listen to that Pitcher until the swing is done. After 2 seconds or
a swing has finished the system moves on to the next Pitcher in the
array.
EXAMPLE 6
Analysis Software--Host
[0119] There are two levels of analysis that take place in the
software running on the Host. The first is an internal analysis
that determines the optimum channel among the N.times.System to add
a new Pitcher to and create a new (N+1).times.System. The second
level of analysis is much higher. This level of analysis determines
whether the user of the Pitcher's motion falls within certain
criteria, and categorizes the motion based on those criteria.
Internal Analysis
[0120] Once every channel has been scanned and given a status, the
Host computes the optimum frequency to program a new Pitcher with.
The optimum frequency channel is defined as the channel halfway
between the two channels with the greatest distance separating
them. FIG. 16 illustrates sample code for the Best Channel
function. The code is written in development language VB 6.0. (See
Balena, Francesco. "Programming Microsoft Visual Basic 6.0."
Redmond, Wash., 1999.)
Motion Analysis
[0121] In one embodiment of the invention, the Swing Signature
algorithm inputs a motion and uses a set of criteria designed to
break the motion down into components and evaluate the student's
proficiency in each component. In general terms a motion can be
thought of as a number line. The ideal of a motion would represent
zero on the number line. The more positive the number the further
the motion is from ideal on one side of the spectrum. The more
negative the number the further the motion is from ideal on the
other side of the spectrum. For example, examine the motion of
moving a club over a straight line drawn on the ground. If the club
stays perfectly over the line it would represent a zero on the
number line. If the club were to the left of the line, then it
would represent a negative number. Likewise, moving the club to the
right of the line would represent a positive number.
[0122] Specifically, the Swing Signature is a string of numbers;
each character of the string is a member of the set {0, 1, 2, 3, 4,
5}. The position of each character represents the motion criteria
being examined, e.g. to the right or left of the target line. The
greater the value of each character, the further the motion was
from ideal. Furthermore, if the value of the character is non-zero
and even, the motion was on the negative side of the number line.
Likewise, if the value was odd, the motion was to the positive side
of the number line.
[0123] Currently, five motion criteria are included in the Swing
Signature: face angle at takeaway, face angle at impact, back swing
path, forward swing path, and acceleration through impact. (See
Jorgensen, Theodore. "The Physics of Golf 2.sup.nd Edition."
Springer-Verlag New York Inc. New York, New York, 1999; Pelz, Dave;
Frank, James. "Dave Pelz's Putting Bible." Doubleday. New York,
N.Y., 2000; snf Jacobs, John; Bowden, Ken. "The Golf Swing
Simplified." Lyons and Burford. New York, N.Y., 1993.) FIG. 17
illustrates a screen shot 260 of the iClub system software
including the Swing Signature incorporated therein according to one
embodiment of the invention. The five categories of tips are
identified in the upper left corner, with arrows identifying with
which tips they correspond. The actual concise string output is
circled.
[0124] In another embodiment of the invention, a method is provided
for any type of motion instructor to easily create a "motion
object" which would be automatically searched for and analyzed if
found. The "motion object" should be a high level representation of
a physical motion, which is intuitively obvious for a motion
instructor to build. The underlying structure of the "motion
object" must convert the high level structure to an extremely low
level processing of sensor inputs from the Pitchers.
[0125] In yet another embodiment of the invention, a method is
provided for the creation of a grouping function. The grouping
function utilizes the Swing Signatures as a measure of students'
performance in given motion areas. Due to the structure of the
Swing Signature, it can easily be sorted as well as expanded to
include more motion criteria. The ability to examine all the active
students' Swing Signatures and determine which students are
exhibiting similar faults would further reduce the organizational
load placed on the instructor. Furthermore, such a function allows
the instructor more time to provide greater attention and focus on
each group and consequently each individual.
[0126] As the cost of wireless communication packages continues to
decrease, a transceiver style communication system may preferably
be implemented. As of 2004 most off-the-shelf RF transceivers are
nearly twice the price of a RF transmitter-receiver pair. However,
the initial setup protocol would become much simpler if the user
was never required to connect the Pitcher to the Catcher and Host.
With a transceiver, the Pitcher would be able to scan all the
channels itself and choose the optimal. Then by transmitting a
unique identification tag, the Catcher could scan all the channels
until it hears the Pitcher(s) that the host has told it to look
for. This style of communication setup would reduce the amount of
steps the user must follow to run the system as well as increase
the total transparency of the system.
Embodiment: Body Motion Capture and Analysis System
[0127] The present invention further provides for a body motion
capture and analysis system utilizing an apparatus worn or attached
to the body. Nodes that may be permanent or detachable are
incorporated into the apparatus at desired locations (for example,
in the shoulder area, hip area, arm area, see FIG. 4) and the
system provides for communication between the nodes and the
apparatus and among the nodes (Inter/Intra Node/Apparatus
communication). The nodes may be incorporated into articles of
clothing or removably attachable directly to the body. The
apparatus can be used alone or in conjunction with other hardware
(e.g. video, magnetic systems, heart rate and bio measurement
systems, etc.) or software (data analysis systems, database
systems, etc.) and may be adapted for wired transmission of data,
wireless transmission of data, or for storage of data on the
apparatus. Consequently, the apparatus is suitable for real-time
analysis, feedback and viewing of captured body motion data or may
provide post-capture analysis, feedback and viewing.
[0128] In one embodiment, as shown in FIGS. 18A-C, the body motion
capture apparatus includes a vest system 300 worn on the upper
portion of the user's body, wherein the upper portion of the user's
body is defined as the region between the head and the pelvis,
allowing any area on the upper portion of the user's body to have a
sensor node placed on it. FIG. 18A illustrates the front of the
vest system 300 when not worn and FIGS. 18B and 18C illustrates the
vest system when being worn by a user (front and back,
respectively). The vest system 300 may be connected to a belt 302
situated around the user's waist and the vest is adjustable to
accommodate a wide range of user sizes. The design of the vest is
such that each node is physically isolated on the vest and yet the
nodes remain in a relatively fixed in position to provide accurate
motion data to the body motion analysis system. The vest 300 allows
for a wide free range of unrestricted motion and is designed for
male and female use.
[0129] In various embodiments, the apparatus contains at least one
sensor node but may contain as many sensor nodes as is determined
suitable by one of ordinary skill in the art for the purposes of
accurately capturing body motion. (See FIGS. 4 and 18A-C). The
locations of the sensor nodes are variable on the apparatus. The
sensor nodes may be permanently attached to the apparatus (e.g.
embedded therein) or may be removed at will. Node location can be
adjusted to fit users body and may be moved around the vest system
to focus on different motions. In one embodiment, the sensor nodes
are RF emitters or receivers using triangulation to track absolute
or relative motion of the user. In another embodiment, the sensor
nodes are absolute or relative position magnetic sensors, which
track motion in at least one degree of freedom. Alternatively, the
sensor nodes may include combinations of the above.
[0130] The nodes are designed for inter/intra communication between
nodes and among and within the entire apparatus. In one embodiment
the sensor nodes interact with one another based on the output
provided by the sensor nodes. In another embodiment, the sensor
nodes can adjust outputs based on the outputs of the other sensor
nodes. The process of adjusting outputs can be applying different
filters on the data coming from the sensor node and/or can be
modifying the motion being tracked by the sensor node based on the
motion being tracked by the other sensor nodes.
[0131] The body motion capture and analysis system may be used
alone or in conjunction with other hardware (e.g. video, magnetic
systems, heart rate and bio measurement systems, microphones, etc.)
or software (data analysis systems, database system, etc.). In one
embodiment, the analysis apparatus contains one or more video
inputs as illustrated by the screen shot 310 of video input and
synchronization for the body motion capture and analysis system as
shown in FIG. 19. The system can work in conjunction with other
motion tracking and/or sensing devices by using the software
included with the system. Other compatible sensing devices may
include: one or more pressure measurement systems, and one or more
electromagnetic wave sensing systems, etc.
[0132] In another embodiment, the system may contain at least one
manual user input device, and with which the user may manually
input information into the system. In one embodiment, the manual
user input system is located on the body motion capture apparatus
and includes a set of one or more buttons, switches, microphone,
and/or other input devices which produce one or more signals,
allowing the user to input information into the apparatus. In
another embodiment, the user input device is located on the host
(e.g. computer, PDA, cellular phone) and may include one or more
one buttons, switches, microphone, and/or other input devices which
produce one or more signals, allowing the user to input information
into the apparatus. FIG. 20 illustrates a control box 320 to
receive manual input by a user. The control box may be located on
apparatus and receives user information input from the user
including one or more signals controlled by the user concerning
when the user is ready for the apparatus to capture his motion,
when the user wishes to reset the system, for to indicate that the
user is still, for example.
[0133] In yet another embodiment, the apparatus contains a wireless
transmission unit, which transmits the data from the sensor nodes
and user input to another device for storage and/or further
analysis. The wireless transmission unit may be generally similar
to the data transmission unit described elsewhere herein (see, for
example, FIG. 1). In one embodiment, the transmission unit combines
all the information from all sensor nodes and manual input systems
on the apparatus and send it centrally to another device. In
another embodiment, the transmission unit is a set of transmission
nodes connected (via wire, or wireless) with each sensor node and
manual input system. The transmission nodes associated with each
sensor node and manual input system may data send independently of
other devices either located on the apparatus, as in another sensor
node or manual input device, or to another device not located on
the same apparatus.
[0134] As noted previously, data is received from the data
transmission unit by a data reception system, such as a PC, a cell
phone, a network, a PDA, a hard drive, a flash memory stick, a
printer, etc. and may be incorporated with the interface device
having input and display functionality. The data reception system
and user interface device together comprise the "Host" module of
the system. As discussed, the system data transmission may be
conducted via wireless communication allowing a real-time motion
analysis and viewing. Alternatively, the system allows for storage
of the data on the body motion capture apparatus for post-capture
analysis. Consequently, the Host may include a storage device, an
analysis device and an output device, all of which may include
independently or combined a PC, a cell phone, a network, a PDA, a
hard drive, and a flash memory stick. Further, the output device
may include a printer, a speaker system, etc.
[0135] In another embodiment, the host includes a software system
component. Video is synchronized with Body motion captured
animation (see FIG. 19). Within biomechanics applications (e.g.
golf, baseball, tennis, lifting, etc.) motion data is displayed
including, but not limited to, the following: [0136] (1) Linear
and/or rotational displacement. [0137] (2) Parameters derived from
the linear and/or rotational displacement. [0138] (3)
X-Factor/X-factor stretch, other derived parameters. [0139] (4)
Observations based on AI utilizing linear and rotational
displacements. [0140] (5) Comparisons to professional/amateur/via
video and/or animation. [0141] (6) Overlay of video to animation,
animation to animation, video to video, and vice versa.
[0142] In multiple embodiments, the software component of the
system may include software incorporated with the body motion
capture apparatus which can interpret the signals sent from the
apparatus, can interpret the data from the other sensing devices,
and/or can interpret the data from the other sensing devices and
associate that information with the data from the apparatus'
transmission. The system may provides tactile, visual, auditory,
and chemical feedback to the user in response to his motion, based
on the information gathered from the body motion capture apparatus
as well as the other sensing devices associated with the
apparatus.
[0143] Other embodiments of the invention will be apparent to those
skilled in the art from a consideration of the specification or
practice of the invention disclosed herein. It is intended that the
specification and examples be considered as exemplary only, with
the true scope and spirit of the invention being indicated by the
following claims.
* * * * *