A method for generating hitting motions of table tennis robots

Through the combination of rolling optimization and aerodynamics, the air resistance coefficient and rotation angular velocity are estimated in real time, which solves the problems of trajectory prediction error and low return quality in the prior art, achieving higher batting accuracy and aggressiveness.

CN114547898BActive Publication Date: 2025-01-17SHANGHAI FUTURE MIND CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202210177581.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-25
Publication Date
2025-01-17
Estimated Expiration
2042-02-25

AI Technical Summary

Technical Problem

The existing ping-pong robot's batting method fails to effectively estimate the air resistance coefficient and rotation angular velocity in real time, resulting in low trajectory prediction error and ball return quality, and the rotation and net height of ball return are not considered, which affects the aggression and funness. .

Method used

Using rolling optimization ideas combined with aerodynamics and Newton's second law, we estimate the air resistance coefficient and rotation angular velocity in real time, predict the hitting point through constrained optimization methods, and formulate a hitting strategy based on the expected landing point and the cross-net height to improve the hitting point Accuracy and success rate.

Benefits of technology

By estimating the air resistance coefficient and rotation angular velocity online, accurately predicting the hit point, improving the trajectory prediction accuracy and ball return quality, and enhancing the practicality and aggressiveness of the table tennis robot.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114547898B_ABST
    Figure CN114547898B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for generating a batting action of a table tennis robot, the steps of which include: step 1, estimating the air resistance coefficient and rotational angular velocity of a table tennis ball during flight by a rolling optimization method and using them as flight parameters; step 2, predicting a batting point based on the flight parameters of the table tennis ball; step 3, obtaining the batting action of the table tennis robot by a constrained optimization method based on the batting point. The present invention can estimate the air resistance coefficient of the environment and the rotational angular velocity of the table tennis ball in real time, and use them to predict the batting point of the table tennis ball, thereby improving the accuracy and success rate of the robot's batting.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention discloses a method for generating a hitting action of a table tennis robot, belonging to the technical field of robots. Background Art

[0002] As my country's national sport, table tennis occupies a pivotal position in national sports. In addition to human-to-human competition, with the rise of computer, automatic control and other disciplines, human-to-robot competition has gradually become a reality, greatly enhancing the fun of table tennis. At the same time, human-to-robot competition overcomes the number of high-level athletes and can achieve competition between amateurs and masters at the level of mass sports. Therefore, research on table tennis robots is imminent.

[0003] Spin is the essence of table tennis, and the effective handling of spinning balls is the key to achieving human-machine confrontation. In order to accurately obtain the parameters of the spinning ball flying in the air, real-time estimation of the ball's rotation speed and air resistance coefficient is a crucial step. Only based on accurate flight parameters can the ball's flight trajectory be accurately predicted, thereby controlling the robot's end to hit the ball accurately. In addition, precise control of the racket's posture and speed is also the key to ensuring that the return ball can fly to the desired landing point. After giving the expected landing point and the expected height range over the net, the action generation method outputs the racket's posture and speed accordingly.

[0004] Although existing methods can achieve trajectory prediction and racket posture and speed calculation, they still have certain limitations, as shown below:

[0005] 1. The current method only involves the online estimation of the rotational angular velocity, and does not care about the estimation of the air resistance coefficient, which is only regarded as a constant. However, this coefficient changes with the temperature and humidity of the air, the linear velocity of the ball, the magnitude and direction of the angular velocity. Therefore, the current mainstream method cannot reduce the trajectory prediction error caused by the change of the air resistance coefficient, thus affecting the subsequent shot;

[0006] 2. The current method for calculating racket posture and speed does not take into account the rotation, net height, and landing point of the return ball, which greatly limits the aggressiveness of the return ball and the fun of human-computer competition.

[0007] The existing patent 201310272639.0 proposes a method for predicting the angular velocity of the table tennis ball's spin for a table tennis robot. The method can analyze the trajectory of the table tennis ball and calculate the angular velocity of the table tennis ball's spin in flight. However, the method does not estimate the air resistance coefficient in real time, but treats it as a constant, thereby not considering the interference of the air property changes, the linear velocity and angular velocity changes of the ball during flight on the ball trajectory.

[0008] The existing patent 201710640042.5 proposes a batting motion control method. This method can estimate the hitting point position of the table tennis ball according to the aerial trajectory of the table tennis ball, select the motion control model corresponding to the hitting point area, calculate the motion parameters in the robot's batting motion, and thus control the robot to perform the batting action. However, this method does not take into account the return ball landing point and the height over the net, nor does it take into account the rotation speed of the return ball, and cannot ensure the effectiveness and aggressiveness of the return ball. Summary of the invention

[0009] In order to solve the deficiencies of the above-mentioned prior art, the present invention proposes a method for generating a batting action for a table tennis robot, so as to be able to estimate the intermediate coefficient of air resistance of the environment and the angular velocity of rotation of the table tennis ball in real time, so as to predict the hitting point of the table tennis ball, and formulate a batting strategy according to the pre-set expected landing point and expected net height of the return ball, so as to improve the accuracy and success rate of the robot's batting.

[0010] In order to achieve the above-mentioned purpose, the present invention adopts the following technical scheme:

[0011] The present invention provides a method for generating a hitting action for a table tennis robot, the method comprising:

[0012] Step 1: Based on the idea of ​​rolling optimization, the air resistance coefficient and rotational angular velocity of the table tennis ball during flight are estimated and used as flight parameters;

[0013] Step 2: predicting the hitting point based on the flight parameters of the table tennis ball;

[0014] Step 3: Based on the hitting point, obtain the hitting action of the table tennis robot through a constrained optimization method.

[0015] The method for generating a hitting action according to the present invention is also characterized in that step 1 comprises:

[0016] Step 1.1, according to aerodynamics and Newton's second law, use formula (1) to obtain the flight trajectory model of the table tennis ball:

[0017]

[0018] In formula (1), V(k) = [v x (k),v y (k),v z (k)] is the linear velocity of the ping-pong ball at the kth sampling moment, v x (k),v y (k),v z (k) represent the components of the linear velocity V(k) on the x-axis, y-axis and z-axis respectively, v x (k+1),vy (k+1),v z (k+1) represents the components of the linear velocity V(k+1) of the table tennis ball on the x-axis, y-axis and z-axis at the k+1th sampling moment, x(k), y(k), z(k) represent the components of the position vector of the table tennis ball on the x-axis, y-axis and z-axis at the kth sampling moment, x(k+1), y(k+1), z(k+1) represent the components of the position vector of the table tennis ball on the x-axis, y-axis and z-axis at the k+1th sampling moment, ω x ,ω y ,ω z Respectively represent the components of the rotational angular velocity ω on the x-axis, y-axis, and z-axis; T s is the sampling interval; g represents the acceleration due to gravity, C d Indicates the air resistance coefficient, C m represents the Magnus force coefficient; k d Represents C d The intermediate coefficient of air resistance multiplied by the ball property parameters, k m Represents C m The intermediate coefficient of the Magnus force multiplied by the ball property parameters is:

[0019]

[0020]

[0021] In formula (2) and formula (3), m b represents the mass of the ping-pong ball, C d Indicates the air resistance coefficient, C m represents the Magnus force coefficient, ρ represents the air density, A represents the cross-sectional area of ​​the ping-pong ball, and r represents the radius of the ping-pong ball;

[0022] Step 1.2, sample the trajectory of the ping-pong ball:

[0023] a. According to the sampling interval T s , use the binocular camera to obtain the position vector P(k) of the ping-pong ball at the kth sampling moment during the flight, and P(k) = [x(k), y(k), z(k)];

[0024] b. Determine whether y(k)∈[Δ1,+∞] holds. If so, record P(k) in the buffer and assign k+1 to k, and return to step a. Otherwise, perform Chebyshev polynomial fitting on the position coordinates P(1), P(2), P(3)…P(k-1) at the first k-1 sampling moments in the buffer to obtain the fitted position coordinates P of the ping-pong ball at the current sampling moment. f (1),P f (2),P f (3)…Pf (k-1), where P f (1) = [x f (1),y f (1),z f (1)], P f (2) = [x f (2),y f (2),z f (2)], P f (k-1)=[x f (k-1),y f (k-1),z f (k-1)] represents the position vector of the ping-pong ball at the first, second, and k-1 sampling moments after fitting, x f (1),y f (1),z f (1) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the first sampling moment after fitting, x f (2),y f (2),z f (2) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the second sampling moment after fitting, x f (k-1),y f (k-1),z f (k-1) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the k-1th sampling moment of the fitting, and Δ1 represents the fitting start threshold in the y-axis direction;

[0025] Step 1.3, the flight parameter u of the table tennis ball = [k d ,ω x ,ω y ,ω z ] to perform an online estimate:

[0026] a. Initialize the estimation counter m=1 and the prediction step length N p ; Define variable i;

[0027] b. According to the physical properties of air, let C d ∈[0,1], let ω x ,ω y ,ω z ∈[ω min ,ω max ], where ω min ,ω max Respectively represent the preset lower and upper limits of the angular velocity component, and use equations (4) and (5) to solve the initial value of the flight parameter u

[0028]

[0029]

[0030] In formula (4) and formula (5), For one with V(m) related intermediate variables, Representation coefficient k d The m-1th estimated value, V(m) = [v x (m),v y (m),v z (m)] represents the linear velocity of the table tennis ball at the mth sampling moment; and let Represents ω x The m-1th estimated value of Represents ω y The m-1th estimated value of Represents ω z The m-1th estimated value of x f (m+2),x f (m+1),x f (m) represents the x-axis component of the position vector of the ping-pong ball at the m+2, m+1, and m sampling moments after fitting, respectively, and y f (m+2),y f (m+1),y f (m) represents the component of the position vector of the ping-pong ball on the y-axis at the m+2th, m+1th, and mth sampling moments after fitting, respectively, and z f (m+2),z f (m+1),z f (m) represents the component of the position vector of the ping-pong ball on the z-axis at the m+2th, m+1th, and mth sampling moments after fitting, respectively; v x (m), v x (m+1) represents the component of the ball's velocity vector on the x-axis at the mth and m+1th sampling moments; v y (m),v y (m+1) represents the component of the ball's velocity vector on the y-axis at the mth and m+1th sampling moments; v z (m),v z (m+1) represents the component of the velocity vector of the table tennis ball on the z-axis at the mth and m+1th sampling moments;

[0031] c. Determine m+N p Is it equal to the number of elements in the buffer? If so, execute step h; if not, assign m to i and let the state value of the table tennis ball at the i-th prediction moment be xp (i) = [x p (i),y p (i),z p (i),v xp (i),v yp (i),v zp (i)], where x p (i) y p (i) z p (i) represents the x-axis, y-axis, and z-axis components of the position vector of the ping-pong ball at the i-th prediction moment; v xp (i),v yp (i),v zp (i) represents the x-axis, y-axis, and z-axis components of the velocity vector of the table tennis ball at the i-th prediction moment; x f (i) Assign a value to x p (i) y f (i) Assign a value to y p (i) z f (i) Assign a value to z p (i), will Assign to v xp (i), will Assign to v yp (i), will Assign to v zp (i);

[0032] d. Determine whether i is less than or equal to m+N p If it is established, use formula (6) to get the state value of the table tennis ball at the i+1th prediction time. If it is not established, go to step f;

[0033]

[0034] In formula (6), x p (i+1), y p (i+1), z p (i+1) represents the components of the position vector of the table tennis ball on the x-axis, y-axis, and z-axis at the i+1th prediction moment; v xp (i+1),v yp (i+1),v zp (i+1) represents the components of the velocity vector of the table tennis ball on the x-axis, y-axis, and z-axis at the i+1th prediction moment; V p (i)=[v xp (i),v yp (i),v zp (i)] represents the linear velocity vector of the table tennis ball at the i-th prediction moment;

[0035] e. After assigning i+1 to i, return to step d;

[0036] f. Use the Nelder Mead Simplex algorithm to solve the optimization problem shown in equation (7) and obtain the estimated result of the mth flight parameter u

[0037]

[0038] In formula (7), It means that the weighted matrix is ​​a quadratic form of Q; Representation coefficient k d The mth estimated value of Represents ω x The mth estimated value of Represents ω y The mth estimated value of Represents ω z The mth estimated value of p (m) = [x p (m+1)y p (m+1)z p (m+1),x p (m+2),y p (m+2),z p (m+2)…x p (m+N p ),y p (m+N p ),z p (m+N p )] indicates N in step d p The ball position vector at the predicted time, x p (m+2),y p (m+2),z p (m+2) represents the position vector of the table tennis ball at the m+2th prediction time on the x-axis, y-axis, and z-axis. p (m+N p ),y p (m+N p ),z p (m+N p ) indicates that the table tennis ball is at the m+Nth p The components of the position vector at the prediction time on the x-axis, y-axis, and z-axis, P f (m) = [x f (m+1),y f (m+1),z f (m+1),x f (m+2),y f (m+2),z f(m+2)…x f (m+N p ),y f (m+N p ),z f (m+N p )] represents the m+1 to m+N p The position vector of the ping-pong ball after fitting at the prediction moment, x f (m+1),y f (m+1),z f (m+1) represents the components of the position vector of the table tennis ball on the x-axis, y-axis, and z-axis at the m+1th prediction moment after fitting. f (m+2),y f (m+2),z f (m+2) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the m+2th prediction moment after fitting. f (m+N p ),y f (m+N p ),z f (m+N p ) represents the m+Nth p The components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the predicted moment;

[0039] g. After assigning m+1 to m, return to step c;

[0040] h. Get the final estimation result And as the flight parameters of the table tennis ball in, is the coefficient k d The final estimate of ω x ,ω y ,ω z The final estimate of .

[0041] The step 2 comprises:

[0042] Step 2.1: Predict where the ball will land:

[0043] Step 2.1.1, determine z p (i)>r is true, if true, then use formula (8) to calculate z at the i+1th prediction time p (i+1), otherwise, record the position vector [x p (i),y p (i),z p (i)] is the ball landing point, and the linear velocity vector of the ball at the i-th prediction moment [v xp (i),vyp (i),v zp (i)] is the incident ray velocity v of the ball when it collides with the tabletop it ,Will As the incident angular velocity ω when the ping-pong ball collides with the table it , and execute step 2.2;

[0044]

[0045] Step 2.1.2, after assigning i+1 to i, return to step 2.1.1;

[0046] Step 2.2: Based on the table tennis ball and table rebound model, use equation (9) to solve the flight state of the ball after rebounding;

[0047]

[0048] In formula (9), v et and ω et is the ray velocity and angular velocity vector after the ball collides with the table, e t is the coefficient of restitution of the desktop, μ is the coefficient of friction of the desktop, λ represents the friction determination coefficient, and:

[0049]

[0050] In formula (10), v itx ,v ity ,v itz is the incident ray velocity v of the ping-pong ball when it collides with the tabletop it Components on the x-axis, y-axis, and z-axis;

[0051] Step 2.3: Predict the hitting point;

[0052] Step 2.3.1. Set v etx Assign to v xp (i), v ety Assign to v yp (i), v etz Assign to v zp (i), etx Assign to ω ety Assign to ω etz , assigned to Among them, v etx ,v ety ,v etz Indicates v et The components on the x-axis, y-axis, and z-axis, ω etx ,ω ety ,ω etz Represents ωet Components on the x-axis, y-axis, and z-axis;

[0053] Step 2.3.2, determine y p (i)>Δ2, if true, then use formula (11) to calculate y at the i+1th prediction time p (i); otherwise, record the position vector [x p (i),y p (i),z p (i)] is the hitting point P h , that is, P h =[x hit ,y hit ,z hit ]=[x p (i),y p (i),z p (i)], where x hit ,y hit ,z hit Respectively represent the components of the position vector of the incoming ball on the x-axis, y-axis, and z-axis when hitting the ball, and record the linear velocity vector of the ball at the i-th prediction moment [v xp (i),v yp (i),v zp (i)] is the incident ray velocity v of the ball when it collides with the racket ir , will ω et As the incident angular velocity ω when the ping-pong ball collides with the racket ir , and execute step 3, wherein Δ2 represents the distance between the hitting plane and the xoz plane of the coordinate system;

[0054]

[0055] Step 2.3.3: Assign i+1 to i and return to step 2.3.2.

[0056] The step 3 comprises:

[0057] Step 3.1: Determine the expected landing point of the ball after hitting [x dl ,y dl ] and the net height interval [z pl ,z pu ]; where x dl ,y dl The x, y coordinates, z coordinates of the expected landing point of the return ball pl ,z pu Indicates the lower and upper limits of the network height;

[0058] Step 3.2: Set parameter K θ It represents the ratio of the vertical component to the horizontal component of the ball's outgoing ray velocity and is randomly initialized;

[0059] Step 3.3: According to the parameter K θ , solve the minimum positive solution τ of the equations shown in equations (12)-(15) min :

[0060] A1τ 4 +B1τ 2 +C1=0 (12)

[0061]

[0062]

[0063]

[0064] In equations (12) to (15), A1, B1, and C1 represent the fourth-order, second-order, and zero-order coefficients of equation (12), respectively; τ represents the time it takes for the ping-pong ball to fall onto the table; g s Represents the approximate air resistance coefficient of a ping-pong ball flying in the air;

[0065] Step 3.4: Use equations (16) to (18) to solve the linear velocity of the returning ball [v erx ,v ery ]:

[0066]

[0067]

[0068] v erz =K θ v erxy (18)

[0069] In formula (16) to formula (18), v erx ,v ery v represents the components of the linear velocity vector of the ball on the x-axis and y-axis after hitting the ball; erxy represents the magnitude of the projection of the linear velocity vector of the ball on the xoy plane, v erz represents the component of the linear velocity vector of the return ball on the z-axis, let the linear velocity vector of the return ball be v er =[v erx ,v ery ,v erz ];

[0070] Step 3.5: Use equation (19) to get the minimum angular velocity ω of the shot ball er :

[0071]

[0072] st(ωer -ω ir ) T (v er -v ir )=0

[0073] Step 3.6: According to P h ,v er ,ω er , use formula (8) to find the landing point P of the return ball pl =[x pl ,y pl ,z pl ] and the height of the ball when it passes the net z pp ; where x pl ,y pl ,z pl K θ The components of the predicted return ball landing point position vector on the x-axis, y-axis, and z-axis when the position is known;

[0074] Step 3.7: Use equation (20) to calculate the error e between the actual landing point and the expected landing point of the returned ball l :

[0075]

[0076] Step 3.8: Use equation (21) to establish the optimization objective function and solve it to obtain the ball return linear velocity v er opti With angular velocity ω er opti :

[0077]

[0078] stz pp ∈[z pl ,z pu ]

[0079] In formula (21), K θ opti Represents the optimized parameter K θ ;

[0080] Step 3.9: Given v er opti ,ω er opti , v ir ,ω ir , use formula (22) to solve the racket posture angle α:

[0081] A2 sin 2 α+B2 sinα+C2=0 (22)

[0082] In formula (22), A2, B2, C2 are the quadratic, linear, and zero-order coefficients of equation (22), respectively, and are obtained by formula (23);

[0083] A2=||ξ||, B2=2η3ξ1-2η1ξ3, C2=η1 2 +η3 2 -ξ2 2 (twenty three)

[0084] In formula (23), ξ represents an intermediate variable related to the linear velocity difference between the outgoing ball and the incident ball, and from formula (24), ξ1, ξ2, ξ3 are the three components of ξ, η1, η2, η3 are the three components of η, and It represents the angular velocity difference between the outgoing ball and the incoming ball;

[0085]

[0086] Step 3.10: Use equation (25) to solve the racket attitude angle β:

[0087]

[0088] Step 3.11: Use equation (26) to solve for the speed v of the ball hitting the racket ph :

[0089]

[0090] In formula (26), A vv represents the incident ball linear velocity-outgoing ball linear velocity transfer matrix, and is obtained from equation (27), A vw represents the incident ball angular velocity-outgoing ball linear velocity transfer matrix, and is obtained by equation (28), R represents the rotation matrix of the racket coordinate system, and is obtained by equation (29);

[0091]

[0092]

[0093]

[0094] In formula (27), e r represents the coefficient of restitution of the table tennis racket; k p represents the momentum coefficient of the table tennis racket.

[0095] Compared with the prior art, the present invention has the following beneficial effects:

[0096] 1. The present invention combines the online estimation of the air drag coefficient, the rolling optimization concept and the ball return strategy considering rotation to solve two problems in the prior art: first, the air drag coefficient is regarded as a constant, and the influence of the change of the air drag coefficient on the ball trajectory prediction is not considered; second, the landing point and the height over the net of the returned ball are not restricted, thereby improving the trajectory prediction accuracy and the ball return quality, and enhancing the practicality of the table tennis robot.

[0097] 2. In step 1 of the present invention, the intermediate coefficient k related to air resistance is replaced by d As an estimated parameter, it can solve the problem that the prior art does not consider the influence of the change of the air resistance coefficient on the ball trajectory prediction and the ball return accuracy, thereby improving the rotation speed estimation accuracy and the ball return quality.

[0098] 3. In step 3 of the present invention, equation (19) solves the minimum rotational angular velocity of the ball after being hit. Compared with the prior art, it takes into account the inherent rotational angular velocity caused by the collision between the ball and the racket, and can reduce the error between the actual value and the expected value of the two quantities of the landing point and the height over the net.

[0099] 4. In step 3 of the present invention, equations (20) and (21) take the expected landing point and the expected height over the net into consideration, which can solve the problem that the existing batting strategy does not restrict the ball landing point and the height over the net, thereby achieving precise control of the ball return trajectory and improving the practicality of the table tennis robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0100] Figure 1 is a schematic diagram describing the relative positions of a world coordinate system, a robot, and a table provided by an embodiment of the present invention;

[0101] Figure 2 is a flow chart of data storage and real-time parameter estimation during ball flight provided by an embodiment of the present invention;

[0102] Figure 3 is a flow chart of parameter estimation provided by an embodiment of the present invention;

[0103] Figure 4 It is a flowchart of racket posture solution provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0104] In this embodiment, a method for generating a batting action for a table tennis robot includes:

[0105] Step 1: Based on the idea of ​​rolling optimization, the air resistance coefficient and rotational angular velocity of the table tennis ball during flight are estimated and used as flight parameters;

[0106] like Figure 1The world coordinate system O-xyz is established as shown, where the y-axis is perpendicular to the width of the desktop, parallel to the desktop and pointing away from the robot, the z-axis is vertically upward, and the x-axis direction is determined by the right-hand rule.

[0107] Aerodynamics and Newton's second law are used to model the flight trajectory of a ping-pong ball. The ping-pong ball is mainly affected by three forces during its flight: gravity F g , air resistance F d Magnus Force F m The specific expression is as follows:

[0108] F g =m[0 0 g] T (1)

[0109]

[0110]

[0111] So the ball's flight speed can be expressed as:

[0112]

[0113] Discretize the above formula to get:

[0114]

[0115] In formula (5), V(k)=[v x (k),v y (k),v z (k)] is the linear velocity of the ping-pong ball at the kth sampling moment, v x (k),v y (k),v z (k) represent the components of the linear velocity V(k) on the x-axis, y-axis and z-axis respectively, v x (k+1),v y (k+1),v z (k+1) represents the components of the linear velocity V(k+1) of the table tennis ball on the x-axis, y-axis and z-axis at the k+1th sampling moment, x(k), y(k), z(k) represent the components of the position vector of the table tennis ball on the x-axis, y-axis and z-axis at the kth sampling moment, x(k+1), y(k+1), z(k+1) represent the components of the position vector of the table tennis ball on the x-axis, y-axis and z-axis at the k+1th sampling moment, ω x ,ω y ,ω z Respectively represent the components of the rotational angular velocity ω on the x-axis, y-axis, and z-axis; T s is the sampling interval; g represents the acceleration due to gravity, C dIndicates the air resistance coefficient, C m represents the Magnus force coefficient; k d Represents C d The intermediate coefficient of air resistance multiplied by the ball property parameters, k m Represents C m The intermediate coefficient of the Magnus force multiplied by the ball property parameters is:

[0116]

[0117]

[0118] In formula (6) and formula (7), m b represents the mass of the ping-pong ball, C d Indicates the air resistance coefficient, C m represents the Magnus force coefficient, ρ represents the air density, A represents the cross-sectional area of ​​the ping-pong ball, and r represents the radius of the ping-pong ball;

[0119] Step 1.2, sample the trajectory of the table tennis ball. The flow chart is as follows: Figure 2 As shown:

[0120] a. According to the sampling interval T s , use the binocular camera to obtain the position vector P(k) of the ping-pong ball at the kth sampling moment during the flight, and P(k) = [x(k), y(k), z(k)];

[0121] b. Determine whether y(k)∈[Δ1,+∞] holds. If so, record P(k) in the buffer and assign k+1 to k, and return to step a. Otherwise, perform Chebyshev polynomial fitting on the position coordinates P(1), P(2), P(3)…P(k-1) at the first k-1 sampling moments in the buffer to obtain the fitted position coordinates P of the ping-pong ball at the current sampling moment. f (1),P f (2),P f (3)…P f (k-1), where P f (1) = [x f (1),y f (1),z f (1)], P f (2) = [x f (2),y f (2),z f (2)], P f (k-1)=[x f (k-1),y f (k-1),z f(k-1)] represents the position vector of the ping-pong ball at the first, second, and k-1 sampling moments after fitting, x f (1),y f (1),z f (1) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the first sampling moment after fitting, x f (2),y f (2),z f (2) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the second sampling moment after fitting, x f (k-1),y f (k-1),z f (k-1) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the k-1th sampling moment of the fitting, and Δ1 represents the fitting start threshold in the y-axis direction;

[0122] Step 1.3, the flight parameter u of the table tennis ball = [k d ,ω x ,ω y ,ω z ] to perform online estimation, the flow chart is as follows Figure 3 As shown:

[0123] a. Initialize the estimation counter m=1 and the prediction step length N p ; Define variable i;

[0124] b. According to the physical properties of air, let C d ∈[0,1], let ω x ,ω y ,ω z ∈[ω min ,ω max ], where ω min ,ω max Respectively represent the preset lower and upper limits of the angular velocity component, and use equations (8) and (9) to solve the initial value of the flight parameter u

[0125]

[0126]

[0127] In formula (8) and formula (9), For one with V(m) related intermediate variables, Representation coefficient k d The m-1th estimated value, V(m) = [v x (m),v y (m),v z(m)] represents the linear velocity of the table tennis ball at the mth sampling moment, and let Represents ω x The m-1th estimated value of Represents ω y The m-1th estimated value of Represents ω z The m-1th estimated value of x f (m+2),x f (m+1),x f (m) represents the x-axis component of the position vector of the ping-pong ball at the m+2, m+1, and m sampling moments after fitting, respectively, and y f (m+2),y f (m+1),y f (m) represents the component of the position vector of the ping-pong ball on the y-axis at the m+2th, m+1th, and mth sampling moments after fitting, respectively, and z f (m+2),z f (m+1),z f (m) represents the component of the position vector of the ping-pong ball on the z-axis at the m+2th, m+1th, and mth sampling moments after fitting, respectively; v x (m), v x (m+1) represents the component of the ball's velocity vector on the x-axis at the mth and m+1th sampling moments; v y (m),v y (m+1) represents the component of the ball's velocity vector on the y-axis at the mth and m+1th sampling moments; v z (m),v z (m+1) represents the component of the velocity vector of the table tennis ball on the z-axis at the mth and m+1th sampling moments;

[0128] c. Determine m+N p Is it equal to the number of elements in the buffer? If so, execute step h; if not, assign m to i and let the state value of the table tennis ball at the i-th prediction moment be x p (i) = [x p (i),y p (i),z p (i),v xp (i),v yp (i),v zp (i)], where x p (i) y p (i) z p (i) represents the x-axis, y-axis, and z-axis components of the position vector of the ping-pong ball at the i-th prediction moment; v xp(i),v yp (i),v zp (i) represents the x-axis, y-axis, and z-axis components of the velocity vector of the table tennis ball at the i-th prediction moment; x f (i) Assign a value to x p (i) y f (i) Assign a value to y p (i) z f (i) Assign a value to z p (i), will Assign to v xp (i), will Assign to v yp (i), will Assign to v zp (i);

[0129] d. Determine whether i is less than or equal to m+N p If it is established, use formula (10) to get the state value of the table tennis ball at the i+1th prediction time. If it is not established, go to step f;

[0130]

[0131] In formula (10), x p (i+1), y p (i+1), z p (i+1) represents the components of the position vector of the table tennis ball on the x-axis, y-axis, and z-axis at the i+1th prediction moment; v xp (i+1),v yp (i+1),v zp (i+1) represents the components of the velocity vector of the table tennis ball on the x-axis, y-axis, and z-axis at the i+1th prediction moment; V p (i)=[v xp (i),v yp (i),v zp (i)] represents the linear velocity vector of the table tennis ball at the i-th prediction moment;

[0132] e. After assigning i+1 to i, return to step d;

[0133] f. Use the Nelder Mead Simplex algorithm to solve the optimization problem shown in equation (11) and obtain the estimated result of the mth flight parameter u

[0134]

[0135] In formula (11), It means that the weighted matrix is ​​a quadratic form of Q, that is, Representation coefficient kd The mth estimated value of Represents ω x The mth estimated value of Represents ω y The mth estimated value of Represents ω z The mth estimated value of ;

[0136] P p (m) = [x p (m+1),y p (m+1),z p (m+1),x p (m+2),y p (m+2),z p (m+2)…x p (m+N p ),y p (m+N p ),z p (m+N p )] indicates N in step d p The ball position vector at the predicted time, x p (m+2),y p (m+2),z p (m+2) represents the position vector of the table tennis ball at the m+2th prediction time on the x-axis, y-axis, and z-axis. p (m+N p ),y p (m+N p ),z p (m+N p ) indicates that the table tennis ball is at the m+Nth p The components of the position vector at the prediction time on the x-axis, y-axis, and z-axis, P f (m) = [x f (m+1),y f (m+1),z f (m+1),x f (m+2),y f (m+2),z f (m+2)…x f (m+N p ),y f (m+N p ),z f (m+N p )] represents the m+1 to m+N p The position vector of the ping-pong ball after fitting at the prediction moment, x f (m+1),y f (m+1),z f(m+1) represents the components of the position vector of the table tennis ball on the x-axis, y-axis, and z-axis at the m+1th prediction moment after fitting. f (m+2),y f (m+2),z f (m+2) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the m+2th prediction moment after fitting. f (m+N p ),y f (m+N p ),z f (m+N p ) represents the m+Nth p The components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the predicted moment;

[0137] g. After assigning m+1 to m, return to step c;

[0138] h. Get the final estimation result And as the flight parameters of the table tennis ball in, is the coefficient k d The final estimate of ω x ,ω y ,ω z The final estimate of .

[0139] Step 2: predicting the hitting point based on the flight parameters of the table tennis ball;

[0140] Step 2.1: Predict where the ball will land:

[0141] Step 2.1.1, determine z p (i)>r is true, if true, then use formula (12) to calculate z at the i+1th prediction time p (i+1), otherwise, record the position vector [x p (i),y p (i),z p (i)] is the ball landing point, and the linear velocity vector of the ball at the i-th prediction moment [v xp (i),v yp (i),v zp (i)] is the incident ray velocity v of the ball when it collides with the tabletop it ,Will As the incident angular velocity ω when the ping-pong ball collides with the table it , and execute step 2.2;

[0142]

[0143] Step 2.1.2, after assigning i+1 to i, return to step 2.1.1;

[0144] Step 2.2: Based on the table tennis ball and table rebound model, use equation (13) to solve the flight state of the ball after rebounding;

[0145]

[0146] In formula (13), v et and ω et is the ray velocity and angular velocity vector after the ball collides with the table, e t is the coefficient of restitution of the desktop, μ is the coefficient of friction of the desktop, λ represents the friction determination coefficient, and:

[0147]

[0148] In formula (14), v itx ,v ity ,v itz is the incident ray velocity v of the ping-pong ball when it collides with the tabletop it Components on the x-axis, y-axis, and z-axis;

[0149] Step 2.3: Predict the hitting point;

[0150] Step 2.3.1. Set v etx Assign to v xp (i), v ety Assign to v yp (i), v etz Assign to v zp (i), etx Assign to ω ety Assign to ω etz , assigned to Among them, v etx ,v ety ,v etz Indicates v et The components on the x-axis, y-axis, and z-axis, ω etx ,ω ety ,ω etz Represents ω et Components on the x-axis, y-axis, and z-axis;

[0151] Step 2.3.2, determine y p (i)>Δ2. If yes, use formula (15) to calculate y at the i+1th prediction time. p (i); otherwise, record the position vector [x p (i),y p(i),z p (i)] is the hitting point P h , that is, P h =[x hit ,y hit ,z hit ]=[x p (i),y p (i),z p (i)], where x hit ,y hit ,z hit Respectively represent the components of the position vector of the incoming ball on the x-axis, y-axis, and z-axis when hitting the ball, and record the linear velocity vector of the ball at the i-th prediction moment [v xp (i),v yp (i),v zp (i)] is the incident ray velocity v of the ball when it collides with the racket ir , will ω et As the incident angular velocity ω when the ping-pong ball collides with the racket ir , and execute step 3, wherein Δ2 represents the distance between the hitting plane and the xoz plane of the coordinate system;

[0152]

[0153] Step 2.3.3: Assign i+1 to i and return to step 2.3.2.

[0154] Step 3: Based on the hitting point, the hitting action of the table tennis robot is obtained through a constrained optimization method. The flow chart is as follows: Figure 4 shown.

[0155] Step 3.1: Determine the expected landing point of the ball after hitting [x dl ,y dl ] and the net height interval [z pl ,z pu ]; where x dl ,y dl The x, y coordinates, z coordinates of the expected landing point of the return ball pl ,z pu Indicates the lower and upper limits of the network height;

[0156] Step 3.2: Set parameter K θ It represents the ratio of the vertical component to the horizontal component of the ball's outgoing ray velocity and is randomly initialized;

[0157] Step 3.3: According to the parameter K θ , solve the minimum positive solution τ of the equations shown in equations (16) to (19) min :

[0158] A1τ 4+B1τ 2 +C1=0 (16)

[0159]

[0160]

[0161]

[0162] In equations (16) to (19), A1, B1, and C1 represent the fourth-order, second-order, and zero-order coefficients of the equations, respectively; τ represents the time it takes for the ping-pong ball to fall onto the table; g s Represents the approximate air resistance coefficient of a ping-pong ball flying in the air;

[0163] Step 3.4: Use equations (20)-(22) to solve the linear velocity of the returning ball [v erx ,v ery ]:

[0164]

[0165]

[0166] v erz =K θ v erxy (twenty two)

[0167] In formula (20)-(22), v erx ,v ery v represents the components of the linear velocity vector of the ball on the x-axis and y-axis after hitting the ball; erxy represents the magnitude of the projection of the linear velocity vector of the ball on the xoy plane, v erz represents the component of the linear velocity vector of the return ball on the z-axis, let the linear velocity vector of the return ball be v er =[v erx ,v ery ,v erz ];

[0168] Step 3.5: Use equation (23) to get the minimum angular velocity ω of the shot ball er :

[0169]

[0170] st(ω er -ω ir ) T (v er -v ir )=0

[0171] Step 3.6: According to P h ,ver ,ω er , use formula (12) to find the landing point P of the return ball pl =[x pl ,y pl ,z pl ] and the height of the ball when it passes the net z pp ; where x pl ,y pl ,z pl K θ The components of the predicted return ball landing point position vector on the x-axis, y-axis, and z-axis when the position is known;

[0172] Step 3.7: Use equation (24) to calculate the error e between the actual landing point and the expected landing point of the returned ball l :

[0173]

[0174] Step 3.8: Use equation (25) to establish the optimization objective function and solve it to obtain the ball return linear velocity v er opti With angular velocity ω er opti :

[0175]

[0176] stz pp ∈[z pl ,z pu ]

[0177] In formula (25), K θ opti Represents the optimized parameter K θ ;

[0178] Step 3.9: Given v er opti ,ω er opti , v ir ,ω ir , use formula (26) to solve the racket posture angle α:

[0179] A2 sin 2 α+B2 sinα+C2=0 (26)

[0180] In formula (26), A2, B2, C2 are the quadratic, linear, and zero-order coefficients of the equation, respectively, and are obtained by formula (27);

[0181] A1=||ξ||, B2=2η3ξ1-2η1ξ3, C2=η1 2 +η3 2 -ξ22 (27)

[0182] In formula (27), ξ represents an intermediate variable related to the linear velocity difference between the outgoing ball and the incident ball, and from formula (28), ξ1, ξ2, ξ3 are the three components of ξ, η1, η2, η3 are the three components of η, and

[0183]

[0184] Step 3.10: Use equation (29) to solve the racket attitude angle β:

[0185]

[0186] Step 3.11: Use equation (30) to solve for the speed v of the racket hitting the ball ph :

[0187]

[0188] In formula (30), A vv represents the incident ball linear velocity-outgoing ball linear velocity transfer matrix, and is obtained from equation (31), A vw represents the incident ball angular velocity-outgoing ball linear velocity transfer matrix, and is obtained by equation (32), R represents the rotation matrix of the racket coordinate system, and is obtained by equation (33);

[0189]

[0190]

[0191]

[0192] In formula (31), e r represents the coefficient of restitution of the table tennis racket; k p represents the momentum coefficient of the table tennis racket.

Claims

1. A method for generating a batting action for a table tennis robot, characterized in that: The method comprises: Step 1: Based on the idea of ​​rolling optimization, the air resistance coefficient and rotational angular velocity of the table tennis ball during flight are estimated and used as flight parameters; Step 1.1, according to aerodynamics and Newton's second law, use formula (1) to obtain the flight trajectory model of the table tennis ball: In formula (1), V(k) = [v x (k),v y (k),v z (k)] is the linear velocity of the ping-pong ball at the kth sampling moment, v x (k),v y (k),v z (k) represent the components of the linear velocity V(k) on the x-axis, y-axis and z-axis respectively, v x (k+1),v y (k+1),v z (k+1) represents the components of the linear velocity V(k+1) of the table tennis ball on the x-axis, y-axis and z-axis at the k+1th sampling moment, x(k), y(k), z(k) represent the components of the position vector of the table tennis ball on the x-axis, y-axis and z-axis at the kth sampling moment, x(k+1), y(k+1), z(k+1) represent the components of the position vector of the table tennis ball on the x-axis, y-axis and z-axis at the k+1th sampling moment, ω x ,ω y ,ω z Respectively represent the components of the rotational angular velocity ω on the x-axis, y-axis, and z-axis; T s is the sampling interval; g represents the acceleration due to gravity, C d Indicates the air resistance coefficient, C m represents the Magnus force coefficient; k d Represents C d The intermediate coefficient of air resistance multiplied by the ball property parameters, k m Represents C m The intermediate coefficient of the Magnus force multiplied by the ball property parameters is: In formula (2) and formula (3), m b represents the mass of the ping-pong ball, C d Indicates the air resistance coefficient, C m represents the Magnus force coefficient, ρ represents the air density, A represents the cross-sectional area of ​​the ping-pong ball, and r represents the radius of the ping-pong ball; Step 1.2, sample the trajectory of the ping-pong ball: a. According to the sampling interval T s , use the binocular camera to obtain the position vector P(k) of the ping-pong ball at the kth sampling moment during the flight, and P(k) = [x(k), y(k), z(k)]; b. Determine whether y(k)∈[Δ1,+∞] holds. If so, record P(k) in the buffer and assign k+1 to k, and return to step a. Otherwise, perform Chebyshev polynomial fitting on the position coordinates P(1), P(2), P(3)…P(k-1) at the first k-1 sampling moments in the buffer to obtain the fitted position coordinates P of the ping-pong ball at the current sampling moment. f (1),P f (2),P f (3)…P f (k-1), where P f (1) = [x f (1),y f (1),z f (1)],P f (2) = [x f (2),y f (2),z f (2)], P f (k-1)=[x f (k-1),y f (k-1),z f (k-1)] represents the position vector of the ping-pong ball at the first, second, and k-1 sampling moments after fitting, x f (1),y f (1),z f (1) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the first sampling moment after fitting, x f (2),y f (2),z f (2) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the second sampling moment after fitting, x f (k-1),y f (k-1),z f (k-1) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the k-1th sampling moment of the fitting, and Δ1 represents the fitting start threshold in the y-axis direction; Step 1.3, the flight parameter u of the table tennis ball = [k d ,ω x ,ω y ,ω z ] to perform an online estimate: a. Initialize the estimation counter m=1 and the prediction step size N p ;Define variable i; b. According to the physical properties of air, let C d ∈[0,1], let ω x ,ω y ,ω z ∈[ω min ,ω max ], where ω min ,ω max Respectively represent the preset lower and upper limits of the angular velocity component, and use equations (4) and (5) to solve the initial value of the flight parameter u In formula (4) and formula (5), For one with V(m) related intermediate variables, Representation coefficient k d The m-1th estimated value, V(m) = [v x (m),v y (m),v z (m)] represents the linear velocity of the table tennis ball at the mth sampling moment; and let Represents ω x The m-1th estimated value of Represents ω y The m-1th estimated value of Represents ω z The m-1th estimated value of x f (m+2),x f (m+1),x f (m) represents the x-axis component of the position vector of the ping-pong ball at the m+2, m+1, and m sampling moments after fitting, respectively, and y f (m+2),y f (m+1),y f (m) represents the component of the position vector of the ping-pong ball on the y-axis at the m+2th, m+1th, and mth sampling moments after fitting, respectively, and z f (m+2),z f (m+1),z f (m) represents the component of the position vector of the ping-pong ball on the z-axis at the m+2th, m+1th, and mth sampling moments after fitting, respectively; v x (m), v x (m+1) represents the component of the ball's velocity vector on the x-axis at the mth and m+1th sampling moments; v y (m),v y (m+1) represents the component of the ball's velocity vector on the y-axis at the mth and m+1th sampling moments; v z (m),v z (m+1) represents the component of the velocity vector of the table tennis ball on the z-axis at the mth and m+1th sampling moments; c. Determine m+N p Is it equal to the number of elements in the buffer? If so, execute step h; if not, assign m to i and let the state value of the table tennis ball at the i-th prediction moment be x p (i) = [x p (i),y p (i),z p (i),v xp (i),v yp (i),v zp (i)], where x p (i) y p (i) z p (i) represents the x-axis, y-axis, and z-axis components of the position vector of the ping-pong ball at the i-th prediction moment; v xp (i),v yp (i),v zp (i) represents the x-axis, y-axis, and z-axis components of the velocity vector of the table tennis ball at the i-th prediction moment; x f (i) Assign a value to x p (i) y f (i) Assign a value to y p (i) z f (i) Assign a value to z p (i), will Assign to v xp (i), will Assign to v yp (i), will Assign to v zp (i); d. Determine whether i is less than or equal to m+N p If it is established, use formula (6) to get the state value of the table tennis ball at the i+1th prediction time. If it is not established, go to step f; In formula (6), x p (i+1), y p (i+1), z p (i+1) represents the components of the position vector of the table tennis ball on the x-axis, y-axis, and z-axis at the i+1th prediction moment; v xp (i+1),v yp (i+1),v zp (i+1) represents the components of the velocity vector of the table tennis ball on the x-axis, y-axis, and z-axis at the i+1th prediction moment; V p (i)=[v xp (i),v yp (i),v zp (i)] represents the linear velocity vector of the table tennis ball at the i-th prediction moment; e. After assigning i+1 to i, return to step d; f. Use the Nelder Mead Simplex algorithm to solve the optimization problem shown in equation (7) and obtain the estimated result of the mth flight parameter u In formula (7), It means that the weighted matrix is ​​a quadratic form of Q; Representation coefficient k d The mth estimated value of Represents ω x The mth estimated value of Represents ω y The mth estimated value of Represents ω z The mth estimated value of p (m) = [x p (m+1)y p (m+1)z p (m+1),x p (m+2),y p (m+2),z p (m+2)…x p (m+N p ),y p (m+N p ),z p (m+N p )] indicates N in step d p The ball position vector at the predicted time, x p (m+2),y p (m+2),z p (m+2) represents the position vector of the table tennis ball at the m+2th prediction time on the x-axis, y-axis, and z-axis. p (m+N p ),y p (m+N p ),z p (m+N p ) indicates that the table tennis ball is at the m+Nth p The components of the position vector at the prediction time on the x-axis, y-axis, and z-axis, P f (m) = [x f (m+1),y f (m+1),z f (m+1),x f (m+2),y f (m+2),z f (m+2)…x f (m+N p ),y f (m+N p ),z f (m+N p )] represents the m+1 to m+N p The position vector of the ping-pong ball after fitting at the prediction moment, x f (m+1),y f (m+1),z f (m+1) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the m+1th prediction moment after fitting. f (m+2),y f (m+2),z f (m+2) represents the components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the m+2th prediction moment after fitting. f (m+N p ),y f (m+N p ),z f (m+N p ) represents the m+Nth p The components of the position vector of the ping-pong ball on the x-axis, y-axis, and z-axis at the predicted moment; g. After assigning m+1 to m, return to step c; h. Get the final estimation result And as the flight parameters of the table tennis ball in, is the coefficient k d The final estimated value of ω x ,ω y ,ω z The final estimate of Step 2: predicting the hitting point based on the flight parameters of the table tennis ball; Step 2.1: Predict where the ball will land: Step 2.1.1, determine z p (i)>r is true, if true, then use formula (8) to calculate z at the i+1th prediction time p (i+1), otherwise, record the position vector [x p (i),y p (i),z p (i)] is the ball landing point, and the linear velocity vector of the ball at the i-th prediction time [v xp (i),v yp (i),v zp (i)] is the incident ray velocity v of the ball when it collides with the tabletop it ,Will As the incident angular velocity ω when the ping-pong ball collides with the table it , and execute step 2.2; Step 2.1.2, after assigning i+1 to i, return to step 2.1.1; Step 2.2: Based on the table tennis ball and table rebound model, use equation (9) to solve the flight state of the ball after rebounding; In formula (9), v et and ω et is the ray velocity and angular velocity vector after the ball collides with the table, e t is the coefficient of restitution of the desktop, μ is the coefficient of friction of the desktop, λ represents the friction determination coefficient, and: In formula (10), v itx ,v ity ,v itz is the incident ray velocity v of the ping-pong ball when it collides with the tabletop it Components on the x-axis, y-axis, and z-axis; Step 2.3: Predict the hitting point; Step 2.3.

1. Set v etx Assign to v xp (i), v ety Assign to v yp (i), v etz Assign to v zp (i), etx Assign to ω ety Assign to ω etz , assigned to Among them, v etx ,v ety ,v etz Indicates v et The components on the x-axis, y-axis, and z-axis, ω etx ,ω ety ,ω etz Represents ω et Components on the x-axis, y-axis, and z-axis; Step 2.3.2, determine y p (i)>Δ2, if true, then use formula (11) to calculate y at the i+1th prediction time p (i); otherwise, record the position vector [x p (i),y p (i),z p (i)] is the hitting point P h, That is, P h =[x hit ,y hit ,z hit ]=[x p (i),y p (i),z p (i)], where x hit ,y hit ,z hit Respectively represent the components of the position vector of the incoming ball on the x-axis, y-axis, and z-axis when hitting the ball, and record the linear velocity vector of the ball at the i-th prediction moment [v xp (i),v yp (i),v zp (i)] is the incident ray velocity v of the ball when it collides with the racket ir , will ω et As the incident angular velocity ω when the ping-pong ball collides with the racket ir , and execute step 3, wherein Δ2 represents the distance between the hitting plane and the xoz plane of the coordinate system; Step 2.3.3: Assign i+1 to i and return to step 2.3.2; Step 3: Based on the hitting point, obtain the hitting action of the table tennis robot by a constrained optimization method; Step 3.1: Determine the expected landing point of the ball after hitting [x dl ,y dl ] and the net height interval [z pl ,z pu ]; where x dl ,y dl The x, y coordinates, z coordinates of the expected landing point of the return ball pl ,z pu Indicates the lower and upper limits of the network height; Step 3.2: Set parameter K θ It represents the ratio of the vertical component to the horizontal component of the ball's outgoing ray velocity and is randomly initialized; Step 3.3: According to the parameter K θ , solve the minimum positive solution τ of the equations shown in equations (12)-(15) min : A1t 4 +B1τ 2 +C1=0 (12) In equations (12) to (15), A1, B1, and C1 represent the fourth-order, second-order, and zero-order coefficients of the equations, respectively; τ represents the time it takes for the ping-pong ball to fall onto the table; g s Represents the approximate air resistance coefficient of a ping-pong ball flying in the air; Step 3.4: Use equations (16) to (18) to solve the linear velocity of the returning ball [v erx ,v ery ]: v erz =K θ v erxy (18) In formula (16)-(18), v erx ,v ery v represents the components of the linear velocity vector of the ball on the x-axis and y-axis after hitting the ball; erxy represents the magnitude of the projection of the linear velocity vector of the ball on the xoy plane, v erz represents the component of the linear velocity vector of the return ball on the z-axis, let the linear velocity vector of the return ball be v er =[v erx ,v ery ,v erz ]; Step 3.5: Use equation (19) to get the minimum angular velocity ω of the shot ball er : s.t.(ω er -ω ir ) T (v er -v ir )=0 Step 3.6: According to P h ,v er ,ω er , using formula (8), find the point P where the ball lands pl =[x pl ,y pl ,z pl ] and the height of the ball when it passes the net z pp ; where x pl ,y pl ,z pl K θ The components of the predicted return ball landing point position vector on the x-axis, y-axis, and z-axis when the position is known; Step 3.7: Use equation (20) to calculate the error e between the actual landing point and the expected landing point of the returned ball l : Step 3.8: Use equation (21) to establish the optimization objective function and solve it to obtain the ball return linear velocity v er opti With angular velocity ω er opti : s.t.z pp ∈[z pl ,z pu ] In formula (21), K θ opti Represents the optimized parameter K θ ; Step 3.9: Given v er opti ,ω er opti , v ir ,ω ir, Use equation (22) to solve the racket posture angle α: A2sin 2 α+B2sinα+C2=0 (22) In formula (22), A2, B2, C2 are the quadratic, linear, and zero-order coefficients of equation (22), respectively, and are obtained by formula (23); In formula (23), ξ represents the intermediate variable related to the linear velocity difference between the outgoing ball and the incident ball, and is obtained from formula (24), ξ1,ξ 2, ξ3 is the three components of ξ, η1,η2,η3 are the three components of η, and It represents the angular velocity difference between the outgoing ball and the incoming ball; Step 3.10: Use equation (25) to solve the racket attitude angle β: Step 3.11: Use equation (26) to solve for the speed v of the ball hitting the racket ph : In formula (26), A vv represents the incident ball linear velocity-outgoing ball linear velocity transfer matrix, and is obtained from equation (27), A vw represents the incident ball angular velocity-outgoing ball linear velocity transfer matrix, and is obtained by equation (28), R represents the rotation matrix of the racket coordinate system, and is obtained by equation (29); In formula (27), e r represents the coefficient of restitution of the table tennis racket; k p represents the momentum coefficient of the table tennis racket.

Citation Information

Patent Citations

  • Method and device for predicting ping-pong spin angle velocity of ping-pong robot

    CN103364579B

  • Robot's ball-hitting motion control method

    CN107315349B

  • Table tennis ball rotation angular speed obtaining method and device and storage medium

    CN110941795A

  • Arm type robot for playing match of table tennis

    JP2008036383A