Humanoid robot linear electric joint cogging torque compensation and evaluation method based on data driving
Through the data-driven method, the mapping relationship between motor position and cogging torque is established, and the problems of long time, difficulty in operation and poor accuracy of linear electric joint cogging torque compensation of humanoid robots are solved, and efficient and accurate cogging torque compensation is achieved.
Patent Information
- Application Number
- CN202510514891.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-23
- Publication Date
- 2025-06-24
AI Technical Summary
The existing cogging torque compensation method for linear electrical joints of humanoid robots consumes time, is difficult to operate, and has poor accuracy.
Using a data-driven method, by rotating the motor forward and reverse directions one round, sampling the current and recording the motor position, establishing a mapping relationship between the forward and reverse current and the motor position, and then calculating the cogging torque and compensating. The method also includes correction and delay compensation based on the actual rotation speed of the motor to improve compensation accuracy and robustness.
It realizes the time-consuming, simple operation, high compensation accuracy and good robustness, and can effectively improve the low-speed movement ability of the linear electrical joint of the humanoid robot.
Smart Images

Figure CN120200521A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of the control of linear electric joints of humanoid robots, and particularly relates to a method for compensating and evaluating cogging torque of a linear electric joint of a robot. Background Art
[0002] Humanoid robots are forward-looking future industries, with broad application prospects in the fields of intelligent manufacturing, military defense, education and entertainment, etc., and the market scale is growing rapidly. As one of the core components, the research situation of linear joint drivers determines the development speed of humanoid robots. For the linear electric joints of humanoid robots, there are still the following problems to be solved:
[0003] In order to make the movements of humanoid robots more smooth and silky, it is necessary to compensate the cogging torque of the motors of joint actuators to improve their low-speed motion capabilities. Since the linear electric joints of robots often have a high degree of integration of motors and reducers. Taking the linear joint as an example, the motor + lead screw mode is often adopted, which makes it difficult to test the motor alone. Therefore, the direct acquisition method cannot be used, and only the specific value of the cogging torque can be indirectly calculated by sampling current / voltage, etc. In the indirect sampling method, the position-based acquisition method takes a long time and requires many parameters to be adjusted; while the acceleration-based acquisition method has a large operation difficulty and its accuracy is easily affected. In addition, for traditional cogging torque compensation methods, their compensation depends on obtaining the expression of cogging torque after harmonic analysis of data, and this method has relatively poor robustness. Summary of the Invention
[0004] The purpose of the present invention is to solve the problems of long time consumption, difficult operation and poor accuracy of the current cogging torque compensation method for linear joints of humanoid robots.
[0005] A method for compensating cogging torque of a linear electric joint of a humanoid robot based on data driving, comprising:
[0006] Let the motor rotate one circle forward and backward respectively, sample the forward and backward currents at a fixed sampling time, and record the motor position θ and the corresponding current i at this position q ; Determine the number of sampling points within the sampling time according to the rotation speed of the motor, and calculate the number of motor position points, obtain the mapping relationship between the forward and backward currents and the motor position, and use the forward and backward currents to represent the motor position points;
[0007] Based on the relationship between the cogging torque and the forward and backward currents, obtain the mapping relationship between the position of the motor represented by the forward and backward currents and the corresponding cogging torque, and then compensate the joint cogging torque based on the mapping relationship between the position of the motor represented by the forward and backward currents and the corresponding cogging torque.
[0008] Further, the rotational speed of the motor corresponds to the number of sampling points within the sampling time where ω set is the desired rotational speed of the motor; T sample is the sampling time; k' is the conversion coefficient when the motor rotational speed is converted to the unit of the sampling time according to the unit conversion
[0009] Further, the order of magnitude of the number of sampling points M is equal to that of 2 N where N is the number of bits of the data of the sampling signal processing device
[0010] Further, the interval between each position point corresponding to the motor position is where N is the number of bits of the data of the sampling signal processing device
[0011] Further, the relationship between the electromagnetic torque of the motor and the current is as follows:
[0012] The calculation formula for the cogging torque is:
[0013]
[0014] In the formula, T e1 , T e2 are the electromagnetic torques when the permanent magnet synchronous motor rotates in the positive direction and the negative direction respectively, and T cog is the cogging torque of the permanent magnet synchronous motor
[0015]
[0016] In the formula, T e is the electromagnetic torque of the motor, which corresponds to T e1 , T e2 when rotating in the positive direction and the negative direction respectively; p is the number of pole pairs of the motor, and ψ f is the rotor magnetic flux of the motor
[0017] Further, in the process of compensating the joint cogging torque based on the mapping relationship between the position of the motor represented by the positive and negative currents and the corresponding cogging torque, it is also necessary to determine the compensation torque relationship based on the communication delay:
[0018] θ com = θ real + k·ω real
[0019] where ω real is the actual speed of the motor; θ com is the angle corresponding to the compensation torque, θ real is the actual angle of the motor, corresponding to 2 N position points, N is the number of bits of the data of the sampling signal processing device; k is the delay compensation coefficient
[0020] Furthermore, the delay compensation coefficient is as follows:
[0021]
[0022] Wherein, t is the delay time, N is the number of bits of data of the sampling signal processing device, and M' is the conversion coefficient for converting the motor speed from the unit conversion to the unit of the sampling time and then to the unit of the delay time.
[0023] Furthermore, the delay compensation coefficient k needs to be determined based on the average value of the delay correction coefficients measured at different speeds.
[0024] Furthermore, the process of compensating the joint cogging torque based on the position of the motor represented by the forward and reverse currents and the corresponding cogging torque mapping relationship is as follows:
[0025] Based on the obtained delay correction coefficient, cogging torque compensation is performed. After the cogging torque compensation calculated for the first time enters the motor, it is judged whether it meets the expected speed variance. If not, sampling is performed again. After sampling, the cogging torque collected for the second time is calculated and compensated again, and so on, until the motor speed fluctuation is less than the expected speed variance.
[0026] A method for evaluating the cogging torque compensation of a linear electric joint of a humanoid robot based on data driving uses a compensation effect index to evaluate the effect after compensating the cogging torque of the linear electric joint of the humanoid robot based on data driving. The compensation effect index includes the linear joint cogging ripple coefficient, and the linear joint cogging ripple coefficient is as follows:
[0027]
[0028] In the formula, Icog max and lcog min are respectively the maximum and minimum values of the current corresponding to the cogging torque, T r is the linear joint cogging ripple coefficient, k T is the torque coefficient of the joint motor, η is the efficiency of the planetary roller screw, P is the lead of the planetary roller screw, and T n is the maximum output force of the linear electric joint.
[0029] Beneficial effects:
[0030] The cogging torque compensation method for the linear joint of the humanoid robot of the present invention has a short compensation time and is simple to operate. After three compensations in the present invention, by calculating the remaining cogging torque, the torque pulsation rate is reduced by 90.2%, and it has very good compensation accuracy. Moreover, the present invention has very good robustness and can effectively compensate the cogging torque of the linear joint of the humanoid robot. Description of the Drawings
[0031] Figure 1 It is a sectional view of a joint of a linear electric joint.
[0032] Figure 2 It is the overall flowchart of the cogging torque compensation method.
[0033] Figure 3 It is a schematic diagram of the forces acting on the motor rotating at a constant speed.
[0034] Figure 4 It is a schematic diagram of the motor speed before and after iteration.
[0035] Figure 5 It is a schematic diagram of the signal transmission process of cogging torque compensation.
[0036] Figure 6 It is a schematic diagram of the test process of the delay correction coefficient.
[0037] Figure 7 It is a schematic diagram of the comparison of the motor speed before and after the first compensation.
[0038] Figure 8 It is a schematic diagram of the comparison of the cogging torque before and after the first compensation.
[0039] Figure 9 It is a schematic diagram of the test of the delay correction coefficient under the condition of 50 rpm.
[0040] Figure 10 It is a schematic diagram of the test of the delay correction coefficient under the condition of 75 rpm.
[0041] Figure 11 It is a schematic diagram of the test of the delay correction coefficient under the condition of 100 rpm.
[0042] Figure 12 It is a variance diagram of the motor for testing the delay correction coefficient k (accurate to one decimal place). Specific implementation manner
[0043] The present invention relates to a core component of a humanoid robot: a linear electric joint; specifically, it proposes a data-driven compensation method for the cogging torque compensation of the linear electric joint of a humanoid robot. For the linear electric joint, under the limited conditions of the total joint stroke and the inability to sample the motor using the direct sampling method, indirect sampling is used at the joint level. Before sampling, the expected motor speed variance is set, and the motor speed and sampling time are designed to ensure that the motor only needs to rotate one circle in each of the forward and reverse directions to complete sampling, without exceeding the total stroke of the linear joint. After sampling, the obtained data is processed through a data rectification program to obtain the mapping relationship between the motor position and the cogging torque. A large amount of rectified data is used as the driving force for direct compensation, without relying on the existing formula for injecting cogging torque current harmonics. During compensation, a correction based on the actual motor speed is added to compensate for the phase difference caused by the delay in the communication process. The delay time is calculated through theoretical analysis, and the conversion formula between the delay time and the delay correction coefficient is obtained. An experiment is designed and verified to significantly improve the robustness of the compensation scheme while ensuring the compensation accuracy. After compensation, in addition to calculating the speed variance, the present invention proposes the "cogging ripple coefficient of the linear joint", which reflects the proportion of the cogging torque in the total output force of the linear joint. Based on the speed variance, it is judged whether the expected speed variance is satisfied. If it is satisfied, the compensation is completed. If not, sampling and compensation are performed again based on the current sampling data until the expectation is met. Specific Embodiment 1:
[0045] This embodiment is a data-driven method for compensating the cogging torque of a linear electric joint of a humanoid robot.
[0046] The present invention is directed to the linear electric joint of a humanoid robot, and the linear joint has a higher degree of integration compared to a single motor. As Figure 1 shown, for the linear electric joint, 1 - the motor stator is fixed to the housing of the joint, 2 - the motor rotor meshes with 8 - the joint main shaft, the main shaft and 4 - the ball screw cage are connected together by a key, the rollers are inside the cage, driving 3 - the screw to move axially, 7 - the bearing provides radial support, and 9 - the bearing and 10 - the locking nut provide axial support; 5 and 6 are the control board and the position information board respectively, both integrated on the joint. The high integration of each structure makes it impossible to directly measure the cogging torque of the motor using equipment, and the total stroke of the linear joint is limited, so sampling must be completed within its limited stroke. Figure 1 For the joint shown, the stroke does not exceed 100 mm, and the corresponding number of motor rotation circles does not exceed 20 circles. Therefore, for the linear electric joint, based on the indirect acquisition method, a sampling method in which the motor rotates only one circle is designed, and the cogging torque is calculated through the collected current, and the delay correction coefficient of the test system is measured for compensation. The specific process includes:
[0047] Sampling the motor position and current of the joint motor:
[0048] Traditional methods are based on the position loop and perform motion at a fixed step size (such as 0.5°). After each step of motion, it stops, then samples the current, and calculates the cogging torque through the currents obtained in the forward and reverse directions. This method has a long sampling time and requires tuning the parameters of the current loop, speed loop, and position loop. In particular, the position loop parameters need special adjustment, requiring fast response and no overshoot. In addition, the sampling method based on acceleration not only has difficulty ensuring sampling accuracy but is also limited by the stroke of the linear joint, which brings great difficulties to the operation.
[0049] The present invention is based on the motor speed loop and sets the sampling method: when the electric joint moves at a low speed (should be less than 10 rpm, taking 1 rpm as an example in the present invention) at a uniform speed, it samples at a fixed sampling time (taking 1 ms as an example in the present invention); based on the sampling method, the motor rotates one full circle (mechanical angle, to ensure that it does not exceed the total stroke of the linear joint) in the forward and reverse directions respectively and samples the current. The overall process is as Figure 2 shown. It should be noted that: during the process of the motor rotating forward and reverse based on the sampling method, actually rotating multiple circles is also possible. Rotating multiple circles is essentially the same principle as rotating 1 circle. Considering that rotating one circle can achieve compensation and is faster, in this embodiment, it is set to rotate one full circle in the forward and reverse directions respectively.
[0050] Figure 3 is the force analysis diagram when the motor in the linear electric joint rotates at a uniform speed. Through the force analysis during uniform motion as Figure 3 shown, based on the torque balance condition, the calculation formula for the cogging torque is obtained;
[0051] The torque balance condition is as follows. Taking the clockwise direction of the motor as the positive direction and assuming that the motor electromagnetic torque is always in the positive direction, from:
[0052] T e1 -T cog -+ frc1 -Bω = 0
[0053] T e2 -T cog +T frc2 +Bω = 0
[0054] The calculation formula for the cogging torque is:
[0055]
[0056] In the formula, T e1 , T e2 are the electromagnetic torques when the permanent magnet synchronous motor rotates in the positive and negative directions respectively, T tog is the cogging torque of the permanent magnet synchronous motor, T frc1, T frc2 are the friction torques when the permanent magnet synchronous motor rotates in the positive and negative directions respectively, B is the damping coefficient of the permanent magnet synchronous motor, and ω is the rotational speed of the permanent magnet synchronous motor.
[0057] Also, because
[0058]
[0059] In the formula, T e is the electromagnetic torque of the permanent magnet synchronous motor, p is the number of pole pairs of the permanent magnet synchronous motor, and ψ f is the rotor magnetic flux of the permanent magnet synchronous motor.
[0060] From the above formula, the motor torque T e is proportional to the current i q . Then, by sampling and processing the current i q , the current corresponding to the cogging torque of the motor can be obtained. Therefore, in this invention, taking the rotational speed of 1 rpm and the sampling frequency of 1 ms as an example, the motor of the linear electric joint rotates forward and backward respectively at the rotational speed of 1 rpm for one full circle. During the process, the sampling frequency is constantly 1 ms, and the motor position θ and the corresponding current i q at this position are recorded. Based on the collected forward and reverse currents, the data is processed by the data calibration program to obtain the mapping relationship between the joint position and its corresponding current, and then compensation is performed. The data processing flow is as follows:
[0061] Based on data-driven:
[0062] To ensure sufficient data volume, the mechanical angle of the motor is modified in the FPGA. Since the sampling frequency is 1 ms, the number of sampling points that can be collected when the motor rotates one circle is 60,000. In order to make the number of motor position points collected within one circle and the number of sampling points collected basically the same, 16-bit data is used to represent the motor position in the FPGA, that is, the mechanical angle of the motor is modified from 360° to 2 16 , then 2 16 position points can be sampled during sampling, and the interval between each position point is
[0063] The motor rotational speed ω set (rpm), the sampling time T sample (s) and the number of data bits N of the joint position (16 in this embodiment) should satisfy the following settings to ensure that the motor can complete sampling by rotating only one circle and avoid exceeding the stroke of the linear joint:
[0064]
[0065] It should be noted that: 60 in the above formula is for the desired motor rotational speed ω setThe conversion coefficient when converting to the unit of sampling time according to the unit rpm, that is, the conversion from rpm to rps, is actually the conversion coefficient between minutes and seconds. If other units are used for representation, the conversion coefficient needs to be adjusted accordingly.
[0066] The modification of the motor angle provides a large data sample, ensuring the sampling accuracy of the cogging torque and thus improving the compensation effect. In addition, since the data sample is large enough, this method only needs to use the data tuning program to complete the data processing of the motor position and the cogging torque current, and then the cogging torque information of the motor of the linear electric joint can be obtained, without the need for FFT harmonic analysis of the cogging torque data, which improves the data processing speed. Moreover, based on the collected data, the compensation effect can still be calculated subsequently to determine whether it meets the expectation. Therefore, it is called a data-driven method.
[0067] Data tuning program:
[0068] Since the set sampling speed is 1 rpm, the angle that the motor rotates per 1 s is:
[0069]
[0070] Also, since the sampling frequency is 1 ms, the number of samples of the motor per 1 s is 1000 < 1092.267. This indicates that during the sampling process, the cogging torque current at all 2 16 positions cannot be collected, and there are gaps in the position points; in addition, due to the communication delay in the actual experiment, there may be some position information of data points that is the same, and there are duplicates in the position points.
[0071] Therefore, a data tuning program is needed to process the collected data, including: deleting duplicate position points and the corresponding current data; supplementing the missing position points and the corresponding current data in the 2 16 position points;
[0072] Calculating the mapping relationship between each position point and the corresponding cogging torque through the forward and reverse currents. After sampling and completing the data tuning, the position of the motor and the corresponding cogging torque are saved as a large amount of data in a CSV file, and these data directly reflect the basic information of the cogging torque.
[0073] Correction of the system communication delay:
[0074] During the compensation process of the cogging torque, due to the communication delay between the hardware parts of the upper computer, there is a deviation in the phase between the compensation torque (current) and the actual cogging torque, which affects the compensation effect. The greater the motor speed, the greater the phase difference and the worse the compensation effect, and even a counterproductive effect may occur. Therefore, in the compensation process of the cogging torque of the present invention, a speed-based correction method for the system communication delay is proposed: based on the actual speed ω of the motor real, set the delay compensation coefficient k to read the compensation position in advance, so as to optimize the phenomenon of "lag" of the compensation torque during the compensation process:
[0075] θ com = θ real + k·ω real
[0076] In the formula, ω real The unit is rpm; θ com Is the angle corresponding to the compensation torque, corresponding to 2 in the FPGA 16 Position points; θ real Is the actual angle of the motor.
[0077] The coefficient k represents the "delay time" after dimension unification. If calculated according to the system delay time t, the formula is as follows:
[0078]
[0079] It should be noted that: the 1000 here is actually the conversion coefficient for the motor speed to be converted from the unit rpm to rps (conversion of 60) and then to the unit of delay time, that is, the conversion coefficient between seconds (minutes / 60) and milliseconds. If other units are used, the conversion coefficient needs to be adjusted accordingly.
[0080] Get
[0081] k = 1.09227t
[0082] The signal flow is as Figure 5 Shown. The position information of the motor is collected in real time by the Stm32 position control board. When performing cogging torque compensation, the FPGA calls the motor position from the Stm32 board. After obtaining the motor position information, it sends the Pdo parameters to the real-time communication of the host computer. Then, the host computer control interface reads the position information through ROS, and then through the shared memory, based on the position information, obtains the corresponding cogging torque compensation current information, and then transfers the Pdo parameters to the FPGA. Finally, the FPGA chip feeds the current forward to compensate into the linear joint. The delay time t is calculated as follows:
[0083] t = t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8
[0084] Among them, t1, t2, t3, and t8 are the communication delays between the FPGA and the Stm32, and each item is about 0.1ms; while t4 and t7 are the communication delays between the FPGA and the real-time process of the host computer, and each item is 1.5ms; t5 and t6 are the delays between the real-time process (communication) of the host computer and the control interface, about 1ms. Then t≈5.4ms, and k≈5.9.
[0085] Measure the communication delay correction coefficient k and the communication delay time t in the actual cogging torque compensation process:
[0086] In the process of transmitting the corresponding compensation current (t6) from the host computer control interface to the underlying real-time process through shared memory, in the cogging torque reading program, add the delay correction coefficient k to read the cogging torque current at a certain phase in advance. The expression is θ com =θ real +k·ω real .
[0087] The specific process for testing the delay correction coefficient k of the linear electric joint is as Figure 6 shown. Set n rotational speeds. Starting from the i-th (i = 1) speed, test the specific data of the delay correction coefficient k respectively. Under the condition of a certain rotational speed, gradually increase the value of the delay correction coefficient k at a certain step size, and then observe the speed fluctuation effect of the motor after cogging torque compensation until the speed fluctuation range first decreases and then increases. Record the delay correction coefficient k with the smallest speed fluctuation i . Then let i = i + 1, adjust the rotational speed, and continue the test. After the test is completed, calculate the delay correction coefficient k measured at different speeds i and take the average value to obtain the delay correction coefficient
[0088] Theoretically speaking, if the delay correction coefficient is exactly at the most suitable point, the speed fluctuation of the motor is the smallest at this time. Whether the delay correction coefficient is too large or too small will cause the speed fluctuation to increase. Therefore, in this embodiment, it is hoped to gradually increase the coefficient k until the process of speed fluctuation first decreases and then increases appears, and find the delay correction coefficient k corresponding to the smallest speed fluctuation. At different speeds, check whether the delay correction coefficients are consistent, and then take the average to obtain the finally determined k
[0089] After obtaining the delay correction coefficient, perform cogging torque compensation and judge whether it meets the expected speed variance. Since there is no cogging torque compensation during the first acquisition, there may be large speed fluctuations during the acquisition process, which affects the acquisition effect of the cogging torque and results in the speed variance after compensation still being greater than the expected speed variance. Therefore, the cogging torque calculated for the first time can be compensated into the motor and then acquired again. As Figure 4 shown, still let the motor run at a constant speed of 1 rpm, with a sampling interval of 1 ms. After sampling, calculate the cogging torque collected for the second time and compensate again. Since the speed fluctuation is greatly suppressed during the second sampling process because of the addition of cogging torque compensation, the cogging torque collected for the second time will be more accurate than the first time, and its compensation effect will also be better. And so on until the motor speed fluctuation is less than the expected speed variance. In this invention, taking three acquisitions as an example, while ensuring the compensation accuracy, the sampling time is reduced Embodiment 2:
[0091] This embodiment is a method for evaluating the cogging torque compensation of a linear electric joint of a humanoid robot based on data driving. The present invention also proposes an index for evaluating the effect after compensation of a method for compensating the cogging torque of a linear electric joint of a humanoid robot based on data driving, that is, a compensation effect index. The compensation effect index includes the cogging ripple coefficient of the linear joint. It should be noted that in fact, the compensation effect index includes but is not limited to the cogging ripple coefficient of the linear joint, and other indexes can also be combined for evaluation, such as the peak-to-peak value of the motor speed and the variance of the motor speed.
[0092] In this embodiment, the cogging ripple coefficient of the linear joint is mainly described as follows:
[0093]
[0094] In the formula, Icog max and Icog min are respectively the maximum and minimum values of the current corresponding to the cogging torque, T r is the cogging ripple coefficient of the linear joint, k T is the torque coefficient of the joint motor, η is the efficiency of the planetary roller screw, P is the lead of the planetary roller screw, and T n is the maximum output force of the linear electric joint.
[0095] This embodiment proposes the cogging ripple coefficient of the linear joint, which can describe the magnitude of the cogging torque of the motor from the joint level, reflect the proportion of the cogging torque relative to the overall output force of the linear joint, and reflect the magnitude and proportion of the cogging torque, and can effectively evaluate the cogging torque compensation effect of the linear electric joint of a humanoid robot.
[0096] Example
[0097] Cogging torque sampling: First, let the linear electric joint rotate forward and backward at a speed of 1 rpm respectively for one full circle. During the process, the sampling frequency is 1 ms, the motor position information is 16-bit data, and the motor position and the corresponding current i q are recorded. Then, according to Figure 3 the force diagram, the data calibration program is used to process and calculate the cogging torque to obtain the cogging torque data of the first sampling.
[0098] After theoretically deriving and testing the delay correction coefficient, cogging torque compensation is performed: Under the speed loop of the electric joint, first set the desired speed. In the present invention, 50 rpm, 75 rpm, and 100 rpm are taken as examples. Keeping the speed constant, gradually increase the delay correction coefficient k i, after the motor speed fluctuation first decreases and then increases, record the coefficient k corresponding to the minimum fluctuation i , then test the next speed until all speeds are tested, calculate the average coefficient k, then calculate the communication delay t, and compare it with the theoretically derived value. Finally, according to the actual speed, adjust the "position" information of the motor read during cogging torque compensation, add the coefficient k before the "position", and the pseudo-code is shown in Table 1 for cogging torque compensation. This invention takes the delay correction coefficient k accurate to the units digit as an example.
[0099] Compensate the first data into the electric joint, give a speed step signal of 20 rpm, record the motor speed of the joint, and process its speed variance, as Figure 7 and Figure 8 shown, and determine whether it meets the expected speed variance index.
[0100] Table 1 Pseudo-code for sampling and calculation of cogging torque of linear electric joint
[0101]
[0102] Test the linear joint, test the coefficient at speeds of 50 rpm, 75 rpm and 100 rpm respectively, and the results are shown in Table 2 and Figure 12 shown, and it is found that at 50 rpm, when the speed variance is the smallest, k = 6.0; while under the conditions of 75 rpm and 100 rpm, the coefficient k with the smallest joint speed variance = 5.9.
[0103]
[0104] Table 2 Test results of delay compensation coefficient k (accurate to 1 decimal place)
[0105]
[0106] If it does not meet the index, sampling can still continue. The rotational speed of the motor at 1 rpm will be as Figure 4 shown, and it will gradually stabilize as the number of sampling times increases. The operation process is the same as above. Sampling is done three times in total, and the total sampling time of cogging torque does not exceed 10 minutes. After the 3rd compensation, by calculating the remaining cogging torque, the torque ripple rate is reduced by 90.2%. Special note: To prevent the contingency of a single experiment, let the motor run at a speed of 20 rpm, and the motor moves uniformly for 5 circles to collect and analyze data; the calculation of the remaining cogging torque is obtained by subtracting the data collected this time (the (i + 1)th time, i ≥ 1, i ∈ N+) from the data collected in the previous time (the ith time). The data processing is shown in Table 3 until it meets the expectation.
[0107] Table 3 Data of three iterations of compensation for linear electric joint
[0108]
[0109] The effects are described mainly with reference to the following indicators:
[0110] (1) The peak-to-peak value of the motor speed, reflecting the fluctuation range of the motor speed:
[0111] ω pp = ω max - ω min
[0112] Among them, ω pp is the peak-to-peak value of the motor speed, ω max and ω min are the maximum and minimum values of the speed respectively.
[0113] (2) The variance of the motor speed, reflecting the degree of dispersion of the motor speed:
[0114]
[0115] Among them, S 2 is the variance of the motor speed, ω i is the motor speed, is the average motor speed, and n is the number of samples.
[0116] (3) The peak-to-peak value of the current corresponding to the cogging torque, reflecting the fluctuation range of the current corresponding to the cogging torque:
[0117] Icog pp = Icog max - Icog min
[0118] Among them, Icog pp is the peak-to-peak value of the current corresponding to the cogging torque, Icog max and Icog min are the maximum and minimum values of the current corresponding to the cogging torque respectively.
[0119] (4) The cogging ripple coefficient of the linear joint: For the linear electric joint of the present invention, the "cogging ripple coefficient of the linear joint" is proposed, which is used to represent that in the linear joint, the cogging torque current of the motor is first converted into the torque of the motor, and then the torque is calculated through the planetary roller screw and converted into the "force" of the linear joint, with the unit of N. Finally, it is divided by the maximum output force of the linear joint to obtain the percentage of the total output force of the joint, so as to reflect the magnitude of the cogging torque relative to the total output force of the joint, and it is called the cogging torque ripple coefficient of the linear joint.
[0120] Cogging torque ripple coefficient of the linear joint:
[0121]
[0122] Wherein, T r is the cogging ripple coefficient of the linear joint, k T is the torque coefficient of the joint motor, η is the efficiency of the planetary roller screw, P is the lead of the planetary roller screw, and T n is the maximum output force of the linear electric joint.
[0123] The present invention provides a new method for sampling cogging torque for the linear electric joint of a humanoid robot. Under the condition of limited stroke, sampling can be carried out at the joint end without the need to design a tooling for separate testing of the motor.
[0124] The present invention greatly improves the sampling speed. By designing the motor rotation speed (1 rpm), sampling time (1 ms), and the number of bits of position information (16 bits), the motor can rotate forward and backward only 1 circle to basically obtain the basic information of its cogging torque, without exceeding the stroke limit of the linear electric joint. It can greatly reduce the speed fluctuation and reduce the cogging torque. The effect of compensation after single sampling is as Figure 7 and Figure 8 shown. The expected motor rotation speed is 20 rpm. After adding the correction of the delay, cogging torque compensation is carried out. The speed fluctuation after compensation is 1.048% of that before compensation. If the expected speed variance is not reached, sampling can still be continued on the basis of the first sampling, and then the second compensation is carried out. The present invention has carried out three compensations in total. After three times, the peak-to-peak value of the speed fluctuation of the joint is reduced by 82.84%, the speed variance is reduced by 99.21%, and the cogging torque ripple coefficient is reduced to 2.9%.
[0125] Based on a large amount of data, the present invention ensures sampling accuracy while improving operation convenience: only by respectively giving speed excitations of 1 rpm for forward and reverse rotations under the speed loop, collecting the motor position and current information for a complete circle, the data can be automatically processed through a data calibration program to calculate the cogging torque, and the basic information of the cogging torque can be reflected by a large amount of data, without the need to perform harmonic analysis on the cogging torque.
[0126] The present invention reduces the influence of the phase difference between the compensation torque and the cogging torque caused by hardware / software communication delay, improves the compensation accuracy and method robustness, so as to be applicable to a wider speed range. The present invention proposes to correct the delay during the compensation according to the actual speed of the motor. The present invention first theoretically derives the communication delay t and the delay correction coefficient k, and then designs experiments and conducts tests to obtain the delay correction coefficient k = 6 and the communication delay which proves the correctness of the theoretical derivation. The experimental results of the cogging torque compensation are as Figures 9 - 11As shown, it can be seen that by delaying the correction, the speed fluctuation of the linear joint motor can be significantly reduced, and the cogging torque compensation effect can be improved.
[0127] The above calculation examples of the present invention are only used to illustrate in detail the calculation model and calculation process of the present invention, rather than limiting the implementation manner of the present invention. For those of ordinary skill in the art, other different forms of changes or variations can be made based on the above description. It is impossible to list all the implementation manners here. Any obvious changes or variations derived from the technical solution of the present invention still fall within the protection scope of the present invention.
Claims
1. A data-driven method for compensating the cogging torque of a linear electric joint of a humanoid robot, characterized in that: include: Let the motor rotate one circle in the forward and reverse directions respectively, sample the forward and reverse currents at a fixed sampling time, and record the motor position θ and the corresponding current i at that position. q ; Determine the number of sampling points within the sampling time according to the motor speed, and calculate the number of motor position points, obtain the mapping relationship between the positive and reverse currents and the motor positions, and use the positive and reverse currents to represent the motor position points; Based on the relationship between the cogging torque and the positive and reverse currents, a mapping relationship between the motor position represented by the positive and reverse currents and the corresponding cogging torque is obtained, and then the joint cogging torque is compensated based on the mapping relationship between the motor position represented by the positive and reverse currents and the corresponding cogging torque.
2. A method for compensating the cogging torque of a linear electric joint of a humanoid robot based on data drive according to claim 1, characterized in that: The motor speed corresponds to the number of sampling points within the sampling time Among them, ω set is the desired motor speed; T sample is the sampling time; k' is the conversion coefficient from the unit of motor speed to the unit of sampling time.
3. The method for compensating the cogging torque of a linear electric joint of a humanoid robot based on data drive according to claim 2, characterized in that: The number of sampling points M is of the same order of magnitude as 2 N is of the same order of magnitude, where N is the number of data bits of the sampling signal processing device.
4. The method for compensating the cogging torque of a linear electric joint of a humanoid robot based on data drive according to claim 2, characterized in that: The interval between the motor position and each position point is Where N is the number of data bits of the sampling signal processing device.
5. The method for compensating the cogging torque of a linear electric joint of a humanoid robot based on data drive according to claim 1, characterized in that: The relationship between the motor electromagnetic torque and current is as follows: The calculation formula of the cogging torque is: Where, T e1 , T e2 are the electromagnetic torques of the permanent magnet synchronous motor when it rotates in the positive and reverse directions, T cog is the cogging torque of the permanent magnet synchronous motor; Where, T e is the electromagnetic torque of the motor, which corresponds to T when rotating in the positive direction and the reverse direction respectively. e1 、T e2 ; p is the number of motor pole pairs, ψ f is the motor rotor flux.
6. A data-driven method for compensating the cogging torque of a linear electric joint of a humanoid robot according to any one of claims 2 to 5, characterized in that: In the process of compensating the joint cogging torque based on the motor position represented by the forward and reverse currents and the corresponding cogging torque mapping relationship, it is also necessary to determine the compensation torque relationship based on the communication delay: i com =θ real +k·ω real Among them, ω real is the actual speed of the motor; θ com is the angle corresponding to the compensation torque, θ real The actual angle of the motor corresponds to 2 N position points, N is the number of data bits of the sampling signal processing device; k is the delay compensation coefficient.
7. A data-driven method for compensating the cogging torque of a linear electric joint of a humanoid robot according to claim 6, characterized in that: The delay compensation coefficient is as follows: Wherein, t is the delay time, N is the number of data bits of the sampling signal processing device, and M′ is the conversion coefficient of the motor speed converted from the unit to the unit of the sampling time and then converted to the unit of the delay time.
8. The method for compensating the cogging torque of a linear electric joint of a humanoid robot based on data drive according to claim 7, characterized in that: The delay compensation coefficient k needs to be determined based on the average value of the delay correction coefficients measured at different speeds.
9. The method for compensating the cogging torque of a linear electric joint of a humanoid robot based on data drive according to claim 6, characterized in that: The process of compensating the joint cogging torque based on the motor position represented by the forward and reverse currents and the corresponding cogging torque mapping relationship is as follows: Based on the delay correction coefficient, cogging torque compensation is performed. After the first calculated cogging torque compensation enters the motor, it is determined whether it meets the expected speed variance. If not, it is sampled again. After sampling, the second collected cogging torque is calculated and compensated again, and so on, until the motor speed fluctuation is less than the expected speed variance.
10. A data-driven evaluation method for cogging torque compensation of a humanoid robot linear electric joint, characterized in that: The compensation effect index is used to evaluate the compensation effect of the data-driven humanoid robot linear electric joint tooth slot torque compensation method according to any one of claims 2 to 9, and the compensation effect index includes the linear joint tooth slot ripple coefficient, and the linear joint tooth slot ripple coefficient is as follows: Where Icog max and Icog min are the maximum and minimum values of the current corresponding to the cogging torque, T r is the linear joint tooth ripple coefficient, k T is the torque coefficient of the joint motor, η is the efficiency of the planetary roller screw, P is the lead of the planetary roller screw, T n It is the maximum output of linear electric joint.
Citation Information
Cited By
High-precision positioning control method and system of torque motor for robot joint
CN121973234A
A high-precision positioning control method and system for a torque motor of a robot joint
CN121973234B