A Performance Analysis System for the Sport of Bowling
A Performance Analysis System for the Sport of Bowling A Performance Analysis System for the Sport of Bowling
are located on either side of the mid-point between the top and bottom of each side of a peak or valley. Recall that the indices of the peak and valley samples were recorded earlier. The intersection of the resulting two slope lines is considered as the true peak or valley for subsequent calculations. Each adjacent peak-valley pair defines a halfrevolution of the ball, and the lateral distance between them, measured in msecs, gives the period of that half-rotation. The angular velocity for that half-revolution is simply the inverse of the period. 140 120 Interpolated Peaks Half (180°) Revolutions Filtered Light Level 100 80 60 40 20 0 2200 Interpolated Valley 2250 2300 2350 2400 2450 2500 2550 2600 Milliseconds (since Release) Figure 3-6: Maxima and Minima Location Interpolation Having obtained the angular velocity for each revolution of the ball, a graph of the angular velocity of the ball with respect to time can be drawn, as shown in Figure 3-7. The raw angular velocity values that were just found are shown in blue, with each entry representing one-half revolution of the ball. Obviously, something has gone awry. The angular velocity of the ball should be monotonically increasing, yet the graph of the raw values exhibits a noticeable oscillation, especially in the first two-thirds of the waveform. Since the angular velocity of the ball can't actually be rising and falling as indicated by the raw angular velocity graph in Figure 3-7, some other factor must be at work here. By looking back at Figures 2-2a, 3-2, and 3-3, the cause of this oscillation can be deduced. Figure 2-2a depicts the ball rolling down the lane under several rows of ceiling lights. As stated before, these lights act as a point source, rather than as a uniformly distributed source of light. As the SMARTDOT module rotates up towards the ceiling, the light sensor faces backwards (toward the foul line) and "sees" the ceiling lights that it has already passed under. These lights are detected earlier than they "should" be, i.e., before the light sensor has rotated directly toward the ceiling. Consequently, the peak light level for that revolution occurs earlier than it should. As the ball continues down the lane, the module rotates toward the ceiling, and if it is not directly under a light, the light level gets darker (rather than brighter), and a dip occurs where the peak is expected to be. As the ball continues to rotate and travel down the lane, the module eventually aligns with a different ceiling light and another local peak is created. Figure 3-2 shows this phenomenon quite clearly. As the ball continues down the lane, these point sources eventually combine to look like a single light source, hence the lack of "side lobes" in Figure 3-3. 48
Figure 3-7: MASTER "Analysis" Screen Capture Depending on the position of the ball relative to the ceiling lights, and the current orientation of the module in relation to the ceiling, the directionality of the light sensor can cause it to "see" a ceiling light too early, while at other times it must rotate longer before encountering the next ceiling light. This action imposes a Doppler-like effect on the waveform the module captures. The differences must average out, since the ball will eventually transition from approaching a specific light source to moving away from that same source, but the effects that this Doppler effect has imprinted on the filtered waveform must still be dealt with. Referring to Figure 3-7 again, the green line superimposed over the blue raw angular velocity graph is a 5 th -order polynomial curve created by a generalized least squares curve-fitting function, using the raw angular velocity data as input [10,11]. This line yields the expected shape for the angular velocity curve. This is a "simple" fix that presents a good approximation for the actual response of the angular velocity of the ball. However, this method has its limitations. Unlike the actual monotonic response of the ball, the polynomial curve-fitting scheme allows the angular velocity to initially dip following release, and then recover as the ball travels down the lane. The 'C' source code from the MASTER application for locating the revolutions and finding the angular velocities has been included in Appendix D. 49
- Page 3 and 4: TABLE OF CONTENTS Section I: Introd
- Page 5 and 6: LIST OF FIGURES Figure 2-1 SMARTDOT
- Page 7 and 8: SECTION I: INTRODUCTION, BACKGROUND
- Page 9 and 10: eceiver that stores, processes, and
- Page 11 and 12: 1.3.2 Product Development Phase The
- Page 13 and 14: SECTION II: COLLECTING THE DATA - T
- Page 15 and 16: 2.2 Design Constraints The feasibil
- Page 17 and 18: 2.3 SENSING REQUIREMENTS The module
- Page 19 and 20: Pin Deck Light Foul Line Figure 2-2
- Page 21 and 22: 2.4.1 Ambient Light Sensor The ambi
- Page 23 and 24: 9 28 8 RST V CC V CC 5 6 hyst 7 3 +
- Page 25 and 26: 2.6 HARDWARE/SOFTWARE INTERACTION D
- Page 27 and 28: 2.6.3 Baud Rate The module communic
- Page 29 and 30: Configuration settings and the samp
- Page 31 and 32: 2.7.5 The Ball is Rolling If the wa
- Page 33 and 34: covered by the wand). When the modu
- Page 35 and 36: 2.8.1 Detecting Release Detecting t
- Page 37 and 38: Light Level 100 90 80 70 60 50 40 3
- Page 39 and 40: By filtering the data, and then cou
- Page 41 and 42: The 'F300x can write to any portion
- Page 43 and 44: One possibility is to use a transfo
- Page 45 and 46: 2.10 SUMMARY This portion of the re
- Page 47 and 48: The ball's angular velocity increas
- Page 49 and 50: Light Level 100 90 80 70 60 50 40 3
- Page 51 and 52: the fundamental frequency has been
- Page 53: Since the fundamental frequency and
- Page 57 and 58: known, the linear momentum (and thu
- Page 59 and 60: In order to find the value for v 1
- Page 61 and 62: 3.5 ASSUMPTIONS AND ERROR ANALYSIS
- Page 63 and 64: 3.5.3 External Forces and Friction
- Page 65 and 66: 3.6.1 Implementation and Performanc
- Page 67 and 68: Figure 3-11a: Effects of Phase Shif
- Page 69 and 70: 3.6.3 The "Perfect" Game to Analyze
- Page 71 and 72: Since the change in angular velocit
- Page 73 and 74: BIBLIOGRAPHY [1] United State Paten
- Page 75 and 76: APPENDIX A - SMARTDOT MODULE EMBEDD
- Page 77 and 78: Appendix A: SMARTDOT Module Embedde
- Page 79 and 80: Appendix A: SMARTDOT Module Embedde
- Page 81 and 82: Appendix A: SMARTDOT Module Embedde
- Page 83 and 84: Appendix A: SMARTDOT Module Embedde
- Page 85 and 86: APPENDIX B - SMARTDOT MODULE SOURCE
- Page 87 and 88: Appendix C: SMARTDOT Module Command
- Page 89 and 90: Figure C-3 Appendix C: SMARTDOT Mod
- Page 91 and 92: APPENDIX E - 300 GAME MASTER SCREEN
- Page 93 and 94: Appendix E: 300 Game Analysis Frame
- Page 95 and 96: Appendix E: 300 Game Analysis Frame
- Page 97: Appendix E: 300 Game Analysis Frame
are located on ei<strong>the</strong>r side <strong>of</strong> <strong>the</strong> mid-point between <strong>the</strong> top and bottom <strong>of</strong> each side <strong>of</strong> a<br />
peak or valley. Recall that <strong>the</strong> indices <strong>of</strong> <strong>the</strong> peak and valley samples were recorded<br />
earlier. The intersection <strong>of</strong> <strong>the</strong> resulting two slope lines is considered as <strong>the</strong> true peak or<br />
valley <strong>for</strong> subsequent calculations. Each adjacent peak-valley pair defines a halfrevolution<br />
<strong>of</strong> <strong>the</strong> ball, and <strong>the</strong> lateral distance between <strong>the</strong>m, measured in msecs, gives<br />
<strong>the</strong> period <strong>of</strong> that half-rotation. The angular velocity <strong>for</strong> that half-revolution is simply <strong>the</strong><br />
inverse <strong>of</strong> <strong>the</strong> period.<br />
140<br />
120<br />
Interpolated<br />
Peaks<br />
Half (180°)<br />
Revolutions<br />
Filtered Light Level<br />
100<br />
80<br />
60<br />
40<br />
20<br />
0<br />
2200<br />
Interpolated<br />
Valley<br />
2250 2300 2350 2400 2450 2500 2550 2600<br />
Milliseconds (since Release)<br />
Figure 3-6: Maxima and Minima Location Interpolation<br />
Having obtained <strong>the</strong> angular velocity <strong>for</strong> each revolution <strong>of</strong> <strong>the</strong> ball, a graph <strong>of</strong> <strong>the</strong><br />
angular velocity <strong>of</strong> <strong>the</strong> ball with respect to time can be drawn, as shown in Figure 3-7.<br />
The raw angular velocity values that were just found are shown in blue, with each entry<br />
representing one-half revolution <strong>of</strong> <strong>the</strong> ball.<br />
Obviously, something has gone awry. The angular velocity <strong>of</strong> <strong>the</strong> ball should be<br />
monotonically increasing, yet <strong>the</strong> graph <strong>of</strong> <strong>the</strong> raw values exhibits a noticeable<br />
oscillation, especially in <strong>the</strong> first two-thirds <strong>of</strong> <strong>the</strong> wave<strong>for</strong>m. Since <strong>the</strong> angular velocity<br />
<strong>of</strong> <strong>the</strong> ball can't actually be rising and falling as indicated by <strong>the</strong> raw angular velocity<br />
graph in Figure 3-7, some o<strong>the</strong>r factor must be at work here.<br />
By looking back at Figures 2-2a, 3-2, and 3-3, <strong>the</strong> cause <strong>of</strong> this oscillation can be<br />
deduced. Figure 2-2a depicts <strong>the</strong> ball rolling down <strong>the</strong> lane under several rows <strong>of</strong> ceiling<br />
lights. As stated be<strong>for</strong>e, <strong>the</strong>se lights act as a point source, ra<strong>the</strong>r than as a uni<strong>for</strong>mly<br />
distributed source <strong>of</strong> light. As <strong>the</strong> SMARTDOT module rotates up towards <strong>the</strong> ceiling, <strong>the</strong><br />
light sensor faces backwards (toward <strong>the</strong> foul line) and "sees" <strong>the</strong> ceiling lights that it has<br />
already passed under. These lights are detected earlier than <strong>the</strong>y "should" be, i.e., be<strong>for</strong>e<br />
<strong>the</strong> light sensor has rotated directly toward <strong>the</strong> ceiling. Consequently, <strong>the</strong> peak light level<br />
<strong>for</strong> that revolution occurs earlier than it should.<br />
As <strong>the</strong> ball continues down <strong>the</strong> lane, <strong>the</strong> module rotates toward <strong>the</strong> ceiling, and if it is not<br />
directly under a light, <strong>the</strong> light level gets darker (ra<strong>the</strong>r than brighter), and a dip occurs<br />
where <strong>the</strong> peak is expected to be. As <strong>the</strong> ball continues to rotate and travel down <strong>the</strong><br />
lane, <strong>the</strong> module eventually aligns with a different ceiling light and ano<strong>the</strong>r local peak is<br />
created. Figure 3-2 shows this phenomenon quite clearly. As <strong>the</strong> ball continues down<br />
<strong>the</strong> lane, <strong>the</strong>se point sources eventually combine to look like a single light source, hence<br />
<strong>the</strong> lack <strong>of</strong> "side lobes" in Figure 3-3.<br />
48