Table tennis serving robot zero point calibration method and calibration system

By combining a table tennis theoretical flight model and a vision system with the Nelder-Mead optimization algorithm, the zero-point position of the table tennis serving robot is automatically calibrated, solving the problem of poor operability in existing technologies and achieving fast and accurate zero-point calibration, which is suitable for unmanned production.

CN115122324BActive Publication Date: 2026-06-02SHANGHAI FUTURE MIND CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI FUTURE MIND CO LTD
Filing Date
2022-06-22
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Existing zero-point calibration methods for table tennis serving robots are difficult to operate and make it hard to guarantee product consistency. In particular, mechanical constraints are inefficient in the absence of absolute position sensors.

Method used

By combining a ping-pong ball theoretical flight model with a vision system and the Nelder-Mead optimization algorithm, the zero-point position of the serving robot is automatically calibrated. The landing point of the ping-pong ball is obtained through deep learning and polynomial fitting, and the zero-point offset value is adjusted using the optimization algorithm until the calibration is successful.

Benefits of technology

It achieves automation and speed in zero-point calibration of the serving robot, reduces human interference, ensures product consistency, and is suitable for unmanned factory production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115122324B_ABST
    Figure CN115122324B_ABST
Patent Text Reader

Abstract

The application provides a table tennis serving robot zero point calibration method and a calibration system. The zero point calibration method comprises the following steps: according to a table tennis theoretical flight model, a set of robot expected serving parameters and expected landing point values of table tennis on a table are configured; a software zero position is determined by controlling a serving robot with a current zero point offset value, and N balls are served by the serving robot with the configured robot serving parameters; landing point values of the N balls served by the serving robot are obtained by using a vision system; actual landing points of a current trajectory of table tennis are processed to determine whether the zero point calibration of the serving robot is successful, if yes, the calibration is successful; otherwise, the zero point offset value is adjusted by using a Nelder-Mead optimization algorithm, the software zero position is determined again, and the zero point calibration of the serving robot is successful until the zero point calibration of the serving robot is successful. The application can effectively and quickly complete the calibration of the zero point of the serving robot, is beneficial to the realization of an unmanned factory, reduces the interference of human factors, and can effectively ensure the consistency of products leaving the factory.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of table tennis robots, specifically relating to a zero-point calibration method and calibration system for a table tennis serving robot. Background Technology

[0002] Table tennis serving robots have a wide range of applications as training and entertainment equipment. Since most serving robots adjust the serving direction through absolute position control, and structural variations exist during production and assembly, zero-point calibration is necessary for each robot to ensure consistency upon leaving the factory. Zero-point calibration informs the controller of the robot's position at power-on, facilitating subsequent position control. Drive units without absolute position sensors will use the robot's position at power-on as the mechanical zero point. Considering assembly variations, even drive units with absolute position sensors may have different mechanical zero points even if the sensor has the same position value.

[0003] Currently, zero-point calibration of robots is usually achieved by using mechanical tooling in conjunction with structural constraints. This method is efficient in situations where the constraint reference is simple and direct, but it is less operable for ball-serving robots. Summary of the Invention

[0004] To at least partially overcome the problems existing in the related technologies, this application provides a zero-point calibration method and calibration system for a table tennis serving robot.

[0005] According to a first aspect of the embodiments of this application, this application provides a zero-point calibration method for a table tennis serving robot, which includes the following steps:

[0006] Based on the theoretical flight model of table tennis, a set of expected serve parameters for the robot and expected landing point values ​​of the table tennis ball on the table are configured.

[0007] The robot is controlled to determine the software zero position based on the current zero offset value, and to serve N balls with the configured robot serving parameters;

[0008] The landing point values ​​of N balls served by the ball-serving robot are obtained using a vision system;

[0009] The actual landing point of the ping-pong ball's current trajectory is processed to determine whether the zero-point calibration of the serving robot is successful. If it is, the calibration is successful; otherwise, the zero-point offset value is adjusted using the Nelder-Mead optimization algorithm, and the software zero position is re-determined until the zero-point calibration of the serving robot is successful.

[0010] In the above-mentioned zero-point calibration method for the table tennis serving robot, the process of obtaining the theoretical flight model of the table tennis ball is as follows:

[0011] By utilizing the closed-loop control of a DC brushed motor, the linear velocity and rotational speed of the ping-pong ball launched at different speeds of multiple sets of upper and lower extrusion wheel motors are obtained.

[0012] The desired linear velocity V of a ping-pong ball is obtained by fitting a polynomial using the least squares method. ball The rotation speed W during the table tennis period ball The expected rotational speed n of the upper extrusion ball wheel up And the expected rotational speed n of the lower extrusion ball wheel down Constraints:

[0013]

[0014] In the formula, k1, k2, k3, q1, q2 and q3 are all polynomial coefficients obtained by fitting;

[0015] Based on the magnitude of the linear velocity V of the ping-pong ball ball The rotation matrix of the third link relative to the world coordinate system yields the linear velocity vector v of the ping-pong ball. b :

[0016]

[0017] Wherein, rotation matrix for

[0018]

[0019] According to the magnitude of the rotational speed W ball The rotation matrix of the third member relative to the world coordinate system yields the ping-pong ball's rotational velocity vector w. b :

[0020]

[0021] The starting position p of the ping-pong ball's flight b for

[0022]

[0023] In each drive unit control parameter Q = [n up ,n down ,q roll ,q pitch ,q yaw Given a specific condition, obtain a unique set of initial states p for the ping-pong ball. b ,v b and w b ;

[0024] The dynamic model of a ping-pong ball flying through the air is converted into a discrete model;

[0025] The dynamic model of a ping-pong ball flying through the air is as follows:

[0026]

[0027] in, Let ||V(t)|| represent the linear acceleration vector of the ping-pong ball (the differential of the linear velocity), ||V(t)|| represent the magnitude of the linear velocity of the ping-pong ball, and V(t) represent the linear velocity vector of the ping-pong ball. k c k represents the drag coefficient. b w represents the Magnus force coefficient. x w y w z These represent the three components of the ping-pong ball's rotational velocity in a three-dimensional coordinate system, where g represents gravitational acceleration.

[0028] The dynamic model of a ping-pong ball flying through the air can be transformed into a discrete model as follows:

[0029]

[0030] Among them, T c V(k+1) and V(k) represent the discrete sampling period, respectively, and represent the linear velocity vectors of the ping-pong ball in the next period and the current period.

[0031] The position of the ping-pong ball is obtained by integrating the linear velocity vector V(i) of each period. Given the initial state p of the ping-pong ball b ,v b and w b In this case, the entire flight trajectory of the ping-pong ball is obtained using a dynamic model of the ball's flight in the air, in order to obtain the landing point parameter P of this serve.

[0032] In the above-mentioned zero-point calibration method for a table tennis serving robot, the process of obtaining the landing point values ​​of the N balls served by the serving robot using a vision system is as follows:

[0033] The vision system uses deep learning algorithms to identify ping-pong balls from binocular vision images and locate the center pixel of the ping-pong ball;

[0034] Using a binocular vision algorithm, a 3D reconstruction of the center position of a ping-pong ball is completed to obtain the current position of the ping-pong ball;

[0035] Find the lowest point P of the trajectory based on the position of the ping-pong ball throughout the entire flight time. ba (k), using the lowest point P of the trajectory ba (k) Six consecutive adjacent position points P ba(k-1) to P ba (k-6) Perform polynomial fitting to obtain the actual landing point P of the ping-pong ball's current trajectory. aj (x aj ,y aj The height of the landing point is the same as the height of the ping-pong table.

[0036] In the above-mentioned zero-point calibration method for a table tennis serving robot, the process of processing the actual landing point of the current trajectory of the table tennis ball to determine whether the zero-point calibration of the serving robot is successful is as follows:

[0037] The estimated value P of the actual landing point of the serving robot's repeated serves is obtained by averaging the tails of N landing points. a (x a ,y a );

[0038] Based on the estimated value P of the actual landing point a (x a ,y a ) and the configured expected landing point value P d (x d ,y d The serving error P of the current serving robot is obtained. e (x e ,y e );

[0039] Determine if the serving error meets the factory standard. If yes, the zero-point calibration is successful, and the current robot serving parameters are saved. Otherwise, increment the calibration count and further determine if the current calibration count n has reached the maximum calibration count n. max If so, the zero-point calibration of the serving robot fails, and the serving robot is unqualified; otherwise, the Nelder-Mead optimization algorithm is used to adjust the current zero-point offset value for recalibration.

[0040] Furthermore, the process of adjusting the current zero-point offset value using the Nelder-Mead optimization algorithm is as follows:

[0041] S441. Constructing the optimization objective function Among them, (x j ,y j ) is the parameter q to be optimized. pitch and q yaw The value m in a certain iteration optimization j (q pj ,q yj Substituting this into the theoretical flight model of a table tennis ball, P = f(Q), yields the landing point value;

[0042] S442, Configure the pitch joint angle value and left and right joint angle values As the initial value for algorithm iteration Where, q p0 q represents the pitch angle. y0 Indicates the yaw angle;

[0043] S443. Obtain the other two coordinates of the simplex using the single-dimensional expansion method. and Where, n e Indicates the expansion factor;

[0044] S444. Calculate the objective function results for the three vertices of the simplex, and sort them in ascending order to obtain the corresponding parameters to be optimized.

[0045] if The result of the objective function meets the requirements. Once the desired parameters for optimization are obtained, the algorithm terminates; where, These represent the values ​​of the three vertices of the simplex during the iteration process;

[0046] if or If the algorithm gets stuck in a local optimum, the optimization fails, and the algorithm terminates.

[0047] Where, ε r ε represents the allowable error value for the optimization solution. J ε represents the minimum allowable difference in the objective function. m This represents the minimum allowable difference in the parameters to be optimized, and the superscript k indicates the number of iterations;

[0048] Otherwise, proceed to step S445;

[0049] S445. Calculate the average value of the parameter to be optimized.

[0050]

[0051] S446. Calculate the reflection point r of the parameter to be optimized. k and its objective function value J(r) k );

[0052]

[0053] if but Return to step S444 and proceed to the next iteration;

[0054] if Then calculate the extension point s k: If J(s) k )<J(r k ),but Return to step S444 to proceed to the next iteration; otherwise... Return to step S444 and proceed to the next iteration;

[0055] if The first type is the contraction point b. k for: If J(b) k )<J(r k ),but Return to step S444 and proceed to the next iteration; otherwise, proceed to step S447.

[0056] if Then the second type of contraction point c k for: if but Return to step S444 and proceed to the next iteration; otherwise, proceed to step S447.

[0057] S447. Calculate the parameters to be optimized in the next iteration.

[0058]

[0059]

[0060]

[0061] Return to step S444 and proceed to the next iteration.

[0062] According to a second aspect of the embodiments of this application, this application also provides a zero-point calibration system for a table tennis serving robot, which includes a serving robot to be calibrated at zero point, a table tennis table, a vision system, and a calibration controller. The serving robot is disposed on one side of the table tennis table along its length, and both the serving robot and the vision system are connected to the calibration controller.

[0063] The calibration controller transmits the serving parameters to the serving robot based on the desired landing point, so that the serving robot serves N balls. For each ball served by the serving robot, the vision system will acquire the flight trajectory of the ping-pong ball and obtain the actual landing point of the serve based on the flight trajectory, and transmit the actual landing point value to the calibration controller.

[0064] After N serves, the calibration controller uses the average of the N actual landing points to obtain an estimated value of the actual landing point. It then compares this estimated value with the initially configured expected landing point to obtain the landing point error. When the landing point error meets the factory standard, the zero-point calibration of the serving robot is complete. Otherwise, the calibration count is accumulated, and it is determined whether it exceeds the maximum allowed number of calibrations. If it does, the zero-point calibration of the serving robot fails; otherwise, the serving parameters are adjusted using the Nelder-Mead optimization algorithm and transmitted to the serving robot to perform the serving action, and calibration is repeated.

[0065] As can be seen from the above specific embodiments of this application, it has at least the following beneficial effects: The zero-point calibration method for the table tennis serving robot provided by this application completes the zero-point calibration of the serving robot in an automated manner, which is effective and fast, conducive to the realization of unmanned factories, and can reduce the interference of human factors, effectively ensuring the consistency of products leaving the factory.

[0066] This application uses a function-oriented approach to perform zero-point calibration, which is more direct and can reduce the need for mechanically constrained assembly operations.

[0067] It should be understood that the above general description and the following specific embodiments are merely exemplary and illustrative, and do not limit the scope of the claims made in this application. Attached Figure Description

[0068] The accompanying drawings, which are part of the specification of this application, illustrate embodiments of the present application and are used together with the description of the specification to illustrate the principles of the present application.

[0069] Figure 1 This is one of the flowcharts for a zero-point calibration method for a table tennis serving robot, provided as a specific embodiment of this application.

[0070] Figure 2 The second flowchart illustrates a zero-point calibration method for a table tennis serving robot, provided for a specific implementation of this application.

[0071] Figure 3 This is a schematic diagram of the structure of a serving robot in a zero-point calibration method for a table tennis serving robot provided for a specific embodiment of this application.

[0072] Figure 4 This is a structural schematic diagram of a zero-point calibration system for a table tennis serving robot, provided for a specific embodiment of this application.

[0073] Explanation of reference numerals in the attached figures:

[0074] 1. Upper squeeze wheel; 2. Lower squeeze wheel; 3. Lateral rotation joint; 4. Pitch joint; 5. Left and right joints; 6. The ping-pong ball that is served. Detailed Implementation

[0075] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the spirit of the content disclosed in this application will be clearly explained below with reference to the accompanying drawings and detailed description. After understanding the embodiments of this application, any person skilled in the art can make changes and modifications based on the technology taught in this application without departing from the spirit and scope of this application.

[0076] The illustrative embodiments and descriptions provided in this application are for explaining the application, but are not intended to limit the application. Furthermore, elements / components using the same or similar reference numerals in the drawings and embodiments are used to represent the same or similar parts.

[0077] The terms “first,” “second,” etc., used in this document are not intended to specifically refer to order or sequence, nor are they used to limit this application; they are merely used to distinguish elements or operations described using the same technical terms.

[0078] The terms “include,” “including,” “have,” “contain,” etc., used in this article are all open-ended terms, meaning that they include but are not limited to.

[0079] The term "and / or" as used herein includes any or all of the things mentioned.

[0080] The term "multiple" in this article includes "two" and "more than two"; the term "multiple groups" in this article includes "two groups" and "more than two groups".

[0081] Certain terms used to describe this application will be discussed below or elsewhere in this specification to provide additional guidance to those skilled in the art in describing the application.

[0082] like Figure 1 and Figure 2 As shown in the embodiments of this application, the zero-point calibration method for a table tennis serving robot includes the following steps:

[0083] S1. Based on the theoretical flight model of table tennis, P = f(Q), configure a set of desired serve parameters Q for the robot. d And the expected landing point P of the ping-pong ball on the table. d (x d ,y d ).

[0084] Where Q represents the robot's desired serving parameters, and P represents the desired landing point of the ping-pong ball on the table.

[0085] like Figure 3As shown, the robot's desired ball-serving parameters are the desired control parameters of each drive unit of the robot, including the desired rotational speed n of the upper ball-squeezing wheel 1 during ball serving. up The expected rotational speed n of the lower extrusion ball wheel 2 down The desired angle q of the lateral rotation joint roll The desired angle q of the pitch joint pitch The expected angle q of the left and right joints yaw That is, Q = [n up ,n down ,q roll ,q pitch ,q yaw ].

[0086] A set of robot desired serve parameters Q d for:

[0087] S2, Control the serving robot to use the current zero-point offset value Q offset Determine the software zero position and serve N balls using the configured robot serving parameters.

[0088] S3. Use a vision system to obtain the landing point values ​​P of the N balls served by the ball-serving robot. ai (x ai ,y ai The specific process is as follows:

[0089] For each of the N balls served by the serving robot, the following processing is performed to obtain N landing points.

[0090] First, the vision system uses deep learning algorithms to identify the ping-pong ball from the binocular vision image and locate the center pixel of the ping-pong ball.

[0091] Secondly, a binocular vision algorithm is used to reconstruct the three-dimensional position of the center of the ping-pong ball, thus obtaining the position of the ping-pong ball at the current moment.

[0092] Finally, the lowest point P of the trajectory is found based on the position of the ping-pong ball throughout the entire flight time. ba (k), using the lowest point P of the trajectory ba (k) Six consecutive adjacent position points P ba (k-1) to P ba (k-6) Perform polynomial fitting to obtain the actual landing point P of the ping-pong ball's current trajectory. aj (x aj ,y aj The height of the landing point is the same as the height of the ping-pong table.

[0093] S4. Process the actual landing point of the current trajectory of the ping-pong ball to determine whether the zero-point calibration of the serving robot is successful. If yes, the calibration is successful; otherwise, adjust the zero-point offset value using the Nelder-Mead optimization algorithm, return to step S1, and re-execute each step of the zero-point calibration method until the zero-point calibration of the serving robot is successful. The specific process is as follows:

[0094] S41. Perform tail-cutting and mean-averaging on N landing points to obtain the estimated value P of the actual landing point of the repeated serve by the serving robot. a (x a ,y a ).

[0095] Specifically, the tail-cutting mean is the value that is closest to the expected landing point P. d (x d ,y d After determining the maximum and minimum distances to the landing points, the average of the x and y coordinates of the remaining landing points is calculated to obtain an estimated value P of the actual landing point. a (x a ,y a ).

[0096] S42. Based on the estimated value P of the actual landing point. a (x a ,y a ) and the configured expected landing point value P d (x d ,y d The serving error P of the current serving robot is obtained. e (x e ,y e );

[0097] S43. Determine whether the serving error meets the factory standard. If yes, the zero-point calibration is successful, and the current robot serving parameters are saved; otherwise, increment the calibration count and proceed to step S44.

[0098] S44. Determine whether the current calibration count n has reached the maximum calibration count n. max If so, the zero-point calibration of the serving robot fails, and the serving robot is unqualified; otherwise, the Nelder-Mead optimization algorithm is used to adjust the current zero-point offset value for recalibration.

[0099] In step S1 above, the specific process of obtaining the theoretical flight model P = f(Q) of the ping-pong ball is as follows:

[0100] S11. Using closed-loop control of a DC brushed motor, the linear velocity and rotational speed of the ping-pong ball 6 launched at different speeds of multiple sets of upper extrusion wheel 1 motors and lower extrusion wheel 2 motors are obtained.

[0101] S12. Obtain the desired linear velocity V of the ping-pong ball by fitting a polynomial using the least squares method. ball The rotation speed W during the table tennis period ball The expected rotational speed n of the upper extrusion ball wheel 1 up And the expected rotational speed n of the lower extrusion ball wheel 2 down Constraints:

[0102]

[0103] In the formula, k1, k2, k3, q1, q2 and q3 are all polynomial coefficients obtained by fitting.

[0104] S13. Based on the layout of the drive unit of the table tennis serving robot, establish as follows: Figure 3 The coordinate systems of the joints driven by the shown links are used to calculate the transformation matrices for each coordinate system as follows:

[0105] Transformation relationship between the base coordinate system and the world coordinate system T0 w for:

[0106]

[0107] The transformation relationship T1 between the coordinate system of the first link (used to connect the pitch joint and the left / right joint) and the coordinate system of link 0. 0 for:

[0108]

[0109] The transformation relationship between the coordinate system of the second link (used to connect the lateral rotation joint and the pitch joint) and the coordinate system of link 1. for:

[0110]

[0111] The transformation relationship between the coordinate system of the third link (used to connect the side-rotation joint and the upper extrusion ball wheel 1 and the lower extrusion ball wheel 2) and the coordinate system of link 2. for:

[0112]

[0113] Where L1, L2, and L3 represent the dimensional parameters of the first, second, and third links of the ball-serving robot, respectively. Using the product of the coordinate system transformation matrices of each link, the transformation matrix of the third link connecting the upper extrusion wheel 1 and the lower extrusion wheel 2 relative to the world coordinate system can be obtained as follows:

[0114]

[0115] S14. Based on the magnitude of the linear velocity V of the ping-pong ballball The rotation matrix of the third link relative to the world coordinate system can be used to obtain the linear velocity vector v of the ping-pong ball. b :

[0116]

[0117] Wherein, rotation matrix Transformation matrix T3 w The first 3 rows and the first 3 columns,

[0118]

[0119] S15, Based on the magnitude of the rotational speed W ball The rotation matrix of the third link relative to the world coordinate system can be used to obtain the ping-pong ball's rotational velocity vector w. b :

[0120]

[0121] S16, the starting position of the ping-pong ball's flight p b Transformation matrix T3 w The first three rows of the fourth column, that is:

[0122]

[0123] Therefore, in each drive unit control parameter Q = [n up ,n down ,q roll ,q pitch ,q yaw Given a specific condition, a unique set of initial states p for a ping-pong ball can be obtained. b ,v b and w b .

[0124] S17. Convert the dynamic model of a ping-pong ball flying in the air into a discrete model;

[0125] The dynamic model of a ping-pong ball flying through the air is as follows:

[0126]

[0127] in, Let ||V(t)|| represent the linear acceleration vector of the ping-pong ball (the differential of the linear velocity), ||V(t)|| represent the magnitude of the linear velocity of the ping-pong ball, and V(t) represent the linear velocity vector of the ping-pong ball. k c k represents the drag coefficient. b w represents the Magnus force coefficient. x w y w zLet g represent the three components of the ping-pong ball's rotational speed in a three-dimensional coordinate system, and let g represent the gravitational acceleration, which is a negative constant.

[0128] The dynamic model of a ping-pong ball flying through the air can be transformed into a discrete model as follows:

[0129]

[0130] Among them, T c V(k+1) and V(k) represent the discrete sampling period, respectively, and represent the linear velocity vectors of the ping-pong ball in the next period and the current period.

[0131] S18. The position of the ping-pong ball can be obtained by integrating the linear velocity vector V(i) of each period. Therefore, given the initial state p of the ping-pong ball b ,v b and w b In this case, the entire flight trajectory can be obtained using the dynamics model of the ping-pong ball in the air, and the landing point parameter P of this serve can also be obtained. Therefore, for any serve parameter Q, there is a unique landing point P that matches it, thus obtaining the relationship P = f(Q).

[0132] In step S44 above, considering the nonlinear model of the ping-pong ball's flight trajectory in the air, the Nelder-Mead optimization algorithm is used to obtain the theoretical control parameters of each drive unit of the serving robot corresponding to the current actual landing point: position control parameter Q. a (n), where n represents the number of calibrations. The parameter that needs to be adjusted in this application is the pitch joint angle q. pitch and the angles q of the left and right joints yaw The upper extrusion ball wheel rotates at speed n. up The lower extrusion ball wheel rotates at a speed of n. down And the lateral rotation joint angle q roll It is a fixed value and does not need to be adjusted.

[0133] Based on the actual landing point, a set of theoretical pitch joint angles can be determined. and theoretical left and right joint angles Therefore, the Nelder-Mead optimization algorithm can be used to solve nonlinear problems.

[0134] The Nelder-Mead optimization algorithm is a classic multidimensional nonlinear optimization algorithm. The specific process of adjusting the current zero-point offset value using the Nelder-Mead optimization algorithm is as follows:

[0135] S441. Constructing the optimization objective function Among them, (x j ,y j ) is the parameter q to be optimized. pitch and q yaw The value m in a certain iteration optimization j (q pj ,q yj Substituting this into the theoretical flight model of table tennis, P = f(Q), yields the landing point value.

[0136] S442, Configure the pitch joint angle value and left and right joint angle values As the initial value for algorithm iteration Where, q p0 q represents the pitch angle. y0 Indicates the yaw angle.

[0137] S443. Obtain the other two coordinates of the simplex using the single-dimensional expansion method. and Where, n e This represents the expansion factor, which can be adjusted according to the range of values ​​for the actual data.

[0138] S444. Calculate the objective function results for the three vertices of the simplex, and sort them in ascending order to obtain the corresponding parameters to be optimized. in, These represent the values ​​of the three vertices of the simplex during the iteration process;

[0139] if The result of the objective function meets the requirements. Once the desired parameters for optimization are obtained, the algorithm terminates.

[0140] if or If the algorithm gets stuck in a local optimum, the optimization fails, and the algorithm terminates.

[0141] Where, ε r ε represents the allowable error value for the optimization solution. J ε represents the minimum allowable difference in the objective function. m This represents the minimum allowable difference in the parameters to be optimized, and the superscript k indicates the number of iterations.

[0142] Otherwise, proceed to step S445.

[0143] S445. Calculate the average value of the parameter to be optimized.

[0144]

[0145] S446. Calculate the reflection point r of the parameter to be optimized. k and its objective function value J(r) k );

[0146]

[0147] if but Return to step S444 and proceed to the next iteration;

[0148] if Then calculate the extension point s k : If J(s) k )<J(r k ),but Return to step S444 to proceed to the next iteration; otherwise... Return to step S444 and proceed to the next iteration;

[0149] if The first type is the contraction point b. k for: If J(b) k )<J(r k ),but Return to step S444 for the next iteration; otherwise, proceed to step S447.

[0150] if Then the second type of contraction point c k for: if but Return to step S444 for the next iteration; otherwise, proceed to step S447.

[0151] S447. Calculate the parameters to be optimized in the next iteration.

[0152]

[0153]

[0154]

[0155] Return to step S444 and proceed to the next iteration.

[0156] The theoretical pitch joint angle of the serving robot corresponding to the actual landing point is obtained through the Nelder-Mead optimization algorithm. and theoretical left and right joint angles The adjustment amount of the zero-point offset can be obtained by subtracting the theoretical value and the expected value of the actual landing point.

[0157] That is, the offset of the pitch joint angle is:

[0158]

[0159] The offset of the left and right joint angles is:

[0160]

[0161] Adjust the zero offset value Q offset (Δq pitch (n), Δq yaw After (n)), return to step S442.

[0162] Based on the zero-point calibration method for the table tennis serving robot provided in the embodiments of this application, such as Figure 4 As shown, this application also provides a zero-point calibration system for a table tennis serving robot, which includes a serving robot to be calibrated at zero point, a table tennis table, a vision system, and a calibration controller. The serving robot is set on one side of the table tennis table along its length, and both the serving robot and the vision system are connected to the calibration controller.

[0163] The calibration controller transmits the serving parameters to the serving robot based on the desired landing point, enabling the robot to serve N balls. For each ball served, the vision system captures the ball's flight trajectory and determines the actual landing point, transmitting this value to the calibration controller. After N serves, the calibration controller uses the tail-average of the N actual landing point values ​​to obtain an estimated landing point. This estimated landing point is compared to the initially configured desired landing point to determine the landing point error. If the landing point error meets the factory standard, the robot's zero-point calibration is complete. Otherwise, the calibration count is accumulated, and it is determined whether the maximum allowed number of calibrations has been exceeded. If so, the zero-point calibration of the serving robot fails and is deemed unqualified. Otherwise, the Nelder-Mead optimization algorithm is used to adjust the serving parameters and transmit them to the serving robot for a new serving action, and calibration is performed again.

[0164] It should be noted that the table tennis serving robot zero-point calibration system provided in the above embodiments is only an example of the division of the above program modules. In practical applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the table tennis serving robot zero-point calibration system can be divided into different program modules to complete all or part of the processing described above. In addition, the table tennis serving robot zero-point calibration system and the table tennis serving robot zero-point calibration method embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0165] The embodiments of this application described above can be implemented in various hardware, software codes, or combinations thereof. For example, embodiments of this application can also be program code executing the methods described above in a data signal processor. This application can also relate to various functions executed by a computer processor, digital signal processor, microprocessor, or field-programmable gate array. The processor described above can be configured to perform specific tasks according to this application, which is accomplished by executing machine-readable software code or firmware code defining the specific methods disclosed in this application. The software code or firmware code can be developed into different programming languages ​​and different formats or forms. The software code can also be compiled for different target platforms. However, the different code styles, types, and languages ​​of the software code performing tasks according to this application and other types of configuration code do not depart from the spirit and scope of this application.

[0166] The above description is merely an illustrative embodiment of this application. Any equivalent changes and modifications made by those skilled in the art without departing from the concept and principles of this application shall fall within the scope of protection of this application.

Claims

1. A method for zero-point calibration of a table tennis serving robot, characterized in that, Includes the following steps: Based on the theoretical flight model of table tennis, a set of expected serve parameters for the robot and expected landing point values ​​of the table tennis ball on the table are configured. The robot is controlled to determine the software zero position based on the current zero offset value, and to serve N balls with the configured robot serving parameters; The landing point values ​​of N balls served by the ball-serving robot are obtained using a vision system; The actual landing point of the current trajectory of the ping-pong ball is processed to determine whether the zero-point calibration of the serving robot is successful. If it is, the calibration is successful; otherwise, the zero-point offset value is adjusted using the Nelder-Mead optimization algorithm, and the software zero position is re-determined until the zero-point calibration of the serving robot is successful. The process of obtaining the theoretical flight model of the ping-pong ball is as follows: By utilizing the closed-loop control of a DC brushed motor, the linear velocity and rotational speed of the ping-pong ball launched at different speeds of multiple sets of upper and lower extrusion wheel motors are obtained. The desired linear velocity of a ping-pong ball is obtained by fitting a polynomial using the least squares method. The spin speed during the table tennis period Expected rotational speed of the upper extrusion roller and the expected rotational speed of the lower extrusion ball wheel Constraints: , In the formula, , , , , and All are polynomial coefficients obtained through fitting; Based on the speed of the table tennis ball The rotation matrix of the third member relative to the world coordinate system yields the linear velocity vector of the ping-pong ball. : , Wherein, rotation matrix for ; The third link is used to connect the lateral rotation joint and the upper and lower ball-squeezing wheels in the table tennis serving robot. This indicates the desired angle of the lateral rotation joint. This indicates the desired angle of the pitch joint. Indicates the desired angle of the left and right joints; Based on the magnitude of rotation speed The rotation matrix of the third member relative to the world coordinate system yields the ping-pong ball's rotational velocity vector. : ; The starting position of the ping-pong ball's flight for: , Control parameters of each drive unit Given a specific set of initial states for a ping-pong ball, obtain a unique set of initial states. , and ; The dynamic model of a ping-pong ball flying through the air is converted into a discrete model; The dynamic model of a ping-pong ball flying through the air is as follows: ; in, This represents the acceleration vector of the ping-pong ball's string. Indicates the magnitude of the linear velocity of a ping-pong ball. This represents the linear velocity vector of a ping-pong ball. Indicates the drag coefficient. Indicates the Magnus force coefficient. , , These represent the three components of the ping-pong ball's spin velocity in a three-dimensional coordinate system. Represents gravitational acceleration; The dynamic model of a ping-pong ball flying through the air can be transformed into a discrete model as follows: , in, Indicates the discrete sampling period. and These represent the linear velocity vectors of the ping-pong ball in the next cycle and the current cycle, respectively. Linear velocity vectors in each period The position of the ping-pong ball is obtained by accumulating points. Given the initial state of the ping-pong ball , and In this case, the entire flight trajectory of the ping-pong ball is obtained using a dynamic model of its flight in the air, in order to obtain the landing point parameters for this serve. .

2. The zero-point calibration method for a table tennis serving robot according to claim 1, characterized in that, The process of using a vision system to obtain the landing point values ​​of the N balls served by the ball-serving robot is as follows: The vision system uses deep learning algorithms to identify ping-pong balls from binocular vision images and locate the center pixel of the ping-pong ball; Using a binocular vision algorithm, a 3D reconstruction of the center position of a ping-pong ball is completed to obtain the current position of the ping-pong ball; Find the lowest point of the trajectory based on the position of the ping-pong ball throughout the entire flight time. Using the lowest point of the trajectory Six consecutive adjacent location points to Perform polynomial fitting to obtain the actual landing point of the ping-pong ball's current trajectory. The height of the landing point is the same as the height of the ping-pong table.

3. The zero-point calibration method for a table tennis serving robot according to claim 1, characterized in that, The process of processing the actual landing point of the current trajectory of the ping-pong ball to determine whether the zero-point calibration of the serving robot is successful is as follows: The estimated actual landing points of the serving robot's repeated serves are obtained by averaging the results from the N landing points. ; Based on the estimated value of the actual landing point and the configured expected landing point value Obtain the serving error of the current serving robot. ; Determine if the serving error meets the factory standard. If yes, the zero-point calibration is successful, and the current robot serving parameters are saved; otherwise, increment the calibration count and further determine the current calibration count. Has the maximum number of calibrations been reached? If so, the zero-point calibration of the serving robot fails, and the serving robot is unqualified; otherwise, the Nelder-Mead optimization algorithm is used to adjust the current zero-point offset value for recalibration.

4. The zero-point calibration method for a table tennis serving robot according to claim 3, characterized in that, The process of adjusting the current zero-point offset value using the Nelder-Mead optimization algorithm is as follows: S441. Constructing the optimization objective function ,in, These are parameters to be optimized. and A certain iteration optimization value Substitute it into the theoretical flight model of table tennis The obtained landing point value; S442, Configure the pitch joint angle value and left and right joint angle values As the initial value for algorithm iteration ,in, Indicates pitch angle, Indicates the yaw angle; S443. Obtain the other two coordinates of the simplex using the single-dimensional expansion method. and ,in, Indicates the expansion factor; S444. Calculate the objective function results for the three vertices of the simplex, and sort them in ascending order to obtain the corresponding parameters to be optimized. ;in, , , These represent the values ​​of the three vertices of the simplex during the iteration process; if If the result of the objective function meets the requirements, The desired parameters to be optimized are set; the algorithm terminates. if or If the algorithm gets stuck in a local optimum, the optimization fails, and the algorithm terminates. in, This represents the allowable error value for the optimization solution. This represents the minimum allowable difference in the objective function. Indicates the minimum allowable difference in the parameter to be optimized, indicated by the superscript. Indicates the number of iterations; Otherwise, proceed to step S445; S445. Calculate the average value of the parameter to be optimized. : ; S446. Calculate the reflection point of the parameter to be optimized. and its objective function value ; ; if ,but Return to step S444 and proceed to the next iteration; if Then calculate the extension point. ;if ,but Return to step S444 to proceed to the next iteration; otherwise... Return to step S444 and proceed to the next iteration; if The first type is the contraction point. for: ,if ,but Return to step S444 and proceed to the next iteration; otherwise, proceed to step S447. if Then the second type of contraction point for: ,if ,but Return to step S444 and proceed to the next iteration; otherwise, proceed to step S447. S447. Calculate the parameters to be optimized in the next iteration. : , , , Return to step S444 and proceed to the next iteration.

5. A zero-point calibration system for a table tennis serving robot employing the zero-point calibration method as described in any one of claims 1-4, characterized in that, The system includes a ball-serving robot to be calibrated at zero point, a ping-pong table, a vision system, and a calibration controller. The ball-serving robot is located on one side of the ping-pong table along its length, and both the ball-serving robot and the vision system are connected to the calibration controller. The calibration controller transmits the serving parameters to the serving robot based on the desired landing point, so that the serving robot serves N balls. For each ball served by the serving robot, the vision system will acquire the flight trajectory of the ping-pong ball and obtain the actual landing point of the serve based on the flight trajectory, and transmit the actual landing point value to the calibration controller. After N serves, the calibration controller uses the average of the N actual landing points to obtain an estimated value of the actual landing point. It compares the estimated value of the actual landing point with the initially configured expected landing point to obtain the landing point error. When the landing point error meets the factory standard, the zero-point calibration of the serving robot is completed. Otherwise, the calibration count is accumulated and it is determined whether it exceeds the maximum allowed number of calibration counts. If it does, the zero-point calibration of the serving robot fails. Otherwise, the serving parameters are adjusted using the Nelder-Mead optimization algorithm and transmitted to the serving robot to perform the serving action and recalibrate.