A control method for a table tennis serving robot
Through the combination of differential evolution algorithm and physical model, the problem of insufficient intuitive control of the table tennis serving robot is solved, and accurate quantitative control of the target landing point, crossing the net height and rotation speed of the table tennis ball is achieved.
Patent Information
- Application Number
- CN202310111019.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-14
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2043-02-14
AI Technical Summary
At this stage, when the table tennis serving robot controls the landing point, rotation and crossing the net height, there is a problem of insufficient intuitiveness, especially when adjusting the landing point, it is difficult to control the crossing the net height independently.
Differential evolution algorithm is used to combine table tennis flight physics model, collision model and inverse kinematics to achieve optimized solutions to the initial state of table tennis, ensuring accurate quantitative control of target landing point, net height and rotation speed.
The resolution speed and accuracy of the initial state of the ping-pong ball after being hit is improved, and the user's intuitive control effect is achieved, ensuring independent adjustment of the landing point, crossing the net height and rotation speed.
Smart Images

Figure CN116088314B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of intelligent control, and particularly relates to a control method for a table tennis serving robot. Background Art
[0002] Table tennis is a sport widely loved by the masses. Compared with the extrusion and ejection type serving robots, the arm type serving robot can better simulate the human hitting action, and the ball properties served are closer to real battles. During the process of using the arm type serving robot to feed balls, people pay more attention to the landing point, rotation and net clearance height of the serving trajectory. Therefore, it is particularly important to realize the control of the arm type serving robot based on the target landing point, rotation and net clearance height. For the research on the control of the arm type serving robot, the following several methods have been mainly disclosed at the present stage:
[0003] (1) Patent CN201110136109.4 discloses a method for obtaining the racket attitude and hitting speed of a table tennis robot. By establishing an analytical model of table tennis flight, using the expected return ball landing point and return ball speed to calculate the ball speed after being hit by the table tennis, and finally solving the non-linear equation of the racket rebound model to obtain the racket hitting attitude and hitting speed. This method can solve the landing point control of non-rotating or low-rotating table tennis balls to a certain extent, but it cannot be used in the application scenarios of high-speed rotating balls;
[0004] (2) Patent CN202010390404.1 discloses a table tennis serving robot, a table tennis serving method and a computer-readable medium. The invention configures the incident speed and angle of the table tennis ball, sets the expected landing point, expected forward speed and expected rotation angular velocity of the table tennis ball after being hit by the racket to calculate the speed and attitude of the racket, and finally obtains the positions and speeds of the joints of the serving robot through the inverse kinematics of the robot. This method can realize the control of certain serving parameters, such as the target landing point, target rotation speed, etc., but it cannot effectively control the adjustment of the net clearance height that users pay more attention to. Summary of the Invention
[0005] The present invention provides a control method for a table tennis serving robot, which adopts terminal control of the target landing point, target net clearance height and target rotation speed, and the control is more intuitive; by establishing a whole-process physical model of the table tennis flight physical model, the table tennis and table collision model, and the table tennis and racket collision model, and at the same time using the differential evolution algorithm to solve the initial state of the table tennis after being hit, it realizes the terminal intuitive control of the user's needs, and solves the technical problems that most of the current serving robots adopt direct control at the joint level, the control is not intuitive enough, and the net clearance height will change accordingly when adjusting the landing point.
[0006] The present invention can be realized by the following technical solutions:
[0007] A control method for a table tennis serving robot, comprising the following steps:
[0008] S1. Obtain the actual landing point, actual net clearance height, and actual rotation speed of the table tennis ball in the initial state;
[0009] S2. Construct the comprehensive error between the target landing point, target net clearance height, target rotation speed and the actual landing point, actual net clearance height, actual rotation speed. Taking the linear velocity of the table tennis ball in the initial state as an individual and the comprehensive error as the optimization target, use the differential evolution algorithm for iterative optimization to obtain the optimal individual, that is, the optimal linear velocity of the table tennis ball in the initial state;
[0010] S3. Use the collision model between the table tennis ball and the racket, combined with the incident information of the table tennis ball and the optimal linear velocity of the table tennis ball in the initial state, to calculate the speed and attitude of the racket;
[0011] S4. According to the speed and attitude of the racket, use the inverse kinematics of the serving robot to obtain the positions and speeds of the joints of the robot, and complete the control of the serving robot.
[0012] Furthermore, the method for iterative optimization using the differential evolution algorithm includes the following steps:
[0013] S21. Initialization
[0014] Define the population size Np according to the actual usage requirements, and randomly initialize the population individuals in the solution space. Each individual includes three-dimensional components, where the j-th component of the i-th individual in the population is expressed as represents the upper boundary of the j-th component, represents the lower boundary of the j-th component;
[0015] S22. Mutation
[0016] Randomly select three different individuals x r1 (g), x r2 (g) and x r3 (g) in the current population, and calculate the mutated individual of the g-th generation as v i (g) = x r1 (g) + F(x r2 (g) - x r3 (g)),
[0017] where, represents the mutation factor, F max and F min respectively represent the maximum mutation factor and the minimum mutation factor configured according to the actual situation, g m represents the maximum number of iterations,
[0018] Meanwhile, it is necessary to judge the mutated individual v i (g) whether it meets the boundary conditions. For the mutated individuals that do not meet the boundary conditions, they are generated by a random method for replacement. It is necessary to obtain Np mutated individuals in the first generation of mutation through Np mutation operations;
[0019] S23. Crossover
[0020] Using the following formula, perform vector crossover calculation on each individual in the population and the generated mutated individuals. The specific formula description is as follows
[0021]
[0022] Among them, is the crossover probability factor, CR max and CR min respectively represent the maximum crossover probability and the minimum crossover probability configured according to the actual situation, g m represents the maximum number of iterations, j rand represents a random component;
[0023] S24. Selection
[0024] Using the greedy algorithm, calculate the objective function, that is, the comprehensive error e a value, and use the following formula to select the better one from the previous generation individuals and the individuals after mutation and crossover as the next generation individuals,
[0025]
[0026] Among them, the f function is the solution function of the comprehensive error e a ;
[0027] S25. Through mutation, crossover and selection operations, the population evolves to the next generation for repeated cycles until the number of algorithm iterations reaches the threshold or the population optimal solution reaches the error precision threshold, and the algorithm ends.
[0028] Furthermore, the comprehensive error e a is expressed as follows
[0029] e a = w d e d + w n e n
[0030] Among them, w d and w n respectively represent the weighted coefficients of the landing point error e d and the over-net height error e n , represents the target landing point coordinates, Indicates the actual landing coordinates, Indicates the actual height over the net, Indicates the target height over the net.
[0031] Furthermore, the method for calculating the speed and attitude of the racket includes the following steps:
[0032] S31. The collision model between the ball and the racket is as follows
[0033]
[0034] Among them, the linear velocity and rotational velocity of the table tennis ball before the collision with the racket, that is, when incident, are known through configuration, and the rotational velocity remains unchanged during the flight of the table tennis ball. (v 1x , v 1y , v 1z ) is the linear velocity of the table tennis ball after the collision with the racket, that is, the optimal linear velocity in the initial state of the table tennis ball. (w 1x , w 1y , w 1z ) is the rotational velocity of the table tennis ball after the collision with the racket. (v 0x , v 0y , v 0z ) is the linear velocity of the table tennis ball before the collision with the racket. (w 0x , w 0y , w 0z ) is the rotational velocity of the table tennis ball before the collision with the racket. (v rx , v ry , v rz ) is the linear velocity of the racket at the moment of contact with the table tennis ball,
[0035] is the attitude matrix of the racket, and α and β are two attitude angles describing the attitude of the racket surface;
[0036] is the collision coefficient matrix between the table tennis ball and the racket. In the formula, r is the radius of the table tennis ball, k v is the tangential restitution coefficient between the table tennis ball and the racket, k r is the normal restitution coefficient between the table tennis ball and the racket, k w is the rotational conversion coefficient between the table tennis ball and the racket;
[0037] S32. Simplify and calculate the collision model between the table tennis ball and the racket to obtain the following expression
[0038]
[0039] Define
[0040] Thus, we can obtain
[0041] S33. Solve
[0042] Using η x and η z 's expressions, construct a quadratic equation of one variable for the attitude angle sinα,
[0043] That is By solving the said quadratic equation of one variable, obtain the attitude angle α, and substitute η y 's expression to get another attitude angle β. Finally, complete the solution of the racket speed (v rx , v ry , v rz ) through the ping-pong ball and racket collision model.
[0044] Furthermore, if a single-hop ball is used for serving, according to the ping-pong ball aerodynamics model, use the initial state of the ping-pong ball, i.e., the initial position, initial linear velocity, and initial rotational velocity of the ping-pong ball, to iteratively obtain the flight trajectory of the ping-pong ball in the air, and then obtain the actual landing point, actual net clearance height, and actual rotational velocity of the ping-pong ball;
[0045] If a two-hop ball is used for serving, according to the ping-pong ball aerodynamics model and the ping-pong ball and table collision model, use the initial state of the ping-pong ball, i.e., the initial position, initial linear velocity, and initial rotational velocity of the ping-pong ball, to iteratively obtain the flight trajectory of the ping-pong ball in the air, and then obtain the actual landing point, actual net clearance height, and actual rotational velocity of the ping-pong ball.
[0046] Furthermore, the ping-pong ball serving robot adopts an arm-type structure, and its arm adopts a multi-degree-of-freedom robotic arm structure, with a racket provided at its end.
[0047] The beneficial technical effects of the present invention are as follows:
[0048] (1) Use the differential evolution algorithm to complete the solution of the initial linear velocity of the ping-pong ball after being hit for the target landing point, target net clearance height, and target rotational velocity, improving the solution speed while ensuring the accuracy of the solution;
[0049] (2) Use adaptive mutation factors and crossover factors to optimize the differential evolution algorithm, improving the convergence speed of the algorithm;
[0050] (3) Use the ping-pong ball aerodynamics model and the ping-pong ball and table collision model to accurately estimate the entire trajectory of single-hop and double-hop serves to determine the actual net landing point and actual net clearance height;
[0051] (4) According to the ping-pong ball and racket collision model, implement a method for solving the speed and attitude of the racket based on the speed and rotational velocity before and after the ping-pong ball and racket collide. Description of the Drawings
[0052] Figure 1 It is the overall process schematic diagram of the present invention;
[0053] Figure 2 It is the process schematic diagram of the differential evolution method of the present invention;
[0054] Figure 3 It is the schematic diagram of obtaining the table tennis flight trajectory by combining the aerodynamic model and the table tennis and table collision model of the present invention with experimental data;
[0055] Figure 4 It is the schematic diagram of the comprehensive error change curve during the iterative process of the 1 - time differential evolution method of the present invention. Detailed implementation manners
[0056] The following will describe in detail the specific implementation manners of the present invention in conjunction with the accompanying drawings and preferred embodiments.
[0057] Aiming at the control of the target landing point, target spin and net - crossing height that users pay more attention to the table tennis trajectory, as Figure 1 shown, the present invention provides a control method for a table tennis serving robot, selects the differential evolution algorithm for solution, effectively improves the solution speed while ensuring the solution accuracy, and specifically includes the following steps:
[0058] S1. Obtain the actual landing point, actual net - crossing height and actual spin speed of the table tennis ball in the initial state;
[0059] If a single - bounce serve is used, according to the table tennis aerodynamic model, using the initial state of the table tennis ball, i.e., the initial position, initial linear velocity and initial spin speed of the table tennis ball, iterate to obtain the flight trajectory of the table tennis ball in the air, and then obtain the actual landing point, actual net - crossing height and actual spin speed of the table tennis ball;
[0060] If a two - bounce serve is used, according to the table tennis aerodynamic model and the table tennis and table collision model, using the initial state of the table tennis ball, i.e., the initial position, initial linear velocity and initial spin speed of the table tennis ball, iterate to obtain the flight trajectory of the table tennis ball in the air, and then obtain the actual landing point, actual net - crossing height and actual spin speed of the table tennis ball.
[0061] Among them, the technical solution of the state estimation and trajectory prediction of the rotating flying table tennis ball proposed by Zhao Yongsheng et al. is adopted. According to the table tennis aerodynamic model, the flight trajectory of the table tennis ball is predicted. Considering the two serving methods, the table tennis ball may collide with the table, thus affecting the subsequent flight trajectory. Therefore, this application adopts the rebound model of the spinning ball and the table / racket proposed by Ren Yanqing, Xu De, etc., and combines it with the previous table tennis aerodynamic model to jointly predict the flight trajectory of the table tennis ball, so as to obtain the actual landing point, actual net passing height and actual rotation speed under the initial state of the table tennis ball, that is, the initial position, initial linear velocity and initial rotation speed.
[0062] S2. Construct the comprehensive error between the target landing point, target net passing height, target rotation speed and the actual landing point, actual net passing height, actual rotation speed. Taking the linear velocity under the initial state of the table tennis ball as an individual and the comprehensive error as the optimization target, the differential evolution algorithm is used for iterative optimization to obtain the optimal individual, that is, the optimal linear velocity under the initial state of the table tennis ball;
[0063] The differential evolution algorithm is a heuristic random search algorithm based on population differences, which is often used to solve the global optimal solution in the multi-solution space. The linear velocity of the initial state of the table tennis ball to be searched in the present invention, and the linear velocity packet has linear velocity components in three directions, so each individual is a three-dimensional vector.
[0064] The actual landing point of the table tennis ball trajectory is obtained by solving x and y from the vertical direction z value constraint condition (z < 0). The actual net passing height of the table tennis ball trajectory is obtained by solving z from the forward direction y value constraint condition (y > 0), and the actual rotation speed remains unchanged during the flight process, which is the same as the initial configuration value.
[0065] The calculation formula for the table tennis ball landing point error is Where is the target landing point coordinate, is the actual landing point coordinate. The calculation formula for the table tennis ball net passing height error is Where is the actual net passing height, is the target net passing height. Since the table tennis ball target rotation speed can be directly obtained by configuring the initial state of the table tennis ball, there is no error calculation for the rotation speed. Therefore, the comprehensive error e a The calculation formula is e a = w d e d + w n e n , where w d and w n are the weighting coefficients of the landing point error and the net passing height error respectively.
[0066] Such as Figure 2As shown in the figure, the specific solution steps of the differential evolution algorithm are as follows:
[0067] S21. Initialization
[0068] Define the population size Np according to the actual usage requirements, and randomly initialize the population individuals within the solution space. Each individual includes three-dimensional components. The j-th component of the i-th individual in the population is represented as represents the upper boundary of the j-th component, represents the lower boundary of the j-th component;
[0069] S22. Mutation
[0070] Randomly select three different individuals x r1 (g), x r2 (g) and x r3 (g) in the current population, and calculate the mutated individual in the g-th generation as v i (g) = x r1 (g) + F(x r2 (g) - x r3 (g)),
[0071] where, represents the mutation factor, F max and F min respectively represent the maximum mutation factor and the minimum mutation factor configured according to the actual situation, g m represents the maximum number of iterations. During the iteration process, the value of the mutation factor F will decrease as the number of iterations increases,
[0072] At the same time, it is necessary to judge whether the mutated individual v i (g) meets the boundary conditions. For the mutated individuals that do not meet the boundary conditions, they are generated by random methods for replacement. It is necessary to obtain Np mutated individuals in one generation of mutation through Np repeated mutation operations;
[0073] S23. Crossover
[0074] Use the following formula to perform vector crossover calculation on each individual in the population and the generated mutated individuals, that is, each individual selects the vector of the mutated individual with a certain probability to replace the original vector to generate a trial individual. The specific formula description is as follows
[0075]
[0076] where, is the crossover probability factor, and it is also a parameter that changes with the number of iterations. During the iteration process, the value of the crossover probability factor CR will increase as the number of iterations increases, CR max and CR minrespectively represent the maximum crossover probability and the minimum crossover probability configured according to the actual situation, g m represents the maximum number of iterations, j rand represents a random component to ensure that at least one-dimensional component of the trial individual after crossover is provided by the mutant individual;
[0077] S24. Selection
[0078] Use the greedy algorithm to calculate the objective function, i.e., the comprehensive error e a value, and select the better one from the previous generation individuals and the individuals after mutation and crossover as the next generation individuals using the following formula,
[0079]
[0080] where the f function is the solution function of the comprehensive error e a ;
[0081] S25. Through mutation, crossover and selection operations, the population evolves to the next generation and repeats the cycle until the number of algorithm iterations reaches the threshold or the optimal solution of the population reaches the error precision threshold, and the algorithm ends.
[0082] In this way, by comparing the errors between the actual landing point and the target landing point, the actual net clearance height and the target net clearance height, and the actual rotation speed and the target rotation speed, and obtaining the comprehensive error, it is judged whether the comprehensive error is less than the error threshold. When it is less than the error threshold, go to step S3, otherwise go to step S26;
[0083] S26. Judge whether the current number of iterations exceeds the allowed maximum number of iteration thresholds. When the number of iterations is greater than the threshold, the solution of the state of the table tennis ball after hitting fails, and the target landing point, the target net clearance height and the target rotation speed cannot be achieved. Otherwise, go to step S27 for further solution;
[0084] S27. Use the differential evolution algorithm, that is, execute S21 - S25 to update the linear velocity of the table tennis ball in the initial state until the optimal linear velocity is obtained, and return to step S1;
[0085] S3. Use the collision model between the table tennis ball and the racket, combine the incident information of the table tennis ball and the optimal linear velocity of the table tennis ball in the initial state, and calculate the speed and attitude of the racket;
[0086] S31. Establish the collision model between the table tennis ball and the racket
[0087] For the arm - type table tennis serving robot, the linear velocity and rotational velocity at the moment of the ping - pong ball colliding with the racket (i.e., the incident situation) are known through configuration, and the rotational velocity remains unchanged during the flight of the ping - pong ball. The linear velocity and rotational velocity after the ping - pong ball collides with the racket can be quantitatively solved based on the target landing point, target net - crossing height, and target rotational velocity. Based on the linear velocity and rotational velocity of the ping - pong ball before and after the collision with the racket, the velocity and attitude of the racket can be obtained through inverse solution using the collision model of the ping - pong ball and the racket. Considering that the rotation of the racket around the normal direction of the racket surface has no effect on the serving effect, the collision model of the ping - pong ball and the racket is obtained as follows
[0088]
[0089] where, \((v 1x ,v 1y ,v 1z ) is the linear velocity of the ping - pong ball after colliding with the racket, that is, the optimal linear velocity in the initial state of the ping - pong ball, \((w 1x ,w 1y ,w 1z ) is the rotational velocity of the ping - pong ball after colliding with the racket, \((v 0x ,v 0y ,v 0z ) is the linear velocity of the ping - pong ball before colliding with the racket, \((w 0x ,w 0y ,w 0z ) is the rotational velocity of the ping - pong ball before colliding with the racket, \((v rx ,v ry ,v rz ) is the linear velocity of the racket at the moment of contacting the ping - pong ball,
[0090] is the attitude matrix of the racket, and \(\alpha\) and \(\beta\) are two attitude angles describing the attitude of the racket surface;
[0091] is the collision coefficient matrix of the ping - pong ball and the racket. In the formula, \(r\) is the radius of the ping - pong ball, \(k v is the tangential restitution coefficient of the ping - pong ball and the racket, \(k r is the normal restitution coefficient of the ping - pong ball and the racket, \(k w is the rotational conversion coefficient of the ping - pong ball and the racket;
[0092] S32. Simplify and calculate the collision model of the ping - pong ball and the racket to obtain the following expression
[0093]
[0094] Define
[0095] Thus, we can obtain
[0096] S33, Solve
[0097] Using η x and η z expressions, construct a quadratic equation of one variable for the attitude angle sinα,
[0098] That is By solving the quadratic equation of one variable, obtain the attitude angle α, and substitute η y expression to get another attitude angle β. Finally, complete the solution of the racket speed (v rx , v ry , v rz ) through the ping-pong ball and racket collision model.
[0099] S4. According to the speed and attitude of the racket, use the inverse kinematics of the serving robot to obtain the positions and speeds of the joints of the robot, and complete the control of the serving robot.
[0100] After obtaining the attitude and linear velocity of the racket at the end of the robotic arm of the serving robot, the joint angles and joint angular velocities at the hitting moment of each joint can be accurately obtained through the inverse kinematics of the robot. Finally, the positions and speeds of each joint of the serving robot at each moment can be obtained by using the motion planning in the joint space. Check in advance whether the motion of each joint will exceed the limit or interfere. If the pre-check fails, the current configured target landing point, target over-net height, and target rotation speed cannot be achieved. Otherwise, the serving robot executes this serving action, driving the racket to complete the serving with the target landing point, target over-net height, and target rotation speed.
[0101] To verify the feasibility of the control method of the present invention, we conducted the following experiments:
[0102] Assume that the three-dimensional coordinates of the target landing point configured by the user are (0.1, 0.7, 0.0), the target over-net height is 0.025 m, the target rotation is backspin at 200 rad / s, two-bounce ball, the position where the serving robot hits the ping-pong ball is (0.5, -1.37, 0.11), the optimal initial linear velocity obtained by the differential evolution algorithm is (-2.05467, 5.5375, -1.52658), the initial rotation speed of the ping-pong ball is the configured rotation speed (200, 0, 0), and the ping-pong ball trajectory is obtained through the ping-pong ball aerodynamics model and the ping-pong ball and table collision model as Figure 3 shown, its actual landing point is (-0.3812, 1.028, 0), the actual over-net height is 0.201 m, define the coefficient w d = 0.2 and w n = 1, so as to obtain the initial comprehensive error of the differential evolution algorithm as After 43 iterations (less than the maximum allowed 100 iterations), the error is reduced to 0.00374, which is less than the error threshold of 0.0005, and the algorithm solves successfully. The error iteration curve is as shown in Figure 4 Figure Figure 4 . The value of the optimal linear velocity is (-0.7939, 3.8669, -0.6052). Also, based on the linear velocity of the table tennis ball being (0.0, -3.0, 0.0) and the rotational velocity being (0.0, 0.0, 0.0) before the table tennis ball collides with the racket after being flicked by the left hand of the serving robot, the racket velocity Vr (-0.5829, 2.04171, -1.93223) and the attitude angles α = -1.115 and β = -2.9034 are obtained through the inverse solution process of the table tennis ball and racket collision model of the present invention. Further substituting them into the inverse kinematics model of the serving robot and the motion planning in the joint space can complete the control of the serving landing point, over-net height, and rotational velocity of the table tennis serving robot.
[0103] In summary, the present invention uses the differential evolution algorithm to solve the initial state of the table tennis ball after being hit, improving the solution speed while ensuring accuracy. At the same time, all physical models for the serving robot to control the landing point and over-net height of the table tennis ball are established, realizing the accurate quantitative control of the serving target landing point and over-net height.
[0104] Although the specific embodiments of the present invention have been described above, those skilled in the art should understand that these are only examples. Without departing from the principle and essence of the present invention, various changes or modifications can be made to these embodiments. Therefore, the protection scope of the present invention is defined by the appended claims.
Claims
1. A control method for a table tennis serving robot, characterized in that It includes the following steps: S1. Obtain the actual landing point, actual net-crossing height, and actual rotation speed of the table tennis ball in its initial state; S2. Construct the comprehensive error between the target landing point, target net-crossing height, target rotation speed and the actual landing point, actual net-crossing height, actual rotation speed. Taking the linear velocity of the table tennis ball in its initial state as an individual and the comprehensive error as the optimization goal, use the differential evolution algorithm for iterative optimization to obtain the optimal individual, that is, the optimal linear velocity of the table tennis ball in its initial state; S3. Using the collision model between the table tennis ball and the racket, combined with the incident information of the table tennis ball and the optimal linear velocity of the table tennis ball in its initial state, calculate the speed and attitude of the racket; S4. According to the speed and attitude of the racket, use the inverse kinematics of the serving robot to obtain the positions and speeds of the joints of the robot, and complete the control of the serving robot; The comprehensive error e a is expressed as follows e a = w d e d + w n e n Among them, w d and w n represent the weighting coefficients of the landing point error e d and the over-net height error e n respectively. represents the target landing point coordinates, represents the actual landing point coordinates, represents the actual over-net height, represents the target over-net height; The collision model between the ball and the racket is as follows Among them, the linear velocity and rotational velocity of the table tennis ball before it collides with the racket, i.e., at the time of incidence, are known through configuration, and the rotational velocity remains unchanged during the flight of the table tennis ball. (v 1x , v 1y , v 1z ) is the linear velocity of the table tennis ball after it collides with the racket, i.e., the optimal linear velocity in the initial state of the table tennis ball. (w 1x , w 1y , w 1z ) is the rotational velocity of the table tennis ball after it collides with the racket. (v 0x , v 0y , v 0z ) is the linear velocity of the table tennis ball before it collides with the racket. (w 0x , w 0y , w 0z ) is the rotational velocity of the table tennis ball before it collides with the racket. (v rx , v ry , v rz ) is the linear velocity of the racket at the moment of contact with the table tennis ball. is the attitude matrix of the racket, and α and β are two attitude angles describing the attitude of the racket face; is the collision coefficient matrix of the table tennis ball and the racket, where r is the radius of the table tennis ball, and k v is the tangential restitution coefficient of the table tennis ball and the racket, and k r is the normal restitution coefficient of the table tennis ball and the racket, and k w is the rotation conversion coefficient of the table tennis ball and the racket.
2. The control method for a table tennis serving robot according to claim 1, characterized in that The method of using the differential evolution algorithm for iterative optimization includes the following steps: S21. Initialization Define the population size Np according to the actual usage requirements, and randomly initialize the population individuals in the solution space. Each individual includes three-dimensional components, where the j-th component of the i-th individual in the population is expressed as represents the upper boundary of the j-th component, represents the lower boundary of the j-th component; S22. Mutation Randomly select three distinct individuals \(x^{(g)}\), \(x^{(g)}\) and \(x^{(g)}\) from the current population, and calculate the individual for the \(g\)-th generation mutation as \(v^{(g)} = x^{(g)}+F(x^{(g)}-x^{(g)})\). r1 (g), x r2 (g) and x r3 (g), and calculate the individual for the \(g\)-th generation mutation as v i (g) = x r1 (g)+F(x r2 (g)-x r3 (g)), Among them, represents the mutation factor, F max and F min respectively represent the maximum mutation factor and the minimum mutation factor configured according to the actual situation, g m represents the maximum allowable number of iterations, Meanwhile, it is necessary to judge the mutated individual v i (g) whether it meets the boundary conditions. For the mutated individuals that do not meet the boundary conditions, they are generated by a random method for replacement. It is necessary to obtain Np mutated individuals in the first generation of mutation by repeating the mutation operation Np times; S23. Crossover Using the following formula, perform vector crossover calculation on each individual in the population and the generated mutant individuals. The specific formula description is as follows Among them, is the crossover probability factor, CR max and CR min represent the maximum crossover probability and the minimum crossover probability configured according to the actual situation, respectively. g m represents the maximum allowable number of iterations, and j rand represents a random component; S24. Selection Using the greedy algorithm, calculate the objective function, i.e., the comprehensive error e a value, and use the following formula to select the better one from the individuals of the previous generation and the individuals after mutation and crossover as the individuals of the next generation Among them, the f function is the solution function for the comprehensive error e a ; S25. Through mutation, crossover, and selection operations, the population evolves to the next generation and repeats the cycle until the number of algorithm iterations reaches the maximum allowed number of iterations g m Or the algorithm ends when the optimal solution of the population reaches the error precision threshold.
3. The control method for a table tennis serving robot according to claim 1, characterized in that The method of calculating the speed and attitude of the racket includes the following steps: S31. Simplify the calculation of the collision model between the table tennis ball and the racket to obtain the following expression Definition Thus, it is possible to obtain S32. Solve Using η x and η z 's expressions, a quadratic equation of one variable for the attitude angle sinα is constructed. That is By solving the quadratic equation of one variable, the attitude angle α is obtained, and η is substituted back y Another attitude angle β can be obtained from the expression, and finally the racket speed (v rx , v ry , v rz ) is solved by the ping-pong ball and racket collision model 4. The control method for a table tennis serving robot according to claim 1, wherein: If a single-hop ball is used for serving, according to the table tennis aerodynamic model, use the initial state of the table tennis ball, that is, the initial position, initial linear velocity and initial rotation speed of the table tennis ball, to iteratively obtain the flight trajectory of the table tennis ball in the air, and then obtain the actual landing point, actual net-crossing height, actual rotation speed of the table tennis ball; If a two-hop ball is used for serving, according to the table tennis aerodynamic model and the collision model between the table tennis ball and the table, use the initial state of the table tennis ball, that is, the initial position, initial linear velocity and initial rotation speed of the table tennis ball, to iteratively obtain the flight trajectory of the table tennis ball in the air, and then obtain the actual landing point, actual net-crossing height, actual rotation speed of the table tennis ball.
5. The control method for a table tennis serving robot according to claim 1, wherein: The table tennis serving robot adopts an arm-type structure, and its arm adopts a multi-degree-of-freedom robotic arm structure, with a racket set at its end.
Citation Information
Patent Citations
Method for acquiring ball-hitting gesture and ball-hitting speed of ping-pong robot racket
CN102200760B
Table tennis ball serving robot, table tennis ball serving method and computer readable storage medium
CN111283700A
Method for acquiring ball-hitting gesture and ball-hitting speed of ping-pong robot racket
CN102200760A
Ball-hitting method and device for table tennis robot
CN106390409A