An unattended billiard table interaction control method, server, medium and product

By implementing real-time data analysis and static electricity management, the problem of static electricity affecting the billiard table was solved, improving user experience and game fairness, and ensuring the normal operation of the billiard table.

CN120654138BActive Publication Date: 2026-03-03BEIJING XINSHOUXINCHENG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510718537.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-30
Publication Date
2026-03-03
Estimated Expiration
2045-05-30

AI Technical Summary

Technical Problem

In unattended pool tables, the accumulation of static electricity on the surface of the balls affects their trajectory, causing changes in the shot path and reducing the user's gaming experience.

Method used

By acquiring real-time images and environmental data of the billiard table, the system identifies the movement trajectory and electrostatic load of the billiard balls, predicts their movement trajectory under the influence of electrostatics, and sends alerts to users when necessary to eliminate electrostatic interference.

Benefits of technology

It reduces the interference of static electricity on the movement trajectory of billiard balls, improves the user's gaming experience, and ensures the fairness and continuity of the game through automation measures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120654138B_ABST
    Figure CN120654138B_ABST
Patent Text Reader

Abstract

An unattended billiard table interactive control method, server, medium and product, relate to the field of data processing. The method comprises: acquiring desktop image data and environment data; identifying the moving track of each ball on the desktop after the user hits the white ball, and the hitting data of the cue hitting the white ball when hitting the white ball, and determining the electrostatic load condition of each ball; determining the target ball that the user will hit into the pocket next time with the white ball; determining the hitting scheme set for hitting the target ball into the pocket and the simulated moving track of each ball of each hitting scheme; predicting the target predicted moving track of each ball under the influence of electrostatic when the user hits the white ball according to each hitting scheme; determining the influence degree value of electrostatic on the moving track of each ball based on the target predicted moving track and the simulated moving track; if the influence degree value of the abnormal moving ball exceeds the preset degree threshold, sending a prompt information. The above technical scheme reduces the influence of electrostatic on the moving track of the ball.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and in particular to an interactive control method, server, medium and product for an unattended billiard table. Background Technology

[0002] In this era of rapid technological advancement, unmanned billiard tables, as an innovative entertainment facility, are gradually changing the traditional billiards experience. Leveraging advanced technologies such as the Internet of Things, mobile payment, and intelligent control, unmanned billiard tables automate the entire process from booking and entry to billing, providing users with convenient, efficient, and personalized services. Simultaneously, they reduce labor costs and improve management efficiency for billiard hall operators.

[0003] Currently, unattended billiard tables primarily employ image recognition and sensor fusion technologies to detect the trajectory and positional changes of the billiard balls. These technologies capture images of the table surface using high-definition cameras, combined with data from infrared sensors and laser rangefinders to ensure real-time tracking of the billiard balls. Furthermore, some systems incorporate artificial intelligence algorithms to predict and analyze the billiard ball's movement, automatically determining shot outcomes and recording match data.

[0004] However, during the operation of an unattended pool table, static electricity can easily accumulate on the surface of the balls due to friction between the balls and the table, collisions between the balls, and changes in ambient humidity. The presence of static electricity can affect the trajectory of the balls, causing them to deviate abnormally during their roll, thus altering the originally planned shot path and reducing the user's gaming experience. Summary of the Invention

[0005] This application provides an interactive control method, server, medium, and product for an unattended billiard table, which can reduce the impact of static electricity on the movement trajectory of the billiard ball.

[0006] Firstly, this application provides an interactive control method for an unattended billiard table. The method includes: acquiring real-time tabletop image data and environmental data; based on the real-time tabletop image data, identifying the movement trajectory information of each billiard ball on the table after the user strikes the cue ball, as well as the cue ball striking data when the user strikes the cue ball; based on the movement trajectory information, the cue ball striking data, the environmental data, and the historical movement records of all balls, determining the electrostatic load on the surface of each billiard ball; based on preset billiard rules and the real-time position of each billiard ball, determining the target billiard ball that the user will next strike with the cue ball to pocket; and based on the real-time position of each billiard ball and the preset pocket position, determining... The system determines a set of hitting schemes to pocket the target billiard ball and the simulated movement trajectory of each billiard ball corresponding to each hitting scheme. Based on the set of hitting schemes, the real-time position of each billiard ball, and the electrostatic load of each billiard ball, it predicts the target movement trajectory of each billiard ball under the influence of electrostatic charge when the user hits the cue ball according to the hitting schemes in the set of hitting schemes. Based on the target prediction movement trajectory and the simulated movement trajectory of each hitting scheme, it determines the degree of influence of electrostatic charge on the movement trajectory of each billiard ball. If the degree of influence of an abnormally moving billiard ball exceeds a preset threshold, a prompt message is sent to remind the user to eliminate the electrostatic charge on the surface of the abnormally moving billiard ball.

[0007] By employing the above technical solution, real-time desktop image data and environmental data are acquired to accurately identify the movement of each ball on the billiard table. Then, by combining the movement data, shot data, and historical movement records of each ball, the current electrostatic load on the ball's surface is determined. Based on this, after determining the shot plan for the target ball, the trajectory of each ball under the influence of electrostatic discharge is predicted, and the degree of influence of electrostatic discharge on the trajectory is calculated. When it is found that the influence of electrostatic discharge on the ball's trajectory is significant, a prompt message is promptly sent to the user, reminding them to eliminate static electricity on the ball's surface, reducing interference with the ball's trajectory and improving the user's gaming experience.

[0008] In conjunction with some embodiments of the first aspect, in some embodiments, determining the target ball for the user to pocket next with the cue ball based on preset billiards rules and the real-time positions of each billiard ball specifically includes: based on preset billiards rules, selecting the billiard balls that are guaranteed to be pocketed as the set of billiard balls for the user to pocket next with the cue ball; determining the probability of pocketing each billiard ball in the set of billiard balls based on the positions of all billiard balls and the preset set of cue ball striking schemes; and selecting the billiard ball with the highest probability of pocketing as the target billiard ball for the user to pocket next with the cue ball.

[0009] By employing the above technical solution, a set of pottable balls is selected based on preset billiards rules, defining a reasonable range for subsequent target selection and ensuring that the shot complies with the game rules. The probability of each ball being pocketed is calculated based on the positions of all balls and the preset set of cue ball striking patterns. The ball with the highest probability of pocketing is then selected as the target ball. This selection method better aligns with the user's actual needs and thought process in choosing the next ball to pocket, providing a reliable foundation for subsequent steps.

[0010] In conjunction with some embodiments of the first aspect, in some embodiments, determining the probability of pocketing each ball in the set of billiard balls based on the positions of all billiard balls and the preset striking scheme set for the cue ball specifically includes: calculating the user's striking proficiency based on the user's potting rate, the foul rate of preset foul behaviors, and the difference between the striking time interval and the preset normal striking time interval; determining the feasibility of the user striking the cue ball according to the preset striking scheme set based on the preset striking scheme set and the striking proficiency; and predicting the probability of pocketing each ball in the set of billiard balls when striking the cue ball according to the preset striking scheme set based on the preset striking scheme set, the feasibility, and the real-time positions of each billiard ball.

[0011] By adopting the above technical solution, the feasibility of the hitting scheme is determined based on the set of preset hitting schemes for the cue ball and the user's hitting proficiency. Then, based on the set of preset hitting schemes, feasibility, and the real-time position of each ball, the probability of each ball being pocketed is predicted. This fully considers the impact of individual differences of users on the actual hitting situation and improves the accuracy of the prediction of the probability of pocketing.

[0012] In conjunction with some embodiments of the first aspect, in some embodiments, after the step of sending a prompt message if the influence value of an abnormally moving billiard ball exceeds a preset threshold, the method further includes: if the abnormally moving billiard ball is detected to leave the table before the user's next shot at the cue ball, acquiring the first shot data of the cue ball being struck by the cue ball when the user strikes the cue ball next; based on the first shot data and the position of each billiard ball when the user strikes the cue ball next, predicting a first predicted movement trajectory of each billiard ball without the influence of static electricity; if the actual movement trajectory of each billiard ball does not match the first predicted movement trajectory, determining the abnormal movement location, the abnormal movement time point, and the first abnormal movement trajectory of each billiard ball based on the actual movement trajectory of each billiard ball and the first predicted movement trajectory; determining whether the user has committed a foul based on historical video data, the abnormal movement location, the abnormal movement time point, the first abnormal movement trajectory, and real-time influence data of preset influence parameters affecting the deviation of the billiard ball trajectory; if so, sending a foul message to prompt the user that a foul has occurred.

[0013] Using the above technical solution, after prompting the user to eliminate static electricity, further monitoring is conducted to determine whether the abnormally moving billiard ball has indeed eliminated static electricity. If the abnormally moving billiard ball leaves the table, it indicates that the static electricity has been eliminated. By predicting the billiard ball's trajectory without the influence of static electricity, and when the actual trajectory does not match the predicted trajectory, a comprehensive analysis is performed using historical video data and real-time impact data of preset impact parameters to determine whether the abnormal billiard ball movement is caused by a user foul. When a user foul is detected, a foul notification is promptly sent to maintain the fairness and impartiality of the game.

[0014] In conjunction with some embodiments of the first aspect, in some embodiments, determining whether a user has committed a foul based on historical video data, the abnormal movement location, the abnormal movement time point, the first abnormal movement trajectory, and real-time influence data of preset influence parameters affecting the trajectory deviation of the billiard ball, specifically includes: based on historical desktop image data at the abnormal movement time point and the positions of each image acquisition device, identifying the image occlusion area on the desktop and the corresponding occlusion category at the abnormal movement time point, the occlusion category including artificial occlusion and normal occlusion; if the abnormal movement location is located in the image occlusion area of ​​the occlusion category of artificial occlusion, based on the first abnormal movement trajectory and real-time influence data of preset influence parameters affecting the trajectory deviation of the billiard ball, determining the probability of the abnormally colliding billiard ball moving according to the first abnormal movement trajectory under the influence of the real-time influence data; if the probability of movement is lower than a preset probability threshold, determining that the user has committed a foul.

[0015] By employing the above technical solution, and combining historical desktop image data at the time of abnormal movement with the location of the image acquisition device, the occlusion area and its category can be identified. This allows for the distinction between normal occlusion and human interference, providing a basis for determining foul behavior. When the abnormal movement location is within a human-occluded area, the likelihood of the billiard ball moving along its actual trajectory is further assessed based on the real-time impact data of the first abnormal movement trajectory and preset impact parameters. If the probability of movement is below a threshold, it indicates that the abnormal movement of the billiard ball is difficult to attribute to environmental factors or normal shot operation. This leads to the determination that the user has committed a foul, reducing the probability of misjudgment and maintaining the fairness of unattended billiard table games.

[0016] In conjunction with some embodiments of the first aspect, in some embodiments, after determining whether the user has committed a foul based on historical video data, the abnormal movement location, the abnormal movement time point, the first abnormal movement trajectory, and real-time impact data of preset impact parameters affecting the deviation of the billiard ball trajectory, the method further includes: if not, determining abnormal impact parameters based on the preset normal impact parameter range and the real-time impact data of preset impact parameters affecting the deviation of the billiard ball trajectory; if the abnormal impact parameters all belong to preset automatic adjustment parameters, controlling the billiard table to adjust the value of the abnormal impact parameters to the normal parameter range; if there are abnormal impact parameters that do not belong to preset automatic adjustment parameters, sending billiard table replacement information, the billiard table replacement information being used to prompt the user to replace the billiard table; controlling the preset robotic arm of the billiard table replacement to place the positions of each billiard ball on the table according to the corresponding positions of the billiard balls on the billiard table.

[0017] By employing the above technical solution, after ruling out user fouls, the abnormal influencing parameters causing the billiard ball trajectory abnormalities can be located by comparing the preset normal influencing parameter range with real-time influencing data. For abnormal influencing parameters that fall under the preset automatic adjustment parameters, the billiard table can automatically correct the parameters, achieving automatic fault repair, ensuring the normal progress of the game, and reducing interference with the user experience due to equipment factors. For abnormal parameters that cannot be automatically adjusted, a billiard table replacement message is promptly sent to the user, which not only avoids game interruptions or poor experience due to equipment problems, but also effectively protects the user's rights. At the same time, a preset robotic arm automatically rearranges the billiard ball positions, ensuring the continuity of the game.

[0018] In conjunction with some embodiments of the first aspect, in some embodiments, after the step of sending a prompt message if the impact value of an abnormally moving billiard ball exceeds a preset threshold, the method further includes: if no abnormally moving billiard ball is detected leaving the table before the user's next shot of the cue ball, based on the first shot data of the cue ball hitting the cue ball when the user hits the cue ball next time, the position of each billiard ball when the user hits the cue ball next time, and the electrostatic load of each billiard ball, predicting a second predicted movement trajectory of each billiard ball under the influence of electrostatics; filtering out abnormal billiard balls whose endpoint position is outside the table and their corresponding second abnormal movement trajectories from all the second predicted movement trajectories of the billiard balls; identifying the abnormal position and abnormal height of the abnormal billiard ball flying off the table based on the second abnormal movement trajectory; obtaining a target protective measure from a preset set of protective measures that matches the abnormal position and abnormal height; and controlling the billiard table to execute the target protective measure.

[0019] By adopting the above technical solution, when the static electricity on the surface of the billiard balls is not eliminated, the movement trajectory of each billiard ball under the influence of static electricity is predicted, and abnormal billiard balls whose endpoints are outside the table and their trajectories are screened out. The position and height of the abnormal billiard balls flying off the table are identified, so that appropriate target protection measures can be accurately matched from the set of preset protection measures and executed, avoiding potential safety hazards or loss and damage to billiard balls caused by billiard balls accidentally flying off the table due to static electricity.

[0020] In a second aspect, embodiments of this application provide an interactive control server, including: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code including computer instructions, and the one or more processors call the computer instructions to cause the interactive control server to perform the method described in the first aspect and any possible implementation thereof.

[0021] Thirdly, embodiments of this application provide a computer-readable storage medium including instructions that, when executed on an interactive control server, cause the interactive control server to perform the method described in the first aspect and any possible implementation thereof.

[0022] Fourthly, this application provides a computer program product that, when run on an interactive control server, causes the interactive control server to execute the method described in the first aspect and any possible implementation thereof.

[0023] Understandably, the interactive control server provided in the second aspect, the storage medium provided in the third aspect, and the computer program product provided in the fourth aspect are all used to execute the method provided in this application. Therefore, the beneficial effects they can achieve can be referred to the beneficial effects in the corresponding methods, and will not be repeated here.

[0024] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:

[0025] 1. This application determines the current electrostatic load on the surface of each billiard ball by combining the movement of each ball, shot data, and historical movement records, and predicts the trajectory of each ball under the influence of electrostatics, calculating the degree of influence of electrostatics on the trajectory. When it is found that the influence of electrostatics on the trajectory of the billiard balls is significant, a prompt message is promptly sent to the user, reminding them to eliminate the electrostatics on the surface of the billiard balls, reduce the interference of electrostatics on the trajectory of the billiard balls, and improve the user's gaming experience.

[0026] 2. This application combines historical desktop image data at the time of abnormal movement with the location of the image acquisition device to identify the image occlusion area and its category, providing a basis for determining foul behavior. When the abnormal movement location is within a man-made occlusion area, the application further assesses the likelihood of the billiard ball moving according to its actual trajectory based on the first abnormal movement trajectory and real-time impact data of preset impact parameters to determine whether the user has committed a foul, reducing the probability of misjudgment and ensuring the fairness of unattended billiard table matches.

[0027] 3. For abnormal parameters that fall under the preset automatic adjustment parameters, the billiard table can automatically correct the parameters, achieving automatic fault repair, ensuring the normal progress of the game, and reducing interference with the user experience due to equipment factors. For abnormal parameters that cannot be automatically adjusted, the system will promptly send a billiard table replacement notice to the user, avoiding game interruptions or poor experience caused by equipment problems, and effectively protecting user rights. Simultaneously, a preset robotic arm automatically rearranges the billiard balls, ensuring the continuity of the game. Attached Figure Description

[0028] Figure 1 This is a schematic diagram of the system architecture to which the interactive control method for the unattended billiard table in this embodiment of the application can be applied;

[0029] Figure 2 This is a flowchart illustrating an interactive control method for an unattended billiard table in an embodiment of this application.

[0030] Figure 3 This is another flowchart illustrating the interactive control method for an unattended billiard table in this application embodiment;

[0031] Figure 4 This is a schematic diagram of an exemplary hardware structure of the interactive control server in an embodiment of this application. Detailed Implementation

[0032] The terminology used in the following embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application. As used in the specification and appended claims of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include the plural expressions as well, unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used in this application refers to any or all possible combinations including one or more of the listed items.

[0033] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0034] Figure 1 This is a schematic diagram of a system architecture for which the interactive control method for an unattended billiard table can be applied in the embodiments of this application.

[0035] Please see Figure 1 The interactive control system for an unattended billiard table includes image acquisition equipment, sensors, the billiard table, and an interactive control server.

[0036] The interactive control server, as the core component of the system, analyzes and processes image data acquired by the image acquisition devices and sends control commands to the billiard table. The image acquisition devices are placed above and to the sides of the billiard table to collect image data of the table surface and transmit the collected image data to the interactive control server. Sensors collect environmental data around the billiard table and transmit the collected environmental data to the interactive control server. The billiard table receives control commands transmitted by the interactive control server and operates according to the control commands.

[0037] Through the above system architecture, the interactive control system of the unattended billiard table can automatically identify the user's shot and foul behavior during the game by analyzing the image data collected by the image acquisition device, so as to realize the automated operation of the unattended billiard table and achieve true unattended management.

[0038] In related technologies, unattended billiard tables primarily employ image recognition and sensor fusion techniques to detect the trajectory and positional changes of the billiard balls. These technologies capture the movement of the table surface using high-definition cameras, combined with data from infrared sensors and laser rangefinders to ensure real-time tracking of the ball's movement. Furthermore, some systems incorporate artificial intelligence algorithms to predict and analyze the billiard ball's movement, automatically determining the outcome of shots and recording match data. However, during the operation of an unattended billiard table, static electricity can easily accumulate on the surface of the billiard balls due to friction between the balls and the table, collisions between balls, and changes in ambient humidity. The presence of static electricity can affect the ball's trajectory, causing abnormal deviations during rolling, altering the originally planned shot path, and reducing the user's gaming experience.

[0039] The interactive control method for the unattended billiard table in this embodiment determines the current electrostatic load on the surface of each ball by combining the movement status, shot data, and historical movement records of each ball. It then predicts the trajectory of each ball under the influence of electrostatic discharge and calculates the degree of impact of electrostatic discharge on the trajectory. When a significant impact of electrostatic discharge on the ball's trajectory is detected, a prompt message is promptly sent to the user, reminding them to eliminate static electricity from the ball's surface. This reduces the interference of electrostatic discharge on the ball's trajectory and improves the user's gaming experience.

[0040] The following is combined Figure 2 The method of the embodiments of this application will be described below.

[0041] Please see Figure 2 This is a flowchart illustrating an interactive control method for an unattended billiard table in an embodiment of this application.

[0042] S201. Obtain real-time desktop image data and environmental data of the billiard table.

[0043] Specifically, by establishing a communication connection with image acquisition devices pre-installed above and to the sides of the billiard table, real-time desktop image data of the billiard table is acquired by the image acquisition devices.

[0044] Meanwhile, by establishing communication connections with various sensors deployed around the billiard table, environmental data around the billiard table collected by the sensors can be obtained, including environmental parameter data that affects the generation and accumulation of static electricity, such as temperature, humidity, electrostatic field, and air particulate matter.

[0045] The sensors include temperature and humidity sensors (for real-time monitoring of ambient temperature and humidity), electrostatic field sensors (for detecting the strength and changes of the surrounding electrostatic field), and air particulate matter sensors (for detecting the content of dust and other particles in the air).

[0046] S202. Based on real-time desktop image data, identify the movement trajectory information of each ball on the table after the user hits the cue ball, as well as the cue ball striking data when the user hits the cue ball.

[0047] The hitting data includes hitting power and hitting angle, among other things.

[0048] Specifically, object detection algorithms, such as YOLO and Faster R-CNN, are first used to identify targets such as white balls, colored balls, and cues in the image, and each target is assigned a unique identifier. Taking YOLO as an example, its deep learning-based convolutional neural network structure learns the feature patterns of different targets by training on a large amount of image data containing billiard balls and cues. During the detection process, YOLO divides the input image into multiple grids, with each grid responsible for predicting possible targets. By calculating the bounding box, class probability, and confidence score of the targets within each grid, it quickly and accurately identifies all targets in the image. Once a target is detected, a unique identifier is assigned to each target. The identifier can be a numerical code or a specific encoding used to distinguish different targets in subsequent processing. At the same time, information such as the position coordinates and bounding box size of each target in the image is recorded, providing basic data for subsequent trajectory tracking and positional relationship analysis.

[0049] Then, based on real-time desktop image data, the movement trajectory of each billiard ball is tracked through continuous frame image analysis. Using optical flow, the pixel displacement of each ball in adjacent frames is calculated, and combined with the time interval and image size, it is converted into actual physical displacement, thus obtaining the billiard ball's movement trajectory information on the table. Optical flow is a calculation method based on the motion information of image pixels, assuming the continuity and consistency of pixel motion between adjacent frames. By calculating the displacement vector of each pixel on the surface of the billiard ball in adjacent frames, the direction and distance of the billiard ball's movement on the image plane are obtained. Combining the image acquisition time interval and image size, the pixel displacement is converted into actual physical displacement. If the pixel displacement of the billiard ball cannot be identified in adjacent frames, i.e., when the billiard ball is obstructed by the cue stick or other objects, the position of the billiard ball during the obstruction period is estimated using a trajectory prediction algorithm (such as Kalman filtering). Based on the velocity and acceleration of the previous frame, the trajectory of the billiard ball during the obstruction period is predicted, and the predicted position replaces the missing data during the obstruction period.

[0050] When the actual physical displacement of the cue ball changes from zero at a certain point in time (i.e., from static to dynamic), it indicates that the user has started hitting the cue ball, and this point in time is recorded as the start time. When the actual physical displacement of all balls becomes zero at a certain point in time after the start time (i.e., from dynamic to static), it indicates that all billiard balls have stopped moving, and this point in time is recorded as the end time. By recording the position information of each billiard ball in multiple consecutive image frames between the start and end time points, and connecting these position points sequentially in chronological order, the movement trajectory of each billiard ball on the table and the time points when the billiard ball arrives at each point in the movement trajectory are obtained.

[0051] Subsequently, based on the tabletop image data at the start time, a deep learning model is used to extract the contour features and spatial position information of the cue and cue ball at the moment of impact, thereby determining the striking angle of the cue ball. This model can be built on a convolutional neural network (CNN). During model training, a large dataset containing images of the cue ball striking the cue ball is used to train the model, enabling it to learn the feature patterns of the cue and cue ball in different postures. The dataset images are labeled with information such as the contours of the cue and cue ball, key node positions, and relative positional relationships. The tabletop image data at the start time is input into the trained CNN model, which, through multiple convolutional and pooling operations, extracts the contour features of the cue and cue ball in the images and identifies the striking angle of the cue ball.

[0052] The striking force is calculated based on the trajectory data of the cue ball after the initial time point. Optical flow is used to obtain the displacement change of the cue ball within a preset time after impact, and the time interval is calculated by combining this with the image acquisition frame rate. The initial velocity v of the cue ball is then derived using the kinematic formula v=Δx / Δt. Simultaneously, combining a pre-set billiard ball mass m and an estimated striking time Δt (determined through analysis of a large amount of video data), the striking force F=mv / Δt is derived using the momentum theorem F×Δt=mv⁻⁰, thus calculating the striking force at the instant of impact.

[0053] S203. Based on the movement trajectory information, ball hitting data, environmental data, and all historical movement records of the balls, determine the electrostatic load on the surface of each billiard ball.

[0054] Specifically, based on the movement trajectory information of all billiard balls, the collision time, collision speed, and collision object (including cue stick, billiard ball, and table frame) of each billiard ball are determined when they collide with other billiard balls or the table frame. The position, direction of movement, and speed of each billiard ball at each time point (i.e., each trajectory point) between the start and end times are obtained. For each billiard ball, its position information at that time point is compared with the preset position information of the table frame. If the billiard ball is within the preset collision determination area of ​​the table frame, and its movement direction at the previous time point is towards the frame, a collision is determined, and this time point is recorded as the collision time point. The speed of the billiard ball at the instant of collision is taken as the collision speed, and the table frame is taken as the collision object. Then, the position information of the billiard ball at that time point is compared with the position information of all other billiard balls at that time point. If the position information of the first billiard ball is within a preset range and there is an intersection between the movement directions of the first billiard ball and the billiard ball at the previous time point, that time point is determined as the collision time point. At the same time, the speeds of the two billiard balls at the collision time point are recorded as the collision speeds, and they are considered as the collision objects. In addition, if the billiard ball is the cue ball, the starting time period is recorded as the collision time point, and the collision object is the cue stick.

[0055] For each billiard ball, the system first retrieves the initial electrostatic load of each ball at the target end time corresponding to the last shot's ending point from the historical movement record database. Simultaneously, based on the ball's trajectory information for this shot, the system records the start time of movement (the point when the trajectory point's position changes from constant to changing) and the stop time (the point when the trajectory point's position changes from changing to constant). Then, the billiard ball's trajectory is divided into multiple time periods or points and their corresponding states according to chronological order and the ball's movement state. For example, if the target billiard ball stops moving after two collisions between the start and end times, the time period from the end time to the start time is divided into the first time period, which is a stationary state; the time period from the start time to the first collision time is divided into the second time period, which is a moving state; the time period from the first collision time is divided into the third time period, which is a collision state; the time period from the first collision time to the second collision time is divided into the fourth time period, which is a moving state; the time period from the second collision time is divided into the fifth time period, which is a collision state; the time period from the last collision time to the stop time is divided into the sixth time period, which is a moving state; and the time period from the stop time to the end time is divided into the seventh time period, which is a stationary state.

[0056] Next, following the chronological order, the electrostatic load of the billiard ball is calculated based on its state at each time interval or point in time. The electrostatic load at the last time interval or point in time is taken as the electrostatic load of the billiard ball after the shot at that point. Taking the target billiard ball as an example, firstly, based on the state of the billiard ball in the first time interval, the first electrostatic load of the first time interval is calculated according to the calculation method corresponding to the state of the billiard ball. Then, based on the state of the billiard ball in the second time interval and the first electrostatic load, the second electrostatic load of the second time interval is calculated according to the corresponding calculation method. Next, based on the state of the billiard ball at the third point in time and the second electrostatic load, the third electrostatic load of the third time interval is calculated. After that, based on the state of the billiard ball in the fourth time interval and the third electrostatic load, the fourth electrostatic load of the fourth time interval is calculated. This process is repeated chronologically to finally obtain the seventh fourth electrostatic load of the seventh time interval (i.e., the electrostatic load of the target billiard ball after the shot at that point). The specific method for calculating the electrostatic load of the billiard ball based on factors such as the state of the billiard ball and its electrostatic load is as follows:

[0057] If the billiard ball is stationary, the electrostatic load during the stationary period is determined based on the duration of the stationary period and the temperature and humidity information in the environmental data. Since ambient humidity significantly affects static electricity dissipation, generally, higher humidity facilitates dissipation. The server stores a table mapping temperature, humidity, and static electricity dissipation rates. Based on the real-time acquired ambient humidity value, the corresponding static electricity dissipation rate is looked up in the table. The stationary time is multiplied by the static electricity dissipation rate to obtain the amount of static electricity dissipated during the stationary period. This dissipation amount is then subtracted from the static load calculated in the previous time period or at a previous time point to obtain the static load during the stationary period.

[0058] If the billiard ball is in a moving state, the electrostatic load during the moving time period is determined based on information such as the ball's speed relative to the tablecloth (also known as the table cloth, which covers the billiard table) and environmental data at various points in time within that moving time period. As the billiard ball slides on the tablecloth surface, friction between the two generates static electricity, and environmental factors such as humidity, air particulate matter concentration, and electrostatic field strength affect the generation and accumulation of static electricity. The server has a pre-stored model for generating static electricity based on extensive experimental data. This model uses the moving speed, the friction coefficient of the tablecloth material, air particulate matter concentration, and environmental electrostatic field strength as input parameters. The average moving speed of the billiard ball, real-time air particulate matter concentration, and electrostatic field strength data within that time period are input into the model, and the model outputs the amount of static electricity generated by the friction between the billiard ball and the tablecloth. This amount of static electricity is added to the electrostatic load calculated in the previous time period or at a previous point in time to obtain the electrostatic load for the moving time period.

[0059] If the billiard ball is in a collision state, at the collision time point corresponding to the collision state, the electrostatic load corresponding to the collision time point is determined based on the collision speed, the charge carried by the collision object (obtained by calculating the electrostatic load of the collision object before its corresponding collision), and environmental data.

[0060] For collisions between billiard balls, the server pre-stores a mathematical model of charge transfer based on extensive experimental data. This model considers factors such as collision velocity, the material of the colliding billiard balls, the initial charge on the surface of the colliding billiard balls, and environmental humidity and electrostatic field strength. When multiple billiard balls collide, the amount of charge transfer is calculated using formulas in the model, based on the instantaneous velocity of the collision, combined with the material characteristics of the colliding billiard balls (different materials have different charge transfer characteristics upon collision), the initial charge on each surface, and considering the inhibitory effect of environmental humidity on charge transfer (higher humidity makes charge transfer more difficult) and the influence of electrostatic field strength on charge transfer (electrostatic field strength may promote or inhibit charge transfer). Then, the charge of the billiard ball is updated based on the calculated amount of charge transfer. If the amount of charge transfer is greater than zero, the charge of the billiard ball becomes the target electrostatic load calculated at the time point before the collision, minus the amount of charge transfer; if the amount of charge transfer is less than zero, the charge of the billiard ball becomes the target electrostatic load plus the amount of charge transfer.

[0061] For the collision between a billiard ball and the table frame, since the table frame is generally considered a large conductor, a redistribution of charge occurs upon impact. The server first extracts key parameters from the environmental data, such as humidity and electrostatic field strength. Humidity significantly affects the ability to retain charge; higher humidity makes it easier for the charge on the billiard ball's surface to be lost through conduction by water molecules in the air. Electrostatic field strength alters the charge distribution between the billiard ball and the table frame. The electrostatic load after the billiard ball collision is calculated using a pre-established multivariate function model within the server.

[0062] When a billiard ball collides with a cue stick, the charge transfer characteristics are complex due to the variety of cue stick materials (such as wood and carbon fiber) and the potential presence of coatings on the cue stick surface. The server retrieves the corresponding function model from a pre-stored database of charge transfer parameters for different materials based on the cue stick's material type. For example, for a wooden cue stick, the basic charge transfer coefficient is first determined based on the type of wood (such as maple or oak), and then adjusted by considering the insulation properties of the cue stick's surface coating. Simultaneously, data such as the striking force, striking angle, initial charge of the billiard ball, ambient humidity, and electrostatic field strength are substituted into the pre-defined cue-ball collision charge transfer function model to calculate the electrostatic load after the collision.

[0063] S204. Based on the preset billiards rules and the real-time position of each billiard ball, determine the target billiard ball that the user will next use the cue ball to pocket.

[0064] Specifically, first obtain the currently executed preset billiards rule type. Common billiards rules include Chinese eight-ball, American billiards, snooker, etc.

[0065] Then, based on the preset billiards rules and the historical data of each shot that went into the pocket from the start of the game to the current time, the set of billiards balls that the user needs to pocket next with the cue ball is determined according to the billiards rules.

[0066] If the user has not committed any fouls during this shot, for both Chinese 8-ball and American 8-ball, the remaining ball types and numbers on the table are determined based on historical shot data from the start to the current time (including whether a ball was pocketed, the type and number of the pocketed ball, the user who made the shot, whether a foul was committed, and any fouls committed). The user who will make the shot next (if the first user misses, the second user; if the first user pockets, the first user) is then assigned the ball type based on the type of the pocketed ball. If a matching ball exists among the remaining balls, all matching balls are added to the pool set; if no matching ball exists, the 8-ball is added to the pool set. In snooker, if there are red balls among the remaining balls, add all the red balls to the set of balls; if there are no red balls among the remaining balls, add the ball with the lowest colored ball value among the remaining balls to the set of balls.

[0067] If the user commits a foul during this shot, retrieve the corresponding foul from the historical shot data. Obtain the foul table corresponding to the billiards rules. Look up the foul table and the corresponding player's transfer information and billiards striking rules. Based on the billiards striking rules and the remaining ball types and numbers, determine the set of billiard balls.

[0068] Then, based on the real-time position information of each billiard ball in the pool set, combined with the position of the pockets, the probability of each ball pocketing is determined. The server first establishes a 3D simulation model that accurately reproduces the dimensions of the billiard table, the position of the pockets, and the real-time position information of each billiard ball on the table. Simultaneously, it acquires the preset range of striking force and angle for the cue stick to strike the cue ball. Next, within the set range of striking force and angle, detailed parameter division is performed. The striking force and angle are each divided into several discrete values, forming a striking parameter combination matrix. For each combination of striking force and angle in the matrix, kinematic and dynamic principles from physics are used, combined with the physical properties of the billiard ball (mass, radius, etc.), the friction coefficient of the billiard table, and air resistance, to simulate the trajectory of the billiard ball. During the simulation, numerical calculation methods are used to divide the billiard ball's motion time into extremely small time steps. Within each time step, the net force acting on the billiard ball (including friction, air resistance, etc.) is calculated according to Newton's second law, thereby updating the speed and position of the billiard ball. When a billiard ball collides with another billiard ball or the edge of the table, the velocity and direction of the ball after the collision are updated according to collision theory (elastic or inelastic collision, the appropriate collision model is selected based on the actual situation). During this process, the position information of each billiard ball at different time steps is recorded in real time, and these position information are sequentially connected to obtain the trajectory of each billiard ball. The trajectory information includes the coordinate sequence of each billiard ball in three-dimensional space at different trajectory points, the direction of motion, and the velocity value.

[0069] If a billiard ball enters the detection area of ​​a pocket (a reasonable three-dimensional spatial range is set according to the size of the pocket), the ball is considered pocketed, and the information of the pocketed ball in this simulation is recorded. After simulating all combinations of shot parameters, the number of times each ball is pocketed in all simulations is counted. For each ball in the set, the probability of pocketing a ball is obtained by dividing the number of times the ball is pocketed by the total number of simulations.

[0070] Finally, the probability of each ball being pocketed is ranked, and the ball with the highest probability of being pocketed is selected as the target ball for the user's next shot with the cue ball.

[0071] S205. Based on the real-time position of each billiard ball and the preset pocket position, determine the set of hitting schemes to pocket the target billiard ball and the simulated movement trajectory of each billiard ball corresponding to each hitting scheme.

[0072] Specifically, in step S204, information on the balls that are pocketed in the simulation under different striking forces and angles, as well as the trajectory of each ball, is obtained. The information on the balls pocketed in each simulation is iterated over. If the information includes the target ball, the simulated striking forces and angles are combined into a striking scheme and added to the striking scheme set. The simulated trajectory of each ball is then used as the simulated trajectory. After the iteration is complete, a set of striking schemes for pocketing the target ball and the simulated movement trajectory of each ball corresponding to each striking scheme are obtained.

[0073] S206. Based on the set of striking schemes, the real-time position of each billiard ball, and the electrostatic load of each billiard ball, predict the target movement trajectory of each billiard ball under the influence of electrostatics when the user strikes the cue ball according to the striking scheme in the set of striking schemes.

[0074] Specifically, for each hitting scheme in the set of hitting schemes, the hitting force and hitting angle information are extracted. At the same time, the real-time position data of each billiard ball and the electrostatic load calculated in step S203 are retrieved.

[0075] Next, a simulation model of billiards motion incorporating electrostatic influencing factors is constructed. This model is based on Newton's laws of motion, while also including electrostatic force as an additional influencing parameter. During the construction process, the calculation method for electrostatic force is first determined. According to Coulomb's law, the electrostatic force between two charged balls is F = k × q1q2 / r. 2 Where k is the electrostatic constant, q1 and q2 are the electrostatic charges of the two colliding billiard balls, and r is the distance between the centers of mass of the two balls at the moment of collision. When there is a charge difference between the billiard balls and the statically charged table frame or cue, the electrostatic interaction force is calculated using a similar principle.

[0076] Subsequently, the server divides time into extremely short time steps, iteratively calculating the motion state of the billiard ball within each time step. For each striking scenario, firstly, based on the striking force and angle, the initial velocity vector of the cue ball at the moment of impact is calculated using kinematic formulas to determine its initial motion state. Then, considering the frictional force on the billiard ball (related to the coefficient of friction of the billiard table surface and the mass of the billiard ball), air resistance (related to air density, the speed of the billiard ball, and the frontal area), and the influence of other billiard balls, the table frame, and the electrostatic force exerted by the cue on the billiard ball's motion state, these forces are vector-synthesized, and the acceleration of the billiard ball within that time step is calculated according to Newton's second law, F=ma. Finally, using the kinematic formulas v=v0+at and x=x0+v0t+1 / 2at... 2 Update the speed and position of the billiard balls.

[0077] When a billiard ball collides with another billiard ball, the system not only calculates its velocity and direction according to traditional collision theories (such as elastic or inelastic collision models), but also considers the charge transfer caused by differences in electrostatic charge at the moment of impact, thus recalculating the electrostatic charge of the billiard ball after the collision. Simultaneously, changes in electrostatic force generated during the collision are fed back into the force analysis of the billiard ball in real time, affecting its motion state within subsequent time steps. If the billiard ball collides with the table frame, in addition to changing its direction of motion according to the frame collision rules, the server also calculates the electrostatic interaction between the billiard ball and the frame based on factors such as the conductor properties of the frame and environmental humidity, adjusting the charge distribution and electrostatic force on the billiard ball to update its trajectory. During the friction between the billiard ball and the table surface, the server dynamically adjusts the magnitude and direction of the frictional force acting on the billiard ball based on its electrostatic charge, the electrostatic characteristics of the table surface, and factors such as humidity and airborne particulate matter concentration in the environment.

[0078] Throughout the simulation, the server continuously records the position, velocity, acceleration, and other information of each billiard ball at each time step. This position information is then connected sequentially in chronological order to form the target predicted movement trajectory of each billiard ball under this hitting scheme.

[0079] S207. Based on the target predicted movement trajectory and simulated movement trajectory of each hitting scheme, determine the degree of influence of static electricity on the movement trajectory of each billiard ball.

[0080] Specifically, for each hitting scheme in the set of hitting schemes, the predicted and simulated target trajectories of each ball corresponding to that hitting scheme are compared to determine the degree of influence of static electricity on the trajectory of each ball. The positional deviation Δx and directional deviation Δθ of the two trajectories at the same time point are calculated (the directional deviation can be obtained by calculating the angle between the tangents of the two trajectories), and the positional and directional deviations are combined according to a certain weight. For example, the positional deviation weight can be set to w1, and the directional deviation weight to w2 (w1+w2=1), then the degree of influence I = w1×Δx + w2×Δθ.

[0081] S208. If the impact of abnormally moving billiard balls exceeds the preset threshold, a prompt message is sent.

[0082] If the impact of an abnormally moving billiard ball exceeds a preset threshold, a control command is sent to a preset display screen or speaker, etc. Upon receiving the control command, the prompting device displays or plays a prompt message.

[0083] The prompt message is used to remind the user to eliminate static electricity on the surface of the billiard ball due to abnormal movement.

[0084] In this embodiment, by acquiring real-time desktop image data and environmental data, the movement of each billiard ball on the table is accurately identified. Then, by combining the movement of each ball, shot data, and historical movement records, the current electrostatic load on the surface of the billiard balls is determined. Based on this, after determining the shot plan for the target ball, the trajectory of each ball under the influence of electrostatic discharge is predicted, and the degree of influence of electrostatic discharge on the trajectory is calculated. When it is found that the influence of electrostatic discharge on the trajectory of the billiard balls is significant, a prompt message is promptly sent to the user, reminding them to eliminate static electricity on the surface of the billiard balls, reducing the interference of electrostatic discharge on the trajectory of the billiard balls, and improving the user's gaming experience.

[0085] The following is combined Figure 3 The methods of the embodiments of this application will be further explained below.

[0086] Please see Figure 3 This is another flowchart illustrating the interactive control method for an unattended billiard table in this application embodiment.

[0087] S301. Obtain real-time desktop image data and environmental data of the billiard table.

[0088] S302. Based on real-time desktop image data, identify the movement trajectory information of each ball on the table after the user hits the cue ball, as well as the cue ball striking data when the user hits the cue ball.

[0089] S303. Based on movement trajectory information, ball striking data, environmental data, and historical movement records of all balls, determine the electrostatic load on the surface of each billiard ball.

[0090] S304. Based on preset billiards rules, the billiards balls that are required to be pocketed are used as the set of billiards balls that the user will hit with the cue ball next time.

[0091] Steps S301-S304 and Figure 2 Steps S201-S204 in the illustrated embodiment are similar and can be found in the descriptions of steps S201-S204, which will not be repeated here.

[0092] S305. Calculate the user's ball-striking proficiency based on the user's shot-in-the-pocket rate, the foul rate of preset foul behaviors, and the difference between the shot interval and the preset normal shot interval.

[0093] Specifically, the first proficiency score is calculated based on the potting rate. The server records each shot by the user in real time, counting the total number of shots and the number of successful pots. The potting rate is calculated by dividing the number of pots by the total number of shots. To more comprehensively assess the impact of the potting rate on proficiency, the server analyzes the fluctuations in the user's potting rate across multiple games, calculating the standard deviation of the potting rate. The smaller the standard deviation, the more stable the user's potting performance. The server then calculates a weighted average of the potting rate and the standard deviation of the potting rate according to a preset potting rate-proficiency evaluation rule, resulting in the first proficiency score based on the potting rate.

[0094] Next, a second proficiency score is calculated based on the foul rate of preset foul behaviors. The server pre-stores various foul behaviors and their corresponding judgment criteria. During the game, by analyzing image data transmitted from the image acquisition device and combining it with the ball-hitting data obtained in step S302, it monitors in real time whether the user commits a foul. Once a foul is detected, it is recorded. Then, the number of fouls belonging to the preset foul behaviors among all recorded foul behaviors is counted, and this number is divided by the total number of fouls to obtain the foul rate of the preset foul behaviors. Finally, the corresponding second proficiency score is obtained from the preset foul rate-proficiency score table.

[0095] Next, the third proficiency score based on the shot interval is calculated. The user's average shot interval throughout the match is calculated, and the difference between the standard shot interval under the billiards rules and the average shot interval is calculated. The first score corresponding to this difference is found in a pre-set score table. Simultaneously, the shot interval data during the match is discretized into multiple time intervals, and the proportion of shots in each time interval to the total number of shots is calculated. By analyzing the distribution of each interval, the stability of the user's shooting rhythm is determined. If most shot intervals are concentrated in a relatively small interval, it indicates that the user's shooting rhythm is stable; conversely, if the distribution is relatively scattered, it indicates that the rhythm is unstable. Based on the stability, the corresponding second score is obtained from a pre-set rhythm stability score table. The first score and the second score are then weighted and summed to obtain the third proficiency score based on the shot interval.

[0096] Finally, the first proficiency score, the second proficiency score, and the third proficiency score are weighted according to pre-set weights to obtain the user's overall proficiency score in this game.

[0097] S306. Based on the set of preset hitting schemes for the cue ball and the user's hitting proficiency, determine the feasibility of the user hitting the cue ball according to the preset hitting schemes in the set of preset hitting schemes.

[0098] Specifically, first obtain a set of preset hitting schemes, each scheme containing specific hitting force and hitting angle parameters.

[0099] For each preset hitting scheme, a pre-established hitting proficiency-operational error mapping database is retrieved. This database, trained with extensive experimental data, records the correspondence between different hitting proficiency scores and the potential ranges of force and angle errors in actual hitting operations. Based on the user's overall hitting proficiency score, the corresponding ranges of force and angle errors are obtained from the database.

[0100] Then, based on the preset force in the preset striking scheme, the upper and lower limits of the error range are added and subtracted respectively to obtain the force fluctuation range. Simultaneously, based on the preset angle in the preset striking scheme, the angle values ​​within the error range are added and subtracted respectively to obtain the angle fluctuation range. Multiple fluctuating striking schemes are then recombined based on the force fluctuation range and the angle fluctuation range.

[0101] Next, following the method in step S204 of simulating the simulated ball trajectory based on the hitting scheme and the position of each ball, the first simulated trajectory of each ball corresponding to the preset hitting scheme and the second simulated trajectory of each ball corresponding to multiple wave hitting schemes are simulated.

[0102] Finally, the similarity between the first simulated trajectory and multiple second simulated trajectories is analyzed. Specifically, the Euclidean distance between each second simulated trajectory and the first simulated trajectory is calculated; the smaller the distance, the more similar the trajectories. The number of second simulated trajectories with a similarity less than a preset threshold is counted, and this number is divided by the total number of second simulated trajectories to obtain a feasibility score for the user hitting the cue ball according to the preset hitting plan.

[0103] S307. Based on the set of preset hitting schemes, feasibility, and the real-time position of each billiard ball, predict the probability of each billiard ball in the set being pocketed when the cue ball is hit according to the preset hitting scheme in the set of preset hitting schemes.

[0104] Specifically, following steps S204 and S205, a second set of preset striking schemes for pocketing all the billiard balls in the set is first obtained. Then, the feasibility score of each scheme in the second set of preset striking schemes is obtained. For each billiard ball in the set, the number of schemes in the second set of preset striking schemes for that ball with a feasibility score higher than a preset threshold is counted. This number of schemes is divided by the total number of schemes in the preset striking scheme set to obtain the probability of pocketing each billiard ball in the set when the cue ball is struck according to the preset striking scheme in the preset striking scheme set.

[0105] S308. Select the billiard ball with the highest probability of being pocketed as the target billiard ball for the user's next shot with the cue ball.

[0106] S309. Based on the real-time position of each billiard ball and the preset pocket position, determine the set of hitting schemes to pocket the target billiard ball and the simulated movement trajectory of each billiard ball corresponding to each hitting scheme.

[0107] S310. Based on the set of striking schemes, the real-time position of each billiard ball, and the electrostatic load of each billiard ball, predict the target movement trajectory of each billiard ball under the influence of electrostatic charge when the user strikes the cue ball according to the striking scheme in the set of striking schemes.

[0108] S311. Based on the target predicted movement trajectory and simulated movement trajectory of each hitting scheme, determine the degree of influence of static electricity on the movement trajectory of each billiard ball.

[0109] S312. If the impact of abnormally moving billiard balls exceeds the preset threshold, a prompt message is sent.

[0110] Steps S308-S312 and Figure 2 Steps S204-S208 in the illustrated embodiment are similar and can be found in the descriptions of steps S204-S208, which will not be repeated here.

[0111] S313. If an abnormally moved billiard ball leaves the table before the user's next shot at the cue ball is detected, obtain the first shot data of the cue ball hitting the cue ball when the user's next shot at the cue ball is taken.

[0112] Specifically, real-time image data of the billiard table is acquired, and following the method in step S202, the real-time position of abnormally moving billiard balls is identified through a target detection algorithm, and the movement trajectory of each billiard ball is tracked. If the actual physical displacement of the cue ball changes from zero at a certain point in time (i.e., from static to dynamic), it indicates that the user is about to strike the cue ball again, and this point in time is recorded as the first time point.

[0113] If, before the first time point, the real-time position of the abnormally moving billiard ball on the table cannot be identified, it means the abnormally moving billiard ball has left the table. Following the method in step S202, determine the first shot data of the cue striking the cue ball and the actual movement trajectory information of each billiard ball at the first time point. If the real-time position of the abnormally moving billiard ball on the table is not identified, it means the abnormally moving billiard ball has remained on the table, and proceed to step S322.

[0114] S314. Based on the first shot data and the position of each ball when the user hits the cue ball next, predict the first predicted movement trajectory of each ball without the influence of static electricity.

[0115] Specifically, following step S204, based on the striking scheme (consistent with the parameters in the first striking data) and the position of each ball, the simulated ball trajectory of each ball is obtained, thus simulating the first predicted movement trajectory of each ball corresponding to the first striking data without the influence of preset abnormal factors such as static electricity.

[0116] S315. If the actual movement trajectory of each billiard ball does not match the first predicted movement trajectory, the abnormal movement position, the abnormal movement time point, and the first abnormal movement trajectory of each billiard ball are determined based on the actual movement trajectory and the first predicted movement trajectory of each billiard ball.

[0117] Specifically, the similarity between the actual movement trajectory of each billiard ball and the trajectory points in the first predicted movement trajectory is calculated. First, the actual movement trajectory and the first predicted movement trajectory are aligned by time. Trajectory points corresponding to the same time point are extracted sequentially, and the distance between the two points is calculated using the Euclidean distance formula to obtain the similarity. After traversing all trajectory points, the proportion of trajectory points with similarity below a preset threshold is counted to obtain the overall trajectory similarity. If the overall trajectory similarity is below the preset threshold, it is determined that the actual movement trajectory and the first predicted movement trajectory do not match. The similarity of each trajectory point is then traversed in chronological order, and the position of the first trajectory point with a similarity below the preset threshold is selected as the abnormal movement position, and the arrival time of this trajectory point is taken as the abnormal time point. Trajectory points whose arrival time is after this trajectory point in the actual movement trajectory of each billiard ball are selected to obtain the first abnormal movement trajectory of each billiard ball.

[0118] S316. Determine if the user has committed any violations.

[0119] Based on historical video data, abnormal movement location, abnormal movement time point, first abnormal movement trajectory, and real-time impact data of preset impact parameters affecting the billiard ball trajectory deviation, determine whether the user has committed a foul. If yes, proceed to step S317; if no, proceed to step S318.

[0120] Specifically, based on historical desktop image data and the positions of each image acquisition device at the time of abnormal movement, the system identifies the image occlusion areas and corresponding occlusion categories on the desktop at those times. Occlusion categories include both human-caused occlusion and normal occlusion. First, historical video data within a preset time range of the abnormal movement time points is acquired. Simultaneously, information such as the installation position, shooting angle, and lens parameters of each image acquisition device around the billiard table is retrieved. Utilizing the multi-view geometry principle in computer vision, the video images captured by multiple image acquisition devices are fused to construct a 3D spatial model of the billiard table and its surrounding area. Subsequently, a deep learning-based object detection algorithm is used to analyze the fused video images frame by frame. During the analysis, the trained model identifies various objects in the image, including billiard balls, cues, user body parts, and other items that may appear around the billiard table. For detected occlusion areas, the occlusion range is recorded, and the occlusion category is determined by combining features such as the shape, size, movement speed, and direction of the occlusion area.

[0121] If the obstructed area has an irregular shape and exhibits obvious dynamic characteristics related to human movement, such as sudden appearance or rapid movement, and its relative position to the billiard table changes significantly before and after the point of abnormal movement, then the obstruction is determined to be deliberate. If the obstructed area has a regular shape, moves slowly, and its relative position to the billiard table remains relatively stable, such as a fixed object in the background or changes in light and shadow in the natural environment, then the obstruction is determined to be normal.

[0122] If the abnormal movement is located in an image occlusion area or image acquisition area with a normal occlusion category, and no violation by the user is detected, it is determined that the user has not committed any violation.

[0123] If the abnormal movement location is located in an image occlusion area with an occlusion category of human-induced occlusion, the probability of each billiard ball moving according to the first abnormal movement trajectory is determined based on the real-time influence data of the first abnormal movement trajectory and the preset influence parameters affecting the trajectory deviation of the billiard balls (such as the table tilt angle, table flatness, air flow speed, and the friction coefficient of the billiard ball surface).

[0124] First, real-time impact data of preset influencing parameters are acquired. For the tabletop tilt angle, real-time tilt angle data is obtained from high-precision tilt sensors installed at the bottom of the billiard table. For tabletop flatness, a 3D topographic map of the tabletop is constructed based on a pre-defined grid division scheme and data from laser rangefinders distributed around the table. For airflow speed, multiple miniature wind speed sensors are deployed around the billiard table to collect real-time wind speed and direction data at different locations. This data is input into a preset fluid dynamics model to calculate the magnitude and direction of air resistance experienced by the billiard ball during its movement. For the billiard ball surface friction coefficient, image recognition technology is used to monitor the billiard ball surface in real time. If stains or wear are detected on the billiard ball surface, the real-time value of the billiard ball surface friction coefficient is dynamically adjusted based on factors such as the type of stain and the degree of wear, using an established friction coefficient change model.

[0125] Then, based on Newton's laws of motion and the acquired real-time impact data, a dynamic equation for the billiard ball's motion is established. The tabletop tilt angle data is converted into a component of gravity along the tabletop direction and incorporated into the dynamic equation. This component continuously acts on the billiard ball, affecting its acceleration and trajectory. The direction and magnitude of the support force acting on the billiard ball at different positions on the tabletop are calculated based on the three-dimensional topography of the tabletop, further refining the force conditions in the dynamic equation. For air resistance, the magnitude and direction of resistance calculated by a pre-set fluid dynamics model are substituted into the dynamic equation as external force terms. Considering the characteristic that air resistance changes with the billiard ball's speed, an iterative algorithm is used to update the resistance value in real time to accurately simulate the billiard ball's motion in the air environment. Simultaneously, the real-time value of the billiard ball's surface friction coefficient is applied to the calculation of friction in the dynamic equation. Friction not only affects the attenuation of the billiard ball's translational velocity but also interacts with the billiard ball's rotation, altering its trajectory.

[0126] Next, numerical calculation methods are used to solve the equations, simulating the next trajectory point position of each billiard ball starting from the abnormal time point under the current real-time influence data. By calculating indicators such as the Euclidean distance and angular deviation between the next trajectory point position and the trajectory point position of the first abnormal movement trajectory at the same time point, the similarity between the two is evaluated according to a preset evaluation method as the movement probability. For multiple billiard balls, the above simulation and evaluation process is repeated to obtain the movement probability of each billiard ball moving according to the first abnormal movement trajectory under the influence of real-time influence data.

[0127] If the probability of movement is lower than a preset probability threshold, the user is deemed to have committed a foul; if the probability of movement is higher than the preset probability threshold, the user is deemed not to have committed a foul.

[0128] S317, Send foul information.

[0129] If a user commits a foul, a control command is sent to a preset display screen or speaker. Upon receiving the control command, the notification device displays or plays a foul message. This foul message serves to alert the user of the foul violation.

[0130] S318. Based on the real-time impact data of the preset normal impact parameter range and the preset impact parameters that affect the trajectory deviation of the billiard ball, determine the abnormal impact parameters.

[0131] Specifically, for each influencing parameter, the real-time parameter value is compared with the corresponding normal influencing parameter range. If the real-time parameter value exceeds the normal influencing parameter range, the parameter is marked as an abnormal influencing parameter.

[0132] S319. If all abnormally affected parameters are preset automatic adjustment parameters, control the pool table to adjust the values ​​of the abnormally affected parameters to the normal parameter range.

[0133] Specifically, the abnormal impact parameters are matched with a preset set of automatic adjustment parameters. If all abnormal impact parameters belong to the preset set, the adjustment device and adjustment command are determined according to the preset adjustment strategy corresponding to the abnormal impact parameters and deviation values. The adjustment command is then sent to the adjustment device. Upon receiving the adjustment command, the adjustment device operates according to the preset adjustment strategy, bringing the abnormal impact parameters back to the normal parameter range.

[0134] S320. If there are abnormal influencing parameters that are not preset automatic adjustment parameters, send a message to replace the billiard table.

[0135] Specifically, if there are any abnormal influencing parameters that are not within the preset automatic adjustment parameters, and the real-time impact data of the preset influencing parameters are all within the normal parameter range for an available billiard table, a control command is sent to a preset display screen or speaker, or other prompting device. Upon receiving the control command, the prompting device displays or plays information about changing billiard tables. This information serves to inform the user that the current billiard table is malfunctioning and that they need to move to an available billiard table to continue the current game.

[0136] S321. Control the preset robotic arm to change the position of each billiard ball on the table according to the corresponding position of the billiard ball on the table.

[0137] Specifically, the system first obtains the first real-time position of each billiard ball on the current billiard table. Then, it obtains the second real-time position of the corresponding billiard ball on the replacement billiard table (i.e., the idle billiard table). For each billiard ball, a movement path from the second real-time position to the first real-time position is generated according to a preset path planning algorithm and the movement rules of the robotic arm. Then, based on the movement path, a corresponding control command is generated and sent to the robotic arm. After receiving the control command, the robotic arm grabs the billiard ball on the replacement billiard table and moves it from the second real-time position to the first real-time position.

[0138] S322. If no abnormal movement of the billiard ball is detected before the user strikes the cue ball again, based on the first shot data of the cue ball striking the cue ball when the user strikes the cue ball again, the position of each billiard ball when the user strikes the cue ball again, and the electrostatic load of each billiard ball, predict the second predicted movement trajectory of each billiard ball under the influence of electrostatics.

[0139] Specifically, if no abnormal movement of the billiard ball is detected before the user strikes the cue ball again, based on the first shot data (i.e., the shot plan) of the cue ball, the position of each billiard ball when the user strikes the cue ball again, and the electrostatic load of all billiard balls, the second predicted movement trajectory of each billiard ball under the influence of electrostatics is predicted according to the implementation method in step S206.

[0140] S323. Filter out all the billiard balls in the second predicted movement trajectory, and find the abnormal billiard balls whose endpoint is outside the table and their corresponding second abnormal movement trajectories.

[0141] Specifically, first, all the second predicted movement trajectories of the billiard balls are traversed. For each trajectory, the coordinates of the end point of the billiard ball in the trajectory are obtained. Then, the coordinates of the end point are compared with the boundary coordinates of the table. If the coordinates of the end point of the billiard ball exceed the preset boundary coordinate range of the table, the billiard ball is marked as an abnormal billiard ball, and the second predicted movement trajectory of the billiard ball is recorded as the second abnormal movement trajectory.

[0142] S324. Based on the second abnormal movement trajectory, identify the abnormal position and abnormal height of the abnormal billiard ball flying off the table.

[0143] Specifically, for each second abnormal movement trajectory, the positions of each trajectory point in the movement trajectory are traversed in the order of arrival time of each trajectory point. When the position coordinates of a target trajectory point exceed the preset boundary coordinate range of the desktop, the traversal of the trajectory is stopped, and the first position, first movement speed and first movement direction of the first trajectory point preceding the target trajectory point are obtained.

[0144] Based on the first position, first moving speed, and first moving direction, the abnormal position and abnormal height of the abnormal billiard ball when it is within the preset boundary coordinate range of the table are calculated. First, based on the first moving speed, the first moving direction, and the distance from the trajectory point to the table boundary (calculated using the first position and table boundary coordinates), the position of the billiard ball when it reaches the table boundary (i.e., the abnormal position) is calculated using a preset kinematic formula. Then, combining the vertical velocity component of the first trajectory point and the time it takes for the abnormal billiard ball to travel from the first trajectory point to the table boundary, the first height is calculated using a preset vertical motion formula. Adding the table height and the billiard ball radius to the first height yields the abnormal height.

[0145] S325. Obtain the target protection measures that match the abnormal location and abnormal height from the preset protection measures set.

[0146] Specifically, obtain the set of preset protective measures. Find the target protective measures in the set whose location and height match the abnormal location and height.

[0147] S326. Control the ball table to implement target protection measures.

[0148] Specifically, based on the target protection measures, corresponding control commands are generated according to the command generation rules and sent to the billiard table. After receiving the control commands, the billiard table controls the built-in smart guardrail or other protective devices to execute the target protection measures.

[0149] In this embodiment, after prompting the user to eliminate static electricity, the system further monitors whether the abnormally moving billiard ball has eliminated static electricity. If the abnormally moving billiard ball leaves the table, it indicates that the static electricity has been eliminated. By predicting the billiard ball's trajectory without static electricity, and when the actual trajectory does not match the predicted trajectory, a comprehensive analysis is performed using historical video data and real-time impact data of preset impact parameters to determine whether the abnormal billiard ball movement is due to a user foul. When a user foul is detected, a foul message is promptly sent to maintain the fairness of the game. When static electricity on the billiard ball surface is not eliminated, the system predicts the trajectory of each billiard ball under the influence of static electricity, and filters out abnormal billiard balls whose endpoints are outside the table and their trajectories. The system identifies the position and height of the abnormal billiard ball as it flies off the table, thus accurately matching and executing appropriate target protection measures from the preset set of protective measures. This avoids potential safety hazards or loss and damage to billiard balls caused by static electricity accidentally flying off the table.

[0150] The interactive control method for the unattended billiard table in this application embodiment has been described above. The interactive control server in this application embodiment will be described in detail below in conjunction with the above-described interactive control method for the unattended billiard table.

[0151] Please see Figure 4 This is a schematic diagram of an exemplary hardware structure of the interactive control server in an embodiment of this application.

[0152] In some embodiments, the interactive control server 400 includes a computer device, which may be a terminal device. The computer device includes a processor 401, a memory 402, a communication module 403, an input device 404, and an output device 405 connected via a system bus. The processor 401 provides computing and control capabilities. The memory 402 includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores data. The communication module 403 transmits collected environmental data and image data to the server and sends control commands to the billiard table, prompting devices, etc. The input device 404 receives collected environmental data and image data. The output device 405 displays prompt information, game scores, etc. When the computer program is executed by the processor 401, it implements the interactive control method for the unattended billiard table in this embodiment.

[0153] Those skilled in the art will understand that Figure 4 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0154] In some embodiments of this application, a computer-readable storage medium is provided, including instructions that, when executed on the interactive control server 400, cause the interactive control server 400 to perform the interactive control method for the unattended billiard table in the embodiments of this application.

[0155] In some embodiments of this application, a computer program product is also provided. When the computer program product is run on the interactive control server 400, the interactive control server 400 executes the interactive control method for the unattended billiard table in the embodiments of this application.

[0156] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0157] As used in the above embodiments, depending on the context, the term "when..." can be interpreted as meaning "if...", "after...", "in response to determining...", or "in response to detecting...". Similarly, depending on the context, the phrase "when determining..." or "if (the stated condition or event) is interpreted as meaning "if determining...", "in response to determining...", "when (the stated condition or event) is detected", or "in response to detecting (the stated condition or event)".

[0158] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc.

[0159] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

Claims

1. An interactive control method of an unattended billiards table, characterized in that, The method comprises the following steps: acquiring real-time table image data and environment data of a billiards table; based on the real-time table image data, identifying the moving track information of each ball on the table after the user hits the white ball, and the hitting data of the white ball hit by the cue when the user hits the white ball; based on the moving track information, the hitting data, the environment data, and the historical moving records of all the balls, determining the electrostatic load condition of the surface of each ball; based on the preset billiards rules and the real-time positions of the balls, determining the target ball that the user will hit into the pocket next time with the white ball; based on the real-time positions of the balls and the preset ball pocket position, determining a set of hitting schemes for hitting the target ball into the pocket and the simulated moving tracks of the balls corresponding to each hitting scheme; based on the set of hitting schemes, the real-time positions of the balls, and the electrostatic load conditions of the balls, predicting the target predicted moving tracks of the balls under the influence of electrostatic when the user hits the white ball according to the hitting scheme in the set of hitting schemes; based on the target predicted moving tracks and the simulated moving tracks of each hitting scheme, determining the influence degree value of electrostatic on the moving tracks of the balls; if the influence degree value of the abnormally moving ball exceeds the preset degree threshold, sending a prompt information, which is used to prompt the user to eliminate the electrostatic on the surface of the abnormally moving ball.

2. The method of claim 1, wherein, The method further comprises the following steps: based on the preset billiards rules, determining the ball set that is hit into the pocket as the ball set that the user will hit next time with the white ball; determining the pocket probability of each ball in the ball set according to the positions of all the balls and the preset hitting scheme set of the white ball; determining the ball corresponding to the highest pocket probability as the target ball that the user will hit into the pocket next time with the white ball.

3. The method of claim 2, wherein, The method further comprises the following steps: calculating the hitting proficiency of the user according to the hitting pocket rate of the user, the penalty rate of the preset penalty behavior, and the difference between the hitting time interval and the preset normal hitting time interval; based on the preset hitting scheme set of the white ball and the hitting proficiency, determining the feasibility of the user hitting the white ball according to the preset hitting scheme in the preset hitting scheme set; predicting the pocket probability of each ball in the ball set when the white ball is hit according to the preset hitting scheme in the preset hitting scheme set according to the preset hitting scheme set, the feasibility, and the real-time positions of the balls.

4. The method of claim 1, wherein, The method further comprises the following steps: if the abnormally moving ball leaves the table before the user hits the white ball next time, acquiring the first hitting data of the white ball hit by the cue when the user hits the white ball next time. predict, based on the first hitting data and positions of the balls at the next time when the user hits the white ball, first predicted moving tracks of the balls without influence of static electricity; if the actual moving tracks of the balls do not match the first predicted moving tracks, determine, based on the actual moving tracks of the balls and the first predicted moving tracks, abnormal moving positions, abnormal moving time points and first abnormal moving tracks of the balls; determine, based on historical video data, the abnormal moving positions, the abnormal moving time points, the first abnormal moving tracks and real-time influence data of preset influence parameters influencing moving track deviation of the balls, whether the user has committed a foul; if yes, send a foul information, the foul information being used to prompt the user to have committed a foul.

5. The method of claim 4, wherein, The method further comprises: if no, determine, based on a preset normal influence parameter range and the real-time influence data of the preset influence parameters influencing moving track deviation of the balls, abnormal influence parameters; if the abnormal influence parameters all belong to preset automatic adjustment parameters, control a preset mechanical arm of the billiard table to adjust values of the abnormal influence parameters to a normal parameter range; if there is an abnormal influence parameter that does not belong to the preset automatic adjustment parameters, send a billiard table replacement information, the billiard table replacement information being used to prompt the user to replace the billiard table; 6. The method of claim 4, wherein, control the preset mechanical arm of the billiard table to place positions of the balls on the table according to corresponding ball positions on the billiard table. The method further comprises: if the influence degree value of the abnormal moving ball exceeds a preset degree threshold, send a prompt information. ​ ​ 7. The method of claim 1, wherein, ​ if no abnormal moving cue ball is detected to leave the table before the user next strikes the white ball, predicting second predicted moving trajectories of each cue ball under electrostatic influence based on first cue ball striking data of the cue striking the white ball when the user next strikes the white ball, positions of each cue ball when the user next strikes the white ball, and the electrostatic load conditions of each cue ball; screening out abnormal cue balls and corresponding second abnormal moving trajectories from the second predicted moving trajectories of all cue balls, whose end positions are outside the table; identifying an abnormal position and an abnormal height at which the abnormal cue ball flies out of the table based on the second abnormal moving trajectories; obtaining a target protective measure matched with the abnormal position and the abnormal height from a preset protective measure set; controlling the billiard table to execute the target protective measure.

8. An interaction control server, characterized by comprise: one or more processors and a memory; the memory is coupled to the one or more processors, and the memory is configured to store computer program codes, the computer program codes comprising computer instructions, and the one or more processors are configured to invoke the computer instructions to cause the interactive control server to perform the method according to any one of claims 1-7.

9. A computer readable storage medium storing computer instructions, characterized in that, When the computer instructions run on the interactive control server, the interactive control server is caused to perform the method according to any one of claims 1-7.

10. A computer program product, characterised in that, When the computer program product runs on the interactive control server, the interactive control server is caused to perform the method according to any one of claims 1-7.

Citation Information

Patent Citations

  • Billiard battle strategy analysis method and system, terminal and storage medium

    CN113312997A

  • Training system for ball hitting strategy and force exerting method and billiard table thereof

    CN118949388A