A mobile-assisted video-synchronized curling training data acquisition method
By detecting collisions and assigning independent data stream identifiers during curling training, the problem of mixed curling collision data in existing technologies is solved, enabling automatic separation and synchronous display of curling motion data, and improving the efficiency and accuracy of training data analysis.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TIANJIN TIANSHENG SPORTS TECHNOLOGY CO LTD
- Filing Date
- 2026-05-27
- Publication Date
- 2026-07-31
AI Technical Summary
Existing curling training data acquisition systems cannot automatically separate and independently collect motion data from each curling stone in a collision event, resulting in low efficiency and accuracy for coach analysis.
By acquiring the real-time coordinates and attitude data of curling stones in three-dimensional space, collisions are detected using distance thresholds and the source and target stones are marked. The coordinate sequence is split and an independent data stream identifier is assigned. An association mapping table is established to achieve automatic separation and synchronous display of the data stream.
It achieves source separation and structured association of collision data, improving the efficiency and intuitiveness of training data analysis. Coaches can view the motion changes before and after the collision on a mobile device.
Smart Images

Figure CN122293810B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data acquisition technology, specifically relating to a mobile-assisted video-synchronized curling training data acquisition method. Background Technology
[0002] In curling training, multi-view video capture systems are widely used to capture the trajectory of curlers and the technical movements of athletes. Existing capture systems typically use multiple cameras to film segments of the rink, capturing the complete motion of each curler from release to stop.
[0003] However, when two or more curling stones collide, existing data acquisition methods suffer from the following technical problems: the motion data of each stone is mixed and recorded in the same video stream or the same data file. The trajectories, speeds, and rotations of the source and collided stones are intertwined and cannot be automatically separated during the acquisition phase. When coaches are reviewing and analyzing the game, if they want to view the changes in the trajectory of the collided stone before and after the collision, or analyze the speed decay of the source stone after the collision, they can only manually extract and separate the data from the mixed data. This process is cumbersome, error-prone, and seriously affects the efficiency and accuracy of training data analysis.
[0004] Therefore, how to automatically distinguish and independently collect the motion data of each curling stone from the source when a collision event occurs, so as to form a structured relationship between the data of the source stone and the stone that was hit, is a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0005] In view of the above-mentioned defects or deficiencies in the existing technology, a mobile-assisted video-synchronized curling training data acquisition method is provided, including the following steps: Obtain the real-time coordinate sequence and real-time attitude data of each curling stone in a three-dimensional spatial coordinate system. The real-time attitude data includes the orientation of the stone and its rotational angular velocity. When the coordinate distance between any two curling stones is less than a first preset threshold, the velocity vectors of the two curling stones within a preset time before the collision are extracted, the magnitudes of the velocity vectors are compared, and the curling stone with the larger magnitude is marked as the source of the collision, and the curling stone with the smaller magnitude is marked as the collided stone. Using the moment of collision as the dividing point, the coordinate sequence of the collision source pot is divided into a first pre-collision coordinate subsequence and a first post-collision coordinate subsequence, and the coordinate sequence of the collided pot is divided into a second pre-collision coordinate subsequence and a second post-collision coordinate subsequence. Assign a first data stream identifier to the first pre-collision coordinate subsequence and the first post-collision coordinate subsequence, assign a second data stream identifier to the second pre-collision coordinate subsequence and the second post-collision coordinate subsequence, and establish an association mapping table between the first data stream identifier and the second data stream identifier. The association mapping table records the time of collision and the collision position coordinates. The coordinate subsequences with the first data stream identifier and the coordinate subsequences with the second data stream identifier are encapsulated into a data packet and pushed to the mobile terminal, so that the mobile terminal can synchronously display the motion trajectories of the collision source pot and the collided pot according to the association mapping table.
[0006] According to the technical solution provided in this application, the following steps are also included: Extract the feature parameters of the collision event and generate a set of associated parameters; The set of associated parameters is written into the associated mapping table, associated and encapsulated with the first data stream identifier and the second data stream identifier, and pushed to the mobile terminal so that the mobile terminal can display the parameters in the set of associated parameters while synchronously displaying the motion trajectory.
[0007] According to the technical solution provided in this application, the set of associated parameters includes collision types; Determining the collision type includes the following steps: Obtain the first real-time coordinates of the collision source pot and the second real-time coordinates of the collided pot at the moment of the collision, and calculate the line connecting the first real-time coordinates and the second real-time coordinates as the collision line; Obtain the current outline of the pot body at the moment of collision, and calculate the intersection of the collision line and the current outline of the pot body as the actual collision point; The collision type is determined based on the position of the actual collision point relative to the geometric center of the pot that was hit. The collision type includes frontal collision and side collision.
[0008] According to the technical solution provided in this application, determining the collision type based on the position of the actual collision point relative to the geometric center of the collided pot includes the following steps: Calculate the eccentric distance between the actual point of impact and the geometric center of the pot that was struck; The eccentricity distance is compared with a preset eccentricity threshold: If the eccentricity distance is less than the first eccentricity threshold, it is determined to be a frontal collision; If the eccentricity distance is greater than or equal to the first eccentricity threshold, it is determined to be a side collision.
[0009] According to the technical solution provided in this application, the set of associated parameters includes the rotational state change of the collision source pot, and the rotational state change includes rotational gain and rotational loss. Determining the change in rotational state includes the following steps: Extract the rotational angular velocity sequence of the collision source pot within a preset time before the collision from the real-time attitude data, calculate the decay trend of the rotational angular velocity sequence, and fit the rotational angular velocity decay curve of the collision source pot under non-collision conditions. Extract the actual rotational angular velocity of the collision source pot after the collision from the real-time attitude data; The actual rotational angular velocity is compared with the predicted value of the decay curve at the corresponding moment after the collision: If the actual rotational angular velocity is greater than the predicted value, it is determined to be a rotational gain; If the actual rotational angular velocity is less than the predicted value, it is determined to be rotational loss.
[0010] According to the technical solution provided in this application, the set of associated parameters includes the reasons for the rotational changes of the collision source pot; Determining the cause of rotational changes includes the following steps: The orientation of the pot at the moment of collision is extracted from the real-time attitude data; Based on the orientation of the pot, a local coordinate system is established with the geometric center of the pot being struck as the origin and the orientation of the pot as the reference direction. In the local coordinate system, the front area, rear area, left area and right area of the pot being struck are determined. Obtain the coordinates of the actual collision point in the local coordinate system, and determine the orientation region where the actual collision point is located; When rotational gain is determined, the reason for the rotational gain is identified based on the orientation region where the actual collision point is located: If the actual collision point is located in the front region, it is determined to be a positioning rebound gain; If the actual collision point is located in the left or right region, it is determined to be tangential friction gain; When rotational loss is determined, the cause of the rotational loss is identified based on the location of the actual collision point: If the actual collision point is located in the rear region, it is determined to be drag loss.
[0011] According to the technical solution provided in this application, after determining the tangential friction gain, the following steps are also included: Extract the rotation direction of the collision source pot before the collision from the real-time attitude data; Based on the matching relationship between the location of the actual collision point and the rotation direction, the intensity level of the tangential friction gain is determined: If the actual collision point is located in the left region and the rotation direction is clockwise, or if the actual collision point is located in the right region and the rotation direction is counterclockwise, then it is determined to be a high-intensity tangential friction gain. If the actual collision point is located in the left region and the rotation direction is counterclockwise, or if the actual collision point is located in the right region and the rotation direction is clockwise, then it is determined to be a low-intensity tangential friction gain.
[0012] According to the technical solution provided in this application, the step of calculating the decay trend of the rotational angular velocity sequence and fitting the rotational angular velocity decay curve of the collision source pot under non-collision conditions includes the following steps: Extract the rotational angular velocity sequence of the collision source pot within a preset time before the collision from the real-time attitude data. The rotational angular velocity sequence includes multiple sampling times and corresponding rotational angular velocity values. Obtain an exponential decay model, which includes a decay coefficient to be determined, and the decay coefficient is used to reflect the rate at which the rotational angular velocity decays over time. The value of the decay coefficient is determined with the goal of minimizing the overall deviation between the exponential decay model and the rotational angular velocity sequence. Substituting the value of the attenuation coefficient into the exponential attenuation model, the rotational angular velocity attenuation curve of the collision source pot under non-collision conditions is obtained.
[0013] According to the technical solution provided in this application, the following steps are also included: Multiple samples identified as tangential friction gain from historical collision events are obtained. Each sample records the intensity level of the tangential friction gain and the attenuation coefficient fitted in that collision event. The attenuation coefficients corresponding to high-intensity tangential friction gain and low-intensity tangential friction gain are classified separately, and the mean value of the first attenuation coefficient of the high-intensity group and the mean value of the second attenuation coefficient of the low-intensity group are calculated. If the tangential friction gain intensity level of the current collision event is determined to be high intensity, then the attenuation coefficient fitted in the current collision event is adjusted towards the average value of the first attenuation coefficient to obtain an optimized attenuation coefficient; if the tangential friction gain intensity level of the current collision event is determined to be low intensity, then the attenuation coefficient fitted in the current collision event is adjusted towards the average value of the second attenuation coefficient to obtain an optimized attenuation coefficient. The optimized attenuation coefficient is used as a preset initial value for fitting the rotational angular velocity attenuation curve in subsequent collision events, so as to optimize the fitting accuracy of the subsequent attenuation curve.
[0014] According to the technical solution provided in this application, before obtaining the exponential decay model, the following steps are also included: The real-time coordinate sequence of the collision source pot within a preset time before the collision is obtained, and the real-time coordinate sequence is matched with the preset track partition to determine the track area sequence that the collision source pot passes through during the sliding process. Initialize the attenuation coefficient of each track area to the preset default value, and establish the mapping relationship between the track area and the attenuation coefficient; Based on the track area sequence, the decay coefficient in the exponential decay model is extended to a decay coefficient function that varies with spatial location. The decay coefficient function takes the value corresponding to the decay coefficient of different track areas. With the goal of minimizing the overall deviation between the attenuation coefficient function and the rotational angular velocity sequence, the values of the attenuation coefficient corresponding to each track area are determined; Substituting the attenuation coefficients corresponding to each track area into the attenuation coefficient function yields the rotational angular velocity attenuation curve that varies with spatial position.
[0015] Compared with the prior art, the beneficial effects of this application are as follows: 1. Achieve source separation of collision data: When a collision event is detected, the source pot and the pot that was hit are automatically identified, and their coordinate sequences are split into pre-collision subsequence and post-collision subsequence with the time of the collision as the dividing point. Each subsequence is assigned an independent data stream identifier, so as to achieve separate storage of the motion data of the source pot and the pot that was hit from the source of collection, thus avoiding data mixing.
[0016] 2. Establishing a structured association of collision data: By establishing an association mapping table, the time of collision and the coordinates of the collision location are recorded, and the independent data streams of the collision source pot and the collided pot are associated through the association mapping table, so that the two originally independent data streams are logically formed into a traceable collision event pair, providing a structured data foundation for subsequent collision effect analysis.
[0017] 3. Support for synchronous comparison display on mobile devices: After encapsulating the coordinate subsequence with independent data stream identifiers, the mobile device can synchronously display the motion trajectories of the collision source pot and the collided pot according to the associated mapping table. The coach can intuitively compare the motion changes of the two pots before and after the collision on the same interface, which significantly improves the efficiency and intuitiveness of training data analysis. Attached Figure Description
[0018] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings: Figure 1A flowchart illustrating the steps of the mobile-assisted video-synchronized curling training data acquisition method provided in this application. Detailed Implementation
[0019] The present application will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, only the parts relevant to the invention are shown in the accompanying drawings.
[0020] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0021] As mentioned in the background section, this application proposes a mobile-assisted video-synchronized curling training data acquisition method, such as... Figure 1 As shown, it includes the following steps: S1. Obtain the real-time coordinate sequence and real-time attitude data of each curling stone in the three-dimensional spatial coordinate system. The real-time attitude data includes the orientation of the stone and the rotational angular velocity. S2. When the coordinate distance between any two curling stones is less than the first preset threshold, extract the velocity vectors of the two curling stones within a preset time before the collision, compare the magnitudes of the velocity vectors, mark the curling stone with the larger magnitude as the source of the collision, and mark the curling stone with the smaller magnitude as the collided stone. Furthermore, a collision window is constructed by taking coordinate data of a preset number of frames forward and backward, centered on the moment of collision; Anomaly detection is performed on the coordinate sequence within the collision window to identify coordinate jumps or missing points caused by impact. If no coordinate jump or missing point caused by the impact is detected, proceed to the next step: S3. Taking the moment of collision as the dividing point, the coordinate sequence of the collision source pot is divided into a first pre-collision coordinate subsequence and a first post-collision coordinate subsequence, and the coordinate sequence of the collided pot is divided into a second pre-collision coordinate subsequence and a second post-collision coordinate subsequence. S4. Assign a first data stream identifier to the first pre-collision coordinate subsequence and the first post-collision coordinate subsequence, assign a second data stream identifier to the second pre-collision coordinate subsequence and the second post-collision coordinate subsequence, and establish an association mapping table between the first data stream identifier and the second data stream identifier. The association mapping table records the collision occurrence time and collision position coordinates. S5. Encapsulate the coordinate subsequence with the first data stream identifier and the coordinate subsequence with the second data stream identifier into a data packet and push it to the mobile terminal so that the mobile terminal can synchronously display the motion trajectory of the collision source pot and the collided pot according to the association mapping table.
[0022] Furthermore, if coordinate jumps or missing points are detected due to the impact, data repair is performed based on the kinematic consistency constraints before and after the collision to obtain a corrected coordinate sequence, and then the above steps are performed based on the corrected coordinate sequence.
[0023] Specifically, after determining the moment of collision, the server constructs a collision window by taking coordinate data for 0.2 seconds before and after that moment, centered on that time. Outlier detection is performed on all coordinate points within this window using energy consistency verification: the average velocity of both the source and collided stones in the last 0.1 seconds before the collision is calculated to obtain the total kinetic energy before the collision; then, the average velocity in the first 0.1 seconds after the collision is calculated to obtain the total kinetic energy after the collision. Based on the frictional characteristics of the curling stone and the ice surface, and the collision recovery coefficient (usually taken as 0.85), the theoretical kinetic energy ratio before and after the collision should be within a reasonable range (e.g., between 0.7 and 0.9). If the kinetic energy ratio calculated from the original positioning data deviates from this range by more than 15%, a positioning anomaly caused by the impact is determined to exist within the collision window.
[0024] For detected anomalies, instead of direct removal or linear interpolation, an energy conservation inversion repair method is used. The server parameterizes the coordinate sequence within the collision window into a cubic spline curve, setting a set of control points before and after the collision occurrence time. Using the coordinate sequence of the last 0.1 seconds before the collision as a reference, a smooth curve is fitted and extrapolated to the collision time to obtain the "entry position" of the source and target stones at the moment of collision; similarly, using the coordinate sequence of the first 0.1 seconds after the collision as a reference, it is backfitted to the collision time to obtain the "departure position" at the moment of collision. Theoretically, the coordinates at the moment of collision should simultaneously satisfy the entry and departure trajectories, but due to positioning anomalies, there is often a deviation between the two. The server sets the coordinates at the moment of collision as unknowns and introduces physical constraints: during the collision, the momentum exchange between the two stones should satisfy momentum conservation and energy conservation (considering energy loss). Based on the mass of the source and target stones (both 19.96 kg), the instantaneous velocity before the collision (calculated from the endpoint of the entry trajectory), the instantaneous velocity after the collision (calculated from the endpoint of the departure trajectory), and the coefficient of restitution, a system of equations is established. By solving this system of equations, the true coordinates of the two curling stones at the moment of collision can be deduced. These coordinates satisfy both trajectory continuity and the physical laws of collision.
[0025] Subsequently, using the inferred collision instant coordinates as anchor points, all coordinate points within the collision window were adjusted as a whole. The adjustment method employed elastic deformation correction: the original coordinate sequence within the collision window was treated as an elastic curve, with the collision instant coordinates as a fixed point, and deformation was gradually released to both sides. The correction magnitude decreased exponentially with distance from the collision instant. The corrected coordinate sequence strictly adhered to physical laws at the collision instant and gradually returned to the original measured values in regions far from the collision, thus accurately correcting the positioning error at the moment of collision while maintaining the overall motion trend. Compared to conventional interpolation or filtering, this method not only corrected data jumps but, more importantly, made the corrected trajectory physically self-consistent, providing a reliable foundation for subsequent rotation and energy analysis.
[0026] First, the three-dimensional spatial coordinate system refers to a spatial coordinate system established with the ice rink as the reference. Typically, the origin is the midpoint of one end of the rink, with the X-axis along the length of the rink, the Y-axis along the width, and the Z-axis perpendicular to the ice surface. All coordinate values are recorded in centimeters or millimeters. The real-time coordinate sequence refers to a set of coordinate points continuously collected by a positioning system and arranged in chronological order. Each coordinate point contains three-dimensional coordinate values and a corresponding timestamp. The first preset threshold is the critical distance value used to determine whether two curling stones have collided. This value is determined based on the diameter of the curling stones and the error of the positioning system, and is usually set to 1.2 times the sum of the radii of the curling stones, approximately 36 centimeters. The velocity vector is the velocity vector of a curling stone at a given moment, containing both magnitude and direction. It can be calculated by the ratio of the position difference to the time difference between two adjacent coordinate points in the coordinate sequence. The magnitude refers to the magnitude of the velocity vector, i.e., the speed, measured in meters per second. The source curling stone is the one with higher velocity that actively impacts the other curling stone during the collision. The impacted curling stone is the one with lower velocity that is impacted during the collision. Mobile devices refer to portable devices such as smartphones, tablets, or laptops that run training and analysis software.
[0027] The specific implementation steps are as follows: The first step is to acquire the real-time coordinate sequence of each curling stone in a three-dimensional spatial coordinate system. In this embodiment, multiple ultra-wideband positioning base stations are deployed around the ice rink, and an ultra-wideband positioning tag is embedded in the bottom of each curling stone. The positioning system continuously acquires the three-dimensional spatial coordinates of each curling stone at a frequency of 100 times per second, with an accuracy of centimeter level. The acquired raw data includes the curling stone number, timestamp, X coordinate, Y coordinate, and Z coordinate. The data is transmitted in real time to the data processing server via a wireless network. The server maintains a 10-second circular buffer for each curling stone, storing its most recent coordinate sequence. Simultaneously, the server performs Kalman filtering on the coordinate sequences of each curling stone at a frequency of 50 times per second to remove positioning noise and obtain a smooth real-time coordinate sequence. The filtered coordinate sequence is used for all subsequent analyses; real-time attitude data acquisition: each curling stone is embedded with a six-axis inertial measurement unit, which consists of a three-axis gyroscope and a three-axis accelerometer. The gyroscope measures the angular velocity of the curling stone around its three axes, with a range of ±500 degrees / second and a resolution of 0.01 degrees / second. The accelerometer measures the linear acceleration of the curling stone, aiding in attitude calculation and tilt compensation. The inertial measurement unit (IMU) and the ultra-wideband positioning tag are integrated on the same circuit board and driven by the same clock source, ensuring time synchronization between attitude and coordinate data. The attitude data is acquired at a frequency of 200 times per second, higher than the coordinate data acquisition frequency, to ensure accurate capture of rotational motion. During each acquisition, the IMU outputs a timestamp, three-axis angular velocity values (ω_x, ω_y, ω_z), and three-axis acceleration values (a_x, a_y, a_z). Since curling primarily moves within the ice surface, the curling stone's attitude mainly concerns its orientation angle around the vertical axis (Z-axis). Therefore, the server processes the raw attitude data as follows: Zero-bias correction: 1000 samples are collected when the curling stone is stationary, and the static bias values of each axis of the gyroscope are calculated. Subsequent real-time data is subtracted from these bias values to eliminate sensor zero-drift errors. Attitude calculation: A complementary filtering algorithm is used to fuse gyroscope and accelerometer data. Gyroscope integration provides high-frequency attitude changes, while the accelerometer provides a low-frequency attitude reference by detecting the direction of gravity. The fusion of these two data results in a stable orientation angle. The orientation angle is defined as 0 degrees pointing towards the far end of the rink (positive X-axis direction), with counter-clockwise rotation being positive, and a range of 0 to 360 degrees. Rotational angular velocity extraction: The gyroscope measurement around the Z-axis is directly used as the curling stone's rotational angular velocity, expressed in radians per second. Positive values indicate counter-clockwise rotation, and negative values indicate clockwise rotation. The processed attitude data and coordinate data are aligned using timestamps. Since the coordinate sampling frequency is 100Hz and the attitude sampling frequency is 200Hz, the server uses the nearest neighbor matching method to associate each coordinate point with the attitude point with the closest timestamp, forming a complete data frame containing timestamp, three-dimensional coordinates, pot orientation, and rotational angular velocity.For the precise moment required for collision analysis, if there is no corresponding sampling point at that moment, linear interpolation is used to interpolate the coordinate and attitude data to obtain the coordinate and attitude values at that moment.
[0028] The second step involves extracting the velocity vectors of any two stones within a preset time interval before the collision when the coordinate distance between them is less than a first preset threshold. The magnitudes of these velocity vectors are compared, and the stone with the larger magnitude is marked as the source stone, while the stone with the smaller magnitude is marked as the struck stone. The server continuously calculates the Euclidean distance between each pair of stones. When the distance between a pair of stones first falls below 36 centimeters, the collision detection procedure is triggered. The program extracts the coordinate sequence of the two stones within 0.2 seconds before the collision from the circular buffer, with each stone containing at least two coordinate points. For each stone, the instantaneous velocity vector is calculated using the two nearest coordinate points (i.e., the coordinate difference divided by the time difference) to obtain the horizontal and vertical components of the velocity, and then the magnitude of the velocity is calculated. The velocity magnitudes of the two stones are compared, and the stone with the larger velocity is marked as the source stone, while the stone with the smaller velocity is marked as the struck stone. This moment is recorded as a preliminary estimate of the collision occurrence time, corresponding to an intermediate moment between the last sampling point satisfying a distance greater than the threshold and the first sampling point satisfying a distance less than the threshold.
[0029] The third step involves splitting the coordinate sequence of the source pot into a first pre-collision coordinate subsequence and a first post-collision coordinate subsequence, using the collision occurrence time as the dividing point. Similarly, the coordinate sequence of the pot being collided with is split into a second pre-collision coordinate subsequence and a second post-collision coordinate subsequence. Since the sampling interval is 0.01 seconds, the collision occurrence time often falls between two sampling points. To ensure accurate splitting, the server uses linear interpolation to determine the precise time of the collision. The last sampling point before the collision and the first sampling point after the collision are taken, and the specific time of the collision is calculated by interpolation based on their differences from a threshold. Then, using this time as the boundary, all coordinate points before this time are extracted from the complete coordinate sequence of the source pot to form the first pre-collision coordinate subsequence; all coordinate points after this time are extracted to form the first post-collision coordinate subsequence. The pot being collided with is processed in the same way to obtain the second pre-collision coordinate subsequence and the second post-collision coordinate subsequence. Each coordinate subsequence retains the original timestamp information to ensure the accuracy of the timeline. It is worth noting that there may not be a corresponding sampling point at the moment of collision. Therefore, when splitting, the two subsequences are continuous in time, but the moment of collision is not included in either subsequence. This processing method ensures that the trajectory after the collision is recorded from the instant after the collision, avoiding the introduction of errors at the moment of collision.
[0030] The fourth step involves assigning a first data stream identifier to the first pre-collision coordinate subsequence and the first post-collision coordinate subsequence, and assigning a second data stream identifier to the second pre-collision coordinate subsequence and the second post-collision coordinate subsequence. An association mapping table is then established between the first and second data stream identifiers, recording the collision time and collision location coordinates. The server generates two globally unique identifiers for this collision event, which can be generated using a combination of timestamps and random numbers. The first identifier is assigned to the two subsequences of the source curler, and the second identifier is assigned to the two subsequences of the curler that was collided. Then, an association mapping table is created. This table is a key-value pair structure, where the key is the data stream identifier of the source curler, and the value is a composite object containing the data stream identifier of the curler that was collided, the collision time, and the collision location coordinates. The collision location coordinates are the arithmetic mean of the two curler coordinates at the time of collision. The purpose of this mapping table is to allow the mobile device to identify which two data streams belong to the same collision event and to know the precise time and location of the collision, thus enabling correct alignment of the two trajectories during playback.
[0031] The fifth step involves encapsulating the coordinate subsequences with the first data stream identifier and the coordinate subsequences with the second data stream identifier into data packets and pushing them to the mobile device. This allows the mobile device to synchronously display the motion trajectories of the source and target stones according to the association mapping table. The server packages all coordinate subsequences according to the data stream identifier. Each data packet contains the data stream identifier, the stone number, the subsequence type, and a list of coordinate points. The association mapping table is packaged separately and is also part of the data packet. A long-term connection is established between the server and the mobile device using a real-time communication protocol. The server pushes the data packet immediately after each collision event. After receiving the data, the mobile device first parses the association mapping table to determine the correspondence between the two data stream identifiers. Then, on the user interface, the mobile device extracts the two subsequences of the source stone based on its data stream identifier and stitches them together to form a complete trajectory line, which is drawn with a red line; it also extracts the two subsequences of the target stone based on its data stream identifier and stitches them together to form a complete trajectory line, which is drawn with a blue line. The two trajectory lines intersect at the collision point at the moment of impact. The mobile device can simultaneously replay the motion process before and after the collision, and supports operations such as pause, slow motion, and loop playback, so that coaches and athletes can analyze the collision effect.
[0032] The technical principle of this solution lies in: acquiring the precise movement trajectory of the curling stone through a real-time positioning system, detecting collision events using distance thresholds, and distinguishing the active and passive relationships of the colliding stones based on speed magnitude. The trajectories before and after the collision are split into independent sub-sequences and assigned unique identifiers, establishing an association mapping table. This allows mobile devices to identify two curling stone trajectories belonging to the same collision event, thus achieving synchronous playback. This data stream identification and association mapping method solves the problem of synchronous trajectory display in situations with multiple curling stones and multiple collision events. Its beneficial effects are: providing a precise collision process playback tool for curling training; clearly distinguishing the movement trajectories of the source and collided stones; supporting real-time viewing on mobile devices for convenient on-site analysis; and ensuring the integrity of the trajectories before and after the collision and the continuity of the timeline through data splitting and identification methods.
[0033] In a preferred embodiment, the following steps are also included: Extract the feature parameters of the collision event and generate a set of associated parameters; The set of associated parameters is written into the associated mapping table, associated and encapsulated with the first data stream identifier and the second data stream identifier, and pushed to the mobile terminal so that the mobile terminal can display the parameters in the set of associated parameters while synchronously displaying the motion trajectory.
[0034] The specific implementation steps are as follows: The first step is to extract the feature parameters of the collision event and generate a set of associated parameters. After collision detection and trajectory segmentation, the server analyzes the data before and after the collision and calculates a series of feature parameters. First, the coordinate points within the last 0.2 seconds before the collision are extracted from the first pre-collision coordinate subsequence of the source stone, and the average velocity vector of the source stone before the collision is calculated using a multi-point averaging method, including the magnitude and direction of the velocity. Similarly, the coordinate points within the first 0.2 seconds after the collision are extracted from the first post-collision coordinate subsequence, and the average velocity vector of the source stone after the collision is calculated. The same process is performed on the struck stone to obtain the average velocity vector of the struck stone before and after the collision. Next, the velocity change of the source stone is calculated, which is the magnitude of the velocity after the collision minus the magnitude of the velocity before the collision; the velocity change of the struck stone is calculated similarly. Then, the total kinetic energy before and after the collision is calculated. Kinetic energy is equal to half multiplied by mass multiplied by the square of velocity. Since the two stones have the same mass, the change in kinetic energy can be simplified to the change in the sum of the squares of velocities. The kinetic energy loss is the total kinetic energy before the collision minus the total kinetic energy after the collision. Next, calculate the angle of change in the velocity direction of the colliding stone. This angle is obtained by comparing the dot product of the velocity vectors before and after the collision with the product of their magnitudes, expressed in degrees. Similarly, calculate the angle of change in the direction of the struck stone. Furthermore, calculate the separation angle between the two stones' motion directions after the collision, i.e., the angle between the colliding stone's velocity direction after the collision and the struck stone's velocity direction after the collision. Organize these parameters into a structured dataset, named the correlation parameter set, which includes fields such as the magnitude of the colliding stone's velocity before and after the collision, the magnitude of the colliding stone's velocity before and after the collision, the magnitude of the struck stone's velocity before and after the collision, the angle of change in the direction of the colliding stone, the angle of change in the direction of the struck stone, kinetic energy loss, and separation angle.
[0035] The second step involves writing the set of associated parameters into an association mapping table, encapsulating it with the first and second data stream identifiers. The association mapping table records the data stream identifiers of the source pot, the collided pot, the collision time, and the collision location. Now, the set of associated parameters calculated in the previous step is added as a new field to this table, ensuring that the association mapping table fully contains all the key information of this collision event. Ultimately, the association mapping table includes trajectory identification information, time and location information, and kinematic characteristic parameters. This table is then serialized into a format suitable for network transmission, ready for push.
[0036] The third step involves pushing the association mapping table along with the corresponding coordinate sub-sequence data packet to the mobile device. This allows the mobile device to display the parameters in the association parameter set while simultaneously displaying the motion trajectory. The server packages the association mapping table and the four coordinate sub-sequences of the source and target stones into a single message and sends it to the mobile device via a real-time communication channel. Upon receiving the message, the mobile device first parses the association mapping table, extracting the data stream identifiers of the source and target stones, as well as the association parameter set. Then, it matches the corresponding coordinate sub-sequences based on the data stream identifiers and draws two trajectory lines on the user interface. Simultaneously, the mobile device creates a parameter display panel on one side of the screen, visually displaying each parameter in the association parameter set in tabular form. For example, it displays the velocity of the source stone before and after the collision, its velocity change, the velocity of the target stone before and after the collision, its velocity change, kinetic energy loss, and the angle of change and separation. Coaches can intuitively see the quantitative effect of the collision and judge the quality of the athlete's throw. The mobile device also supports displaying parameters from multiple collisions side-by-side, facilitating comparative analysis of the differences in the effects of different throwing strategies. In addition, mobile devices can allow users to click on a point on the trajectory to view detailed information such as the instantaneous speed at that moment, further enhancing analytical capabilities.
[0037] In a preferred embodiment, the set of associated parameters includes collision types; Determining the collision type includes the following steps: Obtain the first real-time coordinates of the collision source pot and the second real-time coordinates of the collided pot at the moment of the collision, and calculate the line connecting the first real-time coordinates and the second real-time coordinates as the collision line; Obtain the current outline of the pot body at the moment of collision, and calculate the intersection of the collision line and the current outline of the pot body as the actual collision point; The collision type is determined based on the position of the actual collision point relative to the geometric center of the pot that was hit. The collision type includes frontal collision and side collision.
[0038] The specific implementation steps are as follows: The first step is to obtain the first real-time coordinates of the source stone and the second real-time coordinates of the impacted stone at the moment of the collision. Then, calculate the line connecting these two coordinates, which serves as the collision line. Let point A be the center coordinates of the source stone and point B be the center coordinates of the impacted stone. Since the surfaces of the two stones are in contact at the moment of the collision, the distance between their centers is equal to the sum of their radii. The line connecting points A and B is the collision line. This straight line passes through the centers of the two stones, pointing from the center of the impacted stone to the center of the source stone, representing the line of action of the impact force. This line is the basis for all subsequent geometric calculations.
[0039] The second step is to obtain the current outline of the struck stone at the moment of collision, and calculate the intersection of the collision line and the current stone outline as the actual collision point. The outline of the struck stone is a circle with point B as its center and a radius equal to the radius of the stone. The collision line passes through the center of the circle and intersects the circle at two points: one pointing in the direction of the source stone and the other in the opposite direction. The actual collision point is the intersection point closest to the source stone, that is, the point where the surface of the source stone contacts the surface of the struck stone. Since the two stones have equal radii and the center distance at the time of collision is equal to twice the radius, the actual collision point is exactly located at the midpoint of the line connecting points A and B. The precise coordinates of the actual collision point can be determined through geometric relationships without complex calculations.
[0040] The third step is to determine the collision type based on the position of the actual collision point relative to the geometric center of the struck stone. Collision types include frontal and side collisions. A local coordinate system is established with the geometric center of the struck stone as the origin, with the X-axis pointing in the direction of the stone's movement and the Y-axis perpendicular to the direction of movement. The offset vector of the actual collision point relative to the geometric center is the actual collision point coordinates minus the coordinates of the struck stone's center. The magnitude of the offset, i.e., the distance from the actual collision point to the center of the struck stone, can be calculated using the coordinate difference. If this distance is small, it indicates the collision point is close to the center of the stone, and the impact force passes primarily through the center, classifying it as a frontal collision. If this distance is large, it indicates the collision point is off-center, and the impact force generates torque, classifying it as a side collision. A specific eccentricity threshold needs to be set for this determination. This threshold can be determined based on the radius of the stone and the actual definition of the collision effect, for example, one-third of the stone's radius. If the distance from the actual collision point to the center of the stone is less than this threshold, it is classified as a frontal collision; otherwise, it is classified as a side collision. The determination result is written as a collision type parameter into an associated parameter set for display on mobile devices.
[0041] The technical principle of this solution lies in utilizing the geometric relationship between the two curling stones at the moment of collision. The actual collision point is determined through geometric calculations, and the collision type is then judged based on the degree of deviation of the collision point from the center of the stone. Frontal and side collisions have drastically different effects on the curling trajectory; accurate collision type determination is crucial for subsequent spin analysis and training guidance. Its beneficial effects include: automating collision type determination, avoiding the subjectivity of manual judgment; providing a foundation for subsequent analysis of the causes of spin changes; and enabling coaches to quickly identify whether an athlete's throwing technique is a frontal or side strike, facilitating targeted adjustments to the technique.
[0042] Furthermore, determining the collision type based on the position of the actual collision point relative to the geometric center of the struck pot includes the following steps: Calculate the eccentric distance between the actual point of impact and the geometric center of the pot that was struck; The eccentricity distance is compared with a preset eccentricity threshold: If the eccentricity distance is less than the first eccentricity threshold, it is determined to be a frontal collision; If the eccentricity distance is greater than or equal to the first eccentricity threshold, it is determined to be a side collision.
[0043] The specific implementation steps are as follows: The first step is to calculate the eccentricity between the actual point of impact and the geometric center of the struck stone. The geometric center of the struck stone is the center of the stone's circle, and the actual point of impact is the intersection of the line connecting the impact points and the stone's outline. Subtracting the coordinates of the struck stone's center from the coordinates of the actual point of impact yields the offset vector. The magnitude of this vector is the eccentricity, which is the straight-line distance from the actual point of impact to the center of the struck stone. The eccentricity ranges from zero to the stone's radius. When the eccentricity is zero, it indicates that the impact point is exactly at the center of the stone, a situation called a centering collision; when the eccentricity equals the stone's radius, it indicates that the impact point is at the edge of the stone, a situation called an edge collision. The larger the eccentricity, the greater the impact torque, and the greater the rotational speed gained by the struck stone.
[0044] The second step is to compare the eccentricity distance with a preset eccentricity threshold. The preset eccentricity threshold is a value set beforehand based on the laws of curling motion and training analysis needs. Setting this threshold requires consideration of several factors. From a physics perspective, when the collision point deviates from the center of the stone, the impact torque is proportional to the eccentricity distance, but the critical eccentricity distance at which the stone begins to produce significant rotation is approximately between one-third and one-half of the radius. From a training analysis perspective, coaches are usually concerned with whether the collision has an effect, i.e., whether the struck stone has undergone observable rotation. Taking all factors into account, the first eccentricity threshold can be set to one-third of the stone's radius, approximately 5 centimeters. If the eccentricity distance is less than 5 centimeters, it is considered that the impact force basically passes through the center of the stone, and the rotation effect of the struck stone is very weak, which is a head-on collision. If the eccentricity distance is greater than or equal to 5 centimeters, it is considered that the impact force produces a significant torque, and the struck stone will gain significant rotation, which is a side collision.
[0045] The third step is to determine the collision type based on the comparison results. If the eccentricity distance is less than the first eccentricity threshold, it is determined to be a head-on collision. The characteristic of a head-on collision is that the direction of motion of the struck stone is basically along the impact direction of the source stone, and the rotational change of the struck stone is very small, mainly gaining translational kinetic energy. In training, head-on collisions are often used to directly knock the opponent's stone out of the house or adjust the position of one's own stone. If the eccentricity distance is greater than or equal to the first eccentricity threshold, it is determined to be a side collision. The characteristic of a side collision is that the impact torque causes the struck stone to rotate, its trajectory will be curved, and the direction of motion after the collision will have an angle with the impact direction. In training, side collisions are often used to execute high-difficulty techniques such as hits or double takeouts, causing one's own stone to change direction after the impact while simultaneously knocking the opponent's stone out. The determination result is written as a collision type parameter into the associated parameter set and pushed to the mobile device along with the trajectory data.
[0046] The technical principle of this solution lies in calculating the eccentricity distance of the collision point relative to the center of the curling stone, and using a distance threshold to classify collisions into two types: frontal collisions and side collisions. The eccentricity distance directly determines the magnitude of the impact torque, which is the fundamental cause of curling spin. Therefore, the eccentricity-based determination method has clear physical significance. Its beneficial effects are: it enables quantitative determination of collision types, avoiding subjective judgment based on manual observation; it provides accurate input for subsequent analysis of spin state changes; and it allows coaches and athletes to quantitatively evaluate the quality of each collision, such as whether their shot was square enough or whether they achieved the expected side hit effect.
[0047] In a preferred embodiment, the set of associated parameters includes the rotational state change of the collision source pot, and the rotational state change includes rotational gain and rotational loss; Determining the change in rotational state includes the following steps: Extract the rotational angular velocity sequence of the collision source pot within a preset time before the collision from the real-time attitude data, calculate the decay trend of the rotational angular velocity sequence, and fit the rotational angular velocity decay curve of the collision source pot under non-collision conditions. Extract the actual rotational angular velocity of the collision source pot after the collision from the real-time attitude data; The actual rotational angular velocity is compared with the predicted value of the decay curve at the corresponding moment after the collision: If the actual rotational angular velocity is greater than the predicted value, it is determined to be a rotational gain; If the actual rotational angular velocity is less than the predicted value, it is determined to be rotational loss.
[0048] The specific implementation steps are as follows: The first step is to obtain the rotational angular velocity sequence of the source curling stone within a preset time period before the collision, calculate the decay trend of the rotational angular velocity sequence, and fit a decay curve of the source curling stone's rotational angular velocity under no-collision conditions. When curling stones glide on ice, their rotational angular velocity gradually decreases due to ice friction and air resistance. This decay typically follows an exponential decay law, meaning the angular velocity decreases exponentially with time. After fitting, a smooth decay curve is obtained, which describes the change in the rotational angular velocity of the source curling stone over time under no-collision conditions. Extrapolating this curve to the time after the collision yields the expected rotational angular velocity at any time after the collision.
[0049] The second step is to obtain the actual rotational angular velocity of the colliding source pot after the collision. After the collision, the server continues to receive the pot's positioning and attitude data, extracting the actual observed rotational angular velocity within a short period after the collision (e.g., within 0.5 seconds). Since the collision process itself is extremely short, the first valid sampling point after the collision may already contain the impact of the collision. To reduce measurement error, multiple sampling points within 0.1 seconds after the collision can be averaged as a representative value of the actual rotational angular velocity after the collision.
[0050] The third step involves comparing the actual rotational angular velocity with the predicted value of the decay curve at the corresponding moment after the collision, and determining the type of rotational state change based on the comparison result. At the instant of the collision, the fitted decay curve is extrapolated to the moment of impact, and the expected rotational angular velocity at that moment is calculated. Then, the actual rotational angular velocity after the collision is compared with this expected value. If the actual rotational angular velocity is greater than the expected value, it indicates that the collision has given the curling stone additional rotational energy, and the rotational angular velocity is higher than the value under natural decay; this is classified as rotational gain. If the actual rotational angular velocity is less than the expected value, it indicates that the collision has caused the curling stone to lose rotational energy, and the rotational angular velocity is lower than the value under natural decay; this is classified as rotational loss. The difference between rotational gain and rotational loss reflects the strength of the impact of the collision on the rotational motion, and this difference can also be recorded as a quantitative indicator in the associated parameter set.
[0051] This implementation method can accurately determine whether a collision gives the curling stone more spin or causes it to lose spin, which is crucial for analyzing the athlete's technique. It provides a foundation for subsequent analysis of the causes of spin changes and enables coaches to understand the impact of different striking methods on the curling stone's spin state, thereby guiding athletes to adjust their techniques.
[0052] In a preferred embodiment, the set of associated parameters includes the reasons for the rotational changes of the collision source pot; Determining the cause of rotational changes includes the following steps: The orientation of the pot at the moment of collision is extracted from the real-time attitude data; Based on the orientation of the pot, a local coordinate system is established with the geometric center of the pot being struck as the origin and the orientation of the pot as the reference direction. In the local coordinate system, the front area, rear area, left area and right area of the pot being struck are determined. Obtain the coordinates of the actual collision point in the local coordinate system, and determine the orientation region where the actual collision point is located; When rotational gain is determined, the reason for the rotational gain is identified based on the orientation region where the actual collision point is located: If the actual collision point is located in the front region, it is determined to be a positioning rebound gain; If the actual collision point is located in the left or right region, it is determined to be tangential friction gain; When rotational loss is determined, the cause of the rotational loss is identified based on the location of the actual collision point: If the actual collision point is located in the rear region, it is determined to be drag loss.
[0053] The specific implementation steps are as follows: The first step is to obtain the orientation of the stones at the moment of impact. The orientation of the stones can be obtained through attitude sensors installed inside the stones or extracted from video images using visual recognition methods. Attitude sensors typically employ a three-axis gyroscope and accelerometer, capable of measuring the orientation angle of the stones in real time. The server records the orientation angle of each stone along with its coordinates. At the moment of impact, the orientation angle of the struck stone is read and expressed as an angle value: 0 degrees points to the far end of the rink, 90 degrees points to the right, and so on.
[0054] The second step involves establishing a local coordinate system based on the orientation of the teapot. The origin is the geometric center of the teapot, and the orientation is used as the reference direction. Within this local coordinate system, the front, rear, left, and right regions of the teapot are defined. A Cartesian coordinate system is established with the geometric center of the teapot as the origin, the orientation as the positive X-axis, and the direction perpendicular to the X-axis to the left as the positive Y-axis. In this local coordinate system, the circular outline of the teapot is divided into four quadrants. The front region corresponds to a certain angle range near the positive X-axis, typically between ±45 degrees. The rear region corresponds to a certain angle range near the negative X-axis, between 135 and 225 degrees. The left region corresponds to the area near the positive Y-axis, between 45 and 135 degrees. The right region corresponds to the area near the negative Y-axis, between 225 and 315 degrees. These four regions cover the entire circumference of the teapot.
[0055] The third step is to obtain the coordinates of the actual collision point in the local coordinate system to determine its location. Having already determined the global coordinates of the collision point, we convert them to a local coordinate system with the geometric center of the struck pot as the origin and the pot's orientation as the X-axis. Based on the angle of the collision point in the local coordinate system, we determine whether it falls within the front, rear, left, or right region. The angle can be calculated using the arctangent function, and then the region is determined based on the angle value. For example, if the angle is between -45 degrees and +45 degrees, it belongs to the front region; if the angle is between 45 degrees and 135 degrees, it belongs to the left region; and so on.
[0056] The fourth step is to identify the cause of the rotational change based on the type of rotational state change and the location of the actual collision point. When it is determined to be rotational gain, the specific cause of the gain is further distinguished. If the actual collision point is located in the front region, it is determined to be a locking rebound gain. In this case, the source pot hits the front of the target pot, and the target pot generates a reaction force on the source pot. The direction of this force matches the rotation direction of the source pot, giving the source pot additional rotational acceleration. If the actual collision point is located in the left or right region, it is determined to be tangential friction gain. In this case, the side of the source pot rubs against the side of the target pot, and the tangential friction force generates a torque on the source pot, increasing its rotational speed. When it is determined to be rotational loss, if the actual collision point is located in the rear region, it is determined to be drag loss. In this case, the source pot hits the rear of the target pot, and the target pot hinders the movement of the source pot. This hindering effect consumes the rotational energy of the source pot, reducing its rotational speed. The determination result is written as a parameter for the cause of the rotational change into the associated parameter set.
[0057] This implementation provides a physically explainable reason for spin gain and loss; enables coaches to understand why a certain hitting method produces a specific spin effect; provides a quantitative basis for athletes to adjust their hitting position; and enhances the professionalism and practicality of the training analysis system.
[0058] In a preferred embodiment, after determining the tangential friction gain, the method further includes the following steps: Extract the rotation direction of the collision source pot before the collision from the real-time attitude data; Based on the matching relationship between the location of the actual collision point and the rotation direction, the intensity level of the tangential friction gain is determined: If the actual collision point is located in the left region and the rotation direction is clockwise, or if the actual collision point is located in the right region and the rotation direction is counterclockwise, then it is determined to be a high-intensity tangential friction gain. If the actual collision point is located in the left region and the rotation direction is counterclockwise, or if the actual collision point is located in the right region and the rotation direction is clockwise, then it is determined to be a low-intensity tangential friction gain.
[0059] The specific implementation steps are as follows: The first step is to obtain the rotation direction of the collision source pot before the collision. The server extracts the rotation angular velocity sequence within the last 0.1 seconds before the collision from the historical data of the collision source pot and calculates the average value of these angular velocities. If the average angular velocity is greater than 0, the rotation direction is determined to be clockwise; if the average angular velocity is less than 0, the rotation direction is determined to be counterclockwise. This rotation direction is recorded as a Boolean variable, for example, clockwise is recorded as 1 and counterclockwise as 0.
[0060] The second step is to determine the location of the actual collision point. The coordinates of the actual collision point in a local coordinate system with the geometric center of the struck pot as the origin and the pot's orientation as the X-axis have been determined. The angle between this coordinate point and the positive X-axis is calculated using the arctangent function, with the angle value ranging from -180 degrees to +180 degrees. The region is determined based on the angle value: if the angle value is between -90 degrees and +90 degrees, further subdivision is needed to determine whether it belongs to the left or right region; if the angle value is between -90 degrees and 0 degrees, it belongs to the right region; if the angle value is between 0 degrees and +90 degrees, it belongs to the left region. The region is recorded as a variable, with left denoted as L and right denoted as R.
[0061] The third step is to determine the intensity level of the tangential friction gain based on the matching relationship between the rotation direction and the azimuth region. The judgment rules are as follows: if the rotation direction is clockwise and the collision point is located in the left region, it is determined to be a high-intensity tangential friction gain; if the rotation direction is counterclockwise and the collision point is located in the right region, it is determined to be a high-intensity tangential friction gain; if the rotation direction is clockwise and the collision point is located in the right region, it is determined to be a low-intensity tangential friction gain; if the rotation direction is counterclockwise and the collision point is located in the left region, it is determined to be a low-intensity tangential friction gain. The server performs conditional judgments according to the above rules and generates intensity level identifiers, with high intensity recorded as 1 and low intensity as 0.
[0062] The fourth step involves writing the determined intensity level into the associated parameter set. The server adds the high or low intensity determination result as supplementary information regarding the cause of rotational changes to the associated parameter set, creating a new field named `friction_gain_intensity` with a value of either `high` or `low`. This field is encapsulated along with the trajectory data and pushed to the mobile device. When displaying the parameter panel on the mobile device, different text descriptions will be displayed based on this field; for example, high-intensity tangential friction gain will be displayed as "strong tangential friction gain," and low-intensity will be displayed as "weak tangential friction gain."
[0063] The technical principle of this solution lies in the fact that the intensity of tangential friction gain depends on the spatial matching relationship between the rotation direction of the impact source pot and the position of the impact point. When the impact point is located on the side that matches the rotation direction, the torque generated by the tangential friction force is the same as the original rotation direction, and the rotation is significantly enhanced; when it is located on the opposite side, the torque is opposite to the original rotation direction, partially canceling out the original rotation, and the enhancement effect is weaker. Through clear direction determination and area division rules, the intensity level is automatically determined. Its beneficial effects are: it provides a quantifiable method for determining the intensity level, with clear determination rules and simple calculations; it enables coaches to accurately determine whether the athlete's striking technique has achieved the expected rotation enhancement effect; and it provides a classification basis for subsequent optimization of the rotation attenuation coefficient.
[0064] In a preferred embodiment, calculating the decay trend of the rotational angular velocity sequence and fitting the rotational angular velocity decay curve of the collision source pot under non-collision conditions includes the following steps: Extract the rotational angular velocity sequence of the collision source pot within a preset time before the collision from the real-time attitude data. The rotational angular velocity sequence includes multiple sampling times and corresponding rotational angular velocity values. Obtain an exponential decay model, which includes a decay coefficient to be determined, and the decay coefficient is used to reflect the rate at which the rotational angular velocity decays over time. The value of the decay coefficient is determined with the goal of minimizing the overall deviation between the exponential decay model and the rotational angular velocity sequence. Substituting the value of the attenuation coefficient into the exponential attenuation model, the rotational angular velocity attenuation curve of the collision source pot under non-collision conditions is obtained.
[0065] The specific implementation steps are as follows: The first step is to obtain the rotational angular velocity sequence of the collision source pot within a preset time period before the collision. The server extracts the rotational angular velocity data of the collision source pot within 5 seconds before the collision from the database, with a sampling frequency of 100 times per second, for a total of 500 data points. Each data point contains a timestamp t_i and the corresponding rotational angular velocity ω_i, in radians per second. These data points are arranged in chronological order to form the rotational angular velocity sequence.
[0066] The second step is to obtain the exponential decay model. According to physical laws, when a curling stone rotates on ice, its angular velocity decays exponentially with time. The model expression is ω(t) = ω_0×e (-λ × t) Where ω_0 is the initial angular velocity at a reference moment before the collision, λ is the decay coefficient to be determined, and t is the time elapsed since the reference moment. In this embodiment, the starting moment 5 seconds before the collision is taken as the reference moment, at which t=0, and the corresponding initial angular velocity is ω_0.
[0067] The third step involves determining the value of the decay coefficient λ, with the objective of minimizing the overall deviation between the exponential decay model and the rotational angular velocity sequence. The least squares method is used for fitting. The error function is defined as E(λ) = Σ[ω_i - ω_0×e^(-ω_i - ω_0)]. (-λ × t_i) ] 2 The algorithm iterates through all 500 data points, summing the results. Since ω_0 is known, λ is the only variable to be optimized. A numerical optimization method is used to search within the range of λ values. The specific search process is as follows: the initial guess value of λ is set to 0.1, the step size is 0.001, and the search range is 0.01 to 0.5. The error function value corresponding to each λ is calculated sequentially, and the λ value that minimizes the error function is found. For example, if the error is minimized when λ=0.023, then the attenuation coefficient λ=0.023 is determined.
[0068] The fourth step involves substituting the value of the attenuation coefficient λ into the exponential decay model to obtain the attenuation curve of the rotational angular velocity of the colliding source pot under non-collision conditions. The expression for the attenuation curve is ω(t) = ω_0 × e (-0.023×t) Extrapolating this curve to the time immediately following the collision yields the expected rotational angular velocity at any point after the collision. The server stores the calculated attenuation coefficient λ and the attenuation curve expression in the data record of this collision event for subsequent determination of rotational gain or rotational loss.
[0069] The technical principle of this solution lies in using an exponential decay model to describe the natural decay law of the curling rotational angular velocity, and determining the model parameters through the least squares method to ensure the model accurately reflects the actual decay process. Exponential decay is a common phenomenon in damped vibration systems, and the rotational decay of curling on ice conforms to this law. Its beneficial effects are: providing a quantitative method for describing rotational decay, accurately predicting the rotational angular velocity under collision-free conditions; providing a reliable benchmark for determining rotational gain and rotational loss; and the value of the decay coefficient reflects the ice surface condition and the state of the curling stone.
[0070] In a preferred embodiment, the following steps are also included: Multiple samples identified as tangential friction gain from historical collision events are obtained. Each sample records the intensity level of the tangential friction gain and the attenuation coefficient fitted in that collision event. The attenuation coefficients corresponding to high-intensity tangential friction gain and low-intensity tangential friction gain are classified separately, and the mean value of the first attenuation coefficient of the high-intensity group and the mean value of the second attenuation coefficient of the low-intensity group are calculated. If the tangential friction gain intensity level of the current collision event is determined to be high intensity, then the attenuation coefficient fitted in the current collision event is adjusted towards the average value of the first attenuation coefficient to obtain an optimized attenuation coefficient; if the tangential friction gain intensity level of the current collision event is determined to be low intensity, then the attenuation coefficient fitted in the current collision event is adjusted towards the average value of the second attenuation coefficient to obtain an optimized attenuation coefficient. The optimized attenuation coefficient is used as a preset initial value for fitting the rotational angular velocity attenuation curve in subsequent collision events, so as to optimize the fitting accuracy of the subsequent attenuation curve.
[0071] The specific implementation steps are as follows: The first step involves acquiring multiple samples from historical collision events that were determined to be tangential friction gain. Each sample records the intensity level of the tangential friction gain and the attenuation coefficient fitted for that collision event. The server maintains an attenuation coefficient sample table in the database, with the table structure including fields: event ID, intensity level, attenuation coefficient, and timestamp. After each collision event is processed, if it is determined to be tangential friction gain, its intensity level and attenuation coefficient are inserted into this table. After accumulating multiple collision events, the table contains a large amount of sample data.
[0072] The second step involves categorizing the attenuation coefficients corresponding to high-intensity tangential friction gain and low-intensity tangential friction gain separately, and calculating the mean of the first attenuation coefficient for the high-intensity group and the mean of the second attenuation coefficient for the low-intensity group. The server executes an SQL query to filter all records with an intensity level of "high" from the sample table, extracts the attenuation coefficient field, and calculates the arithmetic mean of these coefficients, denoted as λ_high_mean. Similarly, all records with an intensity level of "low" are filtered, and the arithmetic mean of the attenuation coefficients is calculated, denoted as λ_low_mean. For example, the calculated λ_high_mean = 0.028 and λ_low_mean = 0.021.
[0073] The third step involves adjusting the attenuation coefficient fitted in the current collision event towards the mean of the corresponding intensity level, based on the tangential friction gain intensity level of the current collision event, to obtain the optimized attenuation coefficient. Let the intensity level of the current collision event be high, and the currently fitted attenuation coefficient be λ_current = 0.025. Optimization is performed using a weighted average method, with a weighting coefficient α = 0.6. The optimized attenuation coefficient λ_optimized = α × λ_current + (1-α) × λ_high_mean = 0.6 × 0.025 + 0.4 × 0.028 = 0.0262. If the current intensity level is low, the same calculation is performed using λ_low_mean. The weighting coefficient α can be dynamically adjusted based on the number of historical samples; the more samples, the higher the reliability of λ_mean, and α can be appropriately reduced.
[0074] The fourth step involves using the optimized decay coefficient as the initial value for fitting the decay curve of the rotational angular velocity in subsequent collision events. The server stores λ_optimized in a global variable as the initial guess value when fitting the decay curve for subsequent collision events. When a new collision event arrives and a decay curve needs to be fitted, the optimization algorithm no longer uses the fixed initial value of 0.1, but instead uses the current λ_optimized as the search starting point. Because this starting point is closer to the true value, the optimization algorithm can converge faster and reduce the fitting error caused by excessive deviation of the initial value. As historical data accumulates, λ_high_mean and λ_low_mean become more and more stable, and the optimization effect becomes better and better.
[0075] The technical principle of this solution lies in smoothing and correcting the current measurement value using the statistical regularities of historical data. Since the attenuation coefficient measured in a single collision event may contain random errors, and the mean of a large number of samples at the same intensity level reflects the typical attenuation characteristics at that level, adjusting the current value towards the mean can reduce the impact of random errors, making the attenuation coefficient estimation more stable and reliable. Its beneficial effects are: providing a clear optimization calculation formula; the adjustment process is reproducible; adaptive optimization of the attenuation coefficient estimation is achieved through the accumulation of historical data; and a more reliable benchmark is provided for subsequent rotation prediction and collision analysis.
[0076] In a preferred embodiment, before obtaining the exponential decay model, the following steps are further included: The real-time coordinate sequence of the collision source pot within a preset time before the collision is obtained, and the real-time coordinate sequence is matched with the preset track partition to determine the track area sequence that the collision source pot passes through during the sliding process. Initialize the attenuation coefficient of each track area to the preset default value, and establish the mapping relationship between the track area and the attenuation coefficient; Based on the track area sequence, the decay coefficient in the exponential decay model is extended to a decay coefficient function that varies with spatial location. The decay coefficient function takes the value corresponding to the decay coefficient of different track areas. With the goal of minimizing the overall deviation between the attenuation coefficient function and the rotational angular velocity sequence, the values of the attenuation coefficient corresponding to each track area are determined; Substituting the attenuation coefficients corresponding to each track area into the attenuation coefficient function yields the rotational angular velocity attenuation curve that varies with spatial position.
[0077] The specific implementation steps are as follows: The first step is to obtain the real-time coordinate sequence of the collision source pot within a preset time period before the collision. This real-time coordinate sequence is then matched with preset track partitions to determine the sequence of track areas traversed by the collision source pot during its slide. In this embodiment, the track is divided into five equally long regions from the starting point to the base camp, numbered 1 to 5. Region 1 is closest to the starting point, and Region 5 is closest to the base camp. The spatial range of each region is defined by its X-coordinate interval. The server obtains all coordinate points of the collision source pot within 5 seconds before the collision, each coordinate point containing an X-coordinate value. Each coordinate point is traversed, and its region is determined based on its X-coordinate. For example, if X is between 0 and 5 meters, it belongs to Region 1; between 5 and 10 meters, it belongs to Region 2, and so on. The region numbers are recorded in chronological order to form a track region sequence, such as [1,1,2,2,3,3,4,4,5].
[0078] The second step is to establish a mapping relationship between track regions and attenuation coefficients. Define an attenuation coefficient array λ[1..5], where each element corresponds to the attenuation coefficient of a region. In the initial state, all regions use the same default value λ[1]=λ[2]=λ[3]=λ[4]=λ[5]=0.025. This default value can be set based on historical experience.
[0079] The third step involves extending the decay coefficient in the exponential decay model to a function of decay coefficient that varies with spatial location, based on the sequence of track regions. Traditional exponential decay models use a single decay coefficient. In this method, the decay coefficient λ is no longer a constant, but a function λ(x) that varies with spatial location, where x is the X-coordinate of the curling stone. When the curling stone slides within region i, λ[i] is used as the decay coefficient for that segment of the slide. Therefore, the decay curve of the rotational angular velocity is composed of multiple exponential curve segments, each corresponding to a region, with its decay coefficient being the λ value for that region.
[0080] The fourth step is to determine the value of the attenuation coefficient corresponding to each track area with the goal of minimizing the overall deviation between the attenuation coefficient function and the rotational angular velocity sequence. The server fits the rotational angular velocity sequence of the collision source pot with the attenuation coefficient function. Each data point in the rotational angular velocity sequence has a corresponding time and X coordinate. The region to which the point belongs can be determined according to the X coordinate, and thus the attenuation coefficient to be used at the point can be determined. The predicted angular velocity of each data point is expressed as ω_pred(t) = ω_0 × exp(-∫λ(x)dt), where the integral is carried out along the time path. In the actual calculation, the gliding process is divided into regions, and λ is a constant in each segment. Therefore, the angular velocity attenuation in this segment is exponential. The numerical optimization method is used to iteratively adjust the values of λ[1] to λ[5] so that the sum of squared errors between the predicted values and the actual observed values of all data points is minimized. The specific optimization can be carried out by gradient descent method, with the number of iterations set to 100 and the learning rate set to 0.001. After optimization, the attenuation coefficients corresponding to each region are obtained, for example, λ[1]=0.022, λ[2]=0.024, λ[3]=0.025, λ[4]=0.027, λ[5]=0.029.
[0081] The fifth step involves substituting the attenuation coefficients corresponding to each track area into the attenuation coefficient function to obtain the rotational angular velocity attenuation curve as the spatial position changes. Substituting the optimized λ[1] to λ[5] into the piecewise exponential attenuation model yields a complete smooth curve. This curve can more accurately describe the attenuation law of rotational angular velocity, providing a more accurate benchmark for subsequent collision analysis. The server stores this attenuation curve along with the collision event data for subsequent analysis.
[0082] The technical principle of this solution lies in the fact that the ice surface conditions in different areas of a curling rink may vary, causing the rotational decay rate to change with location. By extending the decay coefficient to a spatial position function and using a piecewise fitting method to determine the decay coefficient for each area, the actual decay pattern can be described more accurately. Its beneficial effects are: providing a clear partitioning method and piecewise fitting algorithm; considering the spatial differences in ice surface conditions, making the rotational decay model closer to reality; and improving the accuracy of rotational angular velocity prediction.
[0083] The above description is merely a preferred embodiment of this application and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of the invention involved in this application is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the inventive concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features with similar functions disclosed in this application.
Claims
1. A mobile-assisted video-synchronized curling training data collection method, characterized in that, Includes the following steps: Obtain the real-time coordinate sequence and real-time attitude data of each curling stone in a three-dimensional spatial coordinate system. The real-time attitude data includes the orientation of the stone and its rotational angular velocity. When the coordinate distance between any two curling stones is less than a first preset threshold, the velocity vectors of the two curling stones within a preset time before the collision are extracted, the magnitudes of the velocity vectors are compared, and the curling stone with the larger magnitude is marked as the source of the collision, and the curling stone with the smaller magnitude is marked as the collided stone. Using the moment of collision as the dividing point, the coordinate sequence of the collision source pot is divided into a first pre-collision coordinate subsequence and a first post-collision coordinate subsequence, and the coordinate sequence of the collided pot is divided into a second pre-collision coordinate subsequence and a second post-collision coordinate subsequence. Assign a first data stream identifier to the first pre-collision coordinate subsequence and the first post-collision coordinate subsequence, assign a second data stream identifier to the second pre-collision coordinate subsequence and the second post-collision coordinate subsequence, and establish an association mapping table between the first data stream identifier and the second data stream identifier. The association mapping table records the first data stream identifier, the second data stream identifier, the time of collision, and the collision position coordinates. The coordinate subsequences with the first data stream identifier and the coordinate subsequences with the second data stream identifier are encapsulated into a data packet and pushed to the mobile terminal so that the mobile terminal can synchronously display the motion trajectories of the collision source pot and the collided pot according to the association mapping table. Before dividing the coordinate sequence of the collision source pot into a first pre-collision coordinate subsequence and a first post-collision coordinate subsequence using the collision occurrence time as the dividing point, the method further includes the following steps: A collision window is constructed by taking coordinate data from a preset number of frames forward and backward, centered on the moment of the collision. Outlier detection is performed on the coordinate sequence within the collision window. If coordinate jumps or missing points caused by the impact are detected, data repair is performed based on the kinematic consistency constraints before and after the collision to obtain the corrected coordinate sequence. The data repair includes: parameterizing the coordinate sequence within the collision window into a cubic spline curve; introducing physical constraints, including the conservation of momentum and energy of the two curling stones during the collision; deducing the true coordinates of the two curling stones at the moment of collision by solving the system of equations established by the physical constraints; and using the true coordinates as anchor points to perform elastic deformation correction on all coordinate points within the collision window, with the correction magnitude decreasing exponentially with the distance from the moment of collision.
2. The mobile-assisted video-synchronized curling training data collection method of claim 1, wherein, It also includes the following steps: Extract the feature parameters of the collision event and generate a set of associated parameters; The set of associated parameters is written into the associated mapping table, associated and encapsulated with the first data stream identifier and the second data stream identifier, and pushed to the mobile terminal so that the mobile terminal can display the parameters in the set of associated parameters while synchronously displaying the motion trajectory.
3. The mobile-assisted video-synchronized curling training data acquisition method according to claim 2, characterized in that, The set of associated parameters includes collision types; Determining the collision type includes the following steps: Obtain the first real-time coordinates of the collision source pot and the second real-time coordinates of the collided pot at the moment of the collision, and calculate the line connecting the first real-time coordinates and the second real-time coordinates as the collision line; Obtain the current outline of the pot body at the moment of collision, and calculate the intersection of the collision line and the current outline of the pot body as the actual collision point; The collision type is determined based on the position of the actual collision point relative to the geometric center of the pot that was hit. The collision type includes frontal collision and side collision.
4. The mobile-assisted video-synchronized curling training data acquisition method according to claim 3, characterized in that, Determining the collision type based on the position of the actual collision point relative to the geometric center of the pot being struck includes the following steps: Calculate the eccentric distance between the actual point of impact and the geometric center of the pot that was struck; The eccentricity distance is compared with a preset eccentricity threshold: If the eccentricity distance is less than the first eccentricity threshold, it is determined to be a frontal collision; If the eccentricity distance is greater than or equal to the first eccentricity threshold, it is determined to be a side collision.
5. The mobile-assisted video-synchronized curling training data acquisition method according to claim 4, characterized in that, The set of associated parameters includes the rotational state changes of the collision source pot, and the rotational state changes include rotational gain and rotational loss; Determining the change in rotational state includes the following steps: Extract the rotational angular velocity sequence of the collision source pot within a preset time before the collision from the real-time attitude data, calculate the decay trend of the rotational angular velocity sequence, and fit the rotational angular velocity decay curve of the collision source pot under non-collision conditions. Extract the actual rotational angular velocity of the collision source pot after the collision from the real-time attitude data; The actual rotational angular velocity is compared with the predicted value of the decay curve at the corresponding moment after the collision: If the actual rotational angular velocity is greater than the predicted value, it is determined to be a rotational gain; If the actual rotational angular velocity is less than the predicted value, it is determined to be rotational loss.
6. The mobile-assisted video-synchronized curling training data acquisition method according to claim 5, characterized in that, The set of associated parameters includes the reasons for the rotational changes of the collision source pot; Determining the cause of rotational changes includes the following steps: The orientation of the pot at the moment of collision is extracted from the real-time attitude data; Based on the orientation of the pot, a local coordinate system is established with the geometric center of the pot being struck as the origin and the orientation of the pot as the reference direction. In the local coordinate system, the front area, rear area, left area and right area of the pot being struck are determined. Obtain the coordinates of the actual collision point in the local coordinate system, and determine the orientation region where the actual collision point is located; When rotational gain is determined, the reason for the rotational gain is identified based on the orientation region where the actual collision point is located: If the actual collision point is located in the front region, it is determined to be a positioning rebound gain; If the actual collision point is located in the left or right region, it is determined to be tangential friction gain; When rotational loss is determined, the cause of the rotational loss is identified based on the location of the actual collision point: If the actual collision point is located in the rear region, it is determined to be drag loss.
7. The mobile-assisted video-synchronized curling training data acquisition method according to claim 6, characterized in that, After determining it as tangential friction gain, the following steps are also included: The rotational direction of the collision source pot before the collision is extracted from the real-time attitude data. Based on the matching relationship between the location of the actual collision point and the rotation direction, the intensity level of the tangential friction gain is determined: If the actual collision point is located in the left region and the rotation direction is clockwise, or if the actual collision point is located in the right region and the rotation direction is counterclockwise, then it is determined to be a high-intensity tangential friction gain. If the actual collision point is located in the left region and the rotation direction is counterclockwise, or if the actual collision point is located in the right region and the rotation direction is clockwise, then it is determined to be a low-intensity tangential friction gain.
8. The mobile-assisted video-synchronized curling training data acquisition method according to claim 7, characterized in that, The calculation of the decay trend of the rotational angular velocity sequence and the fitting of the rotational angular velocity decay curve of the collision source pot under non-collision conditions include the following steps: Extract the rotational angular velocity sequence of the collision source pot within a preset time before the collision from the real-time attitude data. The rotational angular velocity sequence includes multiple sampling times and corresponding rotational angular velocity values. Obtain an exponential decay model, which includes a decay coefficient to be determined, and the decay coefficient is used to reflect the rate at which the rotational angular velocity decays over time. The value of the decay coefficient is determined with the goal of minimizing the overall deviation between the exponential decay model and the rotational angular velocity sequence. Substituting the value of the attenuation coefficient into the exponential attenuation model, the rotational angular velocity attenuation curve of the collision source pot under non-collision conditions is obtained.
9. The mobile-assisted video-synchronized curling training data acquisition method according to claim 8, characterized in that, It also includes the following steps: Multiple samples identified as tangential friction gain from historical collision events are obtained. Each sample records the intensity level of the tangential friction gain and the attenuation coefficient fitted in that collision event. The attenuation coefficients corresponding to high-intensity tangential friction gain and low-intensity tangential friction gain are classified separately, and the mean value of the first attenuation coefficient of the high-intensity group and the mean value of the second attenuation coefficient of the low-intensity group are calculated. If the tangential friction gain intensity level of the current collision event is determined to be high intensity, then the attenuation coefficient fitted in the current collision event is adjusted towards the average value of the first attenuation coefficient to obtain an optimized attenuation coefficient; if the tangential friction gain intensity level of the current collision event is determined to be low intensity, then the attenuation coefficient fitted in the current collision event is adjusted towards the average value of the second attenuation coefficient to obtain an optimized attenuation coefficient. The optimized attenuation coefficient is used as a preset initial value for fitting the rotational angular velocity attenuation curve in subsequent collision events, so as to optimize the fitting accuracy of the subsequent attenuation curve.
10. The mobile-assisted video-synchronized curling training data acquisition method according to claim 8, characterized in that, Before obtaining the exponential decay model, the following steps are also included: The real-time coordinate sequence of the collision source pot within a preset time before the collision is obtained, and the real-time coordinate sequence is matched with the preset track partition to determine the sequence of track areas that the collision source pot passes through during the sliding process. Initialize the attenuation coefficient of each track area to the preset default value, and establish the mapping relationship between the track area and the attenuation coefficient; Based on the track area sequence, the decay coefficient in the exponential decay model is extended to a decay coefficient function that varies with spatial location. The decay coefficient function takes the value corresponding to the decay coefficient of different track areas. With the goal of minimizing the overall deviation between the attenuation coefficient function and the rotational angular velocity sequence, the values of the attenuation coefficient corresponding to each track area are determined; Substituting the attenuation coefficients corresponding to each track area into the attenuation coefficient function yields the rotational angular velocity attenuation curve that varies with spatial position.