A method for automatically suppressing end-shake of a servo driver

By collecting position commands and feedback values ​​from the servo system, identifying jitter frequency, and updating control parameters in real time, the problem of unstable end-effector jitter suppression in servo drive systems under complex load conditions is solved, improving the system's adaptability and control stability.

CN121727451BActive Publication Date: 2026-06-05ZHONGZHI NANJING ELECTRIC CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHONGZHI NANJING ELECTRIC CO LTD
Filing Date
2026-02-11
Publication Date
2026-06-05

Smart Images

  • Figure CN121727451B_ABST
    Figure CN121727451B_ABST
Patent Text Reader

Abstract

The application discloses an end jitter automatic suppression method of a servo driver and relates to the technical field of servo control, which comprises the following steps: collecting a position instruction value PosIn and a position feedback value PosFbk of a servo system and calculating a position deviation PosError; judging whether the servo system is in a stopping stage based on the position deviation and a running direction symbol sign[PosIn], identifying a jitter peak and a jitter valley when a preset amplitude condition is met, and calculating an end jitter frequency w; updating the end jitter frequency to an input shaping controller, dynamically adjusting a time delay and an amplitude of a pulse sequence according to the jitter frequency, and suppressing the end jitter. The application realizes automatic identification of the end jitter frequency and adaptive update of jitter suppression parameters, improves the universality, stability and control robustness of the servo system under different load conditions without relying on complex system modeling and manual setting.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of servo control technology, and in particular to an automatic method for suppressing end jitter in a servo driver. Background Technology

[0002] With the increasing demands for motion accuracy and dynamic performance in high-end manufacturing equipment, industrial robots, CNC machine tools, and semiconductor equipment, the control stability of servo drive systems under complex operating conditions is becoming increasingly prominent. Especially in applications with long reach structures, large inertia loads, or flexible connection mechanisms, servo systems are prone to end-effector jitter and low-frequency oscillations during start-up and stop phases, fine positioning phases, or near the target position. This jitter not only reduces the system's positioning accuracy and repeatability but can also lead to structural fatigue, increased mechanical noise, and decreased control stability margin. Current engineering practices typically mitigate these problems by optimizing servo control parameters, introducing inertia identification mechanisms, or employing trajectory planning strategies that smooth velocity and acceleration. However, when facing conditions with frequently changing load characteristics, insufficient mechanical rigidity, or uncertain damping characteristics, it remains difficult to suppress end-effector jitter while maintaining the system's rapid response capability. Therefore, how to effectively, stably, and adaptively suppress end-effector jitter in servo drives without sacrificing system dynamic performance has become one of the urgent technical problems to be solved in the field of servo control.

[0003] To address the issue of end-effector jitter in servo systems, some existing research has explored solutions from the perspectives of test platform construction and control strategy design. For example, CN108132437B describes a test platform for end-effector jitter suppression in AC servo drives. This platform simulates non-rigid mechanical components using a flexible synchronous belt and places a load device and a laser displacement sensor at the mechanical end, thus directly reflecting the end-effector vibration during positioning. This approach provides a good experimental environment for verifying and comparing jitter suppression algorithms. However, its technical focus is on the testing and characterization of jitter phenomena, without addressing online identification mechanisms for jitter frequencies or providing effective solutions for dynamically adjusting control parameters based on load changes in jitter characteristics. Therefore, it is difficult to meet the real-time and adaptive requirements of practical industrial scenarios.

[0004] CN110977969B describes a resonance suppression method for a flexible load servo drive system based on robotic arm pose transformation. This method establishes a system dynamics model based on continuum vibration theory and the Lagrange principle, and combines it with a variable-parameter PI control strategy. It adjusts the rotational inertia of the motor and load ends according to the changes in the robotic arm's pose, thereby suppressing resonance. While this scheme can achieve good vibration suppression under specific modeling conditions, it relies on a relatively complex system modeling process and has a strong prior dependence on load parameters and structural characteristics. Furthermore, parameter adjustments are mainly based on offline or near-real-time calculations of pose changes, making it difficult to directly address the dynamic changes in end-effector jitter frequency under different equipment and operating conditions. Especially in practical industrial applications, the control effect is easily affected when load characteristics change abruptly or assembly differences exist.

[0005] To address the aforementioned technical shortcomings, this invention proposes an automatic suppression method for end-effector jitter in servo drives. This method achieves adaptive suppression of end-effector jitter, effectively improving the versatility, robustness, and control stability of servo systems under complex load conditions without increasing the complexity of system modeling. Summary of the Invention

[0006] The purpose of this section is to outline some aspects of the embodiments of the present invention and to briefly introduce some preferred embodiments. Some simplifications or omissions may be made in this section, as well as in the specification abstract and the title of the invention, to avoid obscuring the purpose of this section, the specification abstract, and the title of the invention. Such simplifications or omissions shall not be used to limit the scope of the invention.

[0007] Given that existing servo drive systems generally rely on fixed parameters or offline tuning for end effect jitter suppression under long arm load or high inertia load conditions, lacking real-time perception and adaptive adjustment capabilities for changes in end effect jitter characteristics, resulting in unstable jitter suppression effects under different load conditions or operating stages, this invention is proposed.

[0008] Therefore, the problem to be solved by this invention is how to automatically identify the end jitter frequency by analyzing the position command value and position feedback value information during the operation of the servo system without relying on complex system modeling and manual parameter tuning, and dynamically update the jitter suppression control parameters based on the identified jitter frequency, thereby achieving stable and adaptive suppression of end jitter of the servo driver.

[0009] To solve the above-mentioned technical problems, the present invention provides the following technical solution:

[0010] In a first aspect, embodiments of the present invention provide an automatic suppression method for end-effector jitter in a servo driver, comprising,

[0011] S1: Collect the position command value PosIn and the position feedback value PosFbk from the servo system, calculate the position deviation PosError, and cache the position deviation values ​​PosError0, PosError1, and PosError2 for multiple consecutive calculation cycles, wherein the position deviation PosError is the difference between the position command value PosIn and the position feedback value PosFbk.

[0012] S2: Based on the position deviation value PosError, determine whether the servo system is in the stopping phase, and when the preset amplitude condition is met, identify the jitter peaks and troughs, and calculate the end jitter frequency w;

[0013] S3: Update the end jitter frequency w to the input shaping controller and adjust the time delay and amplitude of the pulse sequence in real time to suppress end jitter.

[0014] As a preferred embodiment of the automatic jitter suppression method for the servo driver end of the present invention, step S3 specifically includes:

[0015] The end jitter frequency w is input to the input shaping controller as the damped oscillation frequency in the input shaping controller. The update value, i.e., the setting ;

[0016] Calculate the intermediate constants based on the preset system damping ratio ζ;

[0017] The pulse amplitude parameters of the input shaping controller are calculated based on the intermediate constant, wherein the pulse amplitude parameters include the first pulse amplitude and the second pulse amplitude;

[0018] Based on the damping oscillation frequency Calculate the time delay of the second pulse amplitude, where the time delay of the first pulse amplitude is set to 0, and the time delay of the second pulse amplitude is... ;

[0019] The input shaping controller constructs an input shaping transfer function based on the pulse amplitude parameter and the pulse time delay parameter. ;

[0020] Using the input shaping transfer function The input position signal of the servo system is shaped to generate and output the shaped position command.

[0021] The shaped position command drives the servo system to move, and the residual oscillation percentage of the system is reduced by superimposing the response of the pulse amplitude parameter in the time domain. It approaches zero, thereby suppressing end jitter.

[0022] As a preferred embodiment of the automatic jitter suppression method for the servo driver end of the present invention, wherein:

[0023] The specific formula for the input integer transfer function is as follows:

[0024] ;

[0025] in, The amplitude of the first pulse. The amplitude of the second pulse. The time delay of the first pulse amplitude, s represents the time delay of the second pulse amplitude, and s is a complex frequency domain variable.

[0026] As a preferred embodiment of the automatic jitter suppression method for the servo driver end of the present invention, wherein: the residual oscillation percentage The specific formula is as follows:

[0027] ;

[0028] in, The percentage of residual oscillations. For the system damping ratio, The calculated value for the nth jitter frequency. This is the reference time used in system response analysis to calculate the percentage of residual oscillations. The time delay of the i-th pulse amplitude is... For damped oscillation frequency, Let be the amplitude of the i-th pulse.

[0029] In a preferred embodiment of the automatic suppression method for end-effector jitter of the servo driver described in this invention, the method for obtaining the end-effector jitter frequency w is as follows:

[0030] The running direction sign sign[PosIn] is determined based on the position command value PosIn. When the position command value PosIn is greater than 0, sign[PosIn] is 1, indicating forward running; when the position command value PosIn is less than 0, sign[PosIn] is -1, indicating negative running; when the position command value PosIn is equal to 0, the running direction sign remains unchanged, the servo system is determined to have entered the stop phase, and the monitoring of the position deviation value PosError change pattern begins.

[0031] During the stopping phase, the current buffered position deviation values ​​PosError0, PosError1, and PosError2 are compared with the maximum allowable vibration amplitude value OsciValue. If all three of the following conditions are met simultaneously, then the time corresponding to PosError1 is determined to be a valid jitter feature point:

[0032] Condition 1: |PosError1|>|PosError0|

[0033] Condition 2: |PosError1|>|PosError2|

[0034] Condition 3: |PosError1|>OsciValue;

[0035] After identifying a valid jitter feature point, it is determined whether the valid jitter feature point is a peak or a trough based on the positive or negative relationship between the running direction symbol sign[PosIn] and the position deviation value.

[0036] When a peak is first detected, timing is started; when a trough is first detected, timing is stopped. This time period is recorded as Time, where Time corresponds to 1.5 complete jitter cycles.

[0037] The first jitter frequency calculation value w0 is calculated based on the Time, and the arithmetic mean of multiple jitter frequency calculation values ​​is continuously collected and calculated to obtain the final end jitter frequency w.

[0038] In a preferred embodiment of the automatic suppression method for end jitter of the servo driver described in this invention, the specific formula for the end jitter frequency w is as follows:

[0039] w=(w0+w1+...+wn) / n

[0040] w0 = 1.5 / Time;

[0041] Where w is the terminal jitter frequency, w0 is the first jitter frequency calculated value, and wn is the nth jitter frequency calculated value.

[0042] As a preferred embodiment of the automatic jitter suppression method for the servo driver end of the present invention, the method for determining whether the effective jitter feature point is a peak or a trough includes:

[0043] When sign[PosIn]=1, if PosError0, PosError1, and PosError2 are all less than 0, it is determined to be a peak; if PosError0, PosError1, and PosError2 are all greater than 0, it is determined to be a trough.

[0044] When sign[PosIn]=-1, if PosError0, PosError1, and PosError2 are all greater than 0, it is determined to be a peak; if PosError0, PosError1, and PosError2 are all less than 0, it is determined to be a trough.

[0045] As a preferred embodiment of the automatic jitter suppression method for the servo driver end of the present invention, step S1 specifically includes:

[0046] Within each preset calculation cycle T, the position command value PosIn and the actual position feedback value PosFbk of the servo system are synchronously collected, and the position deviation PosError of the current calculation cycle is calculated, wherein the position deviation PosError is the difference between the position command value PosIn and the position feedback value PosFbk.

[0047] Set up a cache queue, assign the position deviation PosError to the cache variable PosError0, update the value of the cache variable PosError0 from the previous period to PosError1, and update the value of the cache variable PosError1 from the previous period to PosError2.

[0048] During the update process, the cache queue always maintains three consecutive calculation cycles T of position deviation values ​​PosError0, PosError1, and PosError2, where PosError0 is the data for the current cycle, PosError1 is the data for the previous cycle, and PosError2 is the data for updating the previous cycle.

[0049] Secondly, embodiments of the present invention provide a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement any step of the above-described automatic suppression method for servo driver end jitter.

[0050] Thirdly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, wherein: when the computer program is executed by a processor, it implements any step of the above-described automatic suppression method for end jitter of a servo driver.

[0051] Compared with existing technologies, the advantages of this invention are as follows: By collecting the position command value and position feedback value of the servo system and constructing a position deviation sequence for multiple consecutive calculation cycles, the micro-oscillation characteristics of the system during the stopping phase are described in a time-series manner, thereby providing a stable data foundation for jitter feature identification while suppressing noise interference; By combining the running direction determination and amplitude threshold constraint, the local extreme values ​​of the position deviation are screened and classified, realizing automatic identification of end jitter state and online adaptive identification of jitter frequency, so that the obtained jitter frequency can truly reflect the vibration characteristics under the current working condition; The jitter frequency is updated in real time to the input shaping controller for adaptive correction of pulse amplitude and time delay parameters, and the position command is shaped by the input shaping transfer function, so that the excitation response produces a mutual cancellation effect in the time domain, thereby effectively reducing the percentage of residual oscillation in the system. Without changing the original servo control structure and stability, automatic suppression of end jitter is achieved, improving the positioning accuracy and running stability of the servo system. Attached Figure Description

[0052] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort. Wherein:

[0053] Figure 1 This is a flowchart of an automatic jitter suppression method for servo driver end effectors. Detailed Implementation

[0054] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments.

[0055] Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without inventive effort should fall within the scope of protection of this invention.

[0056] Many specific details are set forth in the following description in order to provide a full understanding of the invention. However, the invention may also be practiced in other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of the invention. Therefore, the invention is not limited to the specific embodiments disclosed below.

[0057] As mentioned in the background section, existing servo drive systems, under long-arm loads or high-inertia loads, rely heavily on fixed control parameters or manual tuning to suppress end-effector jitter. This makes it difficult to reflect the differences in jitter characteristics caused by changes in load and operating conditions, easily leading to unstable suppression effects or even performance degradation. To address these issues, this invention provides an automatic end-effector jitter suppression method for servo drives.

[0058] Reference Figure 1 , Figure 1 This is a flowchart of an automatic jitter suppression method for a servo driver according to an embodiment of the present invention. Figure 1 As shown, an automatic jitter suppression method for the end of a servo driver includes:

[0059] S1: Collect the position command value PosIn and position feedback value PosFbk from the servo system, calculate the position deviation PosError, and cache the position deviation values ​​PosError0, PosError1, and PosError2 for multiple consecutive calculation cycles;

[0060] S1.1: Within each preset calculation cycle T, synchronously collect the position command value PosIn and the actual position feedback value PosFbk of the servo system, and calculate the position deviation PosError of the current calculation cycle, where the position deviation PosError is the difference between the position command value PosIn and the position feedback value PosFbk.

[0061] S1.2: Set up a cache queue, assign the position deviation PosError to the cache variable PosError0, update the value of the cache variable PosError0 from the previous period to PosError1, and update the value of the cache variable PosError1 from the previous period to PosError2.

[0062] S1.3: Through the update process, the cache queue always maintains the position deviation values ​​PosError0, PosError1, and PosError2 for three consecutive calculation cycles, where PosError0 is the data of the current cycle, PosError1 is the data of the previous cycle, and PosError2 is the data of the previous cycle.

[0063] S2: Based on the position deviation value PosError, determine whether the servo system is in the stopping phase, and when the preset amplitude condition is met, identify the jitter peaks and troughs, and calculate the end jitter frequency w;

[0064] S2.1: Determine the running direction sign sign[PosIn] based on the position command value PosIn. When the position command value PosIn is greater than 0, sign[PosIn] is 1, indicating forward running; when the position command value PosIn is less than 0, sign[PosIn] is -1, indicating negative running; when the position command value PosIn is equal to 0, the running direction sign remains unchanged, the servo system is judged to have entered the stop phase, and the change pattern of the position deviation value PosError is monitored.

[0065] S2.2: During the stopping phase, the current buffer position deviation values ​​PosError0, PosError1, and PosError2 are compared with the maximum allowable vibration amplitude value OsciValue. If the following three conditions are met simultaneously, the time corresponding to PosError1 is determined to be a valid jitter feature point:

[0066] Condition 1: |PosError1|>|PosError0|

[0067] Condition 2: |PosError1|>|PosError2|

[0068] Condition 3: |PosError1|>OsciValue;

[0069] S2.3: After identifying a valid jitter feature point, determine whether the valid jitter feature point is a peak or a trough based on the positive or negative relationship between the running direction sign sign[PosIn] and the position deviation value:

[0070] When sign[PosIn]=1, if PosError0, PosError1, and PosError2 are all less than 0, it is determined to be a peak; if PosError0, PosError1, and PosError2 are all greater than 0, it is determined to be a trough.

[0071] When sign[PosIn]=-1, if PosError0, PosError1, and PosError2 are all greater than 0, it is determined to be a peak; if PosError0, PosError1, and PosError2 are all less than 0, it is determined to be a trough.

[0072] S2.4: Start timing when the peak is first detected, and stop timing when the trough is first detected. Record this time period as Time, where Time corresponds to 1.5 complete jitter cycles.

[0073] S2.5: Calculate the first jitter frequency value w0 based on Time, and continuously collect and calculate the arithmetic mean of multiple jitter frequency values ​​to obtain the final end jitter frequency w.

[0074] S3: Update the end jitter frequency w to the input shaping controller and adjust the time delay and amplitude of the pulse sequence in real time to suppress end jitter;

[0075] S3.1: Input the end jitter frequency w to the input shaping controller as the damped oscillation frequency in the input shaping controller. The update value, i.e., the setting ;

[0076] Specifically, the design of the input shaping controller is based on a second-order system model. The servo control system is equivalent to a typical second-order system, and its unit impulse response is:

[0077] ;

[0078] in, Let ζ be the system's natural frequency, ζ be the system's damping ratio, and A be the gain. For damped oscillation frequency, The total time delay of the pulse amplitude, The time delay is the initial pulse amplitude.

[0079] S3.2: Calculate the intermediate constant based on the preset system damping ratio ζ, using the following formula:

[0080] ;

[0081] in, This is an intermediate constant.

[0082] S3.3: Calculate the pulse amplitude parameters of the input shaping controller based on the intermediate constant, where the pulse amplitude parameters include the first pulse amplitude and the second pulse amplitude, and the specific formula is as follows:

[0083]

[0084] ;

[0085] in, The amplitude of the first pulse. This is the amplitude of the second pulse.

[0086] S3.4: Based on damped oscillation frequency Calculate the time delay of the second pulse amplitude, where the time delay of the first pulse amplitude is set to 0, and the time delay of the second pulse amplitude is... ;

[0087] S3.5: The input shaping controller constructs the input shaping transfer function based on the pulse amplitude parameter and the pulse time delay parameter. The specific formula is as follows:

[0088] ;

[0089] in, The amplitude of the first pulse. The amplitude of the second pulse. The time delay of the first pulse amplitude, The time delay of the second pulse amplitude is given, and s is a complex frequency domain variable;

[0090] S3.6: Using the input integer transfer function The input position signal of the servo system is shaped to generate and output the shaped position command.

[0091] S3.7: The shaped position command drives the servo system to move. By superimposing the response of the pulse amplitude parameter in the time domain, the percentage of residual oscillation in the system is calculated. It approaches zero, thereby suppressing end jitter.

[0092] Furthermore, the input shaping controller outputs a series of pulses. For each pulse, the impact response it causes in the servo system can be expressed as:

[0093] ;

[0094] in, Let i be the amplitude of the i-th pulse. The total time delay of the pulse amplitude, The time delay is the amplitude of the i-th pulse.

[0095] Furthermore, the overall system response is the sum of the responses of all impact pulses. To eliminate residual oscillations, the following set of equations must be satisfied:

[0096] (1)

[0097] in, For the total time-domain response of the system, ζ is a symbolic variable in the mathematical model, which corresponds to the system damping ratio ζ in the actual system and is used to describe the decay characteristics of the system response.

[0098] Specifically, by expanding equation (1) using trigonometric function formulas, we obtain the system response expression:

[0099] (2)

[0100] in, This is the phase offset angle of the system response.

[0101] Furthermore, in When a unit impulse excitation is applied at any given time, the unit impulse response generated by the system is:

[0102] (3)

[0103] Preferably, to obtain a unique solution and simplify implementation, the following constraints are imposed:

[0104] .

[0105] Furthermore, by comparing formula (2) with formula (3), we obtain the expression for the percentage of residual oscillations of the system under the action of a pulse sequence:

[0106] ;

[0107] in, The percentage of residual oscillations. For the system damping ratio, The calculated value for the nth jitter frequency. This is the reference time used in system response analysis to calculate the percentage of residual oscillations. The time delay of the i-th pulse amplitude is... For damped oscillation frequency, Let be the amplitude of the i-th pulse.

[0108] In summary, by collecting position command values ​​and position feedback values ​​from the servo system and constructing a position deviation sequence for multiple consecutive calculation cycles, the minute oscillation characteristics of the system during the stopping phase are described in a time-series manner. This provides a stable data foundation for jitter feature identification while suppressing noise interference. Combining the running direction determination and amplitude threshold constraints, local extrema of the position deviation are screened and classified, enabling automatic identification of end-effector jitter status and online adaptive identification of jitter frequency. This ensures that the obtained jitter frequency accurately reflects the vibration characteristics under the current operating conditions. The jitter frequency is updated in real time to the input shaping controller for adaptive correction of pulse amplitude and time delay parameters. The position command is shaped using the input shaping transfer function, causing the excitation response to cancel each other out in the time domain. This effectively reduces the percentage of residual oscillation in the system. Without altering the original servo control structure and stability, automatic suppression of end-effector jitter is achieved, improving the positioning accuracy and operational stability of the servo system.

[0109] Example 2

[0110] Referring to the above technical solution, this is the second embodiment of the present invention. This embodiment provides an application verification scheme for the automatic suppression method of servo driver end jitter. Through performance testing and engineering benefit analysis under actual working conditions, the technical advantages and practical value of the present invention are objectively demonstrated.

[0111] Specifically, taking a certain type of industrial robotic arm servo system as the implementation object, this system adopts a long arm structure with a large end-effector inertia, and exhibits obvious low-frequency jitter during rapid start-up and shutdown. The system sampling period T is set to 1ms, the maximum allowable vibration amplitude OsciValue is set to 5 position pulse equivalents, and the system damping ratio ζ is preset to 0.7.

[0112] Furthermore, the system synchronously collects the position command value PosIn and the position feedback value PosFbk within each calculation cycle T, and calculates the position deviation PosError = PosIn - PosFbk; the system continuously updates and maintains the position deviation values ​​PosError0, PosError1, and PosError2 for three consecutive cycles through a cache queue, where PosError0 always represents the data of the current cycle.

[0113] Furthermore, when the position command value PosIn is 0, the system is determined to enter the stop phase. During this phase, the system monitors PosError0, PosError1, and PosError2 in real time, and identifies valid jitter feature points based on preset conditions (|PosError1|>|PosError0|, |PosError1|>|PosError2|, |PosError1|>OsciValue). Combined with the running direction symbol sign[PosIn] (in this example, forward running, sign[PosIn]=1), the system successfully identifies the first peak (PosError0, PosError1, and PosError2 are all less than 0) and subsequent troughs (all greater than 0) of the stop phase. The system starts a high-precision timer when the first peak is triggered and stops timing when the first trough appears, measuring a time interval Time=125ms. Based on the formula w0=1.5 / Time, the calculated value of a single jitter frequency is w0≈12Hz. To improve the reliability of frequency identification, the system performs six consecutive valid identifications and calculations, and takes the arithmetic mean of the obtained w0 to w5, finally determining the end jitter frequency w=12.05Hz.

[0114] Furthermore, the identified end-of-line jitter frequency w is input to the input shaping controller. Based on the preset damping ratio ζ=0.7, the intermediate constant K≈0.368 is calculated, and then the pulse amplitude parameter is calculated. ≈0.731, ≈0.269. Set the delay of the first pulse. =0, and based on the damped oscillation frequency =w, calculate the time delay of the second pulse. =π / ωd≈0.0261s. The input shaping controller constructs a transfer function based on this, shapes the original position command, and generates and outputs the shaped position command.

[0115] Specifically, to quantitatively evaluate the suppression effect of this method, as shown in Table 1, the present invention demonstrates through comparative experimental data that the proposed adaptive suppression method can significantly improve the end jitter suppression performance and dynamic response efficiency of the servo system: after enabling this method, the peak amplitude of end jitter is reduced from ±8 pulse equivalents to ±1.2 pulse equivalents, and the suppression rate reaches 85%; the system settling time is shortened from 480ms to 150ms, the response speed is improved by about 68.8%, and no obvious command tracking lag is introduced.

[0116] Table 1. System performance comparison before and after enabling this invention.

[0117]

[0118] In summary, the results demonstrate that this method effectively suppresses jitter while maintaining the system's high response characteristics, and possesses good engineering applicability.

[0119] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.

Claims

1. A method for automatically suppressing end-effector jitter in a servo driver, characterized in that: include, S1: Collect the position command value PosIn and position feedback value PosFbk from the servo system, calculate the position deviation PosError, and cache the position deviation values ​​PosError0, PosError1, and PosError2 for multiple consecutive calculation cycles; S2: Based on the position deviation value PosError, determine whether the servo system is in the stopping phase, and when the preset amplitude condition is met, identify the jitter peaks and troughs, and calculate the end jitter frequency w; S3: Update the end jitter frequency w to the input shaping controller and adjust the time delay and amplitude of the pulse sequence in real time to suppress end jitter; The end jitter frequency w is input to the input shaping controller as the damped oscillation frequency in the input shaping controller. The update value, i.e., the setting ; Calculate the intermediate constants based on the preset system damping ratio ζ; The pulse amplitude parameters of the input shaping controller are calculated based on the intermediate constant, wherein the pulse amplitude parameters include the first pulse amplitude and the second pulse amplitude; Based on the damping oscillation frequency Calculate the time delay of the second pulse amplitude, where the time delay of the first pulse amplitude is set to 0, and the time delay of the second pulse amplitude is... ; The input shaping controller constructs an input shaping transfer function based on the pulse amplitude parameter and the pulse time delay parameter. ; Using the input shaping transfer function The input position signal of the servo system is shaped to generate and output the shaped position command. The shaped position command drives the servo system to move, and the residual oscillation percentage of the system is reduced by superimposing the response of the pulse amplitude parameter in the time domain. It approaches zero, thereby suppressing end jitter; The method for obtaining the terminal jitter frequency w is as follows: The running direction sign sign[PosIn] is determined based on the position command value PosIn. When the position command value PosIn is greater than 0, sign[PosIn] is 1, indicating forward running; when the position command value PosIn is less than 0, sign[PosIn] is -1, indicating negative running; when the position command value PosIn is equal to 0, the running direction sign remains unchanged, the servo system is determined to have entered the stop phase, and the monitoring of the position deviation value PosError change pattern begins. During the stopping phase, the current buffered position deviation values ​​PosError0, PosError1, and PosError2 are compared with the maximum allowable vibration amplitude value OsciValue. If all three of the following conditions are met simultaneously, then the time corresponding to PosError1 is determined to be a valid jitter feature point: Condition 1: |PosError1|>|PosError0| Condition 2: |PosError1|>|PosError2| Condition 3: |PosError1|>OsciValue; After identifying a valid jitter feature point, it is determined whether the valid jitter feature point is a peak or a trough based on the positive or negative relationship between the running direction symbol sign[PosIn] and the position deviation value. When a peak is first detected, timing is started; when a trough is first detected, timing is stopped. This time period is recorded as Time, where Time corresponds to 1.5 complete jitter cycles. The first jitter frequency calculation value w0 is calculated based on the Time, and the arithmetic mean of multiple jitter frequency calculation values ​​is continuously collected and calculated to obtain the final end jitter frequency w.

2. The automatic jitter suppression method for the servo driver end as described in claim 1, characterized in that: The specific formula for the input integer transfer function is as follows: ; in, The amplitude of the first pulse. The amplitude of the second pulse. The time delay of the first pulse amplitude, s represents the time delay of the second pulse amplitude, and s is a complex frequency domain variable.

3. The automatic jitter suppression method for the servo driver end as described in claim 1, characterized in that: The percentage of residual oscillation The specific formula is as follows: ; in, The percentage of residual oscillations. For the system damping ratio, The calculated value for the nth jitter frequency. This is the reference time used in system response analysis to calculate the percentage of residual oscillations. The time delay of the i-th pulse amplitude is... For damped oscillation frequency, Let be the amplitude of the i-th pulse.

4. The automatic jitter suppression method for the servo driver end as described in claim 1, characterized in that: The specific formula for the terminal jitter frequency w is as follows: w=(w0+w1+...+wn) / n w0 = 1.5 / Time; Where w is the terminal jitter frequency, w0 is the first jitter frequency calculated value, and wn is the nth jitter frequency calculated value.

5. The automatic jitter suppression method for the servo driver end as described in claim 1, characterized in that: Determining whether the effective jitter feature point is a peak or a trough includes: When sign[PosIn]=1, if PosError0, PosError1, and PosError2 are all less than 0, it is determined to be a peak; if PosError0, PosError1, and PosError2 are all greater than 0, it is determined to be a trough. When sign[PosIn]=-1, if PosError0, PosError1, and PosError2 are all greater than 0, it is determined to be a peak; if PosError0, PosError1, and PosError2 are all less than 0, it is determined to be a trough.

6. The automatic jitter suppression method for the servo driver end as described in claim 1, characterized in that: Step S1 specifically includes: Within each preset calculation cycle T, the position command value PosIn and the actual position feedback value PosFbk of the servo system are synchronously collected, and the position deviation PosError of the current calculation cycle is calculated, wherein the position deviation PosError is the difference between the position command value PosIn and the position feedback value PosFbk. Set up a cache queue, assign the position deviation PosError to the cache variable PosError0, update the value of the cache variable PosError0 from the previous period to PosError1, and update the value of the cache variable PosError1 from the previous period to PosError2. During the update process, the cache queue always maintains three consecutive calculation cycles T of position deviation values ​​PosError0, PosError1, and PosError2, where PosError0 is the current cycle data, PosError1 is the previous cycle data, and PosError2 is the data updated in the previous cycle.