the nature , objectives , and advantages of the invention will become more apparent to those skilled in the art after considering the following detailed description in connection with the accompanying drawings . an effective training tool for improving skill in martial arts and other combat sports may include the following features : 1 . accurate measurement of the magnitude of an impact delivered by an athlete to evaluate efficiency and effectiveness of various techniques . 2 . accurate representation of real world competitive environments . for example , points should be awarded when and only when a point would be awarded in a real world competition . 3 . quantitative measurement of accuracy , force , direction , and timing to allow the athletes to monitor and optimize techniques for scoring valid points most effectively . regarding terminology used herein , a session using the combat scoring system may comprise a personal training session , personal game session , multi - player game session , or official competition . an athlete is one who participates in a session by striking a target . a user is one who accesses an application providing an account related to combat scoring sessions hosted by the backend analytic system . the user is typically the same person as the athlete , although the user may also be a coach , a parent , or a judge . 4 . feedback to the athlete , coach or interested parties in the form of data and / or graphical representations of the training sessions and related impact data . fig1 is a block diagram of the components and interconnections of a combat scoring system , according to an embodiment of the invention . the combat scoring system comprises one or more target systems represented by target system 1 - 3 in fig1 . although three systems are illustrated according to an embodiment of the invention , any number of systems may be used ( i . e ., three systems are neither required nor are the number of systems limited to three ). according to the embodiment illustrated by fig1 , the analytic system is provided by cloud computing system 160 that provides storage and analysis of strike data , and may provide feedback to the athlete based on the analyzed data . cloud computing system 160 may also comprise computing resources used to support interaction among athletes across target systems . for example , athletes may compete in a multi - player game or competition , and the cloud may receive data from each of the target systems in real time and evaluate and determine the state of the game accordingly . in an alternate embodiment , the analytic system may be provided by a system hosted by an entity providing the combat scoring system . the analytic system is not required to be hosted in a cloud . however , to host multi - user games and competitions , the analytic system may need to be accessible from geographically dispersed target systems . user access point 165 provides a user interface to an athlete for establishing an account on the combat scoring system , configuring training session parameters , and initiating a personal training session . in an embodiment , the user access point may communicate over a wide - area network with the cloud processing and storage services to store and retrieve account and session data . in an alternate embodiment , a single target system may be used for an athlete to train solo , without interacting with other athletes . in this case , the cloud computing system 160 need not to be used for interpreting multiple system data as described above . thus , in an alternate embodiment the analysis , storage , and retrieval of session data provided by cloud computing system 160 may be implemented in a system local to an individual target system . in another embodiment , the system shown in fig1 may be used during an official competition , such as in the olympics , to supplement or replace human judges in determining when and how many points should be awarded . fig2 is a block diagram of the components of a target system , according to an embodiment of the invention . the large rectangle represents a single target system , such as any of target systems 1 - 3 . as shown in fig1 , each target system communicates with the cloud computing system 160 . a target system may comprise one or more sensor signal generators 220 ( also referred to as sensor systems ), with each sensor system corresponding to a distinct target within the target system . rather than embedding the sensor system in a garment worn by the athlete as described in prior patents , the sensor systems may be attached to a target . each target may provide a specific location to strike for determining accuracy and / or a feedback mechanism for indicating a successful strike of that target . each target may be distinctly configured to award points based on the accuracy , impact , timing , and direction of a strike on that target . for example , a mannequin of a human body may be instrumented as a target system with individual targets on various parts of the body . a strike to the head may result in a different amount of points awarded in tae kwon do as compared to a strike on the torso . when the system is used for foil fencing , however , a strike to the head may not be awarded with any points . a target system may also include a control box 210 , an actuator 240 , and a sensory feedback unit 245 . the sensor signal generator 220 comprises one or more sensor units . in an embodiment , a sensor unit may be a sensor matrix as disclosed in u . s . pat . no . 7 , 891 , 231 . a sensor matrix is a collection of one or more types of sensors that are interconnected spatially and logically to more accurately detect the impact and motion . for example , a sensor matrix may comprise gyroscopes , accelerometers , piezoelectric wires and magnetic field detection . a matrix of piezo electrical sensors and the magnetic field detection sensors may determine the magnitude of the impact as well as the location of the impact . when the source of the magnetic field is mounted to a foot or hand , the system may differentiate between the impact sources . the imu is a matrix of 3 accelerometer and 3 angular rate sensors . when this matrix of sensors is embedded in a target , one can derive the impact and the direction of the source of impact by detecting and computing the resulting motion . on impact , the target experiences movement with velocity and the direction that is proportional to the magnitude of impact and the direction of the impact . by combining the sensor information from the sensor matrix , the action or the environment of the action can be described more accurately . for example , a combination of a piezoelectric wires and the magnetic field can describe the magnitude of the impact as well as the source of the impact . a gyroscope and the accelerometer combination can detect motion in 3 dimensions as well as the magnitude of the force that caused the motion . the rate of change in angular position derived from the angular rate sensor can produce the angular acceleration of a target . by combining this information regarding the mass of the target , the force required to initiate this motion can be derived . a system that uses multiple sensors of the same type produces more accurate information of an action . for example , by averaging the output of a multiple piezoelectric sensors , and impact can be measured more accurately . a sensor matrix may be embedded within a target , and the sensors may be activated when the sensors are directly hit . a successful target strike activates the sensors in the matrix , which generates one or more signals that are delivered into a control box 210 . the ideal impact sensor should be economical , rugged , and consume little or no power during normal operation . there are two types of sensors that meet these requirements : piezo cable and piezo sheet . fig6 illustrates a design for a piezo sheet sensor , according to an embodiment of the invention . both piezo cable and sheet sensors are constructed of polymers that convert mechanical energy into electrical signals . the mechanical energy changes the shapes and the inter - molecular relationship of polymers that makes up the piezo materials . these changes generate electrical charges that can be measured with proper interface hardware as described in the referenced patent . the piezo cables are inherently rugged , however , it can only sense in linear form . in order to sense two dimensional area with acceptable accuracy and consistency , it must be applied in a circular form or any other form that allows two dimensional coverage of the target . the sheet sensors are two dimensional , but the sensing materials are fragile . in order to prevent failure , the sheet sensors are laminated with material that provides protection . in either case , the magnitude of mechanical deformation due to the impact generates corresponding magnitude in electrical charge . the relation is : v = i × r = dq / dt × impedance , dq / dt = instantaneous change in charge * the resistivity characteristic of the material . substituting the q , v =( d ( k × force )/ dt )× impedance : the relationship between force and voltage . the constant conversion factor is typical property of the material which is specified by the manufacturers . a distinctive feature of this combat scoring system is that an inertial measurement unit ( imu ) may be used to implement sensor signal generator 220 . an imu comprises an ultra - low cost inertial measurement sensor , which when mounted on the target system , can detect the roll and pitch of target movement after an impact . the vector position displacement and the rate of the displacement can be used to estimate the direction and the magnitude of the impact . in an embodiment , the additional magnetometers used in avionics may not be needed for detecting yaw . in the target motion detection , a set of 3 axis accelerometer and 3 axis angular motion sensors may be adequate . an additional piezo sensor may be used in parallel to measure instantaneous impact while an im sensor may measure the motion due to the impact . as a result , an imu - based sensor system may be mounted onto a target device such as on top of a punching bag or some other place outside of the strike zone , because the imu - based sensor system need not be struck directly . the punching bag is struck and that energy and motion is transferred to our sensor system where the impact data may be analyzed and recorded . in an embodiment in which only an imu is used in a target system , instrumented targets are not required to derive strike force and angle . the force and direction of the strike can be determined by just the imu when the weight of the target is known , such as when the imu system is mounted onto a heavy punching bag . in this embodiment , the athlete may strike the punching bag , and the system may record impact magnitude and direction of the athlete &# 39 ; s strikes . as mentioned earlier , the control box 210 receives signals from the sensor system . in an embodiment , the signals may be analog or digital signals . the control box may interpret the received signals , and sends a message over a network to store the data and for potentially additional analysis . in an embodiment , the control box 210 may comprise components including a data acquisition processor 225 , a local data analyzer 230 , a central communication processor 235 , and a wireless link 250 . the data acquisition processor 225 receives signals from one or more sensor systems . for example , one or more hall sensors may provide a signal to indicate that the sensor was hit . proximity to a target location may be determined by receiving signals from a variety of hall sensor types . for example , a commercially available point hall sensor may indicate a point location of the hit ( i . e . the bull &# 39 ; s eye ) because only a hit very near the location of the sensor generates a signal . other hall sensors may be custom built to cover a wider area around the target and generate a signal to register a hit farther away from the sensor . by comparing the signals generated by the various hall sensors , the distance of the hit from the target point may be determined . in an embodiment of the invention , dedicated proximity sensors may not be used . signals received from other sensors that are placed at known locations may be used to determine the location of the hit . a sensor system comprising one or more accelerometers may provide a measurement of acceleration ( i . e . velocity / time which may be expressed as m / sec 2 or expressed in g - force units ( g &# 39 ; s ) 1 g = 9 . 8 m / sec 2 . an angular rate sensor in the sensor system may provide data on the angle of the impact per time , and the data may be expressed in degrees / sec or radians / sec . there may be an angular rate sensor associated with each dimension of 3 - dimensional space . thus , one angular rate sensor may report on angular displacement in the yaw axis ( measuring yaw ), a second angular rate sensor may provide data on angular displacement in the pitch axis ( measuring pitch ), and the third angular rate sensor may provide data on angular displacement in the roll axis ( measuring roll ). the data acquisition processor 225 may also associate a timestamp with received data that is determined to represent an impact . the timestamp may be used to determine the elapsed time between when a target flashes and when associated impact data is received for that target ( i . e . response time ). if the received signals are analog signals , the data acquisition processor 225 may convert the signals to digital data . the data acquisition processor 225 may further determine the force and the energy of the impact based on the sensor signals received . for example , force may be determined by : the mass of the target may be pre - configured into the system , and the acceleration is provided by input from accelerometers as described above . thus , the force of an impact may be computed based on the pre - configured mass of the target and the received acceleration data . energy , which may be measured in joules , may be determined by : energy may be computed by further multiplying the force of the impact with the displacement of the target which is received from angular rate sensors as described above . the local data analyzer 230 may receive the digital data provided by the data acquisition processor 225 and interpret the data . for example , the local data analyzer 230 interprets the sensor data according to the configuration parameters established for the session . for example , the local data analyzer 230 may compare the amount of force / energy and displacement of the strike against one or more configured thresholds to determine whether a valid hit was made and to determine how many points to assign such a hit . if a valid strike is determined , the interpreted data may be sent to the central communication processor 235 that packages the data and controls transmission with required security of the data over a network for storage and processing such as provided by cloud computing system 160 . in an embodiment , the network between the control box and the analytic system is a wireless link . for example , wireless link 250 may transmit data to the cloud computing system 160 over a wireless lan ( wifi ) to an internet access point . in an embodiment in which the storage and processing system is co - resident with the target system , a lan - based network or peer - to - peer connection may be used . in an embodiment , the control box may be installed / mounted on the target system away from the strike zone . the target system may optionally include an actuator 240 and / or a sensory feedback unit 245 for responding to a detected strike in real - time . the sensory feedback unit 245 may provide any kind of sensory feedback such as visual or auditory feedback for informing the athlete of a valid strike and / or the quality of a strike . for example , the sensor feedback unit may comprise one or more lights that illuminate to indicate the validity and quality of a strike . whereas a single light may indicate a successful strike on a particular target , the illumination of multiple lights may indicate the quality of the strike . alternatively , one or more seven - segment led , vfd , or lcd displays that illuminate a numeral ( such as in a digital clock ) may be used to display a number proportional to the quality ( e . g . score ). auditory feedback that can vary in volume , pitch , and rhythm may be used to signal success and score of a strike . for example , a higher pitch tone may indicate a higher score . a strike that is not valid may result in a low pitch tone . another example may be that crowd cheering noise may be played for a valid strike and a louder volume may indicate the quality of the strike . this may be beneficial for conditioning an athlete to adjust to concentrating in a competition with live spectators . although not shown in fig2 , a target system may also provide the ability for a user to authenticate to the target system and / or to configure options for interacting with the target system . in such an embodiment , the athlete may use the target system without using the user access point to initiate each session . such a feature may be advantageous if the athlete is unable to obtain a network connection within the training facility premises . the target system user interface components may comprise buttons or other touch sensitive areas , switches , voice recognition , short range wireless connection techniques such as low energy bluetooth , near - field sensing , or rfid , etc . lights , lcd display , and / or speech synthesis , may provide prompts and or feedback regarding the status of authentication and / or configuration . an actuator 240 may be used to respond to a strike with physical movement of an object . this component may be useful for constructing an automated , robotic , sparring partner with the ability to react to an athlete &# 39 ; s strike . depending on the location of the control box 210 , the actuator and / or sensory feedback unit may be mounted on the target system outside of the control box 210 or installed inside the control box 210 . for example , if the control box 210 is mounted on the target system within line of sight and / or hearing of the athlete , the sensory feedback unit 245 may be installed on or in the control box 210 . if the control box 210 is installed out of sight or hearing from the athlete , then the sensory feedback unit may be a unit installed separately from the control box 210 . similarly , if an actuator is used to control a robot that is instrumented as a target system , actuator 240 may be placed inside the control box or separately from the control box 210 . to use the system , a user may choose to go through two steps : 1 ) authenticate ( i . e . “ log - in ”) and then 2 ) configure their workout session . if the user is also the owner of the system , authentication may not be necessary since the system may already be registered to the owner ( the administrator ) and it will send all session data to the owner &# 39 ; s or administrator &# 39 ; s user account . the system may allow anonymous users to train and play games , with fewer options for storing and reporting the session data . in this embodiment , authentication may not be necessary , and all session data may be sent to the default user or system administrator account . authentication may be accomplished by several methods . the user may use various techniques to identify him or herself so that the session data is recorded in his or her user account in the analytic system . authentication options may include bio - metric identification ( such as , but not limited to , voice , fingerprint recognition , or retinal scan ) or use of a wireless fob that employs a simple code to communicate with the control box . when activated , the fob may send a unique code to the control box , and the control box may send the code to the analytic system to authenticate and allow the session data to be logged to the user &# 39 ; s account . alternatively , authentication may be achieved by using the targets on the system as buttons on a keypad , and entering a unique identifier code . once the athlete chooses to authenticate or use the system anonymously , the athlete may choose to either train with a default session configuration , train with the most recent session configuration , a randomly chosen configuration , or set up a new configuration . sessions may be configured by several methods such as through the user access point ( e . g ., via a web browser or handheld device ), by communicating with the control box with voice recognition or motion gesture techniques , or by using the targets as buttons on a keypad . in an embodiment , the athlete may activate session configuration through the targets or control box , then set parameters in a sequence with the targets — target # 1 may be pressed to set the target sequence program ( either random , by numeric sequence , or reverse numeric sequence , for instance ); target # 2 may then be pressed to set the time - out interval and then target # 1 may be pressed to set the session to run in 1 minute rounds ; target # 3 may then be pressed to set the number of “ rounds ” in the session , the athlete may then touch target # 6 to indicate that they want to train with 6 rounds each lasting 1 minute ; target # 4 may then be pressed to set the time - out duration ( the maximum time that a target will be lit before the session moves on to the next target . the user must strike the target within this time limit to score ). other targets or combination of targets may be used to configure the system in other ways , such as multi - player game sessions , or skill levels . at the end of the session , data collected during the session may be displayed locally on a display device local to the target system without requiring access to a user access point . in an embodiment , an athlete may use a user access point user interface to interact with an application to configure one or more sessions and to view data previously collected during a training session . an application accessible through the user access point may provide an account management user interface , a session management user interface , and a data analysis and display interface . a session refers to a period of time during which training , gaming , or competition takes place . the system components may be activated and / or configured at the beginning of a session and deactivated and powered down at the end of a session . before the first training session or other use of the target system , an account may be created for the athlete in the combat scoring system . the athlete may log into the account and configure parameters for one or more sessions . session parameters may include a specification of the number of rounds and a specification of when a round ends ( e . g . elapsed duration of the rounds , total number of rounds or strikes , total number of valid strikes , reaching a specified cumulative point score , etc .) or a specification of the duration of the session as a whole . one or more target systems may be associated with a user account once the account is configured . configuring a session may include selecting one of the target systems associated with the athlete &# 39 ; s account for use during the session . for purposes of explanation , the example herein assumes a single target system is used in a session . other session parameters may include the kind of training or game challenges to be represented . for example , if the athlete requests to measure response time , the system may generate a “ go ” signal on an individual target among several targets . a session may also be configured to interact with another athlete using a different target system . in addition , target system thresholds may be configured to determine how much force is required to validate a strike , a direction from which a valid strike must come , the maximum amount of time after a “ go ” signal is issued during which a strike will register , etc . choices for these parameters may reflect the skill level of the athlete , the height / weight of the athlete , and the rules of the sport . configuring these various parameters will result in very different experiences from a personal training workout , individual game , or multi - player game . fig3 is a high level flow diagram showing the steps for initializing and using the combat scoring system , using the user access point , or using the user interface provided by a target system . the flow starting with option a describes interacting with the system through the user access point . at step 310 , an athlete may log into their personal training account over the network . in an embodiment , the network may be the internet . alternatively , if the analytic system resides co - located with the target system , the network may be a local area network ( lan ). upon logging in , the athlete may be shown their user account page in step 315 . from the user account page , the athlete may choose to start a new training session or to view the data from past sessions as in step 360 . for viewing past data session information , charts , graphs , and raw data may be displayed by date , session types , averages , progress toward a goals , etc . in step 365 . from the user account page or view past session information page , a new session may be initiated in step 320 . in an embodiment , previously configured sessions may be named , and the collection of parameters previously configured may be selected by name or other identifying information to be used for configuring the session about to start . alternatively , a new configuration may be created for the new session . once configured , the new session may be started at 325 , and the analytic system prepares to receive , analyze , and store data for this session . the flow starting with step 355 labeled “ option b ” describes an athlete interacting with user interface devices in or around the target system itself . for example , a default session type may be started by pushing a button on the control box of a target system or striking a sensor in a particular target may serve to enter configuration data . in an embodiment , the control box or other device associated with the target system may accept input used for athlete authentication such as biometric data ( finger print , retinal scan , voice recognition ) or read a radio frequency identification ( rfid ) tag such as a card key . other wireless technologies such as low - energy bluetooth or near field communication ( nfc ) may alternatively be used to communicate authentication information from a fob to a receiver in the target system . authenticating the user may be important to ensure that the data for the session is stored in association with the correct user &# 39 ; s account . once the session is initiated in step 325 , the analytic system is ready to receive session data , and the one or more target systems to be used in the session are activated in step 330 . in an embodiment , when initiating a session via a target system control box , step 330 may be included in step 355 . to activate a target system , one or more targets within the system may be struck , or the athlete may push a button , flip a switch , or provide other user input to user input facilities provided by the target system . in step 335 , the athlete strikes one or more targets during the session and data is collected and sent to the analytic system as described above . a session may be paused in step 340 , and restarted in step 345 . when the end of the session is detected based on the configuration , the session ends in step 350 . the analytic system is a storage and processing system where data from target systems may be processed and stored , and which holds user account information . fig4 is a high level data flow diagram showing the flow of data among components within the analytic system , according to an embodiment of the invention . analytic system 400 comprises components including data collector 410 , device authentication api 460 , real - time computation engine 420 , in - memory data store 430 . persistent data store 440 , and http ( web ) server 450 . data flow 415 represents the data that flows between the user access point 165 that may reside across a network from analytic system 400 and the data collector 410 within analytic system 400 . data flow 415 may include user registration data , authentication information for account login , and specification of session options . data flow 425 represents the flow of data between the data collector 410 and the persistent data store 440 . user registration data , authentication , session configuration data is stored in the data store , and retrieved for authentication or update purposes . data flow 485 represents analyzed and / or aggregated data retrieved from the data store and displayed at the user access point 165 . data flow 435 represents the flow of session data from one of the target systems to analytic system 400 . the data collector 410 receives the data and forwards the data through flow 445 to the real - time computation engine 420 . the data is processed and sent to the in - memory store 430 via flow 455 and then to the user access point 165 for display . additionally , the data may be sent through flow 465 to the persistent data store 440 for long - term storage and retrieval . data flow 475 represents data from a user authentication device , such as from authentication fob 405 , sending user and target system information to the device authentication api 460 . the analytic system 400 may provide a set of api &# 39 ; s that third party applications 470 may use to store and retrieve data to / from the analytic system . facebook or other social media applications are examples of such third party applications . fig5 is a block schematic diagram of a machine in the exemplary form of a computer system 500 within which a set of instructions may be programmed to cause the machine to execute the logic steps of the invention . in alternative embodiments , the machine may comprise a network router , a network switch , a network bridge , personal digital assistant ( pda ), a cellular telephone , a web appliance or any machine capable of executing a sequence of instructions that specify actions to be taken by that machine . the computer system 500 includes a processor 502 , a main memory 504 and a static memory 506 , which communicate with each other via a bus 508 . the computer system 500 may further include a display unit 510 , for example , a liquid crystal display ( lcd ) or a cathode ray tube ( crt ). the computer system 500 also includes an alphanumeric input device 512 , for example , a keyboard ; a cursor control device 514 , for example , a mouse ; a disk drive unit 516 , a signal generation device 518 , for example , a speaker , and a network interface device 528 . the disk drive unit 516 includes a machine - readable medium 524 on which is stored a set of executable instructions , i . e . software , 526 embodying any one , or all , of the methodologies described herein below . the software 526 is also shown to reside , completely or at least partially , within the main memory 504 and / or within the processor 502 . the software 526 may further be transmitted or received over a network 530 by means of a network interface device 528 . in contrast to the system 500 discussed above , a different embodiment uses logic circuitry instead of computer - executed instructions to implement processing entities . depending upon the particular requirements of the application in the areas of speed , expense , tooling costs , and the like , this logic may be implemented by constructing an application - specific integrated circuit ( asic ) having thousands of tiny integrated transistors . such an asic may be implemented with cmos ( complimentary metal oxide semiconductor ), ttl ( transistor - transistor logic ), vlsi ( very large systems integration ), or another suitable construction . other alternatives include a digital signal processing chip ( dsp ), discrete circuitry ( such as resistors , capacitors , diodes , inductors , and transistors ), field programmable gate array ( fpga ), programmable logic array ( pla ), programmable logic device ( pld ), and the like . it is to be understood that embodiments may be used as or to support software programs or software modules executed upon some form of processing core ( such as the cpu of a computer ) or otherwise implemented or realized upon or within a machine or computer readable medium . a machine - readable medium includes any mechanism for storing or transmitting information in a form readable by a machine , e . g . a computer . for example , a machine readable medium includes read - only memory ( rom ); random access memory ( ram ); magnetic disk storage media ; optical storage media ; flash memory devices ; electrical , optical , acoustical or other form of propagated signals , for example , carrier waves , infrared signals , digital signals , etc . ; or any other type of media suitable for storing or transmitting information . in addition to embodiments used for competition , training , or gaming , another embodiment may be used for spectator entertainment . for example , data generated by the system may be superimposed on a monitor screen in view of spectators at a live event or on a television or computer screen during a broadcast or telecast boxing match . the system may be augmented to allow viewers of the broadcast / telecast to guess as to future data points ( e . g . how hard will competitor a hit his opponent next time , or how many blows will competitor b land on his opponent in the 5 th round that reach a certain threshold of force , or what will be the average force of blows delivered by competitor a over the course of the entire match . such an embodiment may be used in las vegas or other places with legalized gambling on contact sports . the previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention . various modifications to these embodiments will be readily apparent to those skilled in the art , and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention . thus , the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein . furthermore , although elements of the invention may be described or claimed in the singular , reference to an element in the singular is not intended to mean “ one and only one ” unless explicitly so stated , but shall mean “ one or more ”. additionally , ordinarily skilled artisans will recognize that operational sequences must be set forth in some specific order for the purpose of explanation and claiming , but the present invention contemplates various changes beyond such specific order .
a combat training system for competition and impact fitness training provides a feedback mechanism that supports virtual sparring . the system is designed for athletic training and game - play , for one or multiple users . sensors attached to a target structure may capture data about strikes on the target including proximity to a target , force of impact , direction , and reaction time . a target structure may be an instrumented punching bag , mannequin , or other structure that may move when struck . data collected by the sensors may be sent to an analytic system that updates a display presenting a cumulative score , and / or for each strike , the data collected and the points awarded . an athlete may configure the target system for a particular session such as which targets in the system are active , a point value associated with each target , and / or the force of a strike required to count as a valid strike .