A control method for a table tennis robot to hit a spinning ball

By constructing a ping-pong ball aerodynamic formula and using a vision system to capture the ball's trajectory, combined with rolling optimization and iterative calculation, the accuracy and efficiency issues of the ping-pong robot in controlling a high-speed spinning ball were solved, achieving precise racket motion control.

CN119057772BActive Publication Date: 2025-10-24VALLEY OF SCI & TECH OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411160077.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2025-10-24
Estimated Expiration
2044-08-22

AI Technical Summary

Technical Problem

Existing table tennis robots struggle to simultaneously ensure both accuracy and efficiency when controlling the trajectory of a high-speed spinning ball, especially when considering multiple factors such as the position of the incident ball, its straight line, its rotation speed, and its height over the net. This results in complex and ineffective ball motion control.

Method used

A table tennis aerodynamic formula is constructed. The ball's flight trajectory is captured by a vision system, the spin parameters are estimated in real time, and the ball's flight trajectory and hitting point are predicted through roll optimization and iterative calculation. Combined with the optimization of the racket's motion parameters, the ball is ensured to fly along the desired trajectory.

Benefits of technology

Precise control of the ping-pong robot was achieved, improving the accuracy and efficiency of the ball's flight, ensuring the ball flies as expected, and optimizing the racket's motion decisions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119057772B_ABST
    Figure CN119057772B_ABST
Patent Text Reader

Abstract

The present application relates to the field of table tennis robots, and particularly relates to a control method for a table tennis robot to hit a spinning ball. The method includes: constructing a table tennis aerodynamics formula; estimating a table tennis spin parameter in the table tennis aerodynamics formula; rolling optimization of the spin parameter; predicting a table tennis flight trajectory; and calculating a table tennis robot racket swing trajectory. The present application uses a rolling optimization method to estimate the drag coefficient and spin speed in real time, thereby solving the accuracy problem of spin estimation. The trajectory is predicted by iteratively solving the ball aerodynamics to determine the position of the robot hitting the ball. The use of accurate spin information ensures the accuracy and efficiency of the robot. The swing of the racket is determined by an optimization program that minimizes the difference between the landing point and the net height and its expected value. In terms of accuracy, this method achieves the best performance compared to other spin estimation algorithms.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of table tennis robots, in particular to a control method for a table tennis robot to hit a spinning ball. BACKGROUND

[0002] One of the biggest challenges that hinders table tennis robots from playing like professional players is the precise motion control of the ball, which depends on various factors such as the position, straightness, spin speed of the incoming ball, etc. Because when the flight speed and spin speed of the ball increase, the control accuracy will decrease rapidly. When the ball is hit by the racket, the spin of the incoming ball affects the direction of the racket. Since the spin of the outgoing ball is determined by the spin of the incoming ball and its linear speed, it cannot be completely regarded as a free variable that cannot be ignored. However, only a few studies have considered the spin of the outgoing ball. For the desired value of the hit ball, current studies mostly target the landing point of the out-of-bound ball to achieve. However, only the landing point cannot uniquely determine the trajectory of a ball. At the same time, all trajectories end at the same point on the table (the desired landing point) when flying over the net at different heights. Therefore, another desired value (e.g., the desired over-the-net height) must be considered to ensure that the ball can pass over the net. However, no literature has considered the above four factors in the return of a high-speed flying ball, so it cannot be guaranteed that the outgoing ball will fly as expected. And the more factors considered, the more complex the operation, the lower the efficiency. How to balance accuracy and efficiency is one of the challenges in determining the motion of the racket. SUMMARY

[0003] The present application discloses a control method for a table tennis robot to hit a spinning ball, the specific method is as follows:

[0004] Construct a table tennis aerodynamics formula, which includes table tennis spin parameters and constants in the table tennis aerodynamics formula;

[0005] Estimate the table tennis spin parameters in the table tennis aerodynamics formula based on the flight trajectory of the table tennis ball from the start of flight to before reaching the first distance threshold;

[0006] Rolling optimize the spin parameters based on the flight trajectory of the table tennis ball between the first distance threshold and the second distance threshold;

[0007] Predict the flight trajectory of the table tennis ball after the second distance threshold based on the table tennis aerodynamics formula;

[0008] Calculate the racket swing trajectory of the table tennis robot according to the flight trajectory of the table tennis ball after the second distance threshold and the desired landing point.

[0009] Further, construct a table tennis aerodynamics formula, specifically as follows:

[0010] A world coordinate system is defined, with the origin at the center of the table, the y-axis parallel to the table and perpendicular to the net, pointing away from the robot, the x-axis determined by the right-hand rule, and the z-axis upward and perpendicular to the table.

[0011] The formula for the aerodynamics of the ping-pong ball is as follows:

[0012]

[0013] where T s is the sampling period, s(k) represents the state of the ball at the kth sampling instant, s(k) = [x(k), y(k), z(k), v x (k), v y (k), v z (k)] T , where [x(k), y(k), z(k)] represents the position of the flying ball, V(k) = [v x (k), v y (k), v z (k)] T represents the linear velocity of the flying ball; ω(k) = [ω x (k), ω y (k), ω z (k)] T represents the spin velocity of the ball, which is constant in the entire time window (kT s , (k+1)T s ), where C d (k), C m represent the drag coefficient and the Magnus force coefficient, respectively; A, r, m b , and g represent the cross-sectional area of the ball, the radius of the ball, the mass of the ball, the air density, and the acceleration of gravity, respectively;

[0014] simplified as follows:

[0015] s(k+1) = h(s(k), k d (k), ω(k)).

[0016] Further, the spin parameter of the ping-pong ball in the aerodynamics formula of the ping-pong ball is estimated, and the specific method is as follows:

[0017] When the ping-pong ball flies towards the ping-pong robot, the flight trajectory of the ping-pong ball is captured by the vision system and recorded as P(k) = [x(k), y(k), z(k)] T , and stored in the buffer B, so that B = [P(1), ···, P(k)];

[0018] A first distance threshold is set as Δ1, when the ball passes through the vertical plane y = Δ1, the buffer B data is extracted, denoted as [P f (1), P f (2), …, P f (k)] = f(P(1), P(2), …, P(k));

[0019] The first order derivative is solved as the sampling moment velocity:

[0020]

[0021] Wherein, f(·) represents a function of mapping the original position P(m) to the fitting position Pf(m) (m ∈ {1, 2, …, k}), C d ∈ (0, 1], by setting C d = 1 as The k d (0) is initialized, and k d (0) is a constant in the ping-pong aerodynamics formula;

[0022] According to the position and velocity of the ping-pong ball at the sampling moment, the spin parameter

[0023] The spin parameter and constant of the ping-pong aerodynamics formula from the beginning of flight to reaching the first distance threshold are calculated, that is, the formula state is initialized

[0024] Further, the spin parameter is optimized by rolling, and the specific method is as follows:

[0025] Suppose that at t = kT s , the last column of B satisfies y(k) ∈ [Δ2, Δ1];

[0026] Three variables are defined, which are external estimation counter m e , internal optimization counter m i and prediction range N p , wherein i represents the calculation counter;

[0027] m e represents the parameter estimation times triggered by the event y(k) > Δ1, m i to m e are used to judge whether m i + N p <col(B) is true, wherein col(B) represents the column number of B;

[0028] i is initialized as m i ,

[0029] The cost function is defined as

[0030] where: ||·|| denotes the norm Q p (m i ) = (x p (m i +j), y p (m i +j), z p (m i +j): j e {1,..., N p} and P f (m i ) = (x f (m i +j), y f (m i +j), z f (m i +j): j e {1,..., N p} denote all predicted and actual positions within the prediction horizon, respectively;

[0031] The cost function represents the difference between the predicted and actual positions within the horizon, which is solved using the Nelder Mead algorithm;

[0032] The prediction horizon is reduced, i.e. m i is increased by 1, and the new update is repeated until m i +N p > col(B);

[0033] Assigning to completes the parameter estimation for the current B;

[0034] When B is sent to the host again, m e is increased by 1 and the estimation begins; when the ball passes the plane y = Δ2, the parameter estimation ends.

[0035] Further, the flight trajectory of the ping pong ball after the second distance threshold Δ2 is predicted using the ping pong ball aerodynamics formula, including landing point prediction and hitting point prediction;

[0036] Within the short distance from the plane y = Δ2 to the plane z = r, u remains unchanged (denoted as ), and r is the landing plane of the ball radius;

[0037] Landing point prediction: assuming k = 0, x(k) = x f (i), y(k) = y f (i), z(k) = z f (i), v x ​(k) = v x (i), v y (k) = v y (i), v z (k) = v z (i), the landing point, current linear velocity and spin velocity are predicted using the Ping-Pong aerodynamics formula, i.e. v it = [v itx , v ity , v itz ] and ω it = [ω itx , ω ity , ω itz ];

[0038] The ball hitting point prediction: the linear velocity and spin velocity of the Ping-Pong ball rebounding from the table are represented as [v et ω et ] T = R RRM (α, β)[v it ω it ] T

[0039] where v et , ω et represent the linear velocity and spin velocity of the ball rebounding from the table, and α, β are the yaw angle and pitch angle of the racket;

[0040]

[0041] where R R , A vv , A wv have the following expressions

[0042]

[0043] A vv = diag(1-k v ,1-k v ,-e r )

[0044] A ww = diag(1-k w r 2 ,1-k w r 2 ,1)

[0045] A vw = k v rS c

[0046] A wv = -k w rSc

[0047] where r is the radius of the ball, k v is the tangential restitution coefficient of the bat, e r is the normal restitution coefficient of the bat, k w is the spin conversion coefficient of the bat, S c is expressed as

[0048]

[0049] Assume the hitting point is located in the plane y = Δ3, the u of the plane z = r to the plane y = Δ3 is a constant;

[0050] The landing point prediction is obtained by iterative calculation until y(k) < Δ3.

[0051] Further, the bat swing trajectory of the table tennis robot is calculated, and the expected ball passing net height H dpn is set as the expected landing point P dl = [x dl , y dl , r], and the bat swing trajectory including swing speed v pad and swing direction N pad needs to be determined; the specific method is as follows:

[0052] Given x dl , y dl , H dpn and the ball spin speed ω ep , the ball linear speed v ep hit by the bat is derived;

[0053] Given ω ep and v ep , v pad and N pad are derived.

[0054] Further, the ball linear speed v ep hit by the bat is derived, and the specific method is as follows:

[0055] Without considering the Magnus force and resistance, the ball moves along a parabola, given the hitting point P hit , P dl and H dpn , the point P p1 on the net can be expressed as

[0056] The motion equation of the table tennis ball is

[0057]

[0058] [Phlxy1 ,P hlz1 ] represents with respect to the coordinates of OXZ;

[0059] v epxy1 and v epz1 represent the horizontal and vertical velocities in the coordinate system OXZ, respectively, t1 and t2 represent the time taken by the ball from hitting to passing the net point and landing point, respectively, and v epxy1 , v epz1 , t1, t2 are solved.

[0060] The ratio of the vertical velocity to the horizontal velocity, i.e. K θ , is initialized as K θini = v epz1 / v epxy1 .

[0061] Further, the ball's linear velocity v ep hit by the racket is derived as follows:

[0062] Assuming that the ball flies with resistance without considering the Magnus force, the linear velocity v ep2 = [v epx2 , v epy2 , v epz2 ] is

[0063]

[0064] v epz2 = K θ v epxy2

[0065] In the formula, e dlhx = x dl -x hit , e dlhy = y dl -y hit , where τ represents the flight time of the ball, which is obtained by solving the following equation:

[0066] A1τ 4 +B1τ 2 +C1=0

[0067] In the formula, A1, B1, C1 are three coefficients defined as A1 = -0.1175, B1 = 0.47, and C1 = 0.5, respectively.

[0068]

[0069] where 0.1175 and 0.47 are known coefficients of the aerodynamics of the flying table tennis ball.

[0070] Further, the ball's linear velocity v ep, specifically as follows:

[0071] Considering the spin of the ball, the spin of the ball is given in advance by ω ep , according to P hit , v ep2 , ω ep ;

[0072] The predicted landing point [x pl , y pl , r] and the predicted net height H ppn are obtained by iteration calculation;

[0073] In order to minimize the difference between [x pl , y pl , H ppn ] and [x dl , y dl , H dpn ], the following optimization is performed:

[0074]

[0075] wherein K is the optimal K θ that minimizes the composite error e lh , defined as

[0076]

[0077] wherein w1, w2 represent the weights of the landing point error and the net height error respectively, e lx = x pl - x dl , e ly = y pl - y dl , e h = H dpn - H ppn are the landing error horizontal coordinate, the landing error vertical coordinate and the net height error respectively.

[0078] Further, v pad and N pad are derived, specifically as follows:

[0079] When the linear velocity v ep and the spin velocity ω ep of the ball are obtained

[0080]

[0081] A wv (I-A vv ) -1 A vw + A ww = I

[0082] N pad has the following expression

[0083]

[0084] wherein

[0085]

[0086] After the value of alpha is obtained by solving the quadratic equation about the sine function, the value of beta, the racket linear velocity v pad can be calculated.

[0087] Due to the adoption of the above technical solutions, the present application has the following technical effects:

[0088] 1. The rolling optimization method is used to estimate the drag coefficient and spin speed in real time, so as to solve the precision problem of spin estimation.

[0089] 2. The trajectory is predicted by iteratively solving the aerodynamics of the ball, so as to determine the position of the robot hitting the ball.

[0090] 3. The accurate spin information is used to propose a stroke method based on single parameter optimization, which ensures the precision and efficiency of the robot.

[0091] 4. The motion of the racket is determined by an optimization program, which minimizes the difference between the landing point and the net height and its expected value. In terms of precision, this method achieves the best performance compared with other spin estimation algorithms.

[0092] Other advantages, objects, and features of the present application will be in part apparent and in part pointed out hereinafter in the specification, and will be observed in the practice of the present application. The objects and other advantages of the present application can be realized and attained by the structure particularly pointed out in the specification as follows. BRIEF DESCRIPTION OF DRAWINGS

[0093] The drawings of the present application are as follows.

[0094] Figure 1 It is a schematic diagram for the process of estimating the parameters of table tennis.

[0095] Figure 2 It is a schematic diagram for determining the motion of the racket.

[0096] Figure 3 It is a schematic diagram for the process of the embodiment.

[0097] Figure 4 It is a real scene display diagram of the table tennis robot. DETAILED DESCRIPTION

[0098] The application will be further described below in conjunction with the accompanying drawings and examples.

[0099] A control method for a table tennis robot to hit a spinning ball, as shown in Figure 4 , the specific steps are as shown in Figure 3 :

[0100] S1, construct a table tennis aerodynamics formula.

[0101] In step S1, a world coordinate system is defined. The origin is at the center of the table tennis table. The y-axis is parallel to the table and perpendicular to the net, pointing away from the robot, while the z-axis is upward and perpendicular to the table. The direction of the x-axis is determined by the right-hand rule. The discrete ball aerodynamics can be expressed as:

[0102]

[0103] where T s is the sampling period, s(k) represents the state of the ball at the kth sampling instant, s(k) = [x(k), y(k), z(k), v x (k), v y (k), v z (k)] T , where [x(k), y(k), z(k)] represents the position of the flying ball, V(k) = [v x (k), v y (k), v z (k)] T represents the linear velocity of the flying ball; ω(k) = [ω x (k), ω y (k), ω z (k)] T represents the spin speed of the ball, which is constant in the entire time window (kT s , (k+1)T s ), where C d (k), C m respectively represent the drag coefficient and the Magnus force coefficient; A, r, m b , and g respectively represent the cross-sectional area of the ball, the radius of the ball, the mass of the ball, the air density and the acceleration of gravity. For brevity, (1) is rewritten as:

[0104] s(k+1) = h(s(k), k d (k), ω(k)). (2)

[0105] S2, estimate the spin parameter of the ping-pong ball in the aerodynamic formula of the ping-pong ball according to the flight trajectory of the ping-pong ball from the start to before reaching the first distance threshold.

[0106] In step S2, let denote the parameter to be estimated. It is worth noting that the product k m ω x ,k m ω y and k m ω z appear in (1) as k m ω, so in order to identify ω correctly, k m must be known in advance. Therefore, the following assumption is made.

[0107] Assumption 1: The parameter k m is a known constant derived from the properties of air.

[0108] In order to perform parameter estimation, the initial value u(0) needs to be calculated. When the ping-pong ball flies towards the robot, its center is captured by the vision system, and its position P(k) = [x(k), y(k), z(k)] T is stored in buffer B at a frequency of 1 / T s Hz, so B = [P(1), ···, P(k)]. In order to trigger initialization, a threshold Δ1 is set, so that when the ball passes through the vertical plane y = Δ1, B is used to initialize. Otherwise, repeat the ball position extraction process to put into buffer B. Once initialization starts, the positions of a series of balls in B are represented as n-order Chebyshev polynomial fitting

[0109] [P f (1), P f (2), ···, P f (k)] = f(P(1), P(2), ···, P(k)) (3)

[0110] Therefore, the velocity at each sampling instant can be estimated by the first derivative of (3):

[0111]

[0112] In (3) and (4), f(·) represents a function that maps the original position P(m) to the fitted position P f (m) (m ∈ {1, 2, ···, k}).

[0113] In theory, C d ∈ (0, 1]. Therefore, initialize by setting C d = 1 for Then, the position and velocity of the ball are calculated according to the first and second sampling periods At this point, it has been determined Then it is updated using an iterative optimization method.

[0114] S3, with the ping pong ball from the first distance threshold to the second distance threshold between the flight trajectory, the spin parameter is rolled to optimize.

[0115] In step S3, it is assumed that at t=kT s , the last column of B satisfies y(k)∈[Δ2,Δ1], then the rolling optimization is triggered, as shown in Figure 1 .

[0116] Three variables are defined: m e , i.e. the external estimation counter, m i , i.e. the internal optimization counter and N p , i.e. the prediction range, where i represents the calculation counter. m e represents the number of parameter estimates triggered by the event y(k)>Δ1. m e is initialized to 1, m i to m e is used to determine whether m i +N p <col(B) is true, where col(B) represents the column number of B. If true, it means that all data in B has been used to estimate u, and the parameter estimation of the current B can be terminated. Otherwise, the parameter is yet to be estimated as follows:

[0117] First, i is initialized to m i . Given that is known and the ball state prediction horizon at the i-th prediction step, that is, s p (i) =(x p (i),y p (i),z p (i),v xp (i),v yp (i),v zp (i) T is also x p (i) =x f (i),y p (i) =y f (i),z p (i) =z f (i),v xp (i) =v xf (i),v yp (i) =v yf (i),v zp (i) =v zf(i), and the predicted state of the ball at t = (m i +1)T s To T=(m i +N p )T s Can be derived:

[0118]

[0119] In order to obtain new estimated parameters, the cost function is defined as:

[0120]

[0121] Where:||·|| Q represents the norm - Q; P p (m i )=(x p (m i +j),y p (m i +j),z p (m i +j):j∈{1,…,N p}] and P f (m i )=(x f (m i +j),y f (m i +j),z f (m i +j): j∈{1,…,Np}] represents all predicted positions and actual positions within the prediction range. In (6), the cost function represents the difference between the predicted position and the actual position within the horizon. Formula (6) is solved using the Nelder Mead algorithm. Then, the prediction range is narrowed, that is, m i Increase by 1 and repeat the new update until m i +N p >col(B). Finally, Assign to At this point, the parameter estimation of the current B is completed. When B is sent to the host again, m e Increase by 1 to start estimation. As time goes by, when the ball passes through the plane y = Δ2, the parameter estimation ends.

[0122] Figure 1 In, m e =3 means that after the ball passes y = Δ1, B has been sent to do parameter estimation three times so far, that is, area a. In area b, m i =3 means P p (m i ) by P f (3) Derived. Np =3 means P p (m i ) There are 3*N p elements. Similarly, in region c, m i =7 means P p (m i ) by P f (7) Derived from this, N p =3 means P p (m i ) There are 3*N p After the ball passes through y = Δ1, B is updated each time the vision system detects the ball.

[0123] S4. Predicting the flight trajectory of the table tennis ball after the second distance threshold using a table tennis aerodynamic formula.

[0124] In step S4, after estimating the motion parameters, it is necessary to predict the future trajectory after plane y = Δ2 to determine the landing point and impact point. Since it is impossible to directly detect the position from plane y = Δ2 to plane z = r (for example, the landing plane with r as the radius of a sphere), assumption 2 is made: within the short distance from plane y = Δ2 to plane z = r, u remains unchanged (denoted as ).

[0125] Landing point prediction: Hypothesis k=0,x(k)=x f (i), y(k) = y f (i), z(k)=z f (i), v x (k)=v x (i), v y (k)=v y (i), v z (k)=v z (i) Using (1) and Assumption 2, we can directly predict the landing point and the current linear velocity and spin velocity (i.e., v it =[v itx ,v ity ,v itz ] and ω it =[ω itx ,ω ity ,ω itz ]).

[0126] Hitting point prediction: The linear velocity and spin speed of the ball rebounding from the table are given by

[0127] [v et ω et ] T =R RRM (α,β)[v itω it ] T

[0128] where v et and ω et are the linear and spin velocities of the ball respectively after bouncing off the table. α and β are the yaw and pitch angles of the racket.

[0129]

[0130] where R R , A vv , and A wv are given by

[0131]

[0132] where r is the radius of the ball, k v is the tangential restitution coefficient of the racket, e r is the normal restitution coefficient of the racket, k w is the spin conversion coefficient of the racket, and S c is given by

[0133]

[0134] To determine where the racket should meet the ball and hit it back to the desired position, the following assumptions are made:

[0135] Assumption 3: The impact point lies on the plane y = Δ3

[0136] Assumption 4: The u from the plane z = r to the plane y = Δ3 is a constant

[0137] Therefore, similar to the process of landing point prediction, the landing point prediction can also be obtained by iteratively calculating (1) until y(k) < Δ3. Based on the proposed method, the hitting point (P hit = [x hit , y hit , z hit ]) and the required ball velocity (v ip ) at the time of hitting can be uniquely determined.

[0138] S5, based on the flight trajectory of the table tennis ball after the second distance threshold and the desired landing point, calculate the racket swing trajectory of the table tennis robot.

[0139] In step S5, in order to hit the ball back to the desired landing point P dpn = [x dl , y dl , r] with the desired net height H dl , the racket needs to be swung at a specific speed v pad in a specific direction Npad Arrived at the hitting point. pad is the normal direction of the racket, such as Figure 2 As shown. To this end, derive v pad and N pad The racket motion determination of the solution is divided into the following two stages:

[0140] Stage 1: Given x dl ,y dl , H dpn and ω ep , that is, the ball rotation speed, the linear velocity of the ball hit by the racket is derived as v ep .

[0141] Stage 2: Given ω ep and v ep , derive v pad and N pad .

[0142] Phase 1 From (1), we can see that the aerodynamics of the ball is highly nonlinear and it is difficult to obtain an analytical solution. Therefore, the linear velocity of the ball is determined by analyzing the three cases of pure parabola, drag motion, and Magnus and drag motion.

[0143] For the first case, assuming that Magnus force and resistance are not considered, the ball moves along a parabola, such as Figure 2 As shown in Traj1 in . In the imaginary plane of the ball motion, a two-dimensional coordinate Oxz is defined. The z-axis points upward, while the x-axis points from the hitting point to the desired landing point. Therefore, given the hitting point P hit , P dl and H dpn , click P p1 Representing a point on the network can be expressed as:

[0144]

[0145] The equation of motion for the ball is:

[0146]

[0147] In formula (9), [P hlxy1 ,P hlz1 ] is expressed as Coordinate relative to Oxz. v epxy1 and v epz1 are the horizontal velocity and vertical velocity in the coordinate system Oxz. t1 and t2 are the time taken for the ball to pass the net and land, respectively. Therefore, by solving equation (13), we can get v epxy1 、v epz1 , t1, t2. Vertical speed and horizontal speed (i.e. Kθ ) are initialized as follows:

[0148] K θini = v epz1 / v epxy1 (14)

[0149] For the second case, assume that the ball flies with drag without considering the Magnus force, as shown by Traj2 in Figure 2 , then the linear velocity v ep2 = [v epx2 , v epy2 , v epz2 ] is:

[0150]

[0151] v epz2 = K θ v epxy2 (16)

[0152] where e dlhx = x dl - x hit , e dlhy = y dl - y hit , and τ represents the flight time of the ball, which is obtained by solving the following equation:

[0153] A1τ 4 + B1τ 2 + C1 = 0 (17)

[0154] In equation (17), A1, B1, C1 are three coefficients defined as

[0155]

[0156]

[0157] where 0.1175 and 0.47 are typical known coefficients for the aerodynamics of a flying table tennis ball.

[0158] For the third case, the spin of the ball is considered, which makes the trajectory of the ball deviate from the virtual plane established for the first and second cases, as shown by Traj3 in Figure 2 . The spin of the ball is given in advance by ω ep . According to P hit , v ep2 , ω ep , the predicted landing point [x pl , y pl , r] and the predicted net height H ppn are obtained by iterative calculation of (1). To make [xpl ,y pl ,H ppn ] and [x dl ,y dl ,H dpn ] have the smallest difference, and can be optimized as follows:

[0159]

[0160] in is to make the composite error e lh The smallest optimal K θ , defined as:

[0161]

[0162] In formula (22), w1 and w2 represent the weights of landing point error and network height error respectively. lx =x pl -x dl ,e ly =y pl -y dl ,e h =H dpn -H ppn They are the horizontal coordinate of landing error, the vertical coordinate of landing error and the error of passing the net height.

[0163] (21) is solved by the Nelder Mead algorithm in this study. When v is derived from equations (15) and (16), ep2 is the linear velocity of the ball to be generated, let v ep v ep2 .

[0164] The second stage: In this stage, when the linear velocity v of the ball is obtained ep and the spin velocity ω ep hour

[0165]

[0166] Derived from constraints

[0167] A wv (IA vv ) -1 A vw +A ww =I (24)

[0168] N pad There are the following expressions:

[0169]

[0170] in

[0171]

[0172] Solving the quadratic equation about the sine function obtains the value of α, and then the value of β, the racket linear velocity v pad The above can be further calculated according to formula (14). In summary, once the linear velocity and rotational velocity of the incoming ball are obtained, the action of the racket can be determined according to the desired landing position and the position of the ball when it passes the net.

[0173] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and not to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that the specific embodiments of the present application can be modified or replaced equivalently without departing from the spirit and scope of the present application, and any modification or equivalent replacement without departing from the spirit and scope of the present application should be covered within the protection scope of the claims of the present application.

Claims

1. A control method for a table tennis robot to hit a spinning ball, characterized by, The specific method is as follows: The table tennis aerodynamic formula is constructed, and the table tennis spin parameter and constant in the table tennis aerodynamic formula are included; The table tennis spin parameter in the table tennis aerodynamic formula is estimated according to the flight trajectory of the table tennis from the start of flight to before reaching the first distance threshold. The spin parameter is rolled and optimized according to the flight trajectory of the table tennis between the first distance threshold and the second distance threshold. The flight trajectory of the table tennis after the second distance threshold is predicted according to the table tennis aerodynamic formula. According to the flight trajectory of the table tennis after the second distance threshold and the expected landing point, the trajectory of the table tennis robot racket is calculated.

2. The control method for a table tennis robot to hit a spinning ball according to claim 1, wherein, The table tennis aerodynamic formula is constructed, and the specific method is as follows: A world coordinate system is defined, the origin is at the center of the table tennis table, the y-axis is parallel to the table, perpendicular to the net, pointing away from the table tennis robot, the direction of the x-axis is determined by the right-hand rule, and the z-axis is vertically upward and perpendicular to the table. The table tennis aerodynamic formula is as follows: where T s is the sampling period, s(k) represents the state of the ball at the kth sampling instant, s(k) = [x(k), y(k), z(k), v x (k), v y (k), v z (k)] T , where [x(k), y(k), z(k)] represents the position of the flying ball, V(k) = [v x (k), v y (k), v z (k)] T represents the linear velocity of the flying ball; ω(k) = [ω x (k), ω y (k), ω z (k)] T represents the spin velocity of the ball, which is constant in the whole time window (kT s , (k+1)T s ), k d (k) = -C d (k) ρA / (2m b ), k m = C m ρAr / (2m b ), where C d (k), C m represent the drag coefficient and the Magnus force coefficient, respectively; A, r, m b , ρ, and g represent the cross-sectional area of the ball, the radius of the ball, the mass of the ball, the air density, and the gravitational acceleration, respectively. Simplified as follows: s(k + 1) = h(s(k), k d (k), ω(k)).

3. The control method for a table tennis robot to hit a spinning ball according to claim 2, wherein, The table tennis spin parameter in the table tennis aerodynamic formula is estimated, and the specific method is as follows: When the ping pong ball flies towards the ping pong robot, the trajectory of the ping pong ball is captured by the vision system, recorded as P(k) = [x(k), y(k), z(k)], and stored into the buffer B, such that B = [P(1), ···, P(k)]. T , stored into the buffer B, such that B = [P(1), ···, P(k)]. A first distance threshold is set as Δ1, when the ball passes the vertical plane y=Δ1, the buffer B data is extracted, denoted as [P f (1), P f (2), …, P f (k)] = f(P(1), P(2), …, P(k)); The first derivative is calculated as the sampling instantaneous speed: where f (·) denotes a function that maps the original position P(m) to the fitted position Pf(m) (m e {1,2,..., k}), C d ∈ (0, 1], by setting C d = 1 for k d = -C d ρA / (2m b ) initializes k d (0), k d (0) are constants in the Ping-Pong aerodynamics formula; According to the position and speed of the ping-pong ball at the time of sampling, the spin parameter is calculated From this the ping pong aerodynamics formula spin parameters and constants before the start of flight until reaching the first distance threshold are calculated, i.e. the initialization of the formula state 4. The control method for a table tennis robot to hit a spinning ball according to claim 3, wherein, The spin parameter is rolled and optimized, and the specific method is as follows: Assume that at t = kT s the last column of B satisfies y(k) ∈ [Δ2, Δ1]; Three variables are defined, an external estimation counter m e , an internal optimization counter m i , and a prediction horizon N p , where i denotes the computation counter; m e denotes the number of parameter estimates after the event y(k) > Δ1 is triggered, m i to m e for determining m i +N p <col(B) is true, where col(B) denotes the column number of B; i is initialized to m i , The cost function is defined as where || · || Q denotes the norm; P p (m i ) = (x p (m i +j), y p (m i +j), z p (m i +j): j e {1,..., N p} and P f (m i ) = (x f (m i +j), y f (m i +j), z f (m i +j): j e {1,..., N p} denote all predicted and actual positions in the prediction horizon, respectively; The cost function represents the difference between the predicted position and the actual position within the horizon, and the Nelder Mead algorithm is used to solve it. The prediction range is reduced, i.e. m i Increase 1, repeat new update until m i +N p > col(B); assigning to performing parameter estimation for the current B; When B is sent to the host again, m e Increase 1, start estimation; when the ball passes the plane y = Δ2, the parameter estimation ends.

5. The control method for a table tennis robot to hit a spinning ball according to claim 4, wherein, The flight trajectory of the table tennis after the second distance threshold Δ2 is predicted according to the table tennis aerodynamic formula, including landing point prediction and hitting point prediction. In a short distance from the plane y = Δ2 to the plane z = r, u remains unchanged, denoted as r is the landing plane of the ball radius; Landing point prediction: Assume k = 0, x(k) = x f (i), y(k) = y f (i), z(k) = z f (i), v x (k) = v x (i), v y (k) = v y (i), v z (k) = v z (i), predict the landing point, current linear velocity, and spin velocity using the ping-pong aerodynamics formula, i.e., v it = [v itx , v ity , v itz ] and ω it = [ω itx , ω ity , ωitz] Ball impact point prediction: The linear and spin velocities of the table rebounding ping pong ball are denoted as [v et ω et ] T = R RRM (α,β)[v it ω it ] T where v et , ω et are the linear and spin velocities of the ball respectively, and α, β are the yaw and pitch angles of the racket. wherein R R ,A vv ,A wv The following expressions apply A vv = diag(1 - k v ,1 - k v ,-e r ) A ww = diag(1 - k w r 2 ,1 - k w r 2 ,1) A vw = k v rS c A wv = -k w rS c where r is the radius of the ball, k v is the tangential restitution coefficient of the racket, e r is the normal restitution coefficient of the racket, k w is the spin conversion coefficient of the racket, S c is expressed as Assume that the hitting point is located in the plane y=Δ3, and the u from the plane z=r to the plane y=Δ3 is a constant. Through iterative calculation until y(k)<Δ3, the landing point prediction is obtained.

6. The control method for a table tennis robot to hit a spinning ball according to claim 5, wherein, The trajectory of the racket of the table tennis robot is calculated, and the expected passing net height H is used dpn The table tennis is hit back to the expected landing point P dl =[x dl ,y dl ,r],The trajectory of the racket needs to be determined, including the swing speed v pad And the swing direction N pad ; The specific method is as follows: Given x dl ,y dl, H dpn and the spin speed of the ball ω ep , the ball's linear speed at impact v ep is derived. Given ω ep and v ep , derive v pad and N pad .

7. The control method for a table tennis robot to hit a spinning ball according to claim 6, wherein, Deriving the ball speed v at impact by the racket ep as follows: Without considering Magnus force and drag, the ball moves along a parabola to a given impact point P hit , P dl and H dpn , point P p1 represents a point on the net and can be expressed as The motion equation of the table tennis is [P hlxy1 ,P hlz1 ] represents Coordinates relative to OXZ; v epxy1 and v epz1 represent the horizontal and vertical velocities in the coordinate system Oxz, respectively, and t1and t2represent the time taken by the ball from the moment of hitting to the moment of passing through the net point and the moment of landing, respectively, and are solved as v epxy1 , v epz1 , t1, t2; The ratio of the vertical velocity to the horizontal velocity, i.e. K θ is initialized to K θini = v epz1 / v epxy1 .

8. The control method for a table tennis robot to hit a spinning ball according to claim 6, wherein, Deriving the ball speed v at impact by the racket ep as follows: Assuming that the ball flies with drag without considering the Magnus force, the linear velocity v ep2 = [v epx2 ,v epy2 ,v epz2 ] is given by v = v0- v0t (1) v epz2 = K θ v epxy2 where e dlhx = x dl - x hit , e dlhy = y dl - y hit where τ represents the time of flight of the ball, obtained by solving the following equation: A1τ 4 +B1τ 2 +C1=0 Where A1, B1, and C1 are three coefficients defined as Where 0.1175 and 0.47 are known coefficients of the flying table tennis aerodynamics.

9. The control method for a table tennis robot to hit a spinning ball according to claim 6, wherein, Deriving the ball speed v at impact by the racket ep as follows: Taking into account the spin of the ball, the spin of the ball at the moment of exit is given by ω ep P hit v ep2 ,ω ep ; The iterative calculation obtains the predicted landing point [x pl ,y pl ,r] and the predicted over-net height H ppn ; To minimize the difference between [x pl ,y pl ,H ppn ] and [x dl ,y dl ,H dpn ], the following optimization is performed: wherein is the composite error e lh optimal K θ defined as where w1, w2 represent the weight of landing point error and over-net height error respectively, e lx = x pl - x dl , e ly = y pl - y dl , e h = H dpn - H ppn are the landing error abscissa, landing error ordinate and over-net height error respectively.

10. The control method for a table tennis robot to hit a spinning ball according to claim 9, wherein, Derivation of v pad and N pad The specific method is as follows: When the linear velocity v of the ball at the point of exit is obtained ep and the spin velocity ω ep is obtained A wv (I-A vv ) -1 A vw +A ww =I N pad The following expression holds Where After solving the quadratic equation for the sine function to obtain the value of α, the value of β, the racquet line speed v pad is obtained by calculation.

Citation Information

Patent Citations

  • Automatic tracking and sorting robot for table tennis balls

    CN115253227A

  • Stroke exercise apparatus for table tennis and system for the same

    KR102261890B1