`
`US 20060025229Al
`
`(19) United States
`(12) Patent Application Publication
`Mahajan et al.
`
`(10) Pub. No.: US 2006/0025229 Al
`Feb. 2, 2006
`(43) Pub. Date:
`
`(54) MOTION TRACKING AND ANALYSIS
`APPARATUS AND METHOD AND SYSTEM
`IMPLEMENTATIONS THEREOF
`
`(76)
`
`Inventors: Satayan Mahajan, Cambridge, MA
`(US); Arun Mehta, Cambridge, MA
`(US); Zachery LaValley, Leominster,
`MA(US)
`
`Correspondence Address:
`CHOATE, HALL & STEWART LLP
`TWO INTERNATIONAL PLACE
`BOSTON, MA 02110 (US)
`
`(21)
`
`Appl. No.:
`
`11/133,048
`
`(22)
`
`Filed:
`
`May 19, 2005
`
`Related U.S. Application Data
`
`(63)
`
`Continuation-in-part of application No. 10/742,264,
`filed on Dec. 19, 2003.
`
`(60)
`
`Provisional application No. 60/572,398, filed on May
`19, 2004. Provisional application No. 60/603,967,
`filed on Aug. 24, 2004.
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`(2006.01)
`A63B 69/36
`(52) U.S. Cl. .............................................. 473/131; 463/36
`
`(57)
`
`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 move(cid:173)
`able object. The sensors, for example vibrational and angu(cid:173)
`lar velocity sensors, generate signals characterizing the
`motion of the moveable object. The information is received
`by a data acquisition system and processed by a microcon(cid:173)
`troller. The data is then transmitted to an external data
`reception system (locally based or a global network), pref(cid:173)
`erably 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.
`
`112
`
`' ' ' ' '
`
`'
`'
`' '
`'
`'
`
`' ..
`
`'
`)
`' '
`'
`'
`'
`'
`' '
`'
`'
`' '
`, ,
`'
`'
`'
`'
`'
`'
`' '
`' '
`' '
`, '
`' '
`
`100~::/
`
`'
`'
`' '
`' '
`'
`'
`'
`'
`, ,
`' '
`, '
`'
`'
`'
`' ,
`'
`' '
`' ,
`, '
`'
`'
`, ,
`'
`'
`
`____ _,:::-:,/
`
`26
`
`114
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 1
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 1 of 16
`
`US 2006/0025229 Al
`
`FIG. 1
`
`gyroscope
`system
`
`, ,---------------------~,
`,
`' '
`'
`
`additional
`sensors
`
`additional
`sensors
`
`16
`
`14
`
`12
`
`10 f 20
`
`18
`
`acquisition
`system
`
`transmission
`system
`
`data ~ data
`~
`~ data
`
`user
`interface
`device
`
`reception
`system
`
`24
`
`22
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 2
`
`
`
`Patent Application Publication
`
`FIG. 2
`
`Feb. 2, 2006 Sheet 2 of 16
`
`US 2006/0025229 Al
`
`54
`
`38
`
`110
`
`30
`
`44
`
`42
`
`50
`
`-
`/\,
`100/~
`
`' ' I..
`
`_______ .-'
`
`52
`
`48
`
`40
`
`34
`
`36
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 3
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 3 of 16
`
`US 2006/0025229 Al
`
`FIG. 3
`
`110
`
`100
`
`26
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 4
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 4 of 16
`
`US 2006/0025229 Al
`
`FIG. 4
`
`112
`
`I
`)
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`r•
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`I
`
`114
`
`100~;/ I
`
`I
`I
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`I
`
`I ,
`
`,
`
`I
`
`26
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 5
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 5 of 16
`
`US 2006/0025229 Al
`
`FIG. 5
`
`f 110
`
`·10 mm
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 6
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 6 of 16
`
`US 2006/0025229 Al
`
`FIG. 6
`
`120
`START ~
`
`Initialize variables
`
`Initialize hardware
`
`Blink LED
`
`Send packet header
`
`Check user ID
`
`Send user "Identity"
`
`Wait for sampling time
`
`Sample all inputs
`
`Send sample data
`
`Encode checksum
`
`Send encoded checksum
`
`Soft shutdown
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 7
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 7 of 16
`
`US 2006/0025229 Al
`
`FIG. 7
`
`START ~
`
`130
`
`Initialize Variables
`
`Receive Packet
`
`Error Check Packet
`
`Convert Packet Data to Raw Output of Sensors
`
`Update Average Sensor Values
`
`Update iClub History of Raw Sensor Data
`
`Update iClub History of 3D Model Using Raw Sensor Data
`
`Check Recent iClub History to Detect for New Swing
`
`Generate Single Swing Statistics from Raw Sensor History & 3D
`Model History: Impact Detection, Launch Angle, Face Angle
`(at impact or during anytime during swing path), club head
`Speed, initial face angle, tempo (total and broken down by stages
`of the swing), impact location (toe, heel, center), Power Transfer
`Index, derived distance and ball trajectory, wrist break, swing
`Path, swing plane, attack angle etc.
`
`Generate Multi -Swing Statistics from swing history:
`Tempo consistency, club fitting data
`(continuous).
`
`Save Swing as a digital file on local or remote computing device, or network
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 8
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 8 of 16
`
`US 2006/0025229 Al
`
`210 (a-e)
`
`I'
`
`200
`
`\ ' \
`
`FIG. 8
`
`218
`
`214
`
`216
`
`P(ln- er S)•steru
`
`Periphernl
`System.
`
`M uld-F n>q U•ne1·
`RF Transmitter
`
`~lict·o-Conrrollr.r
`
`FIG. 9
`
`'
`,,~/
`
`....... _ ... __ J,,..--"'
`
`/
`
`.··
`
`210 s
`
`212
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 9
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 9 of 16
`
`US 2006/0025229 Al
`
`, SDO is locked in on l
`!
`'
`l rism ed2e of SCL
`,
`!_._~_-_____ j
`Load be!:lru ·;•:hen I
`~ S-bi<in«go"[O,IOOJ
`I
`SCL is high and
`SDO goes low
`· l
`
`L __ _::_ ______ ! ---...
`
`SDO
`
`I I I I I I I I I I I I I I I I I
`
`SCL
`
`:~
`
`I
`
`I
`
`' '
`'
`I
`~ : iG: Zi:
`:•J'):z:
`
`I -1 -'I
`
`'fl
`N
`
`:
`
`I
`
`: :;;:
`i ~l
`
`\
`
`·-.. - -.. - - -.. --···-· .. --•··•-"'\
`
`! SCL and SDO him !
`l triggers auto latx:h I
`""----··------·--
`
`FIG. 10
`
`\·oid rxtx_hdper()
`{
`
`inti;
`intj;
`OUTPUI_HIGH(SCL);
`OlJTPu""T_HIGH(SDO);
`dela}'.._ms(2);
`01.JIPlJT_LOW(SDO);
`dela)'.._US(27);
`
`for (i=i>~<S;i++)
`{
`
`OUTPUT_LO\V(SCl);
`dela}'.._us(3);
`if (bit_test(channel,i)
`{
`
`OUTPU""T _HI GH{SDO);
`
`}
`else
`{
`
`OUTPtJT_lOW(SDO);
`
`}
`delay_us(3);
`OUTPUT _EIGH(SCL);
`del a;.:._ us(~);
`
`0 UTP\JT _FiiG H(SDO);
`OUTPlJT_LOW(SCL);
`delay_us(6);
`OtffPUI_HlGH(SCL);
`delay_ us(/);
`
`FIG. 11
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 10
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 10 of 16
`
`US 2006/0025229 Al
`
`220
`
`Catx:her ?
`
`r---------------·--·----------------------------- ------~--·
`
`-------1 vcc
`
`:\Iulri-f req uency
`RF Receirer
`
`222
`
`224
`
`vcc
`GND
`
`RXD
`i\licn-C ontroller
`-;
`q
`z -~ .;:: R TX
`=' ,.,,..
`.:;; •h ~ 'J;.1
`2.::: 2
`
`.--1--t---t-~......--T_TX
`
`g 3 :J
`.;z ~
`------1vcc
`------<GND
`'--~~~~~~~~~~~~~ ........
`
`4x1MVX
`
`226
`
`USB Port
`
`Host
`
`FIG. 12
`
`,...,
`'"' q
`:~ § ~
`Serial Port
`
`230
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 11
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 11 of 16
`
`US 2006/0025229 Al
`
`210
`
`FIG. 13
`
`220
`
`.&.
`I
`
`230
`
`240 )
`
`FIG. 14
`
`Catcher
`.--------------------------------
`
`Host
`,-----------·--·-------------·---------
`
`I
`I
`
`'
`t
`I
`
`Instructor selects Student from
`drop dO'.\>n menu
`
`'---------~ti.1Host follows reprogramming protocol
`and Catcher reprograms the receiver
`
`~--------------------------------·
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 12
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 12 of 16
`
`US 2006/0025229 Al
`
`Host
`:------------------------------------1 I
`
`I
`
`Instructor selects
`.'illto-Sccn function
`
`250 5
`
`Catcher
`,------·-----------------------------
`' I
`I :.-
`""-,.. ____ ___ ...,, ;.--1 Host follows reprogJ"ammingprotocol
`andCatcherreprogramsthereceiver
`l'
`:
`I
`I
`I
`
`I
`
`Cont.iwe to listen to channel
`until S\vingis finished
`
`I
`
`'
`
`-------------------------------------'
`
`I
`
`FIG. 15
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 13
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 13 of 16
`
`US 2006/0025229 Al
`
`function bestChannel(B)Ref channel.i\irayQAslnteger, ByVal thi£Keep As integer) As integer
`Dim i As ln~ger
`-·
`Dim ma.\Distanee As Ini:e£:er
`Dim tempChannel As Integer
`Dim fencePost .:\sBoolean
`
`nHl.\Distance = channel :\rra}\O, 0) -0
`tempCh3nt1el = 0
`'ideally should be 0
`fencePo5t= Tme
`
`Fori = l IothisKeep
`if max Di stance< channel:\rra}{O, i}- channel.:.\rra}\O, i - I) Then
`m axDi stu'Jce = channet~ra}{O, Q -clllll111e1Arra}{O, i - 1)
`temp Channel = c.hannel.:.\rray~O, i)
`fencePost= F:ilse
`
`End if
`
`Nexti
`
`IfNotthisKeep =O Then
`!f maxDi runce. < 100 - channel.Arra}{-0, thisKeep - l) TI1en
`maxDistance. = 100 - channel~a){O, thisKeep- 1)
`tempChannel= 100
`'ideallyshouldbe 100
`fencePost =True
`
`End If
`
`End if
`
`If fencePost Then
`bestChannel "" tem pC hannel
`
`Else
`
`End If
`
`End Function
`
`besChannel = tem pChannel -Round(m axDi stance/ 2, 0)
`
`FIG. 16
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 14
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 14 of 16
`
`US 2006/0025229 Al
`
`Face augle at t.'ll<:eawi'\y
`Face augle at impac t
`Back swing path
`Fo1wani mingpath
`Accela-ation at impact
`
`-~~Signature: ~~:
`-- lip 1-.=.---- ---
`3 Your face angle during takeawaywas severely open.
`&!lax. Think about moving the club onlybyrotating yiur
`sboulde?S.
`
`0 F.xcellent. Your face angle at impact was square to the
`tazget line.
`
`--tip2 --
`---------··•--.tip3-4 Your path during the back swing wasseverelyinside
`--tip4--
`
`the ta?get line. You maybe too far from the ball at address,
`try not to pull the club back in towards you body.
`
`4 Your pa th during the forward swing was sewrelyinside
`the ta?get line. &!lax. Let the ternp:i the swing determine
`speed and distance, not your arm muscles.
`-- tip 5 --
`3 You severelydecelerated before impact. Let the club
`move natuzally.
`
`'--\260
`
`FIG. 17
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 15
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 15 of 16
`
`US 2006/0025229 Al
`
`300
`
`FIG. 18A
`
`302
`
`FIG. 18B
`
`FIG. 18C
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 16
`
`
`
`Patent Application Publication Feb. 2, 2006 Sheet 16 of 16
`
`US 2006/0025229 Al
`
`FIG. 19
`
`310
`
`FIG. 20
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 17
`
`
`
`US 2006/0025229 Al
`
`Feb.2,2006
`
`1
`
`MOTION TRACKING AND ANALYSIS APPARATUS
`AND METHOD AND SYSTEM
`IMPLEMENTATIONS THEREOF
`
`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 pend(cid:173)
`ing, 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. Provi(cid:173)
`sional 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 implemen(cid:173)
`tation 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 ana(cid:173)
`lyzing 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 indus(cid:173)
`tries 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 refer(cid:173)
`ence). 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 microcon(cid:173)
`troller. The data is then transmitted to an external data
`reception system (locally based or a global network), pref(cid:173)
`erably 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 accord(cid:173)
`ing 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 inven(cid:173)
`tion;
`[0014] FIG. 5 is a detailed data flow model for a device
`utilizing the orientation and position tracking system accord(cid:173)
`ing 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;
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 18
`
`
`
`US 2006/0025229 Al
`
`Feb.2,2006
`
`2
`
`[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 embodi(cid:173)
`ment of the invention;
`[0020] FIG. 11 is a sample of microcontroller code gov(cid:173)
`erning 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 Chan(cid:173)
`nel 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 incorpo(cid:173)
`rated 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 syn(cid:173)
`chronization 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 informa(cid:173)
`tion to an external computer system (including PDA, cellu(cid:173)
`lar phone, or over a network). In one embodiment, the
`present invention provides for an intelligent golf club, the
`iClub™ (trademarked by Fortescue Corporation), that pro(cid:173)
`vides golfers with real-time, precise and dynamically pre(cid:173)
`sented 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. Accord(cid:173)
`ing to various embodiments, the present invention provides
`for a motion tracking apparatus and method for implemen(cid:173)
`tation in motion systems including systems to teach motion
`to a group and for body motion capture and analysis sys(cid:173)
`tems.
`
`[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 under(cid:173)
`stood 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 acqui(cid:173)
`sition 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 embodi(cid:173)
`ment 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.
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 19
`
`
`
`US 2006/0025229 Al
`
`Feb.2,2006
`
`3
`
`[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.
`
`In one embodiment, angular rate sensors 42, 44, 46
`[0036]
`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 com(cid:173)
`binations of motion parameter determining sensors such as
`gyroscopes or other additional sensors 48 such as acceler(cid:173)
`ometers, 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 trans(cid:173)
`mitting 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.
`
`In another embodiment, the microcontroller 50 of
`[0038]
`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 incor(cid:173)
`porated 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 inven(cid:173)
`tion. 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 environ(cid:173)
`ment, 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 identifica(cid:173)
`tion of a user, the sampling of inputs and the encoding and
`sending of data concerning orientation and position infor(cid:173)
`mation. 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 microcon(cid:173)
`troller, the wireless module, and the support system module.
`The sensor module continually sends orientation and posi(cid:173)
`tion 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 trans(cid:173)
`mits 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-
`03JAJB). Each gyroscope measures angular velocity about a
`single axis. In order to achieve 3-dimensional data three
`
`Zepp Labs, Inc.
`ZEPP 1005
`Page 20
`
`
`
`US 2006/0025229 Al
`
`Feb.2,2006
`
`4
`
`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. Addi(cid:173)
`tional sensors including accelerometers, compasses, GPS
`systems may provide additional information based on par(cid:173)
`ticular 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 microcontrol(cid:173)
`ler. The microcontroller then switches on a P-channel MOS(cid:173)
`FET (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 exter(cid:173)
`nal 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 communi(cid:173)
`cation port. This port is used to repro