Tennis ball serving robot and tennis ball serving system
By combining a ball collection basket, a ball delivery module, a ball squeezing module, and a direction module, along with user-defined serving commands and a smart racket, the tennis serving robot achieves intelligence and interactivity. This solves the problems of consistency in tennis ball landing points, speed adjustment, and operational complexity in existing technologies, thereby improving training effectiveness and user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SHANGHAI FUTURE MIND CO LTD
- Filing Date
- 2025-06-09
- Publication Date
- 2026-05-07
Smart Images

Figure CN2025099856_07052026_PF_FP_ABST
Abstract
Description
Tennis serving robot and tennis serving system
[0001] This application claims priority to Chinese Patent Application No. 202411561624.0, filed on November 4, 2024, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application belongs to the field of sports equipment technology, and for example relates to a tennis serving robot and a tennis serving system. Background Technology
[0003] With the increasing popularity and technological advancements in tennis, the demand for tennis serving robots is growing. Most extrusion-type tennis serving robots employ traditional mechatronics designs, aiming to provide users with stable serving practice. However, a series of problems in practical use limit their support for training effectiveness and user experience, such as: overly simplistic preset serving patterns, poor consistency in tennis ball landing points, lack of tennis ball speed adjustment, inconvenient troubleshooting, and a lack of effective interactive mechanisms. Summary of the Invention
[0004] To at least partially overcome the problems existing in the related technologies, this application provides a tennis serving robot and a tennis serving system.
[0005] According to a first aspect of the embodiments of this application, this application provides a tennis serving robot, including: a robot body and a ball collection basket, a controller, a ball delivery module, a ball squeezing module, and a direction module disposed on the robot body; wherein, the ball collection basket is disposed above the ball delivery module to store collected tennis balls; the ball delivery module, the ball squeezing module, and the direction module are all connected to the controller; the ball delivery module is configured to obtain the collected tennis balls from the ball collection basket and deliver the tennis balls to the ball squeezing module; the ball squeezing module is configured to squeeze the tennis balls to achieve a serve; the direction module is configured to adjust the movement direction of the tennis balls squeezed out by the ball squeezing module; the controller is configured to enter a custom serve mode in response to a user's custom serve command; in the custom serve mode, the controller controls the ball delivery module, the ball squeezing module, and the direction module to work together according to the received custom serve parameters to achieve a custom serve of tennis balls.
[0006] According to a second aspect of the embodiments of this application, this application also provides a tennis serving system, which includes a tennis serving robot and a smart racket as described above. The smart racket communicates with a controller, and the controller, in response to the movement trajectory of the smart racket and collision information between the tennis ball and the smart racket, enters one or more of the following modes: a custom serving mode, a return-to-position running mode, a follow-up match mode, a smart step comparison mode, a smart racket mode, and a simulated match mode. The custom serving mode is configured to perform a custom serve based on user-defined serving parameters, and the return-to-position running mode is configured to perform a serve based on user-defined serving parameters. The system initiates the serve when the positioning device detects that the user has moved to the reset point area. The follow-up battle mode is configured to determine the single ball parameters for the next serve based on the information detected by the user's positioning device. The smart step comparison mode is configured to compare the running information detected by the user's positioning device with the expected running information template. The smart racket mode is configured to initiate the tennis serving robot serve when the user's serve is successful based on the collision information between the smart racket and the tennis ball. The simulated battle mode is configured to adjust the single ball parameters and combination parameters of the tennis serve in real time using the information detected by the user's positioning device and the collision information between the smart racket and the tennis ball. Attached Figure Description
[0007] Figure 1 is a schematic diagram of the overall structure of a tennis serving robot provided in some embodiments of this application;
[0008] Figure 2 is one of the schematic diagrams of the internal structure of the robot body in a tennis serving robot provided in some embodiments of this application;
[0009] Figure 3 is a second schematic diagram of the internal structure of the robot body in a tennis serving robot provided in some embodiments of this application;
[0010] Figure 4 is a structural block diagram of a tennis serving robot provided in some embodiments of this application;
[0011] Figure 5 is a flowchart of a tennis serving robot opening its hatch according to some embodiments of this application;
[0012] Figure 6 is a flowchart of a custom serving pattern in a tennis serving robot provided in some embodiments of this application;
[0013] Figure 7 is a flowchart of the return-to-position running mode in a tennis serving robot provided in some embodiments of this application;
[0014] Figure 8 is a flowchart of a follow-up battle mode in a tennis serving robot provided in some embodiments of this application;
[0015] Figure 9 is a flowchart of a comparison mode of intelligent steps in a tennis serving robot provided by some embodiments of this application;
[0016] Figure 10 is a structural block diagram of a tennis serving system provided in some embodiments of this application;
[0017] Figure 11 is a flowchart of an intelligent racket mode in a tennis serving robot provided in some embodiments of this application;
[0018] Figure 12 is a flowchart of a simulated battle mode in a tennis serving robot provided in some embodiments of this application;
[0019] Figure 13 is a structural schematic diagram of a smart racket provided in some embodiments of this application.
[0020] Explanation of reference numerals in the attached diagram: 1. Robot body; 10. Ball collection basket; 11. Controller; 12. Ball feeding module; 121. Ball feeding motor; 122. Photoelectric sensor; 13. Ball extrusion module; 131. Upper wheel motor; 132. Lower wheel motor; 133. Upper wheel speed sensor; 134. Lower wheel speed sensor; 135. Ball extrusion wheel; 1351. Upper wheel; 1352. Lower wheel; 14. Pitch module; 141. Pitch motor; 142. Pitch angle sensor; 15. Left and right module; 151. Left and right motors; 152. Left and right angle sensors; 16. Door module; 161. Integrated electromagnet; 2. User positioning device; 21. Main base station; 3. Smart racket; 31. Racket body; 32. Rubber sleeve; 33. Detection module; 331. Inertial measurement unit. Detailed Implementation
[0021] The illustrative embodiments and descriptions provided in this application are used to explain this application. Furthermore, elements / components using the same or similar reference numerals in the drawings and embodiments are used to represent the same or similar parts.
[0022] The terms "first," "second," etc., used in this article do not specifically refer to order or sequence; they are merely used to distinguish elements or operations described using the same technical terms.
[0023] The terms “include,” “including,” “have,” and “contain” used in this article are all open-ended terms, meaning that they include but are not limited to.
[0024] The term "and / or" as used herein includes any or all of the things mentioned.
[0025] The term "multiple" in this article includes "two" and "more than two"; the term "multiple groups" in this article includes "two groups" and "more than two groups".
[0026] Some terms used to describe this application will be discussed below or elsewhere in this specification to provide additional guidance to those skilled in the art in describing this application.
[0027] The extrusion motors of extrusion tennis serving robots in related technologies generally use open-loop control systems. This means that without external feedback, the system cannot automatically adjust its working state according to the actual situation, resulting in a large deviation in the landing position of each tennis ball served, i.e., poor consistency in the landing point, which affects the accuracy requirements during training.
[0028] The extrusion-type tennis serving robot in this technology maintains a constant speed for its internal drive motors during task execution, lacking a dynamic speed adjustment mechanism. This severely limits its ability to simulate the diverse serving styles in real-world matches, such as quickly switching between different types of spin (e.g., from topspin to backspin).
[0029] Extrusion-type tennis serving robots in related technologies are typically equipped with only a few fixed serving patterns pre-set by the manufacturer, offering users limited choices and overly simplistic preset modes. This standardized design makes it difficult to meet personalized training needs, especially when practicing specific skills or strategies.
[0030] The extrusion-type tennis serve robots in related technologies generally lack a feedback system that allows for good interaction between the user and the robot, and lack an effective interaction mechanism. This forces operators to go through multiple trials to find the most suitable configuration to match their individual skill level, greatly reducing training efficiency.
[0031] In addition, when encountering common problems such as ball jamming, the extrusion tennis serving robot of this technology often requires users to disassemble some components for cleaning or repair, which is a complicated and time-consuming process, causing many inconveniences for daily use.
[0032] While extrusion-type tennis serving robots can assist tennis enthusiasts and professional players in basic practice to some extent, their aforementioned shortcomings severely limit the potential for improving training effectiveness. Therefore, developing a new generation of tennis serving robots with higher levels of intelligence and a better user experience has become an urgent need for the industry.
[0033] The tennis serving robot provided in this application responds to user-defined serving commands, enters a custom serving mode based on these commands, and performs custom serves according to received custom serving parameters. These custom serving parameters include single-ball parameters and combination parameters. Single-ball parameters include one or more of the following: serving speed, serving spin type, serving spin magnitude, trajectory, left / right orientation, single-ball interval, and single-ball repetition count. Combination parameters include one or more of the following: inter-group interval, single-ball switching mode, automatic stop mode and parameters, and countdown time.
[0034] In some embodiments, this application provides a tennis serving robot, including: a robot body 1 and a ball collection basket 10, a controller 11, a ball delivery module 12, a ball squeezing module 13, and a direction module disposed on the robot body 1; wherein, the ball collection basket 10 is disposed above the ball delivery module 12 to store collected tennis balls; the ball delivery module 12, the ball squeezing module 13, and the direction module are all connected to the controller 11; the ball delivery module 12 is configured to obtain collected tennis balls from the ball collection basket 10 and deliver the tennis balls to the ball squeezing module 13; the ball squeezing module 13 is configured to squeeze the tennis balls to achieve a serve; the direction module is configured to adjust the movement direction of the tennis balls squeezed out by the ball squeezing module 13; the controller 11 is configured to enter a custom serve mode in response to a user's custom serve command; in the custom serve mode, the controller 11 controls the ball delivery module, the ball squeezing module, and the direction module to work together according to the received custom serve parameters to achieve a custom serve of tennis balls.
[0035] In some embodiments, the direction module includes a pitch module 12 and a left-right module 13, which are respectively configured to adjust the vertical and horizontal directions of the tennis ball extruded by the ball extrusion module 13. The autonomous movement in the pitch (vertical) and left-right (horizontal) directions enriches the variations during the serve.
[0036] As shown in Figures 1 and 3, the tennis serving robot provided in this application includes a robot body 1 and a ball collection basket 10, a controller 11, a ball delivery module 12, a ball squeezing module 13, a pitch module 14, and a left-right module 15 disposed on the robot body 1. The ball collection basket 10 is disposed above the ball delivery module 12, and the ball delivery module 12, the ball squeezing module 13, the pitch module 14, and the left-right module 15 are all connected to the controller 11. The ball delivery module 12 is configured to obtain the collected tennis balls from the ball collection basket 10 and deliver the tennis balls to the ball squeezing module 13. The ball squeezing module 13 is configured to squeeze the tennis balls to achieve the serve. The pitch module 14 and the left-right module 15 are respectively configured to adjust the vertical and horizontal directions of the tennis balls squeezed out by the ball squeezing module 13.
[0037] In this embodiment, the ball collection basket 10 adopts a foldable fabric design for easy storage, and the top sealing zipper can effectively prevent the tennis ball from falling during the movement of the tennis ball serving robot, which has great practical value.
[0038] In some embodiments, the tennis serving robot provided in this application further includes a hatch module 16, which is connected to the controller 11 and configured to open or close the hatch in response to a user's hatch opening / closing command.
[0039] In some embodiments, the ball delivery module 12 includes a ball delivery motor 121 and a photoelectric sensor 122, both of which are connected to the controller 11. The photoelectric sensor 122 is disposed within the ball delivery channel and is configured to detect information about the tennis ball entering the delivery channel. The information about the tennis ball entering the delivery channel includes information such as the tennis ball's position and motion state.
[0040] The controller 11 is configured to receive signals from the photoelectric sensor 122 and control the operation of the ball delivery motor 121 based on the received signals. When the photoelectric sensor 122 detects that a tennis ball has entered the ball delivery channel, the controller 11 responds to the signal emitted by the photoelectric sensor 122 to stop the ball delivery motor 121 from running until the tennis ball has completely passed through the ball delivery channel before restarting the ball delivery motor 121, thereby ensuring that only one tennis ball is delivered at a time.
[0041] In some embodiments, the ball extrusion module 13 includes an upper wheel motor 131, a lower wheel motor 132, an upper wheel speed sensor 133, and a lower wheel speed sensor 134. The upper wheel motor 131, the lower wheel motor 132, the upper wheel speed sensor 133, and the lower wheel speed sensor 134 are all connected to the controller 11. The upper wheel speed sensor 133 and the lower wheel speed sensor 134 respectively detect the rotational speed of the upper wheel motor 131 and the lower wheel motor 132, and send the detected rotational speed to the controller 11. The controller 11 adjusts the rotational speed of the upper wheel motor 131 and the lower wheel motor 132 in real time according to the received rotational speed, thereby completing the closed-loop control of the upper wheel motor 131 and the lower wheel motor 132 and improving the consistency of ball delivery.
[0042] In some embodiments, the ball extrusion module 13 further includes an extrusion wheel 135, which is divided into an upper wheel 1351 and a lower wheel 1352. An upper wheel motor 131 and a lower wheel motor 132 respectively drive the upper wheel 1351 and the lower wheel 1352 of the extrusion wheel 135 to rotate in tandem. The ball is extruded through the friction between the extrusion wheel 135 and the tennis ball to achieve a serve. Exemplarily, as shown in Figures 2 and 3, the upper wheel motor 131 and the lower wheel motor 132 are coaxially connected to the upper wheel 1351 and the lower wheel 1352 of the extrusion wheel 135 to achieve direct drive and precise control of the extrusion wheel 135.
[0043] In some embodiments, the pitch module 14 includes a pitch motor 141 and a pitch angle sensor 142. Both the pitch motor 141 and the pitch angle sensor 142 are connected to the controller 11. The pitch angle sensor 142 is configured to detect the pitch angle of the pitch motor 141 and send it to the controller 11, which then performs closed-loop control on the pitch motor 141. The left and right modules 15 include left and right motors 151 and left and right angle sensors 152. Both the left and right motors 151 and the left and right angle sensors 152 are connected to the controller 11. The left and right angle sensors 152 are configured to detect the left and right angles of the left and right motors 151 and send them to the controller 11, which then performs closed-loop control on the left and right motors 151.
[0044] In some embodiments, the hatch module 16 includes an integrated electromagnet 161, which is connected to the controller 11. As shown in Figure 5, the controller 11 controls the ball delivery motor 121, the upper wheel motor 131, the lower wheel motor 132, and the left and right motors 151 to stop operating according to the received hatch opening command, to ensure safety during maintenance. Then, the controller 11 controls the integrated electromagnet 161 to open the hatch, making it convenient for the user to remove stuck balls or foreign objects. After maintenance, the user can manually close the hatch to use the equipment normally. The entire operation process is safe and simple.
[0045] When the tennis serving robot gets stuck or needs to be cleaned of foreign objects for maintenance, the door module 16 provides great convenience. Users no longer need to disassemble the robot body 1 to complete the maintenance, which is both safe and practical.
[0046] In some other embodiments, as shown in FIG4, the tennis serving robot provided in this application further includes a user positioning device 2. The user positioning device 2 communicates with the controller 11. The controller 11 responds to the user position information detected by the user positioning device 2 and enters one or more of the following modes: custom serving mode, return running mode, follow-up battle mode, and intelligent step comparison mode. The custom serving mode is configured to perform a custom serve based on the user's custom serving parameters. The return running mode is configured to start the serve when the user has run to the restoration point area based on the information detected by the user positioning device 2. The follow-up battle mode is configured to determine the single ball parameters of the next serve based on the information detected by the user positioning device 2. The intelligent step comparison mode is configured to compare the running information such as speed, time, and trajectory detected by the user positioning device 2 with the expected running information template to obtain the user's running ability, whether the running meets the standard, advantages, and disadvantages.
[0047] In some embodiments, the aforementioned restoration point area can be understood as a preset position area that the user needs to return to after completing a shot.
[0048] In some embodiments, the user positioning device 2 is implemented based on Ultra Wide Band (UWB) positioning technology. The user positioning device 2 includes a primary base station 21, a secondary base station, and a tag. The primary base station 21 is mounted on the robot body 1, the secondary base station is mounted on a net, and the tag is mounted on the user, effectively reducing the deployment difficulty of the user positioning device 2. The user positioning device 2 uses electromagnetic wave time-of-flight to measure the distance between the tag and the primary base station 21, and between the tag and the secondary base station, and then calculates the tag's position based on triangulation.
[0049] The ranging between the tag and the main base station 21, as well as the ranging between the tag and the secondary base station, is a two-way, two-dimensional ranging method using four messages.
[0050] Taking the ranging between the tag and the main base station 21 as an example, the main base station 21 actively initiates the first ranging message, and the tag responds. Thus, the time from the main base station 21 sending the timestamp to receiving the tag's response timestamp is T. r1 The time from when the tag receives the timestamp to when it sends the timestamp to the main base station 21 is T. y1 After a certain period of time, the tag initiates a ranging message, and the main base station 21 responds. Thus, the time from obtaining the tag's sending timestamp to receiving the main base station 21's response timestamp is T. r2 The time from when the main base station 21 receives the timestamp to when it sends the timestamp to the tag is T. y2 Then the flight time T f for:
[0051] The three-dimensional distance L0 between the tag and the main base station 21 is: L0 = V * T f .
[0052] In the formula, V represents the communication speed between the primary base station 21 and the tag. The three-dimensional distance L between the tag and the secondary base station i is... i The above-mentioned tags are calculated using the same ranging method as the main base station 21.
[0053] User positioning device 2 supports both single and multiple secondary base stations. Considering the tennis court is a plane, the focus is on two-dimensional coordinates. Therefore, in either case, the three-dimensional straight-line distance must first be projected into a two-dimensional straight-line distance. Assuming the height of the main base station 21 is H0 and the tag height is H... tag The height of the secondary base station i is H i The distance between the tag and the main base station 21 is L0, and the distance between the tag and the secondary base station i is L. i Then the two-dimensional distance between the tag and the main base station 21 The two-dimensional distance D between the tag and the secondary base station i i for:
[0054] In the formula, i = 1, 2, ..., n, and n represents the number of secondary base stations in user positioning device 2.
[0055] For cases with only one secondary base station, the desired coordinates are determined by the intersection of a circle centered on the primary base station 21 with a radius equal to the two-dimensional distance D0 between the tag and the primary base station 21, and a circle centered on the secondary base station with a radius equal to the two-dimensional distance D1 between the tag and the secondary base station. When the two circles do not intersect, the positioning system fails to find the coordinates. When the two circles are tangent, the point of tangency is the desired coordinate. When the two circles intersect, the two intersection points may be the desired coordinates; in this case, the choice needs to be made based on the application scenario. For example, if the primary base station 21 is installed on the robot body 1, and the secondary base station is installed directly above the doubles sideline on the right side of the net, the coordinates of the upper left corner of the robot body 1 are chosen as the user's positioning coordinates, because the user's movement range while playing the ball is limited to the half of the court opposite the robot body 1. The coordinate calculation method based on the above positioning method is as follows: assuming the coordinates of the primary base station 21 on the tennis court are (x0, y0), the coordinates of the secondary base station on the tennis court are (x1, y1), and the coordinates of the tag to be determined on the tennis court are (x0, y0). t y t Then, the following constraint equations exist:
[0056] Simplify and eliminate to get x t The system of quadratic equations in one variable is:
[0057] In the formula, t1 and t2 are intermediate variables, expressed as follows:
[0058] Solve the system of quadratic equations in one variable to obtain two solutions for the x-coordinate of the label. And two solutions for obtaining the label's ordinate. Taking advantage of the fact that the user's movement range when playing ball is limited to the half of the court opposite to the robot's main body, (x t1 y t1 ) and (x t2 y t2 Substitute (x, y) into the inequality x1-t1(y-y1)>x, and the values that satisfy the inequality are the label coordinates we are looking for.
[0059] When there are more than two secondary base stations, the ranging between the tag and both the primary base station 21 and the secondary base stations is over-constrained. Therefore, the following least squares formula is used to solve the problem, and the coordinates of the tag on the tennis court are obtained as follows:
[0060] In the formula, the coefficient matrix M and the constant matrix P of the law of cosines are respectively:
[0061] In the formula, (xi y i D represents the coordinates of the i-th secondary base station on the tennis court. i This represents the two-dimensional distance between the tag and the i-th secondary base station.
[0062] In some embodiments, the serve mode can be customized in the controller 11 based on the information detected by the upper wheel speed sensor 133, the lower wheel speed sensor 134, the pitch angle sensor 142, the left and right angle sensor 152 and the photoelectric sensor 122.
[0063] As shown in Figure 6, the parameters that need to be configured in the custom serve mode are single ball parameters and combination parameters. The single ball parameters include serve speed, serve spin type (topspin, backspin, and no spin), spin speed, arc, left and right orientation, single ball interval, and single ball repetition count. The combination parameters include group interval, single ball switching mode (sequential, random, etc.), automatic stop mode and parameters (unlimited, timed, fixed number of times, and fixed group mode) and countdown time. At least one single ball parameter and one combination parameter constitute a training routine.
[0064] This application uses the contact model between the ball-squeezing wheel 135 of the ball-squeezing module 13 and the tennis ball to convert the serve speed, serve spin type, and serve spin speed magnitude into the rotational speeds of the upper wheel 1351 and the lower wheel 1352 of the ball-squeezing wheel 135. The relevant implementation process is as follows:
[0065] Set the serve spin type and serve spin speed w s Combined into a single parameter w n When the serve spin type is topspin, w n =-w s w n When the value is less than 0, and the serve spin type is no spin, w n =0, when the serve spin type is backspin w n =w s w n Values greater than 0.
[0066] Because the ball extrusion wheel 135 uses closed-loop speed control, the tennis ball speed and rotation speed at different upper and lower ball extrusion wheel rotation speeds are obtained through a high-speed camera at 1000 frames per second (fps), and the tennis ball speed v is obtained through linear fitting. n and rotational speed w n Compared to the previous wheel's 1351 RPM speed v u And the next wheel's speed of 1352 V d expression k u k d k c q u q d and qc These are the linear fitting coefficients.
[0067] The rotational speed v of the previous wheel at 1351 was obtained by elimination. u And the next wheel's speed of 1352 V d With tennis speed v n and rotational speed w n The relation is This resulted in the desired rotational speeds of the upper wheel motor 131 and the lower wheel motor 132 of the extrusion module 13.
[0068] In some embodiments, the ball extrusion module 13 further includes a ball extrusion wheel 135, with an upper wheel motor 131 and a lower wheel motor 132 respectively driving the upper wheel 1351 and the lower wheel 1352 of the ball extrusion wheel 135 to rotate in coordination; the rotational speed v of the upper wheel 1351 of the ball extrusion wheel 135 is calculated based on the ball speed, ball spin type, and ball spin speed magnitude in the custom ball serving parameters. u And the next wheel's speed of 1352 V d They are respectively:
[0069] Where, k u k d k c q u q d and q c They represent the linear fitting coefficients, v and v respectively. n w represents the serve speed. n The serve spin speed vector is a parameter that combines the serve spin type and the serve spin speed magnitude.
[0070] The motion control of the tennis serving robot is achieved by combining the pitch module 14 for arc control, the left and right modules 15 for left and right orientation control, and the ball delivery module 12 for single ball interval and inter-group interval control. Simultaneously, based on the placement of the tennis serving robot on the court, the left and right joint angles of the left and right modules 15, the pitch joint angle of the pitch module 14, and the structural dimensions of the robot body 1, the initial position of the tennis ball can be obtained using the robot's forward kinematics. By analyzing the initial state of the tennis ball (initial position, serving speed, serving spin type, and serving spin speed) and iteratively using the dynamic model of the tennis ball's flight in the air, the trajectory of the tennis ball before landing can be obtained. Based on the tennis ball's flight trajectory, the trajectory state (net entry and out of bounds, etc.), landing point, net clearance height, and maximum height can be obtained.
[0071] The relevant calculation process is as follows:
[0072] With the center of the tennis net as the origin, the right side of robot body 1 is defined as the x-direction, and the forward direction as the y-direction. A world coordinate system Ow is established, and the placement of robot body 1 on the court is P. r(x r y r ), defined as the coordinates of the left and right module 15 rotation axes projected onto the tennis court in the world coordinate system, thus obtaining the transformation matrix between the robot body 1 base coordinate system and the world coordinate system.
[0073] Based on the configuration design of the tennis serving robot, the transformation matrix of the left and right modules 15 is as follows: Where θ y For the angles of the left and right motion joints, the transformation matrix of the pitch module 14 is: Where θ p L1, L2, and L3 represent the angles of the pitch joints and the left and right joints of the tennis serving robot, respectively.
[0074] The transformation matrix of the ball-squeezing module 13 relative to the world coordinate system can be obtained by using the chain multiplication rule of coordinate transformation matrices. It can also obtain the initial position information of the tennis ball machine at the moment of serving. Initial velocity information and initial rotation information
[0075] Using a dynamic iterative model of a tennis ball in flight, all trajectory points of the tennis ball before collision with the tennis court can be obtained based on its initial position, velocity, and spin information. The dynamic iterative model is described as follows:
[0076] The expression for the acceleration of a tennis ball in flight is:
[0077] The rotational speed in the three directions remains approximately constant during flight, where g is the acceleration due to gravity.
[0078] Integrating the acceleration gives the speed of the tennis ball. and location Where dt is the iteration time step.
[0079] With flight trajectory points This allows you to determine the landing point of the tennis ball (z). k When x is less than 0, k and y k The values are the landing point and the height over the net (y). k When z is greater than 0 for the first time k The value is the height over the net. It can also obtain the trajectory status (ball in, out of bounds and in, ball out of bounds). The entire trajectory points before the landing point can be obtained through 3D reconstruction to obtain a simulation animation. The simulation animation changes in real time as the serve parameters are adjusted.
[0080] The entire trajectory before the landing point can be displayed on the terminal, thus realizing the animated simulation display of customized serve parameter adjustments, which greatly facilitates the user's parameter adjustment and provides a WYSIWYG experience.
[0081] In some embodiments, as shown in Figure 7, the tennis serving robot can be set to a return-to-position running mode. In this mode, the robot body 1 determines that the user has run to the return point area based on the information detected by the user positioning device 2 before initiating the serve. Through the tennis techniques and tactics configured by the user, the robot can obtain serve information (single ball parameters and combination parameters) and the return point area (center coordinates of the return point area). The user positioning device 2 obtains the user's location information in real time. When the user's location information first enters the restoration point area, if the ball delivery module 12 of the robot body 1 is not delivering a ball, the ball delivery module 12 starts delivering a ball. If the ball delivery module 12 of the robot body 1 is already delivering a ball, the serving robot does not make any adjustments and continues the serving business logic. The method for determining the first entry into the restoration point area is described as follows:
[0082] Assume the user's coordinates are When x ac -wa / 2≤x h ≤x ac +wa / 2 and y ac -la / 2≤y h ≤y ac When both +la / 2 are satisfied, the user's location is determined to be within the restoration point area; otherwise, the user's location is determined to be outside the restoration point area. If the user's location is outside the restoration point area N consecutive times (N can be flexibly configured according to actual needs to adapt to different training scenarios), the user's location is determined to be far from the restoration point area, thus filtering out false triggers caused by fluctuations in the positioning system. The first entry into the restoration point area means the user's current location is within the restoration point area; the previous time step indicates the user's state was far from the restoration point area.
[0083] If the ball delivery module 12 of the robot body 1 is not in the ball delivery state, the ball squeezing module 13, the pitch module 14, and the left and right modules 15 start the serve preparation; otherwise, the serving robot does not make any adjustments and continues the serve business logic. Tennis courts are large, and in daily training, after a user's shot, they usually return to a reasonable position on the court to prepare for the next shot. Users need to manually set the time interval between two serves to suit their own needs, and this cannot be changed during the process. The return-to-position running mode of this application can adapt to the user's running ability. The serving robot only starts serving when the user runs to the designated area. The faster the user runs, the shorter the serving interval; the slower the user runs, the longer the serving interval, achieving an intelligent serving mode with adaptive serving frequency.
[0084] In some embodiments, the tennis serving robot can be set to a follow-up play mode, as shown in Figure 8. The user positioning device 2 obtains the user's position information in real time, thereby acquiring the user's running ability. Combined with the serving robot's driving capability and the user's configured tennis techniques and tactics, adaptive motion control of the serving robot is achieved. Daily tennis training requires a large variety of serves to engage the user. The follow-up play mode of this application enables the robot to follow the user's position on the court when serving, achieving an intelligent serving mode that adapts to the serve's landing point, speed, and spin.
[0085] Taking baseline pullback training as an example, the relevant implementation process is as follows:
[0086] The serving robot receives serving parameters (single ball parameters and combination parameters) and serves at a normal fixed frequency. However, in this mode, the angles of the left and right modules 15 are adjusted in real time based on the user positioning device 2. After startup, the user positioning device 2 adjusts the angles at a period T. p Obtain user location information The data is then transmitted to controller 11. Controller 11 first determines the offset method (forehand offset, backhand offset, and random offset) and offset distance x of the user-configured follow-up battle mode. o Obtain the desired angles of the left and right modules 15, and the desired angles of the left and right modules 15 under forehand offset conditions. in, Given the placement of the robot body 1 on the court, the desired angles of the left and right modules 15 under backhand offset conditions. Random offset refers to the current serve's forehand or backhand offset, which randomly determines the desired angle of the left and right modules 15.
[0087] Subsequently, the serving robot obtains the actual angle θ of the current left and right modules by 15 degrees. ay and speed And combined with the remaining time T of the serve ly The minimum achievable motion angle θ of the left and right modules 15 for this serve was calculated. ymin and maximum value θ ymax Next, compare the expected angle θ of the left and right modules 15. dy and the reachable motion angle θ ymin and θ ymax The relationship when θ dy <θ ymin The target angle of the left and right modules 15 of the serving robot is θ. ymin When θ dy >θ ymax The target angle of the left and right modules 15 of the serving robot is θ. ymax When θ ymax ≥θ dy ≥θ yminThe target angle of the left and right modules 15 of the serving robot is θ. dy This allows the ball to be served according to the user's position on the court, resulting in more intelligent changes in the landing point.
[0088] In some embodiments, the tennis serving robot can be set to a smart running comparison mode, as shown in Figure 9. Based on tennis techniques and tactics, the user's desired running information (speed, time, trajectory, etc.) is collected in advance through the user positioning device 2 as a template. The user obtains actual running information through the user positioning device 2 and compares it with the template to obtain the user's running ability, including whether the running meets the standard, advantages and disadvantages, and other analysis results. The relevant practices are described as follows:
[0089] Taking running time as an example, and using the interval between two serves by the serving robot as an analysis period, each serve is defined with an expected starting area (similar to a return run) and a hitting area (the landing point information is shown in the simulation animation). The serving time of the serving robot is defined as... ( The superscript k represents the service cycle number, and the time it takes for the user to run out of the expected starting area is... The time when the user enters the striking area is The expected starting zone for the user after hitting the ball is: The time for the next serve is This allows us to obtain four evaluation times, the first being the waiting time. Startup time Return time Second waiting time For a fixed training routine, there is an expected value for each of the four evaluation times. First waiting time... Expected value Indicate the start time Expected value The return time is indicated. Expected value The second waiting time is indicated. Expected value This is indicated. For the first waiting time... Less than This indicates that the user did not have enough time to prepare for the shot; regarding the start time Less than This indicates that the user's running and hitting ability meets the standard, and the startup time is... Not less than This indicates that the user's ability to hit the ball while running is insufficient; regarding the return time... Less than This indicates that the user's return-to-position running ability meets the standard, and the return-to-position time is [not specified]. Not less than This indicates that the user's ability to return to their original position is insufficient; regarding the second waiting time Less than This indicates that the user's preparation time for the next shot is insufficient. Furthermore, the system can provide status feedback and analysis for shots that fail to enter the expected starting or hitting area, comparing the results with template parameters to provide feedback and evaluation of the training outcomes.
[0090] Based on the tennis serving robot provided in this application, as shown in Figure 10, this application also provides a tennis serving system, which includes a tennis serving robot, a user positioning device 2, and a smart racket 3. The tennis serving robot communicates with the user positioning device 2 via wired communication, and with the smart racket 3 via wireless communication, such as Bluetooth. The user positioning device 2 is configured to detect the user's location information and send it to the tennis serving robot. The smart racket 3 is configured to measure the trajectory of the racket body and the collision information between the tennis ball and the racket body and send it to the tennis serving robot. The tennis serving robot sets a serving mode, a return-to-position running mode, a follow-up match mode, a smart step comparison mode, a smart racket mode, and a simulated match mode based on the received information.
[0091] In some embodiments, as shown in FIG13, the smart racket 3 includes a racket body 31, a rubber sleeve 32, and a detection module 33. The detection module 33 is fixed to the end of the handle in the racket body 31 via the rubber sleeve 32, which is adaptable to handles of different thicknesses. The detection module 33 is equipped with an IMU (Inertial Measurement Unit) 331, which is configured to measure the motion trajectory of the racket body 31 and the collision information between the tennis ball and the racket body 31.
[0092] In some embodiments, as shown in Figure 11, the tennis serving robot can be set to a smart racket mode. In smart racket mode, the smart racket 3 obtains information such as the racket's three-dimensional acceleration and three-dimensional angular velocity in real time. Using this information, it can realize hit detection and hit state detection (hitting time, hitting speed, racket posture, and action type, etc.). Combined with the incoming ball information (that is, the tennis serving robot's serving information), it can obtain the user's return information. Finally, the motion control of the tennis serving robot is realized through the tennis serving robot's serving information, tennis tactics, and the user's return information. The implementation method is described as follows:
[0093] The smart racket 3 connects wirelessly to the tennis serving robot. The IMU data processed and analyzed by the smart racket 3 is sent wirelessly to the controller 11. The controller 11 combines the current serve information, tennis tactics (user configuration or artificial intelligence (AI)) and the current user return information to determine the parameters of the next serve (such as single ball parameters and combination parameters).
[0094] Serving transitions are a crucial part of tennis training, focusing on developing the user's ability to receive serves. The training involves the user serving, the opponent receiving, and then the user receiving the serve again. This tennis serving robot can detect the user's serve information and respond with a simulated serve return, thus training serve transitions effectively. For example, the implementation can be described as follows:
[0095] The smart racket 3 analyzes IMU data to obtain the user's serve information (serve type, serve power, and serve time, etc.) and informs the controller 11 via wireless communication. The controller 11 automatically adjusts the single ball parameters (serve speed, spin type, and velocity) and combination parameters of the next serve using a predetermined strategy (tennis tactics) to simulate receiving serves in actual combat.
[0096] In some embodiments, the tennis serving robot can be set to a simulated match mode, as shown in the flowchart in Figure 12. The user positioning device 2 obtains the user's running information and transmits it to the controller 11 via wired communication. The smart racket 3 transmits the user's hitting information to the serving robot controller 11 wirelessly. Utilizing these two external information sources and the techniques and tactics of tennis (user-configured strategies or AI), the robot adjusts the single-ball parameters and combination parameters of the tennis serve in real time. The serving robot controller 11 converts the single-ball parameters and combination parameters into the target rotation speed control of the upper and lower wheels of the ball-squeezing module 13, the target angle of the motors in the pitch module 14 and left and right modules 15, and the start and stop timing of the motors in the ball-feeding module 12, thereby achieving a targeted serve. The tennis serving robot's real-time changing serve is more intelligent and closed-loop than the traditional fixed-pattern serve. This system can effectively simulate the entire chain of tennis, observing the user's running position and characteristics, and making return strategies based on hitting information, enabling a simulated match intelligent tennis serving robot.
[0097] For example, the smart racket 3 detects the information and state of the tennis ball after the user hits it, obtains the trajectory parameters of the incoming ball through animation simulation, adjusts the serving robot's serving parameters to respond to the incoming ball's serve, and obtains the trajectory of the serve through animation simulation. Combined with the user's running information obtained by the user positioning device 2, and using the laws of encounter motion, it obtains the trajectory state (volley, hitting the ball before the highest point of the bounce, and hitting the ball after the highest point of the bounce), position, speed, and spin of the user's hit at this time. In addition, the smart racket 3 detects the user's action information when hitting the tennis ball to obtain the information and state of the tennis ball after the user's hit at this time. It obtains the trajectory parameters of the incoming ball through animation simulation, adjusts the serving robot's serving parameters to respond to the incoming ball's serve, and so on, to achieve simulated match.
[0098] According to the above-described embodiments of this application, at least the following beneficial effects are achieved: The tennis ball serving robot provided by this application can diversify the serving modes by setting custom serving modes, meet personalized needs, and make the interaction more intuitive and simple; the closed-loop control of the ball squeezing module 13 can improve the consistency of the tennis ball landing point and the switching control, thereby improving the serving routine; by setting up the robot body 1, the user positioning device 2, and the smart racket 3, and by setting custom serving modes, return running modes, follow-up battle modes, intelligent step comparison modes, smart racket modes, and simulated battle modes in the robot body 1, this application can improve the capabilities and application scenarios of the tennis ball serving robot; by setting up the hatch module 16, this application can open the hatch when a fault occurs, making equipment maintenance safer and more convenient.
[0099] The embodiments of this application described above can be implemented in various hardware, software codes, or combinations thereof. For example, embodiments of this application can also be program code executing the methods described above in a data signal processor. This application can also relate to various functions executed by a computer processor, digital signal processor, microprocessor, or field-programmable gate array. The processor described above can be configured to perform specific tasks according to this application, which is accomplished by executing machine-readable software code or firmware code defining the specific methods disclosed in this application. The software code or firmware code can be developed into different programming languages and different formats or forms. The software code can also be compiled for different target platforms. However, the different code styles, types, and languages of the software code performing tasks according to this application and other types of configuration code do not depart from the spirit and scope of this application.
Claims
1. A tennis serving robot, comprising: The system includes a robot body and a ball-collecting basket, a controller, a ball-feeding module, a ball-squeezing module, and a direction module mounted on the robot body. The ball-collecting basket is positioned above the ball-feeding module to hold collected tennis balls. The ball-feeding module, the ball-squeezing module, and the direction module are all connected to the controller. The ball-feeding module is configured to retrieve the collected tennis balls from the ball-collecting basket and deliver them to the ball-squeezing module. The ball-squeezing module is configured to expel the tennis balls to achieve a serve. The direction module is configured to adjust the direction of motion of the expelled tennis balls. The controller is configured to enter a custom serve mode in response to a user's custom serve command. In the custom serve mode, the controller controls the ball-feeding module, the ball-squeezing module, and the direction module to work collaboratively based on received custom serve parameters to achieve a custom serve of the tennis balls.
2. The tennis serving robot according to claim 1, wherein, The directional module includes a pitch module and a left-right module, which are respectively configured to adjust the up-down and left-right directions of the tennis ball extruded by the ball extrusion module.
3. The tennis serving robot according to claim 1 further includes a hatch module, the hatch module being connected to the controller and configured to respond to a user's hatch opening / closing command to open or close the hatch.
4. The tennis serving robot according to claim 1, wherein, The ball delivery module includes a ball delivery motor and a photoelectric sensor. Both the ball delivery motor and the photoelectric sensor are connected to the controller. The photoelectric sensor is located inside the ball delivery channel and is configured to detect when a tennis ball enters the channel. The controller is configured to receive signals from the photoelectric sensor and control the operation of the ball delivery motor based on the received signals. When the photoelectric sensor detects that a tennis ball has entered the ball delivery channel, the controller responds to the signal emitted by the photoelectric sensor by stopping the ball delivery motor until the tennis ball has completely passed through the channel before restarting the motor, thereby ensuring that only one tennis ball is delivered at a time.
5. The tennis serving robot according to claim 1, wherein, The ball extrusion module includes an upper wheel motor, a lower wheel motor, an upper wheel speed sensor, and a lower wheel speed sensor. The upper wheel motor, the lower wheel motor, the upper wheel speed sensor, and the lower wheel speed sensor are all connected to the controller. The upper wheel speed sensor and the lower wheel speed sensor respectively detect the rotational speed of the upper wheel motor and the lower wheel motor, and send the detected rotational speed to the controller. The controller adjusts the rotational speed of the upper wheel motor and the lower wheel motor in real time according to the received rotational speed.
6. The tennis serving robot according to claim 5, wherein, The ball extrusion module also includes a ball extrusion wheel, and the upper wheel motor and the lower wheel motor respectively drive the upper wheel and the lower wheel of the ball extrusion wheel to rotate in coordination; Based on the serve speed, serve spin type, and serve spin speed in the custom serve parameters, the upper wheel speed v of the ball-squeezing roller is calculated. u and the lower wheel speed v of the ball extrusion wheel d They are respectively: Where, k u k d k c q u q d and q c They represent the linear fitting coefficients, v and v respectively. n w represents the serve speed. n The serve spin speed vector is a parameter that combines the serve spin type and the serve spin speed magnitude.
7. The tennis serving robot according to claim 2, wherein, The pitch module includes a pitch motor and a pitch angle sensor. Both the pitch motor and the pitch angle sensor are connected to the controller. The pitch angle sensor is configured to detect the pitch angle of the pitch motor and send it to the controller, which then performs closed-loop control on the pitch motor. The left and right modules include left and right motors and left and right angle sensors. Both the left and right motors and the left and right angle sensors are connected to the controller. The left and right angle sensors are configured to detect the left and right angles of the left and right motors and send them to the controller, which then performs closed-loop control on the left and right motors.
8. The tennis serving robot according to claim 1 further includes a user positioning device, the user positioning device communicating with the controller, the controller responding to the user location information detected by the user positioning device by entering one or more of a custom serving mode, a return-to-position running mode, a follow-up battle mode, and a smart step comparison mode, wherein... The custom serve mode is configured to perform a custom serve based on the user's custom serve parameters. The return run mode is configured to start the serve when the user has run to the return point area based on the information detected by the user positioning device. The follow-up battle mode is configured to determine the single ball parameters of the next serve based on the information detected by the user positioning device. The smart step comparison mode is configured to compare the running information detected by the user positioning device with the expected running information template. The single ball parameters include one or more of the following: serve speed, serve spin type, serve spin speed magnitude, arc, left and right orientation, single ball interval, and single ball repetition count.
9. The tennis serving robot according to claim 8, wherein, The user positioning device includes a main base station installed on the robot body, which communicates with a secondary base station installed on the net and a tag installed on the user. The tag and the main base station, as well as the tag and the secondary base station, use electromagnetic wave time-of-flight to measure distance, and calculate the tag's position based on triangulation to obtain the user's location information.
10. The tennis serving robot according to claim 9, wherein, The number of secondary base stations is set to one, and the two solutions for the x-coordinate of the tag in the coordinates of the tennis court are: The two solutions for the ordinate of the label in the coordinate system of the tennis court are: In the formula, parameters A, B, and C are respectively: In the formula, x0 and y0 represent the x and y coordinates of the main base station on the tennis court, respectively, and x1 and y1 represent the x and y coordinates of the secondary base station on the tennis court, respectively. t1 and x t2 Let y represent the two solutions for the x-coordinate of the label in the coordinate system of the tennis court. t1 and y t2 Let t1 and t2 represent two solutions for the ordinate of the label in the coordinate system of the tennis court. Both t1 and t2 are intermediate variables, expressed as follows: In the formula, D0 represents the two-dimensional distance between the tag and the main base station, and D1 represents the two-dimensional distance between the tag and the secondary base station.
11. The tennis serving robot according to claim 9, wherein, The number of secondary base stations is set to multiple. The least squares method is used to solve the over-constrained distance equations to obtain the coordinates of the tag on the tennis court: In the formula, x t and y t Let M and P represent the x and y coordinates of the label on the tennis court, respectively. The cosine theorem coefficient matrix M and the cosine theorem constant matrix P are respectively: In the formula, (x i y i D represents the coordinates of the i-th secondary base station on the tennis court. i Let x0 and y0 represent the two-dimensional distance between the tag and the i-th secondary base station, respectively, and let D0 represent the two-dimensional distance between the tag and the main base station on the tennis court.
12. The tennis serving robot according to claim 8, wherein, In the aforementioned follow-up battle mode, the user positioning device operates at a period T. p Obtain user location information The data is then transmitted to the controller, which uses the offset method and offset distance x configured by the user for the follow-up battle mode. o Obtain the desired angles of the left and right modules, and the desired angles θ of the left and right modules under the forehand offset condition. dy for in, Given the robot body's placement on the court, the desired angle θ of the left and right modules under a backhand offset is... dy for The robot body obtains the actual angle θ of the current left and right modules. ay and speed And combined with the remaining time T of the serve ly The minimum value θ of the motion angle of the left and right modules in this serve was calculated. ymin and maximum value θ ymax ; Compare the desired angle θ of the left and right modules dy and motion angle θ ymin and θ ymax The relationship, in response to θ dy <θ ymin The target angle of the left and right modules is θ. ymin ; in response to θ dy >θ ymax The target angle of the left and right modules is θ. ymax ; in response to θ ymax ≥θ dy ≥θ ymin The target angle of the left and right modules is θ. dy .
13. The tennis serving robot according to claim 8, wherein, In the intelligent comparison mode, the interval between two serves by the tennis serving robot is defined as an analysis cycle. Each serve has a desired starting area and a hitting area. The serving time of the tennis serving robot is defined as... The time it takes for the user to exit the expected startup area is The time when the user enters the striking area is The expected starting zone for the user after hitting the ball is: The time for the next serve is There are four evaluation times, including: the first waiting time. Startup time Return time Second waiting time Response during the first waiting time Less than This indicates that the user did not have enough time to prepare for the shot; response time. Less than This indicates that the user's running and hitting ability meets the standard; response time is [not specified]. Less than This indicates that the user's retracement ability meets the standard; response time is the second waiting time. Less than This indicates that the user does not have enough time to prepare for their next shot. in, Indicates the first waiting time Expected value Indicates startup time Expected value Indicates return time Expected value Indicates the second waiting time The expected value.
14. A tennis serving system, comprising a tennis serving robot and a smart racket as described in any one of claims 8-13, wherein the smart racket communicates with a controller of the tennis serving robot, and the controller, in response to the movement trajectory of the smart racket and collision information between the tennis ball and the smart racket, enters one or more of the following modes: a custom serving mode, a return-to-position running mode, a follow-up match mode, a smart step comparison mode, a smart racket mode, and a simulated match mode, wherein... The custom serve mode is configured to perform a custom serve based on the user's custom serve parameters. The return run mode is configured to start the serve when the user has run to the return point area based on the information detected by the user positioning device. The follow-up battle mode is configured to determine the single ball parameters of the next serve based on the information detected by the user positioning device. The smart step comparison mode is configured to compare the running information detected by the user positioning device with the expected running information template. The smart racket mode is configured to start the tennis serving robot to serve when the user's serve is successful based on the collision information between the smart racket and the tennis ball. The simulated battle mode is configured to adjust the single ball parameters and combination parameters of the tennis serve in real time using the information detected by the user positioning device and the collision information between the smart racket and the tennis ball.
15. The tennis serve system according to claim 14, wherein, The smart racket includes a racket body, a rubber sleeve, and a detection module. The detection module is fixed to the end of the handle in the racket body through the rubber sleeve. The detection module is equipped with an inertial measurement unit, which is configured to measure the motion trajectory of the racket body and the collision information between the tennis ball and the racket body.
Citation Information
Patent Citations
Intelligent tennis partner training device and method
CN110052008A
Tennis ball serving robot and tennis ball serving system
CN119258515A
Tennis game equipment
JP1997234263A
Ball serving system for simulating a real game and method thereof
TWI571291B
Automatic ball pitching machine
US10322328B1
Cited By
Multi-diameter multi-ball pressure self-adaptive double-wheel serving robot and control method thereof
CN122164065A