SYSTEM AND METHOD FOR SWEET SPOT DETECTION
20220096905 · 2022-03-31
Inventors
- GAGAN DAGA (BANGALORE, IN)
- RAHUL NAGAR (BANGALORE, IN)
- SANJIV SONI (BANGALORE, IN)
- KASI VISWANADH SRIPADA (TEKKALI, IN)
Cpc classification
A63B60/46
HUMAN NECESSITIES
A63B60/42
HUMAN NECESSITIES
A63B2220/833
HUMAN NECESSITIES
G06F18/285
PHYSICS
G06F2218/10
PHYSICS
International classification
Abstract
A system including a data extraction module (DEM), a data tagging module (DTM), and a sweet spot detection module (SSDM) and a method for detecting a sweet spot on a bat are provided. A sensor device including multiple sensors is coupled to a rear surface of the bat. The sensors continuously record event-based data elements associated with multiple shots on multiple regions on the bat within a configurable time period. The DEM extracts and stores the event-based data elements. The DTM aggregates and tags each event-based data element based on a position of each shot at each region on the bat and feedback data regarding shot types. The SSDM detects and distinguishes a sweet spot shot from a non-sweet spot shot and an edge shot based on responses produced by the bat at each region during and after each shot is hit using the event-based data elements.
Claims
1. A system for detecting a sweet spot on a bat, the system comprising: a sensor device operably coupled to a rear surface of the bat, wherein the sensor device comprises a plurality of sensors configured to continuously record a plurality of event-based data elements associated with a plurality of shots on a plurality of regions on the bat within a configurable time period in any one of real time and near real time, and wherein the sensor device is communicatively coupled to a user device and a sweet spot detection server via a network; a non-transitory, computer-readable storage medium configured to store the plurality of event-based data elements and computer program instructions defined by a plurality of modules embedded in any one of the sensor device, the user device, and the sweet spot detection server; at least one processor operably and communicatively coupled to the non-transitory, computer-readable storage medium and configured to execute the computer program instructions defined by the plurality of modules; and the plurality of modules comprising: a data extraction module configured to extract and store the plurality of event-based data elements received from the plurality of sensors of the sensor device; a data tagging module configured to aggregate and tag each of the plurality of event-based data elements based on a position of each of the plurality of shots at each of the plurality of regions on the bat where a ball is bit and feedback data received from a player who hit the ball with the bat; and a sweet spot detection module configured to: determine responses produced by the bat at the each of the plurality of regions during and after each of the plurality of shots is hit by analysing the plurality of event-based data elements; and detect and distinguish a sweet spot shot from a non-sweet spot shot and an edge shot among the plurality of shots based on the determined responses.
2. The system according to claim 1, wherein the sensor device comprises: an accelerometer configured to measure an amount of force exerted on the ball by the bat during a swing of the bat; a gyroscope configured to measure a rate of rotation of the bat; and a magnetometer configured to measure a direction, a strength, and a relative change of a magnetic field at the each of the plurality of regions on the bat.
3. The system according to claim 1, wherein the plurality of event-based data elements comprises acceleration and angular velocity of the bat while the bat is in motion and vibrations generated on the bat after the each of the plurality of shots.
4. The system according to claim 1, wherein the each of the plurality of shots comprises an impact of the ball on the bat and is represented in terms of acceleration in three dimensions and angular velocity in three axes, and wherein the plurality of shots comprises sweet spot shots, non-sweet spot shots, and edge shots.
5. The system according to claim 1, wherein the sweet spot detection module is configured to classify each of the plurality of shots into a first part, a second part, and a third part, wherein the first part lies in a time duration before the ball hits the bat when the bat gains momentum till the ball is any one of hit and missed, and wherein the second part is a time instance when the ball collides with the bat, and wherein the third part lies in a time duration when the bat loses momentum and attempts to return to rest.
6. The system according to claim 1, wherein the plurality of modules comprises a noise filter configured to filter out noise from the plurality of event-based data elements.
7. The system according to claim 1, wherein the sweet spot detection module is configured to process the plurality of regions on the bat in terms of a first region, a second region, a third region, and a fourth region, wherein the first region is located proximal to a handle and a shoulder of the bat, and wherein the second region is located proximal to the first region and the shoulder of the bat, and wherein the third region is located proximal to the second region and a toe of the bat, and wherein the fourth region is located at the toe of the bat and proximal to the third region.
8. The system according to claim 1, wherein the sweet spot detection module is configured to determine the responses produced by the bat at the each of the plurality of regions by: computing a resultant acceleration of the bat during and after the each of the plurality of shots for the each of the plurality of regions; computing a change in the resultant acceleration of the bat after the each of the plurality of shots for the each of the plurality of regions using a statistical metric, and wherein the statistical metric is standard deviation; and analysing a deviation in the resultant acceleration versus a deviation in the change in the resultant acceleration of the bat associated with the each of the plurality of shots for the each of the plurality of regions.
9. The system according to claim 8, wherein the sweet spot detection module is configured to analyse the deviation in the acceleration between two axes of the bat associated with the each of the plurality of shots for the each of the plurality of regions by generating one or more decision boundaries for clustering the plurality of shots and classifying the each of the plurality of shots as the sweet spot shot, the non-sweet spot shot, and an edge shot.
10. The system according to claim 1, the plurality of modules comprises a machine learning module configured to predict one or more of the plurality of regions on the bat where the sweet spot shot is detected based on a statistical metric in three axes, wherein the statistical metric is standard deviation.
11. A method for detecting a sweet spot on a bat, the method comprising steps of: operably coupling a sensor device comprising a plurality of sensors to a rear surface of the bat, wherein the sensor device is communicatively coupled to a user device and a sweet spot detection server via a network; configuring a data extraction module, a data tagging module, and a sweet spot detection module in any one of the sensor device, the user device, and the sweet spot detection server; continuously recording a plurality of event-based data elements associated with a plurality of shots on a plurality of regions on the bat within a configurable time period in any one of real time and near real time by the plurality of sensors of the sensor device; extracting and storing the plurality of event-based data elements by the data extraction module; aggregating and tagging each of the plurality of event-based data elements by the data tagging module based on a position of each of the plurality of shots at each of the plurality of regions on the bat where a ball is hit, and a feedback data received from a player who hit the ball with the bat; determining responses produced by the bat at the each of the plurality of regions during and after the each of the plurality of shots is hit by the sweet spot detection module by analysing the plurality of event-based data elements; and detecting and distinguishing a sweet spot shot from a non-sweet spot shot and an edge shot among the plurality of shots by the sweet spot detection module based on the determined responses.
12. The method according to claim 11, wherein the plurality of event-based data elements comprises acceleration and angular velocity of the bat while the bat is in motion and vibrations generated on the bat after the each of the plurality of shots.
13. The method according to claim 11, wherein the each of the plurality of shots comprises an impact of the ball on the bat and is represented in terms of acceleration in three dimensions and angular velocity in three axes, and wherein the plurality of shots comprises sweet spot shots, non-sweet spot shots, and edge shots.
14. The method according to claim 11, comprises classifying the each of the plurality of shots into a first part, a second part, and a third part by the sweet spot detection module, and wherein the first part lies in a time duration before the ball hits the bat when the bat gains momentum till the ball is any one of hit and missed, and wherein the second part is a time instance when the ball collides with the bat, and wherein the third part lies in a time duration when the bat loses momentum and attempts to return to rest.
15. The method according to claim 11, comprises filtering out noise from the plurality of event-based data elements by a noise filter configured in any one of the sensor device, the user device, and the sweet spot detection server.
16. The method according to claim 11, comprises processing the plurality of regions on the bat in terms of a first region, a second region, a third region, and a fourth region by the sweet spot detection module, wherein the first region is located proximal to a handle and a shoulder of the bat, and wherein the second region is located proximal to the first region and the shoulder of the bat, and wherein the third region is located proximal to the second region and a toe of the bat, and wherein the fourth region is located at the toe of the bat and proximal to the third region.
17. The method according to claim 11, wherein the determination of the responses produced by the bat at the each of the plurality of regions during and after the each of the plurality of shots is hit by the sweet spot detection module comprises: computing a resultant acceleration of the bat during and after the each of the plurality of shots for the each of the plurality of regions; computing a change in the resultant acceleration of the bat after the each of the plurality of shots for the each of the plurality of regions using a statistical metric, and wherein the statistical metric is standard deviation; and analysing a deviation in the resultant acceleration versus a deviation in the change in the resultant acceleration of the bat associated with the each of the plurality of shots for the each of the plurality of regions.
18. The method according to claim 17, comprises analysing the deviation in the acceleration between two axes of the bat associated with the each of the plurality of shots for the each of the plurality of regions by generating one or more decision boundaries for clustering the plurality of shots and classifying the each of the plurality of shots as the sweet spot shot, the non-sweet spot shot, and an edge shot by the sweet spot detection module.
19. The method according to claim 11, comprises predicting one or more of the plurality of regions on the bat where the sweet spot shot is detected by a machine learning module based on a statistical metric in three axes, and wherein the machine learning module is configured in any one of the sensor device, the user device, and the sweet spot detection server, and wherein the statistical metric is standard deviation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The other objects, features, and advantages will occur to those skilled in the art from the following description of the embodiments and the accompanying drawings in which:
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096] The specific features of the embodiments herein are shown in some drawings and not in others for convenience only as each feature may be combined with any or all of the other features in accordance with the embodiments herein.
DETAILED DESCRIPTION
[0097] In the following detailed description, a reference is made to the accompanying drawings that form a part hereof, and in which the specific embodiments that may be practiced is shown by way of illustration. These embodiments are described with sufficient detail to enable those skilled in the art to practice the embodiments and it is to be understood that the logical, mechanical and other changes may be made without departing from the scope of the embodiments. The following detailed description is therefore not to be taken in a limiting sense.
[0098] The various embodiments herein provide a portable system and a method for detecting a sweet spot on a bat and distinguishing a sweet spot shot from a non-sweet spot shot independent of the type and build of a player and the type of bat used for playing a sport such as cricket. The various embodiments herein provide a portable system and a method for determining whether a ball has hit a sweet spot on a bat. The bat is, for example, any one of a cricket bat, a baseball bat, a tennis racket, a table tennis racket, a badminton racket, a hockey stick, etc., and the ball is, respectively, any one of a cricket ball, a baseball, a tennis ball, a table tennis ball, a shuttlecock, a hockey ball, etc.
[0099] According to an embodiment herein, a machine learning/statistical model-based system and method are provided for identification of sweet spots. According to an embodiment herein, the system comprises a sensor device, a non-transitory, computer-readable storage medium, at least one processor, and a plurality of modules configured to define computer program instructions for detecting a sweet spot on a bat. As used herein, “non-transitory, computer-readable storage medium” refers to all computer-readable media, for example, non-volatile media, volatile media, and transmission media, except for a transitory, propagating signal. Non-volatile media comprise, for example, solid state drives, optical discs or magnetic disks, flash memory cards, a read-only memory (ROM), etc. Volatile media comprise, for example, a register memory, a processor cache, a random-access memory (RAM), etc. Transmission media comprise, for example, coaxial cables, copper wire, fiber optic cables, modems, etc., including wires that constitute a system bus coupled to the processor. According to an embodiment herein, the plurality of modules comprises a data extraction module, a data tagging module, and a sweet spot detection module embedded in any one of the sensor devices, the user device, and the sweet spot detection server.
[0100] According to an embodiment herein, the sensor device is operably coupled to a rear surface of the bat. The sensor device comprises a plurality of sensors configured to continuously record a plurality of event-based data elements associated with a plurality of shots on a plurality of regions on the bat within a configurable time period in real time or near real time. The plurality of event-based data elements comprises, for example, acceleration and angular velocity of the bat while the bat is in motion and vibrations generated on the bat after each of the plurality of shots. Each of the plurality of shots comprises an impact of the ball on the bat and is represented, in an embodiment, in terms of acceleration in three dimensions and angular velocity in three axes. The plurality of shots comprises, for example, sweet spot shots, non-sweet spot shots, and edge shots. According to an embodiment herein, the sensor device comprises an accelerometer, a gyroscope, and a magnetometer. The accelerometer is configured to measure an amount of force exerted on the ball by the bat during a swing of the bat. The gyroscope is configured to measure a rate of rotation of the bat. The magnetometer is configured to measure a direction, a strength, and a relative change of a magnetic field at each of the plurality of regions on the bat. According to an embodiment herein, the plurality of modules comprises a noise filter configured to filter out noise from the plurality of event-based data elements. The sensor device is communicatively coupled to a user device and a sweet spot detection server via a network. The non-transitory, computer-readable storage medium, for example, a memory unit, is configured to store the plurality of event-based data elements and the computer program instructions defined by the plurality of modules. The processor is operably and communicatively coupled to the non-transitory, computer-readable storage medium and configured to execute the computer program instructions defined by the plurality of modules.
[0101] According to an embodiment herein, the data extraction module is configured to extract and store the plurality of event-based data elements received from the plurality of sensors of the sensor device. According to an embodiment herein, the data tagging module is configured to aggregate and tag each of the plurality of event-based data elements based on a position of each of the plurality of shots at each of the plurality of regions on the bat where a ball is hit and feedback data received from a player who hit the ball with the bat.
[0102] According to an embodiment herein, the sweet spot detection module is configured to classify each of the plurality of shots into a first part, a second part, and a third part. The first part lies in a time duration before the ball hits the bat when the bat gains momentum till the ball is hit or missed. The second part is a time instance when the ball collides with the bat. The third part lies in a time duration when the bat loses momentum and attempts to return to rest. According to an embodiment herein, the sweet spot detection module is configured to process the plurality of regions on the bat in terms of a first region, a second region, a third region, and a fourth region. The first region is located proximal to a handle and a shoulder of the bat. The second region is located proximal to the first region and the shoulder of the bat. That is, the second region is a mid-top region on the bat. The third region is located proximal to the second region and a toe of the bat. That is, the third region is a mid-bottom region on the bat. The fourth region is located at the toe of the bat and proximal to the third region.
[0103] According to an embodiment herein, the sweet spot detection module is configured to determine responses produced by the bat at each of the plurality of regions during and after each of the plurality of shots is hit by analysing the plurality of event-based data elements. According to an embodiment herein, the sweet spot detection module is configured to detect and distinguish a sweet spot shot from a non-sweet spot shot and an edge shot among the plurality of shots based on the determined responses. According to an embodiment herein, the sweet spot detection module is configured to compute a resultant acceleration of the bat during and after each of the plurality of shots for each of the plurality of regions, compute a change in the resultant acceleration of the bat after each of the plurality of shots for each of the plurality of regions using a statistical metric, and analyse a deviation in the resultant acceleration versus a deviation in the change in the resultant acceleration of the bat associated with each of the plurality of shots for each of the plurality of regions. According to an embodiment herein, the statistical measure is standard deviation. According to an embodiment herein, the sweet spot detection module is configured to analyse the deviation in acceleration between two axes associated with each of the plurality of shots for each of the plurality of regions. According to an embodiment herein, the sweet spot detection module is configured to analyse the deviation in the resultant acceleration versus the deviation in the change in the resultant acceleration of the bat associated with each of the plurality of shots for each of the plurality of regions by generating one or more decision boundaries for clustering the plurality of shots and classifying each of the plurality of shots as a sweet spot shot, a non-sweet spot shot, and an edge shot.
[0104] According to an embodiment herein, the plurality of modules comprises a machine learning module configured to predict one or more of the plurality of regions on the bat and wherein the sweet spot shot is detected using a statistical metric, for example, standard deviation, in three axes.
[0105] According to an embodiment herein, a method for detecting a sweet spot on a bat is provided. According to an embodiment herein, the method disclosed herein comprises mounting a sensor device on a rear surface of the bat used by a player; recording and collecting impact data of the bat once the player starts playing shots using the sensors provided in the sensor device; filtering noise from the collected data; and transmitting the filtered data to a user device, for example, a mobile device. The method disclosed herein further comprises extracting the filtered data received from the sensor device; tagging the filtered data using a mobile application provided in the user device; and transmitting the tagged data to a remote server for analysing and modelling purposes and for storing the analysed data centrally.
[0106]
[0107] The sensor device 102 then transmits the collected data to a user device 103 via a network 104 using the transceiver. The user device 103 is an electronic device, for example, one or more of a personal computer, a tablet computing device, a mobile computer, a mobile phone, a smart phone, a portable computing device, a laptop, a personal digital assistant, a wearable computing device such as smart glasses, a smart watch, etc., a touch centric device, a client device, a portable electronic device, a network enabled computing device, an interactive network enabled communication device, a gaining device, an image capture device, any other suitable computing equipment, combinations of multiple pieces of computing equipment, etc. The network 104 is, for example, one of the internet, an intranet, a wired network, a wireless network, a communication network that implements Bluetooth® of Bluetooth Sig, Inc., a network that implements Wi-Fi® of Wi-Fi Alliance Corporation, an ultra-wideband (UWB) communication network, a wireless universal serial bus (USB) communication network, a communication network that implements ZigBee® of ZigBee Alliance Corporation, a general packet radio service (GPRS) network, a mobile telecommunication network such as a global system for mobile (GSM) communications network, a code division multiple access (CDMA) network, a third generation (3G) mobile communication network, a fourth generation (4G) mobile communication network, a fifth generation (5G) mobile communication network, a long-term evolution (LTE) mobile communication network, a public telephone network, etc., a local area network, a wide area network, an internet connection network, an infrared communication network, etc., or a network formed from any combination of these networks. A player undergoing coaching or training for a sport such as cricket provides and receives feedback through the user device 103. According to an embodiment herein, the sensor device 102 communicates with the user device 103, for example, via a Bluetooth low energy (BLE) network technology. According to an embodiment herein, the system 100 disclosed herein is used on a sports field for training and coaching players in a near instantaneous time period.
[0108] According to an embodiment herein, the user device 103 is a mobile device comprising a mobile application that receives the data transmitted by the sensor device 102 using the transceiver. According to an embodiment herein, the user device 103 comprises a data extraction module for extracting the received data and a data tagging module for tagging the extracted data for analysing shots hit by the player using the bat 101 as disclosed in the detailed description of
[0109] According to an embodiment herein, the system 100 further comprises a server, for example, a remote cloud-based server, herein referred to as a sweet spot detection server 105 configured to receive the tagged data from the user device 103 via a transceiver of the user device 103. The sweet spot detection server 105 is a computing device, for example, one or more of a personal computer, a workstation, a network enabled computing device, an interactive network enabled communication device, any other suitable computing equipment, combinations of multiple pieces of computing equipment, etc. The sweet spot detection server 105 comprises a sweet spot detection module configured as an analysis module for analysing and modelling the tagged data as disclosed in the detailed description of
[0110]
[0111] The sensor device 102 further comprises a noise filter 112, a microcontroller 109, a storage device 110, and a transceiver 111, and a display unit 133. The noise filter 112 filters out noise from the event-based data elements measured by the accelerometer 106, the gyroscope 107, and the magnetometer 108. The noise filter 112 is, for example, a high pass filter with a cut-off frequency of 100 Hertz (Hz). According to an embodiment herein, the microcontroller 109 is operably and communicatively coupled to the storage device 110. The microcontroller 109 is configured to control the operations of the sensors, that is, the accelerometer 106, the gyroscope 107, and the magnetometer 108. The microcontroller 109 receives the event-based data elements associated with the shots on the different regions on the bat 101 and stores the event-based data elements in the storage device 110. According to an embodiment herein, the storage device 110 is a non-transitory, computer-readable storage medium configured to store the event-based data elements. The microcontroller 109 also transmits the event-based data elements to the user device 103 using the transceiver 111 via the network 104 as disclosed in the detailed description of
[0112] According to an embodiment herein, the user device 103 is a client system that communicates with the sweet spot detection server 105 via the network 104, for example, a short-range network or a long-range network. The user device 103 and the sweet spot detection server 105 are computer systems programmable using high-level computer programming languages. In another embodiment, the sweet spot detection server 105 is implemented in a cloud computing environment. As used herein, “cloud computing environment” refers to a processing environment comprising configurable computing physical and logical resources, for example, networks, servers, storage media, virtual machines, applications, services, etc., and data distributed over the network 104. The cloud computing environment provides an on-demand network access to a shared pool of the configurable computing physical and logical resources. In an embodiment, the sweet spot detection server 105 is a cloud computing-based platform implemented as a service for detecting a sweet spot on a bat 101.
[0113] As illustrated in
[0114] The user device 103 further comprises a processor 122 operably and communicatively coupled to the memory unit 117 for executing the computer program instructions defined by the modules, for example, 118, 119, etc., of the user device 103. The sweet spot detection server 105 further comprises a processor 126 operably and communicatively coupled to the memory unit 127 for executing the computer program instructions defined by the modules, for example, 128, 129, 130, etc., of the sweet spot detection server 105. The memory units 117 and 127 of the user device 103 and the sweet spot detection server 105 respectively, are used for storing program instructions, applications, and data. According to an embodiment herein, the memory units 117 and 127 of the user device 103 and the sweet spot detection server 105 respectively, comprise random-access memories (RAMS) or other types of dynamic storage devices that store information and instructions for execution by the respective processors 122 and 126. The memory units 117 and 127 of the user device 103 and the sweet spot detection server 105 respectively, also store temporary variables and other intermediate information used during execution of the instructions by the respective processors 122 and 126. According to an embodiment herein, the user device 103 and the sweet spot detection server 105 further comprise read only memories (ROMs) or other types of static storage devices that store static information and instructions for execution by the respective processors 122 and 126. According to an embodiment herein, the modules, for example, 118, 119, 120, etc., of the user device 103 are stored in the memory unit 117. According to an embodiment herein, the modules, for example, 128, 129, 130, 131, etc., of the sweet spot detection server 105 are stored in the memory unit 127.
[0115] The processor 122 of the user device 103 is configured to execute the computer program instructions defined by the modules, for example, 118, 119, etc., of the user device 103 for detecting a sweet spot on the bat 101. Similarly, the processor 126 of the sweet spot detection server 105 is configured to execute the computer program instructions defined by the modules, for example, 128, 129, 130, etc., of the sweet spot detection server 105 for detecting a sweet spot on the bat 101. The processors 122 and 126 of the user device 103 and the sweet spot detection server 105 respectively, refer to any one or more microprocessors, central processing unit (CPU) devices, finite state machines, computers, microcontrollers, digital signal processors, logic, logic devices, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), chips, etc., or any combination thereof, capable of executing computer programs or a series of commands, instructions, or state transitions. According to an embodiment herein, the processors 122 and 126 of the user device 103 and the sweet spot detection server 105 respectively, are implemented as processor sets comprising, for example, programmed microprocessors and math or graphics co-processors. The user device 103 and the sweet spot detection server 105 are not limited to employing the processors 122 and 126 respectively. According to an embodiment herein, the user device 103 and the sweet spot detection server 105 employ controllers or microcontrollers. The processor 122 executes the modules, for example, 118, 119, etc., of the user device 103. The processor 126 executes the modules, for example, 128, 129, 130, etc., of the sweet spot detection server 105.
[0116] As illustrated in
[0117] According to an embodiment herein, the user device 103 further comprises a transceiver 116 for enabling a connection of the user device 103 to the sensor device 102 and the sweet spot detection server 105. According to an embodiment herein, the transceiver 116 of the user device 103 communicates with the transceiver 111 of the sensor device 102 for receiving the event-based data elements from the sensor device 102. According to an embodiment herein, the transceiver 116 of the user device 103 enables connection of the user device 103 to the network 104 and receives the event-based data elements from the sensor device 102 via the network 104.
[0118] According to an embodiment herein, the sweet spot detection server 105 further comprises a network interface 124 for enabling a connection of the sweet spot detection server 105 to the network 104. In an embodiment, the network interface 124 is provided as an interface card also referred to as a line card. The network interface 124 is, for example, one or more of infrared interfaces, interfaces implementing Wi-Fit of Wi-Fi Alliance Corporation, universal serial bus interfaces, FireWire® interfaces of Apple Inc., Ethernet interfaces, frame relay interfaces, cable interfaces, digital subscriber line interfaces, token ring interfaces, peripheral controller interconnect interfaces, local area network interfaces, wide area network interfaces, interfaces using serial protocols, interfaces using parallel protocols, Ethernet communication interfaces, asynchronous transfer mode interfaces, high speed serial interfaces, fiber distributed data interfaces, interfaces based on transmission control protocol (TCP)/internet protocol (IP), interfaces based on wireless communications technology such as satellite technology, radio frequency technology, near field communication, etc. The common modules 115 and 125 of the user device 103 and the sweet spot detection server 105 respectively, comprise, for example, input/output (L/O) controllers, input devices, output devices, fixed media drives such as hard drives, removable media drives for receiving removable media, etc. Computer applications and programs are used for operating the user device 103 and the sweet spot detection server 105. The programs are loaded onto fixed media drives and into the memory units 117 and 127 of the user device 103 and the sweet spot detection server 105 respectively, via the removable media drives. In an embodiment, the computer applications and programs are loaded into the memory units 117 and 127 of the user device 103 and the sweet spot detection server 105 respectively, directly via the network 104.
[0119] In an exemplary implementation illustrated in
[0120] The data tagging module 119 aggregates and tags each of the event-based data elements based on a position of each shot at each region on the bat 101 where a ball is hit and feedback data received from the player who hit the ball with the bat 101. According to an embodiment herein, the feedback data comprises feedback regarding types of shots. According to an embodiment herein, the data tagging module 119 transmits the aggregated and tagged event-based data elements to the sweet spot detection server 105 via the network 104 using the transceiver 116.
[0121] In an exemplary implementation illustrated in
[0122]
[0123] According to an embodiment herein, the sweet spot detection module 128 determines responses produced by the bat 101 at each of the regions during and after each of the shots is hit by analysing the event-based data elements. According to an embodiment herein, the sweet spot detection module 128 detects and distinguishes a sweet spot shot from a non-sweet spot shot and an edge shot among the shots based on the determined responses.
[0124] According to an embodiment herein, the sweet spot detection module 128 computes a resultant acceleration of the bat 101 during and after each of the shots for each of the regions, computes a change in the resultant acceleration of the bat 101 after each of the shots for each of the regions using a statistical metric, and analyses a deviation in the resultant acceleration versus a deviation in the change in the resultant acceleration of the bat 101 associated with each of the shots for each of the regions. According to an embodiment herein, the statistical measure is standard deviation. According to an embodiment herein, the sweet spot detection module 128 analyses the deviation in the resultant acceleration versus the deviation in the change in the resultant acceleration of the bat 101 associated with each of the shots for each of the regions by generating one or more decision boundaries for clustering the shots and classifying each of the shots as a sweet spot shot, a non-sweet spot shot, and an edge shot. According to an embodiment herein, the sweet spot detection server 105 further comprises a noise filter 129 for filtering out noise from the aggregated and tagged event-based data elements prior to and/or during the analysis of the aggregated and tagged event-based data elements. According to an embodiment herein, the machine learning module 130 predicts one or more of the regions of the bat 101 where the sweet spot shot is detected based on a statistical metric, for example, standard deviation, in three axes.
[0125] The database 131 is any storage area or medium that can be used for storing data and files. According to an embodiment herein, the database 131 is any of a structured query language (SQL) data store or a not only SQL (NoSQL) data store. According to another embodiment herein, the database 131 is a location on a file system. According to another embodiment herein, the database 131 is configured to be remotely accessible by the sweet spot detection server 105 via the network 104. In another embodiment, the sweet spot detection server 105 is configured as a cloud-based database implemented in a cloud computing environment.
[0126] According to an embodiment herein, the data extraction module 118 and the data tagging module 119 embedded in the user device 103 are disclosed above as software executed by the processor 122. Similarly, according to an embodiment herein, the sweet spot detection module 128, the noise filter 129, and the machine leaning module 130 embedded in the sweet spot detection server 105 are disclosed above as software executed by the processor 126. According to an embodiment herein, the modules, for example, 118, 119, etc., of the user device 103 and the modules, for example, 128, 129, 130, etc., of the sweet spot detection server 105 are implemented completely in hardware. According to another embodiment herein, the modules, for example, 118, 119, etc., of the user device 103 and the modules, for example, 128, 129, 130, etc., of the sweet spot detection server 105 are implemented by logic circuits to carry out their respective functions disclosed above. According to another embodiment herein, the system 100 is also implemented as a combination of hardware and software and one or more processors, for example, 122, 126, etc., that are used to implement the modules, for example, 118, 119, etc., of the user device 103 and the modules, for example, 128, 129, 130, etc., of the sweet spot detection server 105.
[0127] For purposes of illustration, the detailed description refers to the data extraction module 118 and the data tagging module 119 being implemented in the user device 103 using programmed and purposeful hardware, while the sweet spot detection module 128 and the machine learning module 130 being implemented in the sweet spot detection server 105 using programmed and purposeful hardware. According to one embodiment herein, the data extraction module 118, the data tagging module 119, the sweet spot detection module 128, and the machine learning module 130 are implemented in the sensor device 102 to carry out their respective functions disclosed above from within the sensor device 102. According to one embodiment, the display unit 133 of the sensor device 102 displays information, display interfaces, user interface elements such as checkboxes, input text fields, etc., for allowing a player to input feedback related to a presence or absence of a recoil force after hitting a shot using the bat 101, for displaying results of the analysis and modelling of the event-based data elements received from the sensor device 102, etc. According to one embodiment herein, the data extraction module 118, the data tagging module 119, the sweet spot detection module 128, and the machine learning module 130 are embedded in any one or more of the sensor device 102, the user device 103, and the sweet spot detection server 105.
[0128] For purposes of illustration, the detailed description refers to the modules, for example, 118, 119, etc., of the user device 103 and the modules 128, 129, 130, etc., of the sweet spot detection server 105 being nm locally on single computer systems; however the scope of the system 100 and the method disclosed herein is not limited to the modules, for example, 118, 119, etc., of the user device 103 and the modules 128, 129, 130, etc., of the sweet spot detection server 105 being run locally on single computer systems via their respective operating systems and processors 122 and 126, but may be extended to run remotely over the network 104 by employing a web browser and a remote server, a mobile phone, or other electronic devices. In an embodiment, one or more portions of the system 100 disclosed herein are distributed across one or more computer systems (not shown) coupled to the network 104.
[0129] The non-transitory, computer-readable storage media disclosed herein store computer program instructions executable by the processors 122 and 126 for detecting a sweet spot on a bat 101. The computer program instructions implement the processes of various embodiments disclosed above and perform additional steps that may be required and contemplated for detecting a sweet spot on a bat 101. When the computer program instructions are executed by the processors 122 and 126 of the user device 103 and the sweet spot detection server 105 respectively, the computer program instructions cause the respective processors 122 and 126 to perform the steps of the method for detecting a sweet spot on a bat 101 as disclosed in the detailed descriptions of
[0130] A module, or an engine, or a unit, as used herein, refers to any combination of hardware, software, and/or firmware. As an example, a module, or an engine, or a unit includes hardware, such as a microcontroller, associated with a non-transitory, computer-readable storage medium to store computer program codes adapted to be executed by the microcontroller. Therefore, references to a module, or an engine, or a unit, in an embodiment, refer to the hardware that is specifically configured to recognize and/or execute the computer program codes to be held on a non-transitory, computer-readable storage medium. According to an embodiment herein, the computer program codes comprising computer readable and executable instructions are implemented in any programming language, for example, C, C++, C#, Java®, JavaScript®, Fortran, Ruby, Peri®, Python®, Visual Basic®, hypertext preprocessor (PHP), Microsoft® .NET, Objective-CO, etc. According to an embodiment herein, other object-oriented, functional, scripting, and/or logical programming languages are also used. According to an embodiment herein, the computer program codes or software programs are stored on or in one or more mediums as object code. According to an embodiment herein, the term “module” or “engine” or “unit” refers to the combination of the microcontroller and the non-transitory, computer-readable storage media. Often module or engine or unit boundaries that are illustrated as separate commonly vary and potentially overlap. For example, a module or an engine or a unit may share hardware, software, firmware, or a combination thereof, while potentially retaining some independent hardware, software, or firmware. In various embodiments, a module or an engine or a unit includes any suitable logic.
[0131]
[0132]
[0133] Sweet spot shots on the front surface 101b of the cricket bat 101 as indicated by the impact points 405 are closely related to aspects such as physical motion and vibrations occurring post the impact. The accelerometer 106 of the sensor device 102 illustrated in
[0134] According to an embodiment herein, several experiments are conducted using the system disclosed herein. The first set of experiments are performed by keeping a cricket bat 101 stationary held by a person, for example, a player, while a mallet is moved towards a blade of the cricket bat 101. The mallet comprises a ball attached to a stick. In the second set of experiments, the cricket bat 101 is moved towards the mallet with some amount of force applied by the person. In the first set of experiments, the sensor device 102 mounted on the rear surface 101a of the cricket bat 101 collects data when the mallet is moved towards the cricket bat 101. The experiment is performed by dividing the cricket bat 101 into four regions 401, 402, 403, and 404 as illustrated in
[0135] According to an embodiment herein, each shot is classified into three parts. The first part lies in the duration before the ball collides with the cricket bat 101. In this duration, the cricket bat 101 gains momentum till the time the cricket bat 101 hits or misses the ball. The second part is a time instance when the ball collides with the cricket bat 101. This collision and its impact lasts for around 20 ms irrespective of where the ball hit the cricket bat 101. During this time, the ball squashes the face or the front surface 101b of the cricket bat 101 and the cricket bat 101 vibrates at a substantially fast pace which is difficult to perceive with human eyes. After the collision occurs, the ball departs the cricket bat 101 and the cricket bat 101 undergoes a follow through movement. The third part takes place where the cricket bat 101 loses momentum and attempts to return to rest.
[0136]
[0137]
[0138] According to an embodiment herein, the first experiment determines how different areas on the bat blade produce different acceleration and gyroscope responses. The data tagging module tags the shots based on the position of the impact. The experiment is performed in a controlled environment. One person holds the bat in a stationary position and another person holds a mallet in hand. The person holding the mallet moves the mallet towards the stationary bat to simulate a ball impact. After the impact, the position where the contact took place is determined with the help of chalk dust on the face of the mallet which leaves a mark on the front surface of the bat. The chalk dust on the front surface of the bat indicates the area of impact on the bat. This experiment allows a near accurate determination of the region where the impact happened. According to an example embodiment herein, acceleration is considered to capture the physical aspect of the ball and the bat collision. Acceleration patterns depict an instantaneous change in the acceleration experienced by a body. To visually determine how the acceleration wavers region-wise, the sensor data recorded by the sensor device 102 mounted on the rear surface 101a of the cricket bat 101 illustrated in
[0139]
[0140]
[0141] According to an embodiment herein, a consideration is made towards some deviation that exists in the resultant acceleration in the period following the collision. To capture the variation after the impact or the shot is hit, the method disclosed herein implements several statistical measures that represent the change. According to an embodiment, standard deviation is the statistical metric used.
[0142]
[0143] 8C illustrates a histogram depicting a change in resultant acceleration values for Third region, 403, according to an embodiment herein.
[0144]
[0145] After performing an initial exploratory analysis on the standard deviation in the resultant acceleration, standard deviation is considered for classifying the regions where the ball has hit the bat 101 and determining the sweet spot with a level of confidence. A change in resultant acceleration is also considered to indicate a continuous change in the relative levels of consecutive acceleration. According to an embodiment herein, the statistical metric used to measure a fluctuation in this change is standard deviation.
[0146]
[0147]
[0148]
[0149] According to an embodiment herein, the machine learning module of the system executes machine learning algorithms to identify unique characteristics of a sweet spot shot. In one example embodiment, to model an insight of the sweet spot shot, the machine learning module trains a machine learning model using the standard deviation in the three axes as input and predicts the region on the bat where sweet spot shots are hit. Instead of writing rule-based logic for classifying the shots into sweet spot shots and non-sweet spot shots, the machine learning module trains statistical models to bucket the shots. The machine learning module allows learning from these statistical models and gaining insights to determine how a machine classifies waves into clusters.
[0150] According to an embodiment herein, the machine learning module implements supervised learning classifiers comprising, for example, a support vector machine (SVM) model, a decision tree model, and a random forest model. According to an embodiment, the machine learning module trains each model with 80% of the filtered data and the rest is used for testing the performance on unseen data with random shuffling in a split to remove a split bias. The target variable is the region to predict for a sweet spot shot and the features are standard deviation in acceleration in the X, Y, and Z axes for a 20-millisecond period post 20 milliseconds of the impact location.
[0151] According to one example embodiment, the machine learning module selects a confusion matrix as a performance metric to determine model among the SVM model, the decision tree model, and the random forest model is better. The machine learning module uses the confusion matrix for describing the confidence on correct and misclassifications.
[0152]
[0153] According to an embodiment herein, the machine learning module analyses the output of the statistical models, for example, the SVM model, the decision tree model, and the random forests model. The machine learning module compares true labels with the predicted labels and identifies unique characteristics of each region. According to an embodiment herein, the machine learning module separates all the shots hit on each region of the bat into limits derived by the machine trained model. According to an embodiment herein, the sweet spot detection module of the system, in communication with the machine learning module, generates a decision boundary or a line for differentiating a majority of region in the scatter plots illustrated in
[0154]
[0155]
[0156]
[0157]
[0158] According to an embodiment herein, from the four scatter plots illustrated in
[0159] According to an embodiment herein, the second set of experiments identifies a sweet spot shot on a moving bat as in a real-world situation. According to an embodiment herein, the sweet spot detection module applies the same a-priori information to analyse two features, that is, the resultant acceleration and the change in resultant acceleration for shots in motion. In the second set of experiments, the bat 101 is classified into four regions 401, 402, 403, and 404 of the same size as illustrated in
[0160]
[0161] First region, 401, that is, the top region of the bat 101, according to an embodiment herein.
[0162] From the four graphs illustrated in
[0163]
[0164]
[0165]
[0166]
[0167] The scatter plots illustrated in
[0168] The shots that are lying below the respective decision boundaries 2301, 2501, 2701, and 2901, that is, towards the origin, contain less amount of physical disturbance after the impact has taken place with the ball.
[0169] According to an embodiment herein, the sweet spot detection module analyses edge shots to improve the detection of a sweet spot. Edge shots take place when the ball slightly touches the bat towards the edge of the bat blade. According to this embodiment, the data extraction module extracts data related to edge shots from the sensor data received from the sensor device 102 illustrated in
[0170] According to an embodiment herein, the sweet spot detection module combines different cases, that is, the case where the bat is in motion and the case where edge shots are considered and compares them for detecting and distinguishing sweet spot shots from non-sweet spot shots and edge shots. The sweet spot detection module combines filters on all data sets that are explored for the different regions 401, 402, 403, and 404 of the bat 101 shown in
[0171]
[0172] According to an embodiment herein, based on the edge shots, the sweet spot detection module identifies another decision boundary or line that helps in separating the edge shots from typical shots. Adding the decision boundary across the typical shots indicates that a substantially small percentage of shots, for example, about 1% of the shots lie in a region towards the origin, while the rest of the typical shots are above the decision boundary away from the origin, thereby classifying the edge shots from the typical shots.
[0173] The above experiments indicate that the sensor device 102 with at least one accelerometer 106 mounted on the bat 101 as illustrated in
[0174] Consider an example where the sensor device 102 illustrated in
[0175]
[0176]
[0177] According to an embodiment herein, the sweet spot detection module applies a high pass filter with a cut-off frequency of, for example, 100 Hz on the Y-axis data and the Z-axis data to remove the effect of the bat swing and slightly changes the range of selected samples. That is, the sweet spot detection module changes the range on the X-axis, for example, to 40-70 and the range on the Y-axis, for example, to 30-70.
[0178]
[0179] According to an embodiment herein, the sweet spot detection module applies a standard deviation on the X-axis and the Z-axis and generates a scatter plot.
[0180] The system and the method disclosed herein implement one or more specific computer programs for detecting a sweet spot on a bat. The system and the method disclosed herein improve the functionality of a computer and provide an improvement in sports analysis and training technology related to detecting a sweet spot on a bat as follows: On implementing the method disclosed herein, the sensors of the sensor device 102 continuously record multiple event-based data elements associated with multiple shots on different of regions on the bat within a configurable time period in real time or near real time. Then, the data extraction module, through the use of a separate and autonomous computer program, extracts and stores the event-based data elements received from the sensors of the sensor device. The data tagging module aggregates and tags each of the event-based data elements based on a position of each of the shots at each of the regions on the bat where a ball is hit and feedback data received from a player who hit the ball with the bat. Then, the sweet spot detection module, through the use of separate and autonomous computer programs, determines responses produced by the bat at each of the regions during and after each of the shots is hit by analysing the event-based data elements; and detects and distinguishes a sweet spot shot from a non-sweet spot shot and an edge shot among the shots based on the determined responses as disclosed in the detailed descriptions of
[0181] The focus of the system and the method disclosed herein is on an improvement to sports analysis and training technology and computer functionalities for detecting a sweet spot on a bat, and not on tasks for which a generic computer is used in its ordinary capacity. Rather, the system and the method disclosed herein are directed to a specific improvement to the way processors in the system operate, embodied in, for example, continuously recording multiple event-based data elements associated with multiple shots on different of regions on the bat within a configurable time period in real time or near real time; extracting and storing the event-based data elements received from the sensors of the sensor device; aggregating and tagging each of the event-based data elements; determining responses produced by the bat at each of the regions during and after each of the shots is hit by analysing the event-based data elements; and detecting and distinguishing a sweet spot shot from a non-sweet spot shot and an edge shot among the shots based on the determined responses.
[0182] In the method disclosed herein, the design and the flow of data and interactions between the sensor device 102, the user device 103, and the sweet spot detection server 105 of the system 100 illustrated in
[0183] The various embodiments herein provide a system and a method for sweet spot detection. The system and method disclosed herein makes use of miniaturized sensors placed on a bat to measure the physical aspect of a bat swing, which results in a substantially accurate 3D motion recreation of each swing. The system and the method disclosed herein help in determining a sweet spot region on a bat and a sweet spot shot using a portable system. The system is suitable for use on the field for training and coaching in a near instantaneous time period. Furthermore, the sweet spot detection process followed by the system and the method disclosed herein is completely automated and cost-effective. The system and the method disclosed herein uses one or more machine learning algorithms to offer various types of analysis and modeling to users.
[0184] It is apparent in different embodiments that the various methods, algorithms, and computer-readable programs disclosed herein are implemented on non-transitory, computer-readable storage media appropriately programmed for computing devices. The non-transitory, computer-readable storage media participate in providing data, for example, instructions that are read by a computer, a processor or a similar device. In different embodiments, the “non-transitory, computer-readable storage media” also refer to a single medium or multiple media, for example, a centralized database, a distributed database, and/or associated caches and servers that store one or more sets of instructions that are read by a computer, a processor or a similar device. The “non-transitory, computer-readable storage media” also refer to any medium capable of storing or encoding a set of instructions for execution by a computer, a processor or a similar device and that causes a computer, a processor or a similar device to perform any one or more of the methods disclosed herein. According to an embodiment herein, the computer programs that implement the methods and algorithms disclosed herein are stored and transmitted using a variety of media, for example, the computer-readable media in various manners. According to an embodiment herein, hard-wired circuitry or custom hardware is used in place of, or in combination with, software instructions for implementing the processes of various embodiments. Therefore, the embodiments are not limited to any specific combination of hardware and software. Various aspects of the embodiments disclosed herein are implemented as programmed elements, or non-programmed elements, or any suitable combination thereof.
[0185] Where databases are described such as the data store 120 and the database 131 illustrated in
[0186] The embodiments disclosed herein are configured to work in a network environment comprising one or more computers that are in communication with one or more devices via a network. According to an embodiment herein, the computers communicate with the devices directly or indirectly, via a wired medium or a wireless medium such as the Internet, a local area network (LAN), a wide area network (WAN) or the Ethernet, a token ring, or via any appropriate communications mediums or combination of communications mediums. Each of the devices comprises processors, examples of which are disclosed above, that are adapted to communicate with the computers. According to an embodiment herein, each of the computers is equipped with a network communication device, for example, a network interface card, a modem, or other network connection device suitable for connecting to a network. Each of the computers and the devices executes an operating system. While the operating system may differ depending on the type of computer, the operating system provides the appropriate communications protocols to establish communication links with the network. Any number and type of machines may be in communication with the computers.
[0187] The embodiments disclosed herein are not limited to a particular computer system platform, processor, operating system, or network. One or more of the embodiments disclosed herein are distributed among one or more computer systems, for example, servers configured to provide one or more services to one or more client computers, or to perform a complete task in a distributed system. For example, one or more of the embodiments disclosed herein are performed on a client-server system that comprises components distributed among one or more server systems that perform multiple functions according to various embodiments. These components comprise, for example, executable, intermediate, or interpreted code, which communicate over a network using a communication protocol. The embodiments disclosed herein are not limited to be executable on any particular system or group of systems, and are not limited to any particular distributed architecture, network, or communication protocol.
[0188] The foregoing examples and illustrative implementations of various embodiments have been provided merely for explanation and are in no way to be construed as limiting of the embodiments disclosed herein. While the embodiments have been described with reference to various illustrative implementations, drawings, and techniques, it is understood that the words, which have been used herein, are words of description and illustration, rather than words of limitation. Furthermore, although the embodiments have been described herein with reference to particular means, materials, techniques, and implementations, the embodiments are not intended to be limited to the particulars disclosed herein; rather, the embodiments extend to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims. It will be understood by those skilled in the art, having the benefit of the teachings of this specification, that the embodiments disclosed herein are capable of modifications and other embodiments may be effected and changes may be made thereto, without departing from the scope and spirit of the embodiments disclosed herein.