Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DETERMINATION OF AT LEAST ONE PARAMETER RELATING TO A TRAJECTORY OF AN OBJECT
Document Type and Number:
WIPO Patent Application WO/2016/051021
Kind Code:
A1
Abstract:
The invention relates to a method for determining a spin of a ball, wherein the ball travels in a trajectory comprising at least two separate consecutive trajectory paths bound together in a discontinuity point. The idea is to obtain at least three pieces of state information from the trajectory. Further, the idea is to generate an estimation on a trajectory of the ball after the discontinuity point and compare the generated information with the at least one obtained piece of state information. Based on the comparison it is possible to determine a spin value corresponding to the best outcome of the comparison. The invention relates also to a computing unit, a system and a computer program product implementing the method.

Inventors:
HIRVI KARI (FI)
TOIVANEN JUHA (FI)
Application Number:
PCT/FI2015/050655
Publication Date:
April 07, 2016
Filing Date:
October 02, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZENNIZ OY (FI)
International Classes:
G01S5/00
Domestic Patent References:
WO2003104838A12003-12-18
Foreign References:
US20060008116A12006-01-12
EP2385497A12011-11-09
GB2403362A2004-12-29
EP1810723A12007-07-25
US20090036237A12009-02-05
AU2006100154A42006-06-01
Other References:
PINGALI G ET AL: "Visualization of sports using motion trajectories: providing insights into performance, style, and strategy", VISUALIZATION, 2001. VIS '01. PROCEEDINGS, IEEE, PI, 1 January 2001 (2001-01-01), pages 75 - 544, XP031172872, ISBN: 978-0-7803-7201-6, DOI: 10.1109/VISUAL.2001.964496
"That's how the ball bounces", PHYS. TEACH., vol. 22, 1984, pages 494 - 497
W. GANDER; J. HREBICEK: "Solving Problems in Scientific Computing Using Maple and MATLAB", 2004, SPRINGER
Attorney, Agent or Firm:
BERGGREN OY AB (P.O Box 16, Helsinki, FI)
Download PDF:
Claims:
CLAIMS

1 . A method for determining a spin of a ball, wherein a trajectory of the ball comprises at least two separate consecutive trajectory paths bound together in a discontinuity point, wherein the discontinuity point represents an impact point of the ball with a surface, characterized in that the method comprising:

- obtaining (210) a first state information of the ball comprising a first position and a first point of time as parameters within the first trajectory path from a data received with acoustic sensors,

- obtaining (210) a second state information of the ball comprising a second position and a second point of time as parameters representing the impact point of the ball with the surface,

- obtaining (210) a third state information of the ball comprising a third position and a third point of time as parameters within the second trajectory path from a data received with acoustic sensors, and within the method generating at least two estimations of the second trajectory path, wherein each of the estimations comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, by

- generating (220), by means of one of the following: an initial value of a spin of the ball, an initial value of a velocity of the ball, an initial value for the other of the following: a spin of the ball, a velocity of the ball prior to the impact of the ball with the surface,

- generating (230), through an impact model, estimations of a spin and a velocity of the ball after the impact of the ball with the surface by inputting the initial value of the spin and the initial value of the velocity prior to the impact of the ball with the surface into the impact model wherein the impact model is at least partly dependent on an interaction of the ball with the surface,

- generating (240) the estimation of the second trajectory path, wherein the estimation comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, at least partly with the estimations of the spin and the velocity of the ball after the impact of the ball with the surface, wherein the initial value of the one of the following: the spin of the ball, the velocity of the ball is modified for each generation, and the method further comprising

- comparing (250) the at least one estimated parameter from each of the at least two generated estimations to a corresponding at least one parameter within the obtained third state information,

- determining (260) the estimation among the generated estimations of the second trajectory path, which comprises the at least one estimated parameter, which fulfills at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information, and

- outputting (270) the spin value corresponding to the estimation, which comprises the at least one estimated parameter, which fulfills the at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information.

2. The method according to the claim 1 , wherein the generated at least one estimated parameter is a position of the ball at the third point of time. 3. The method according to the claim 2, wherein the at least one predetermined criterion is set so that the estimation among the generated estimations is determined, which comprises the position of the ball at the third point of time as the at least one estimated parameter, which produces a minimum difference in the comparison, when it is compared to the obtained position of the ball from the third state.

4. The method according to the claim 2, wherein the at least one predetermined criterion is set so that the estimation is selected whose difference in distance to the obtained position at the third state is below a predefined limit stored in a memory. 5. The method according to the claim 1 , wherein the at least one predetermined criterion is set so that the estimation of the second trajectory path among the generated estimations is determined by: - generating estimations of a position of the ball, as the at least one parameter, for each of the estimated second trajectory paths as a function of time,

- determining from each of the generated estimations of the second trajectory paths the estimation of the position being at a minimum distance from the obtained position of the ball at the third state,

- determining estimated points of time for each of the estimated positions being at a minimum distance from the obtained position of the ball at the third state,

- determining the estimation of the second trajectory path among the generated estimations, whose estimated point of time is the closest to the obtained third point of time within the third state information.

6. The method according to any of the preceding claims, wherein the second state information of the ball is obtained from a data received with at least one of the following: acoustic sensors, contact sensors.

7. A computing unit (320) for determining a spin of a ball, wherein a trajectory of the ball comprises at least two separate consecutive trajectory paths bound together in a discontinuity point, wherein the discontinuity point represents an impact point of the ball with a surface, the computing unit comprising at least one processor (410); and at least one memory (420) including computer program code; characterized in that the processor (410) being configured to cause the computing unit at least to perform:

- obtain (210) a first state information of the ball comprising a first position and a first point of time as parameters within the first trajectory path from a data received with acoustic sensors, - obtain (210) a second state information of the ball comprising a second position and a second point of time as parameters representing the impact point of the ball with the surface,

- obtain (210) a third state information of the ball comprising a third position and a third point of time as parameters within the second trajectory path from a data received with acoustic sensors, and to generate at least two estimations of the second trajectory path, wherein each of the estimations comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, by

- generating (220), by means of one of the following: an initial value of a spin of the ball, an initial value of a velocity of the ball, an initial value for the other of the following: a spin of the ball, a velocity of the ball prior to the impact of the ball with the surface, - generating (230), through an impact model, estimations of a spin and a velocity of the ball after the impact of the ball with the surface by inputting the initial value of the spin and the initial value of the velocity prior to the impact of the ball with the surface into the impact model wherein the impact model is at least partly dependent on an interaction of the ball with the surface,

- generating (240) the estimation of the second trajectory path, wherein the estimation comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, at least partly with the estimations of the spin and the velocity of the ball after the impact of the ball with the surface, wherein the initial value of the one of the following: the spin of the ball, the velocity of the ball is configured to be modified for each generation, and the computing unit is further caused to perform:

- compare (250) the at least one estimated parameter from each of the at least two generated estimations to a corresponding at least one parameter within the obtained third state information, - determine (260) the estimation among the generated estimations of the second trajectory path, which comprises the at least one estimated parameter, which fulfills at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information, and

- output (270) the spin value corresponding to the estimation, which comprises the at least one estimated parameter, which fulfills the at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information. 8. The computing unit according to the claim 7, wherein the generated at least one estimated parameter is a position of the ball at the third point of time.

9. The computing unit according to the claim 8, wherein the at least one predetermined criterion is set so that the computing unit is configured to determine the estimation among the generated estimations, which comprises the position of the ball at the third point of time as the at least one estimated parameter, which produces a minimum difference in the comparison, when it is compared to the obtained position of the ball from the third state.

10. The computing unit according to the claim 8, wherein the at least one predetermined criterion is set so that the computing unit is configured to select the estimation whose difference in distance to the obtained position at the third state is below a predefined limit stored in a memory.

1 1 . The computing unit according to the claim 7, wherein the at least one predetermined criterion is set so that computing unit is configured to determine the estimation of the second trajectory path among the generated estimations by:

- generating estimations of a position of the ball, as the at least one parameter, for each of the estimated second trajectory paths as a function of time,

- determining from each of the generated estimations of the second trajectory paths the estimation of the position being at a minimum distance from the obtained position of the ball at the third state, - determining estimated points of time for each of the estimated positions being at a minimum distance from the obtained position of the ball at the third state,

- determining the estimation of the second trajectory path among the generated estimations, whose estimated point of time is the closest to the obtained third point of time within the third state information.

12. The computing according to any of the claims 7-1 1 , wherein the computing unit is configured to obtain the second state information from a data received with at least one of the following: acoustic sensors, contact sensors.

13. A system for determining a spin of a ball, wherein a trajectory of the ball comprises at least two separate consecutive trajectory paths bound together in a discontinuity point, wherein the discontinuity point represents an impact point of the ball with a surface, characterized in that the system comprises - a sensor system (31 OA, 31 OB, 310C, 310D, 340) for obtaining predetermined information,

- a computing unit (320) according to claims 7-12.

14. A computer program product comprising at least one computer readable non-transitory medium having program code stored thereon, the program code, when executed by a computing unit, causing the computing unit at least to perform method steps according to any of the claims 1 -6.

Description:
Determination of at least one parameter relating to a trajectory of an object

TECHNICAL FIELD The invention concerns in general the technical field of measurement systems. Especially the invention concerns determination of at least one parameter relating to a trajectory of an object.

BACKGROUND

There is developed measurement systems which are configured to monitor a trajectory of an object and derive information relating to the trajectory based on observations through monitoring. For example, there have been developed measurement systems for monitoring ball game, such as tennis, and thus the trajectory of the ball in the game. The outcome of such monitoring is to establish information by means of which it is possible to analyze one or more parameters relating to the trajectory of the tennis ball and based on the parameters to conclude aspects relating to the game.

For example, some measurement systems relating to tennis relate to monitoring of acoustic signals originating from hit of the ball with the tennis racquet, but also from the sound originating when the ball hits the tennis court. By processing these pieces of information it is e.g. possible to derive information if the ball is inside or outside the tennis court during the game.

Some corresponding solutions which are based on optical methods, such as employing high-speed video cameras configured to capture snapshots of the projectile during its flight path, are also introduced. By processing the detections with the optical methods it is possible to determine information relating to the ball game in question.

However, none of the existing solutions provide tools for analyzing detailed behavior of the ball during the game in a cost-efficient way. Such analysis provides tools for players to understand characteristics of their shots and this way to improve the technique. In principle, the camera based solutions can be used for shot analysis, but as already mentioned, the cost of such a solution is far too high in order to become common. Thus, there is need to introduce new solutions within the field of measurement systems in order to determine at least one parameter relating to a trajectory of an object, such as a ball, and thus to provide detailed information on the motion of the object. SUMMARY

An objective of the invention is to present a method, a computing unit, a system and a computer program product for determining at least one parameter relating to a trajectory of an object. Another objective of the invention is that the method, a computing unit, a system and a computer program product for determining at least one parameter relating to a trajectory of an object provides additional information with respect to the motion of the object.

The objectives of the invention are reached by a method, a computing unit, a system and a computer program product for determining at least one parameter relating to a trajectory of an object as defined by the respective independent claims.

According to a first aspect, a method for determining a spin of a ball is provided, wherein a trajectory of the ball comprises at least two separate consecutive trajectory paths bound together in a discontinuity point, wherein the discontinuity point represents an impact point of the ball with a surface, wherein the method comprising: obtaining a first state information of the ball comprising a first position and a first point of time as parameters within the first trajectory path from a data received with acoustic sensors; obtaining a second state information of the ball comprising a second position and a second point of time as parameters representing the impact point of the ball with the surface; obtaining a third state information of the ball comprising a third position and a third point of time as parameters within the second trajectory path from a data received with acoustic sensors; and within the method generating at least two estimations of the second trajectory path, wherein each of the estimations comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, by generating, by means of one of the following: an initial value of a spin of the ball, an initial value of a velocity of the ball, an initial value for the other of the following: a spin of the ball, a velocity of the ball prior to the impact of the ball with the surface, generating, through an impact model, estimations of a spin and a velocity of the ball after the impact of the ball with the surface by inputting the initial value of the spin and the initial value of the velocity prior to the impact of the ball with the surface into the impact model wherein the impact model is at least partly dependent on an interaction of the ball with the surface, generating the estimation of the second trajectory path, wherein the estimation comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, at least partly with the estimations of the spin and the velocity of the ball after the impact of the ball with the surface; wherein the initial value of the one of the following: the spin of the ball, the velocity of the ball is modified for each generation, and the method further comprising: comparing the at least one estimated parameter from each of the at least two generated estimations to a corresponding at least one parameter within the obtained third state information; determining the estimation among the generated estimations of the second trajectory path, which comprises the at least one estimated parameter, which fulfills at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information; and outputting the spin value corresponding to the estimation, which comprises the at least one estimated parameter, which fulfills the at least one pre-determined criterion with respect to the corresponding at least one parameter within the obtained third state information.

The generated at least one estimated parameter may be a position of the ball at the third point of time. The at least one predetermined criterion may be set so that the estimation among the generated estimations is determined, which comprises the position of the ball at the third point of time as the at least one estimated parameter, which produces a minimum difference in the comparison, when it is compared to the obtained position of the ball from the third state. Alternatively or in addition, the at least one predetermined criterion may be set so that the estimation is selected whose difference in distance to the obtained position at the third state is below a predefined limit stored in a memory.

The at least one predetermined criterion may be set so that the estimation of the second trajectory path among the generated estimations is determined by: generating estimations of a position of the ball, as the at least one parameter, for each of the estimated second trajectory paths as a function of time; determining from each of the generated estimations of the second trajectory paths the estimation of the position being at a minimum distance from the obtained position of the ball at the third state; determining estimated points of time for each of the estimated positions being at a minimum distance from the obtained position of the ball at the third state; determining the estimation of the second trajectory path among the generated estimations, whose estimated point of time is the closest to the obtained third point of time within the third state information.

Furthermore, the second state information of the ball may be obtained from a data received with at least one of the following: acoustic sensors, contact sensors.

According to a second aspect, a computing unit for determining a spin of a ball is provided, wherein a trajectory of the ball comprises at least two separate consecutive trajectory paths bound together in a discontinuity point, wherein the discontinuity point represents an impact point of the ball with a surface, the computing unit comprising at least one processor; and at least one memory including computer program code; wherein the processor being configured to cause the computing unit at least to perform: obtain a first state information of the ball comprising a first position and a first point of time as parameters within the first trajectory path from a data received with acoustic sensors; obtain a second state information of the ball comprising a second position and a second point of time as parameters representing the impact point of the ball with the surface; obtain a third state information of the ball comprising a third position and a third point of time as parameters within the second trajectory path from a data received with acoustic sensors; and to generate at least two estimations of the second trajectory path, wherein each of the estimations comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, by generating, by means of one of the following: an initial value of a spin of the ball, an initial value of a velocity of the ball, an initial value for the other of the following: a spin of the ball, a velocity of the ball prior to the impact of the ball with the surface, generating, through an impact model, estimations of a spin and a velocity of the ball after the impact of the ball with the surface by inputting the initial value of the spin and the initial value of the velocity prior to the impact of the ball with the surface into the impact model wherein the impact model is at least partly dependent on an interaction of the ball with the surface, generating the estimation of the second trajectory path, wherein the estimation comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path, at least partly with the estimations of the spin and the velocity of the ball after the impact of the ball with the surface, wherein the initial value of the one of the following: the spin of the ball, the velocity of the ball is configured to be modified for each generation, and the computing unit is further caused to perform: compare the at least one estimated parameter from each of the at least two generated estimations to a corresponding at least one parameter within the obtained third state information; determine the estimation among the generated estimations of the second trajectory path, which comprises the at least one estimated parameter, which fulfills at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information; and output the spin value corresponding to the estimation, which comprises the at least one estimated parameter, which fulfills the at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information. The generated at least one estimated parameter may be a position of the ball at the third point of time.

The at least one predetermined criterion may be set so that the computing unit may be configured to determine the estimation among the generated estimations, which comprises the position of the ball at the third point of time as the at least one estimated parameter, which produces a minimum difference in the comparison, when it is compared to the obtained position of the ball from the third state.

Alternatively or in addition, the at least one pre-determined criterion may be set so that the computing unit may be configured to select the estimation whose difference in distance to the obtained position at the third state is below a predefined limit stored in a memory.

The at least one pre-determined criterion may also be set so that computing unit may be configured to determine the estimation of the second trajectory path among the generated estimations by: generating estimations of a position of the ball, as the at least one parameter, for each of the estimated second trajectory paths as a function of time, determining from each of the generated estimations of the second trajectory paths the estimation of the position being at a minimum distance from the obtained position of the ball at the third state, determining estimated points of time for each of the estimated positions being at a minimum distance from the obtained position of the ball at the third state, determining the estimation of the second trajectory path among the generated estimations, whose estimated point of time is the closest to the obtained third point of time within the third state information. Further, the computing unit may be configured to obtain the second state information from a data received with at least one of the following: acoustic sensors, contact sensors.

According to a third aspect, a system for determining a spin of a ball, wherein a trajectory of the ball comprises at least two separate consecutive trajectory paths bound together in a discontinuity point, wherein the discontinuity point represents an impact point of the ball with a surface, is provided wherein the system comprises a sensor system for obtaining predetermined information and a computing unit as disclosed above.

According to a fourth aspect, a computer program product is provided which comprises at least one computer readable non-transitory medium having program code stored thereon, the program code, when executed by a computing unit, causing the computing unit at least to perform method steps as disclosed.

The exemplary embodiments of the invention presented in this patent application are not to be interpreted to pose limitations to the applicability of the appended claims. The verb "to comprise" is used in this patent application as an open limitation that does not exclude the existence of also un-recited features. The features recited in depending claims are mutually freely combinable unless otherwise explicitly stated. The novel features which are considered as characteristic of the invention are set forth in particular in the appended claims. The invention itself, however, both as to its construction and its method of operation, together with additional objects and advantages thereof, will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF FIGURES

The embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.

Figure 1 illustrates schematically an example of a trajectory of an object.

Figure 2 illustrates schematically the method according to an example of the invention in an exemplified manner.

Figure 3 illustrates schematically an example of the system according to an example of the present invention.

Figure 4 illustrates schematically an example of the computing unit according to the invention.

DESCRIPTION OF SOME EMBODIMENTS

The present invention relates to an area of measurement systems. The inventive idea is to introduce a solution by means of which it is possible to analyze in a cost-efficient way at least one characteristic of an object, such as a ball. The characteristic of an object is configured to be determined by analyzing state information comprising at least position and time of the object within different points in a trajectory path of the object and based on the analysis draw conclusion as regards to the characteristics of the object.

In the following at least some aspects relating to the present invention are described by applying the inventive idea of the present invention in tennis. Tennis is a ball game played on a tennis court. Players use racquets to strike a hollow rubber ball covered with felt over a net until the other player(s) is not capable of returning the ball back to opponent(s) side in a manner following the rules of tennis. There are several shot types, i.e. strokes, existing which comprise different characteristics. An important characteristic is a spin of the ball and especially a topspin and backspin, which are now under focus in the present invention. This is due to the fact that the spin of the ball remarkably affects the trajectory of the ball. Worthwhile to mention for the background purposes that typical stroke sequences in the tennis are stroke-bounce-stroke and stroke-bounce-bounce, wherein the first one describes a situation in which the game continues and the latter one describes a situation in which a player has not succeeded in returning the ball to the opponent's side. In addition to those there are several special situations in tennis game, which may happen. One of those is that the ball hits the net after the first stroke and ends up to the other side of the court in such a manner (impacts with the surface). The present invention may also be applied thereto as long as the ball impacts with the surface in one point of the trajectory.

Next, a method according to an example of the invention is described in which a parameter relating to a ball is determined. In the example the parameter is a spin of the ball. According to the invention state information on the ball in a trajectory is determined and the determined information is utilized in the spin estimation. As depicted in Fig. 1 , the trajectory of the ball comprises at least two consecutive trajectory paths T1 , T2 bound together in a discontinuity point, wherein the discontinuity point represents an impact point of the ball with a surface (referred with S2 in Fig. 1 ). According to the example of the invention state information in at least three states S1 , S2, S3 in the trajectory are determined. Each piece of state information comprises at least position information in two dimensional coordinate system (P(x,y)) and time information (t), which are considered as parameters in the state information. The first state information S1 is determined in the first trajectory path T1 prior to the impact point, which impact point, i.e. bounce point, is considered as the second state information S2. The third state information S3 is determined in the second trajectory path T2 after the impact point. The time information refers to a time stamp given as one of the parameters in each of the mentioned states S1 , S2, S3.

The steps of the method are disclosed in an exemplified manner in Figure 2. In the first step 210 the pieces of state information are obtained as described above. The generation of the pieces of information to be obtained may be implemented with an applicable sensor system. According to a first embodiment of the invention the detection of different states can be performed by arranging a sensor system based on acoustic signals around the tennis court. The idea is to detect acoustic signals representing typical events in the tennis game, e.g. stroke-bounce-stroke or stroke-bounce-bounce sequences. Such a solution comprises necessary number of sensors, such as microphones, arranged in applicable locations around the tennis court in order to detect the acoustic signals originating from the mentioned events during the game. Theoretically, a minimum number of sensors configured to detect the acoustic signals is four in order to determine a position of the signal source in 3D space. However, in real world implementation the number of the sensors is higher. Worthwhile to mention is that in order to perform a successful determination of the position of the signal source the positions of the sensors must be known, and are thus determined. The detected acoustic signals from multiple sensors are taken to a computing unit, which is configured to determine the type of event (e.g. stroke or bounce) from the acoustic signals, i.e. data, and to determine the position of each event in 3D coordinate system, e.g. on a basis of time stamps given to acoustic signals by the sensors. Naturally, the entities granting the time stamps shall be synchronized into the same time space. The detection of the mentioned predetermined events may be based on comparison of the detected acoustic signals to predetermined sound patterns corresponding to the events under monitoring. The predetermined sound patterns are advantageously stored in the computing unit performing the method.

According to a further embodiment the state information in the impact point may also be determined with e.g. any type of contact sensors implemented over the court, which are capable of providing necessary state information, i.e. data, on the impact point, i.e. bounce. Naturally, such a solution requires other sensor systems for the detection of strokes. Generally speaking it is possible to establish any combination on the mentioned sensor systems in order to determine the necessary state information as described. As regards to determination of an estimation of the spin of the ball, and especially topspin and/or backspin the 3D positional information on the events in the trajectory is reduced, in a preferred solution, into two dimensional plane and thus, the positions are determined in 2D coordinate system for spin determination.

Next in the method it is generated information which may be compared to the information obtained from the sensor system in step 210. According to an example of the invention it is generated at least two estimations of the second trajectory path. Each of the estimations comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path. The generation of an estimation is performed, according to an embodiment of the invention, by generating 220, by means of one of the following: an initial value of a spin of the ball, an initial value of a velocity of the ball, an initial value for the other of the following: a spin of the ball, a velocity of the ball prior to the impact of the ball with the surface. In other words, the step 220 may start e.g. with an initial value of a spin of the ball prior to the impact of the ball with the surface, which initial value may be stored in a memory accessible by a computing unit performing the method. By means of the initial value of the spin an initial value for a velocity of the ball prior to impact of the ball with the surface may be generated. The velocity of the ball prior to the impact of the ball may be determined, at least partly, by utilizing the first and the second state information determined in step 210 of the method. In other words, together with the chosen initiation value for the spin, the first state S1 and the second state S2 and the period of time between the mentioned states set the boundary conditions for solving the equations of motion of the ball and thus determining the velocity of the ball corresponding to the chosen initiation value of the spin. As a result the initial values for generating said estimates are generated. As already mentioned it is also possible to define an initial value for a velocity of the ball and on the basis of that information to generate the initial value for the spin. The combinations for initial values of the spin and the velocity of the ball may be generated on course of the method or beforehand into a data structure accessible by the computing unit performing the method. Generally speaking the first initial value i.e. for the spin or for the velocity may be a constant value pre-defined and stored in a memory, or derived in some manner from the obtained state information or matched thereto.

In response to the generation of the initial values, estimations of the spin and the velocity of the ball after the impact of the ball with the surface may be generated 230 by inputting the initial value of the spin and the initial value of the velocity prior to the impact of the ball with the surface into an impact model. The impact model used within the context of the present invention refers to a mathematical model using a priori defined properties of at least some entities being involved in the contact. Some examples of such properties are, but are not limited to, a restitution of the ball with the surface in question and a friction coefficient between the ball and the surface. An example of an applicable impact model is so called Brady's contact model introduced in "That's how the ball bounces", Phys. Teach. 22, 494-497, 1984. Thus, the impact model is at least partly dependent on an interaction of the ball with the surface. However, the inventive idea of the present invention is not tied to Brady's contact model only, but any similar may be applied to herein.

When the estimations of the spin of the ball and the velocity of the ball after the impact of the ball with the surface are generated with the impact model, estimation of the second trajectory path may be generated 240. The estimation of the second trajectory path is generated 240 by utilizing the known laws of physics, wherein at least the spin and the velocity of the ball after the impact, derived in step 230, are used as inputs. In such a manner so called Magnus force (i.e. effect of the spin of the ball) becomes taken into account. Further, an effect of air resistance is also taken as input into equations of motion of the ball. The nonlinear equations of motion to be solved, with the coordinate system defined in Fig. 1 , are of the form (disclosed e.g. in "Solving Problems in Scientific Computing Using Maple and MATLAB", W. Gander, J. Hrebicek, Fourth Edition, Springer, 2004) x =—C D avx + r\C M avy y =—g— C D avy— r\C M avx where

C D = 0.508 + (22.053 + 4.196£) 5/2 ) 2/5 (drag force coefficient)

C M = (2.022 + 0.98l3 _1 (Magnus force coefficient)

v = 2 + y 2

ω = spin

a = (pnd 2 )/(8m)

η = 1 for top spin, η = -1 for backspin

p = air density [kg/m 3 ]

d = ball diameter

m = ball mass

g = gravitational constant [m/s 2 ]

The equations of motion of the ball are then solved with respect to the position as a function of time. The generated estimation of the second trajectory path 240 comprises at least one estimated parameter representing state information on at least one state of the ball on the second trajectory path. The at least one estimated parameter comprises e.g. pieces of information on a position of the ball and point of time in the state in question. In other words, it is possible to describe the position of the ball as a function of time in the second trajectory estimation. Finally, it should be noted that the same equations of motion can be applied for the first trajectory path T1 for generating the initial value for the velocity corresponding to a chosen initial value of spin, or vice versa 220.

As mentioned, one part of the inventive idea according to the present invention is to generate at least two separate estimations of the second trajectory path T2 in the manner described above. In order to produce plurality of different second trajectory paths from which the most realistic one is to be chosen on a basis of at least one criterion in a manner as will be described, the initial value, i.e. either the initial spin value or the initial velocity value, is modified for each generation of the second trajectory path. The initial value may be modified by increasing or decreasing the initial value in a predetermined manner. The predetermined manner is at least partly dependent on a chosen numerical optimization algorithm by means of which an optimal estimation may be found. For example, the predetermined manner may e.g. be such that the initial value is modified after each generation with a constant value (e.g. by summing), or it can be modified on the basis of the results of comparison 250 in one or more previous generations so that the initial value is adjusted in the direction that seems to yield better results in the comparison. The number of estimations to be generated depends on a desired accuracy, but also on the computing resources and time frame given for the generation, and for performing the whole method. In Figure 2 the iterative generation of the estimations of the second trajectory path is indicated with dashed arrow from a comparison step 250, which will be discussed later, to step 220. This is just an example and a plurality of the estimations may also be generated prior to comparison or simultaneously with it, depending on the implementation of the invention. Advantageously the generation shall be optimized with respect to used resources in order not to produce such estimations which need not to be used in the solution according to the invention. For this reason, the generation of estimations in response to the comparison may be the preferred solution.

Now, in response to the generation of the at least two estimations of the second trajectory path it is necessary to find the most appropriate one in order to reach the objectives of the invention. This is achieved by comparing 250 the at least one estimated parameter from each of the at least two generated estimations to a corresponding at least one parameter within the obtained third state information and determining 260 the most appropriate estimation among at least two generated estimations on a basis of at least one predetermined criterion. Thus, the estimated parameter used in the comparison may be an estimated position of the ball, an estimated point of time of the ball, or even a combination from these two.

According to an embodiment of the invention the comparison 250 is performed against the third state on which the state information is obtained in step 210. Such an implementation is possible to arrange so that the estimations of the second trajectory path comprise only estimation on a position of the ball, as a parameter, at the third point of time i.e. at the third state, each of which are then compared to the known position of the ball at the third state. The most appropriate estimation may be, for example, the one whose position at the third point of time produces a minimum difference in the comparison. In other words, the closest estimation in view of a position at the third point of time may be the most appropriate estimation. The criterion may also be any other. According to another implementation of the invention the predetermined criterion may be defined so that a difference limit is predefined and stored in a memory accessible by a computing unit performing the method. Each result from the comparison step 250 is compared to the predefined difference limit and when a first difference being below the difference limit is found, the corresponding estimation is selected as the most appropriate estimation of the second trajectory path.

According to another embodiment of the invention the comparison 250 is performed against a time parameter. Such an implementation may be arranged by setting the at least one predetermined criterion so that the estimation of the second trajectory path among the generated estimations is determined by first generating estimations of a position of the ball, as the at least one parameter, for each of the estimated second trajectory paths as a function of time. In other words, plurality of estimations is produced for each second trajectory path. Next, it is determined from each of the generated estimations of the second trajectory path the estimation of the position being at a minimum distance from the obtained position of the ball at the third state. For each of the estimated positions being at a minimum distance from the obtained position of the ball at the third state it is determined estimated points of time corresponding to the mentioned positions, as the second trajectory paths are expressed as a function of time. Finally, the estimation of the second trajectory path among the generated estimations, whose estimated point of time is the closest to the obtained third point of time within the third state information, is determined 260 as the most appropriate estimation. Thus, prior to the comparison it is manipulated the pieces of information so that the comparison 250 may be performed against the time parameter.

According to still further embodiment of the invention the comparison 250 is performed against a combination of position and time parameters. This can be done, e.g., by first performing the comparison against both parameters separately in a manner described above, and then combining the results by calculating a weighted sum of the results of each individual comparison. This produces an aggregate parameter, which contains information on both the time and the position comparison. The most appropriate estimation of the second trajectory path is then chosen based on this aggregate parameter, e.g., by determining the estimation that minimizes it. According to the method the spin value corresponding to the estimation, which comprises the at least one estimated parameter fulfilling the at least one predetermined criterion with respect to the corresponding at least one parameter within the obtained third state information is output 270. In other words the computing unit is configured to maintain and store information on the initial values producing the estimations on the second trajectory paths in order to find the spin value, which is used as the initial value in the generation of the most appropriate estimation. Here, the term "outputting" shall be understood broadly. For example, the output may refer to displaying the result on a computer screen or storing the result in a data structure for later analysis or use. The later use may refer to, but is not limited to, any solution disclosing additional information on the travel of the ball. For example, it is possible to output the whole, or a part of, trajectory disclosing the travel of the ball throughout the motion on a display. According to an example of the invention the determined spin value is transmitted, and thus output, to player's or players' computing device(s), such as mobile terminal or wrist-top computer for display. This has a great advantage when training tennis, or any similar ball game. Naturally, the output of the spin, or any information derived therefrom, may be performed by displaying the data on any display within the tennis court. Next some more aspects relating especially to generation of estimation are provided. Namely, according to an embodiment of the invention all possible values with respect to at least one parameter of the ball at the third point of time may be generated with such initial values which are physically realistic and thus fulfill pre-defined limits set for the initial value. According to the embodiment the parameter value(s) at the third point of time may be generated by pre-determined incremental, or decremental, steps in the initial values so that the number of those remains optimal in view of the desired accuracy. As a result, all the generated parameter(s) are compared to the obtained parameter corresponding to the generated parameter(s) and the spin is configured to be selected which minimizes the difference between the parameter(s) in the comparison. The generation may be performed during the process or beforehand by performing the calculations a priori and storing the values to a data structure, such as to a look-up table. Herein it is discussed more on one numerical optimization method shortly introduced above. As regards to the determination of the most appropriate estimation, so called numerical optimization through iteration may be used, as already mentioned. The numerical optimization may be arranged so that the position, or any other parameter, of the ball is generated at the third point of time with an initial value of the spin, or velocity as discussed. After this, the initial value is modified in one direction or another (i.e. by increasing or decreasing the first initial value) and the position, or any other parameter, of the ball is re-generated in the same manner as the first position. The results from the first and the second generations are compared with the known position, or any other parameter, of the ball at the third point of time and it is checked if the result, i.e. the difference, from the second generation got better i.e. closer to the real value than the result from the first determination. If this is the case, the initial value for the spin is continued to be modified towards the same direction as the first modification (i.e. increased or decreased) and the second result and the third result are again compared as described above. This is continued until the result starts getting worse than previous result and then the best result is chosen to represent the spin value of the ball, and the generation of estimations is finished. The sizes of the incremental and decremental steps are to be pre-determined according to the requirement of accuracy and computing power used in the calculation, among other possible criteria, or the sizes can be variable and determined based on the results of earlier comparisons. Thus, the criterion in the method relates to the direction of the difference in the comparison.

It is clear from the above that the computing unit performing the method is configured to maintain and store in an applicable memory during the process all the initial values together at least with the result value, i.e. the parameter used in the comparison and derived from an initial value in question, so that the corresponding spin value, or velocity, with respect to the most appropriate estimation can be found.

Some additional factors possibly influencing the travel of the ball may be taken into account in the solution according to the present inventive idea. For example, in some environments air currents within the tennis court may have influence on the trajectory of the ball. Typically, the air current refers to wind when tennis is played outdoors. The air current may be taken into account by arranging one or more further sensors configured to measure air currents around the tennis court and take the measured values as an input to the determination of the spin. Especially, the air current affects the velocity of the ball and, thus, when the spin is determined the effect of the air currents shall be taken into account when the velocity is used in the method. In a preferred embodiment the effect of the air current is taken into account already in step 220 of the method, wherein the estimation on the velocity of the ball prior to the impact of the ball with the surface is determined. Naturally, the effect of the air currents shall also be taken in all velocity values after the impact point. In practice, the effect of air current is taken into account by adding an additional constant velocity component in the motion equations of the ball representing the effect of air current to the ball.

Figure 3 illustrates, in an exemplified manner, an implementation of a system according to an example of the invention. In Figure 3 a tennis court 300 is illustrated wherein a tennis game may be played. Around the tennis court an appropriate number of sensors 310A-310D are positioned in applicable locations. In the example according to Figure 3 the number of sensors 310A- 310D is four, but the invention is not limited thereto as the number of sensors is dependable on the type of sensors. As discussed earlier the sensors may be microphones, for example. In case of microphones the minimum number of sensors needed is four. The measured data is obtained from the one or more sensors to a computing unit 320, which may refer to a server, personal computer, laptop, a circuit configured to perform the method, or any similar, which comprises necessary amount of computing power to implement the method as described. The computing unit 320 may be configured to output the information obtained from the method, or any derivative therefrom, in any manner, such as by displaying the result of the method on a display 330. Any other outputting method may be used. It is also worthwhile to mention that the term "output" in this context also covers any mechanism to store and/or deliver the result obtained with the method, or any derivative therefrom, to any external entity, such as a database or any other known unit suitable for displaying the information. Further, the implementation of the present invention may also comprise any additional sensors 340, such as sensors suitable for obtaining information on air current around the court, which may provide additional input information to the method and thus improve the accuracy of the solution. Figure 4 discloses an example of the computing unit 320 according to the invention. The computing unit 320 may comprise one or more processors 410, one or more memories 420 being volatile or non-volatile for storing portions of computer program code 421 a-421 n and any data values, a communication interface 430 and possibly one or more user interface units 440. Additionally, the computing unit 320 comprises communication interface which provides interface to communicate with any external units, such as the mentioned sensors 310A-310D, 340 and/or output devices, such as a display 330. The communication interface may be based on any known communication technology, either wired or wireless, in order to exchange pieces of information as described earlier.

The processor 410 of the computing unit 320 is at least configured to implement the method as described. The implementation of the method may be achieved by arranging the processor 410 to execute at least some portion of computer program code 421 a-421 n stored in the memory 420 causing the processor 410, and thus the computing unit 320, to implement one or more method steps as described. The processor 410 is thus arranged to access the memory 420 and retrieve and store any information therefrom and thereto. Moreover, the processor 410 is configured to control the communication through the communication interface 430 with any external unit, such as with the sensors. The processor 410 may also be configured to control the output of information, i.e. data. The processor 410 may also be configured to control storing of obtained and determined information. For sake of clarity, the processor herein refers to any unit suitable for processing information and control the operation of the apparatus, among other tasks. The mentioned operations may e.g. be implemented with a microcontroller solution with embedded software. Similarly, the invention is not limited to a certain type of memory only, but any memory type suitable for storing the described pieces of information may be applied in the context of the present invention.

An example of the invention also relates to a non-transitory computer-readable storage medium, which stores at least portions of computer program code, wherein the portions of computer program code are computer-executable to implement the method steps in a computing unit or in a system as described. In general, the computer-readable storage medium may include a storage medium or memory medium, such as magnetic or optical media e.g. disc, DVD/CD-ROM, volatile or non-volatile media, such as RAM. The computer program code may be written in any form of programming language, including compiled or interpreted languages, and the computer program may be deployed in any form, including as a stand-alone program or as a subroutine, element or other unit suitable for use in a computing environment. A computer program code may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. This definition comprises also any solutions based on so called cloud computing. The computer program code comprises instructions for causing the computing unit to perform one or more of the method steps as described above. The inventive idea is herein mainly described by applying the invention in the context of tennis game. However, the invention is not only limited to tennis, but may be utilized in any other area, wherein a trajectory of an object may be following in a similar manner and wherein the object may have spin at least in some degree. In sports the invention may also be applied, and is not limited to, in table tennis, soccer, volleyball, just to name few. In soccer and volleyball the invention may mainly be used for training purposes as the game itself is not based to the events as described in the description above.

For sake of clarity it is worthwhile to mention that a comparison of a position of the ball to an estimation of the ball refers to a comparison of pieces of positional information in a coordinate system. Naturally, the coordinate system used in the generation of estimations shall be compatible with the coordinate system in which the pieces of state information are defined in step 210 in order to perform any comparison with mathematical methods. The same applies to any other comparison wherein e.g. time information is compared. Features described in the preceding description may be used in combinations other than the combinations explicitly described. Although functions have been described with reference to certain features, those functions may be performable by other features whether described or not. Although features have been described with reference to certain embodiments, those features may also be present in other embodiments whether described or not.