A method for adjusting and optimizing servo control parameters of multi-axis robotic arm joints
By setting the same inertia ratio and speed loop bandwidth in the robot robot arm system, and adjusting the inertia ratio using small signal speed commands and feedback information, the problem of difficult inertia in the robot robot arm system is solved, and the rapid optimization of controller parameters is achieved.
Patent Information
- Application Number
- CN202211641431.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-20
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2042-12-20
AI Technical Summary
In the robotic robot arm system, the load inertia carried by the servo motor of each joint is difficult to determine, resulting in the inability to determine the appropriate speed loop controller control parameters, which increases the difficulty and workload of controller performance adjustment or parameter adjustment.
By setting the inertia ratio and the expected speed loop bandwidth of each joint servo system of the multi-axis robot arm are the same, using the small signal speed command and feedback motor angle information and actual speed information, the error between the actual speed loop bandwidth and the expected speed loop bandwidth is calculated, and the inertia ratio is adjusted until the error is within the allowable range.
It realizes the rapid and accurate estimation of the speed loop bandwidth and inertia without the need for traditional complex inertia recognition programs, thereby optimizing controller parameters and simplifying the controller performance adjustment process.
Smart Images

Figure CN116038693B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of multi-axis robot arm joint servo control, and in particular to a multi-axis robot arm joint servo control parameter adjustment and optimization method. Background Art
[0002] The robot joint servo control is generally a three-loop control, which is the outermost position control loop, the middle speed control loop, and the innermost current control loop. The current control loop is only related to the bandwidth setting and motor parameters. Generally, after the motor is selected, the current control loop parameters will no longer change. The speed control loop and position control loop control parameters need to be adjusted according to the load conditions, performance requirements, etc. to achieve the best effect. In general servo design, the position control loop parameters are associated with the speed loop parameters, such as bandwidth. If the speed loop bandwidth is determined, the position loop bandwidth is automatically determined. Therefore, the adjustment of the speed loop control parameters is particularly important and more complicated. In the prior art, the traditional speed loop controller adopts a proportional-integral controller, i.e., a PI controller. The parameter setting of the PI controller is generally related to the system inertia and bandwidth setting of the servo system. When the system inertia value is determined, the speed loop bandwidth value is set according to the required performance, and the speed loop controller control parameter value is determined. It can be seen that the determination of the system inertia value is the key. However, in the robot arm system, the load inertia of each joint servo motor is difficult to determine because the traditional method of determining the servo inertia is not suitable for the structure of the robot arm. Specifically, the traditional method of determining the servo inertia is that the motor drives the load to perform repeated acceleration and deceleration rotation. During the acceleration and deceleration process, the servo driver collects relevant parameters, estimates the system inertia, and then determines the speed loop control parameters. This method is based on the motor motion equation; however, in the robot arm system, due to the particularity of its mechanical structure, it is impossible to perform repeated acceleration and deceleration operations on each joint servo. Therefore, this traditional inertia estimation method cannot be used. The inability to determine the servo inertia means that it is impossible to determine the appropriate speed loop controller control parameters, which increases the difficulty of controller performance adjustment or parameter adjustment and the workload. Summary of the invention
[0003] In order to solve the problem that the load inertia of each joint servo motor is difficult to determine in a robot manipulator system, and the servo inertia cannot be determined, which leads to the difficulty in adjusting controller performance or parameters, the present invention discloses a multi-axis manipulator joint servo control parameter adjustment optimization method, and the technical solution of the present invention is implemented as follows:
[0004] A method for adjusting and optimizing servo control parameters of a multi-axis robot arm joint comprises the following steps:
[0005] S1, set the inertia ratio of each joint servo system of the multi-axis robot arm to be the same, set the expected speed loop bandwidth of each joint servo system of the multi-axis robot arm to be the same, and each joint servo system satisfies the following relationship:
[0006] Kp=f(R,BW_set)
[0007] Ki=f(Kp)
[0008] R=JL / Jm
[0009] S2, the controller simultaneously sends small signal speed instructions to each joint servo driver;
[0010] S3, the joint servo driver operates based on the received speed command and feeds back the motor angle information and actual speed information;
[0011] S4, the controller reads the angle information and actual speed information fed back by the servo drivers of each joint and analyzes the actual speed loop bandwidth;
[0012] S5, sorting the actual speed loop bandwidths of the servo drive systems of the various joints according to their sizes;
[0013] S6, calculating the error between the actual speed loop bandwidth and the expected speed loop bandwidth of each joint servo drive system;
[0014] S7, comparing whether the above error is within the set allowable error range;
[0015] S8, adjusting the inertia ratio of the joint servo drive system whose error exceeds the set allowable error range, until all errors of its actual speed loop bandwidth fall within the set allowable error range;
[0016] SN, fixes the inertia ratio of the servo drive system of each joint;
[0017] In the above relationship, the meanings of the symbols are as follows: inertia ratio R, bandwidth setting value BW_set, load inertia JL, motor inertia Jm, and proportional gain value Kp are functions of the inertia ratio R and bandwidth setting value BW_set; integral gain value Ki is a function of Kp; inertia ratio R is the ratio of load inertia JL to motor inertia Jm.
[0018] Preferably, it also includes S9, setting the inertia ratio of each joint servo system of the multi-axis robotic arm to be the same, which is smaller than the inertia ratio of each joint servo system of the multi-axis robotic arm in step S1; then setting the value of the expected speed loop bandwidth of each joint servo system of the multi-axis robotic arm to be the same, and then returning to S2.
[0019] Preferably, the method further includes S10, determining whether the servo systems of the joints of the current multi-axis robot arm vibrate during no-load operation and loaded operation;
[0020] If vibration occurs, the value of the desired speed loop bandwidth of the corresponding joint servo control system is adjusted until each joint servo system of the multi-axis robot arm does not vibrate when running without load or with load.
[0021] Preferably, the specific steps of S10 are as follows:
[0022] S10.1, in no-load state, the multi-axis robot arm is operated, and the servo control system of each joint transmits the current information to the controller after filtering it through a high-frequency filter;
[0023] S10.2, the controller determines whether mechanical vibration occurs in the servo system of each joint of the robot arm according to the received current information;
[0024] S10.3, if vibration occurs, lower the value of the desired speed loop bandwidth of the corresponding joint servo control system; if no vibration occurs, proceed to step S10.4;
[0025] S10.4, under load condition, the multi-axis robot arm is operated, and the servo control system of each joint transmits the current information to the controller after filtering it through a high-frequency filter;
[0026] S10.5, the controller determines whether mechanical vibration occurs in the servo system of each joint of the robot arm according to the received current information;
[0027] S10.6, if vibration occurs, lower the value of the desired speed loop bandwidth of the corresponding joint servo control system until no vibration occurs during load operation; if no vibration occurs, go to step SN.
[0028] Preferably, the specific steps of S10.2 are as follows:
[0029] S10.2.1, the controller performs data sampling processing on the current information passing through the high-frequency filter; including setting N sampling moments t(1), t(2), t(3) ... t(N-1), t(N), the data collection time length of each sampling moment is set to Δt, and the interval time between sampling moments is set to Δtk;
[0030] S10.2.2, the controller calculates the energy values E1, E2, E3...EN-1, EN of the current information at N sampling moments;
[0031] S10.2.3, the controller calculates the absolute value of the difference in energy value of the current information between each adjacent sampling time at N sampling time points ΔE1, ΔE2, ... ΔEM-1, ΔEM;
[0032] S10.2.4, the controller calculates the total energy value Et1 of the current information at N sampling moments and compares it with the preset total energy value Eset1;
[0033] S10.2.5, the controller calculates the absolute value sum ΔEt1 of the energy value difference of the current information between each adjacent sampling time at N sampling time points and compares it with the preset value ΔEset1 of the energy difference sum;
[0034] S10.2.6, when Et1>Eset1 and ΔEt1<ΔEset1, it is determined that vibration occurs.
[0035] Preferably, (Δt / Δtk)>50%.
[0036] Preferably, the specific steps of S10.5 are as follows:
[0037] S10.5.1, the controller performs data sampling and processing on the current information passing through the high-frequency filter;
[0038] S10.5.2, the controller calculates the energy value of the current information at N sampling moments;
[0039] S10.5.3, the controller calculates the absolute value of the difference between the energy values of the current information at each adjacent sampling time at N sampling time;
[0040] S10.5.4, the controller calculates the total energy value Et2 of the current information at N sampling moments and compares it with the preset total energy value Eset2;
[0041] S10.5.5, the controller calculates the absolute value sum ΔEt2 of the energy value difference of the current information between each adjacent sampling time at N sampling time points and compares it with the preset value ΔEset2 of the energy difference sum;
[0042] S10.5.6, when Et2>Eset2 and ΔEt2<ΔEset2, it is determined that vibration occurs.
[0043] The technical solution of the present invention does not use the traditional complex inertia identification program of the motor system in a cyclic reciprocating motion mode, but adopts a quasi-static, fast and indirect method to estimate the speed loop bandwidth and inertia, so as to achieve the purpose of adjusting and optimizing the controller parameters. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only one embodiment of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0045] Figure 1 is a system structure diagram of an embodiment;
[0046] Figure 2 is a speed control loop of an embodiment;
[0047] Figure 3 A diagram showing the sequencing process of the inertia ratio of an embodiment;
[0048] Figure 4 is a flow chart of increasing the inertia ratio of the embodiment;
[0049] Figure 5 A schematic diagram of a high-frequency current signal sampling method according to an embodiment;
[0050] Figure 6 A calculation flow chart for calculating the sum of the current signal energy and the energy difference of adjacent current signals in an embodiment;
[0051] Figure 7 4 is a flow chart of vibration identification of the servo drive system in the embodiment. DETAILED DESCRIPTION
[0052] The technical solution of the present invention will be clearly and completely described below in conjunction with the embodiments of the present invention and the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0053] Example
[0054] In a specific embodiment, a multi-axis robot arm joint servo control parameter adjustment and optimization method is used as follows Figure 1 In the control system structure shown, the controller controls multiple joint servo drivers through a communication bus, and the joint servo drivers control the operation of each joint motor and feed back the operation information to the controller.
[0055] In this embodiment, the control loop of the speed control loop of the servo drive is as follows: Figure 2 shown.
[0056] Figure 2 The meanings of the symbols are as follows:
[0057] Vref(n,f) is the speed reference value, n represents the number of the multi-axis robot axis, and f represents the expected bandwidth (Hz).
[0058] Vfdb(n,f) is the speed feedback value;
[0059] (Kp+Ki / s) is the speed loop proportional-integral controller; Kp is the proportional parameter value; Ki is the integral parameter value; s is the Laplace operator;
[0060] (1 / (J L +J m )s) represents the system inertia load, s is the Laplace operator; J L is the load inertia value; J m is the motor inertia value;
[0061] The method of this embodiment includes the following steps:
[0062] The inertia ratio of each joint servo system of the multi-axis robot arm is set to be the same, the value of the expected speed loop bandwidth of each joint servo system of the multi-axis robot arm is set to be the same, and each joint servo system satisfies the following relationship:
[0063] Kp=f(R,BW_set)
[0064] Ki=f(Kp)
[0065] R=JL / Jm
[0066] As shown in the above relationship:
[0067] The proportional parameter value Kp is a function of the inertia ratio R and the value of the desired speed loop bandwidth BW_set;
[0068] The integral parameter value Ki is a function of Kp;
[0069] Inertia ratio R, is the load inertia J L and motor inertia J m ratio.
[0070] by Figure 2 For the speed control loop of the control structure, and the speed loop controller designed according to the above three relationships, after being finally implemented in the servo drive, if the inertia ratio of the corresponding servo system is determined, that is, the inertia ratio R set in the controller matches the inertia ratio of the actual system, then under a certain speed loop bandwidth setting value, that is, the expected speed loop bandwidth value BW_set, the actual bandwidth value obtained by the actual servo drive system is close to the expected speed loop bandwidth value BW_set.
[0071] Under this speed loop controller, if the correct inertia ratio R is set, it can be considered that the speed loop bandwidth can be basically obtained in the actual system by setting BW_set (speed loop bandwidth setting value). When the inertia ratio setting and the actual inertia ratio match, the set bandwidth can be regarded as the actual bandwidth.
[0072] After setting the bandwidth and inertia ratio, assuming the initial inertia ratio is set to 3, the expected bandwidth is set to 40Hz.
[0073] Next, the controller simultaneously sends a small signal speed command (i.e., a small amplitude signal) to each joint servo driver.
[0074] The instruction expression is as follows:
[0075] Vref(n,f)=An*sin(2πft);
[0076] Where An is the small signal amplitude (this parameter can be set according to actual conditions); f is the frequency; f = 1, 10, 20, ..., 500 Hz; t is the time; n represents the joint servo axis number. Taking a 4-axis robot arm as an example, n = 1, 2, 3, 4.
[0077] The controller also sends a frequency-varying sine waveform of a certain amplitude as a speed command to each axis joint servo driver through the communication bus. Each axis joint servo driver receives the speed command, and under the control of its own speed loop controller, the joint servo motor is in a micro-vibration state, and the high-resolution encoder on the motor outputs angle information, forming a speed closed-loop control inside the driver; at the same time, the servo driver uploads the angle information and actual speed information to the controller, and the controller reads the relevant data information to analyze the actual speed loop bandwidth.
[0078] The upper robot controller calculates the actual speed loop bandwidth based on the sent speed command and the received speed feedback value. The calculation method is as follows:
[0079] Vdif(n,f)=Vfdb(n,f) / Vref(n,f).
[0080] Vfdb(n,f) is the speed feedback value received by the controller.
[0081] Then calculate the ratio of the speed feedback value to the speed given value Vdif(n,f).
[0082] When the ratio Vdif(n,f)=0.707, the corresponding frequency f value is considered to be the current bandwidth value of the axis, BW(n)=f.
[0083] The bandwidth of axis 1 is BW(1), the bandwidth of axis 2 is BW(2), the bandwidth of axis 3 is BW(3), and the bandwidth of axis 4 is BW(4).
[0084] After the current bandwidth values of the above axes are estimated, the controller will make a preliminary judgment and sort the relative size of the actual inertia of each axis. The multi-axis robot includes multiple servo systems with different actual inertias, but all servo systems have the same speed loop structure, and during the estimation period, the speed loop setting and inertia ratio setting are the same. On this basis, the actual inertia size of each servo system is opposite to the size of BW(n).
[0085] If the estimated bandwidth values are from large to small: BW(4), BW(3), BW(2), BW(1); then the actual inertia ratios are from small to large: R1, R2, R3, R4.
[0086] The judgment process is as follows Figure 3 As shown, at this time, only the order of the inertia ratios between the joint servo axes can be determined, but the specific inertia value cannot be determined. Further, it is necessary to calculate the error between the actual speed loop bandwidth and the expected speed loop bandwidth of each joint servo drive system; and compare whether the above error belongs to the set allowable error range.
[0087] Assume that the current bandwidths of the 4-axis robot measured above are arranged from large to small as: BW(4), BW(3), BW(2), BW(1), and the set bandwidth value is BW_set; and the allowable error range is 20 Hz.
[0088] Calculate the bandwidth error values separately:
[0089] BW_e(4)=BW_set-BW(4);
[0090] BW_e(3)=BW_set-BW(3);
[0091] BW_e(2)=BW_set-BW(2);
[0092] BW_e(1)=BW_set-BW(1).
[0093] In the error bandwidth calculated above, if a certain axis is within ±20Hz and has the minimum absolute value among the four errors, it means that the actual inertia ratio of the axis is close to the set value, that is, the initial inertia ratio initial setting value 3. Then the servo drive system of other axes needs to further find a suitable inertia ratio setting, and then the controller sends a small signal speed command to the corresponding joint servo drive until all error bandwidth values fall within ±20Hz.
[0094] More preferably, until the absolute value of the error bandwidth value of the servo drive system of the other axis approaches the bandwidth of the servo drive system with the minimum bandwidth error.
[0095] If the error bandwidth calculated above does not fall within the range of ±20Hz, it means that the initially set inertia ratio has a large error with the actual inertia ratio of each axis. In this case, the inertia ratio needs to be reset, and then the controller returns to the step of simultaneously sending small signal speed commands (i.e. small amplitude signals) to each joint servo driver until the error bandwidth value is within ±20Hz.
[0096] An example to illustrate the adjustment process:
[0097] Assuming that in the four-axis robot, the bandwidth error of the servo drive system of axis 3 is within ±20 Hz and has the smallest absolute value, the absolute value of the bandwidth error of axis 1 is greater than the absolute value of the bandwidth error of axis 3 but is still within the range of ±20 Hz, the bandwidth errors of axes 2 and 4 are not within the range of ±20 Hz and the absolute value of the bandwidth error of axis 4 is the largest, then it is determined that the inertia ratio of axis 1 and axis 3 is closer to the inertia ratio of 3 initially set for the four-axis robot, while the inertia ratio of axis 4 and axis 2 deviates from the inertia ratio of 3 initially set.
[0098] At this time, you need to adjust the inertia ratio setting of axis 2 and axis 4.
[0099] First, increase the inertia ratio setting value in the servo drive of axis 4, which has the largest absolute value of bandwidth error, in small steps. Figure 4 Follow the judgment procedure shown until the bandwidth error of axis 4 is within ±20Hz, and then adjust the inertia ratio setting value in the servo driver of axis 2 in the same way until the bandwidth error of axis 2 is also within ±20Hz.
[0100] At this time, all the bandwidth errors of the servo drive systems are within the set error range, which means that the adjusted inertia ratio is closer to the actual inertia ratio of the servo drive system.
[0101] When all servo drive systems are adjusted and the bandwidth errors are within the set allowable error range, it can be considered that the set inertia ratio and the actual inertia ratio basically match.
[0102] More preferably, the setting values of the inertia ratios of axis 4 , axis 2 , and axis 1 are adjusted in sequence until the absolute values of the error bandwidths of axis 4 , axis 2 , and axis 1 are all close to the absolute value of the bandwidth error of axis 3 .
[0103] Of course, there is another situation where the values of the four bandwidth errors are all within ±20Hz, which means that the initial inertia ratio setting of 3 is closer to the actual inertia ratio of each axis. In this case, you can choose to fix the inertia ratio setting and only adjust the bandwidth setting to adjust the servo performance of each axis. You can also reset a new inertia ratio that is smaller than the previously set inertia ratio of 3, for example, set it to 2 this time, and then return to the controller and send a small signal speed command (i.e., a small amplitude signal) to each joint servo driver and subsequent processes at the same time until an error bandwidth with a smaller absolute value is obtained.
[0104] When the desired error bandwidth is obtained, the speed loop can be adjusted by only using the speed loop bandwidth setting parameters, while the inertia ratio setting remains basically unchanged. In theory, although the actual inertia of each servo drive system is different, by setting the same bandwidth parameters, similar speed loop bandwidths can be obtained, thereby having basically consistent dynamic performance.
[0105] This embodiment does not use the traditional more complicated inertia identification procedure for the motor system in a cyclic reciprocating motion mode, but adopts a quasi-static, fast and indirect method to estimate the speed loop bandwidth and inertia, thereby achieving the same purpose of tuning the controller parameters.
[0106] Since the above-mentioned determination process is a small signal mode, the servo motor is in a micro-vibration motion state, and it is impossible to directly determine whether the servo motor will vibrate in motion. Therefore, it is necessary to perform actual motion operations on each servo drive system to determine whether each servo system will vibrate under the final set inertia ratio and bandwidth. If vibration occurs, it means that the bandwidth setting is not appropriate and needs to be adjusted until vibration does not occur.
[0107] In this embodiment, a vibration index capable of characterizing the vibration of the system is set to monitor whether the system vibrates.
[0108] The raw data of vibration index comes from the motor current value, specifically from the torque current iqf in the motor vector control, which is directly related to the electromagnetic torque of the motor. iqf is the torque current component in the dq coordinate system. After the current is collected, it passes through a high-pass filter to filter out the low-frequency components and only allow the high-frequency components to pass. If the corresponding servo drive system vibrates, the high-frequency component contains vibration information, and the signal has high energy; if the system does not vibrate, the energy represented by the high-frequency component is weak, and it is just the switching noise of the motor driver.
[0109] Before the high-frequency signal data of each servo drive system is finally adopted, in order to achieve a balance between data sampling and vibration time length judgment, data sampling needs to be performed as follows: Figure 5 Processing shown.
[0110] Figure 5 In the above equation, t(1), t(2), t(3), ... , t(N) are the sampling start time, Δt is the sampling time length, Δtk is the interval between each sampling time, and N is the number of sampled data.
[0111] On the one hand, this simplifies the sampling data, avoids each servo driver uploading too much data through the communication bus, and improves the calculation efficiency; on the other hand, it is conducive to examining the vibration of the system with a reasonable amount of sampling data over a long period of time, so as to improve the reliability of vibration identification;
[0112] In a specific implementation, Δtk is a set value; it can be set to: Δtk=Δt; it can also be set to Δtk>Δt.
[0113] General principles for selecting Δtk and Δt:
[0114] The smaller N is, or the smaller Δt is, the shorter the signal time period under investigation is, which can increase the sensitivity of vibration judgment but may reduce the reliability; conversely, the larger N is, or the larger Δt is, the lower the sensitivity of vibration judgment is, but the reliability is increased.
[0115] For a robot arm of a servo system with a large joint motor inertia, the maximum load inertia it can bear may also be large. In order to increase the vibration sensitivity (the larger the inertia, the greater the harm caused by vibration), the N or Δt value can be appropriately reduced; for a small inertia system, the N or Δt value can be appropriately increased to increase detection reliability.
[0116] To ensure signal integrity: (Δt / Δtk)>50% in this embodiment.
[0117] In this embodiment, the energy value of the high-frequency current obtained by calculation is used as the vibration indicator parameter. When the parameter of a certain axis servo is higher than the set value, it is considered that vibration has occurred, and the control system can lower the bandwidth setting value. The calculation process is as follows: Figure 6 shown.
[0118] Figure 6 In the figure, HPF represents high-pass filter; E1, E2, …, EN represent the energy values of high-frequency signals calculated at each sampling moment; ΔE1, ΔE2, …, ΔEM represent the absolute value of the energy difference between adjacent sampling moments; after the energy value at each sampling moment is calculated, the sum Et of the energy values of N sampling points is calculated and compared with the preset value. If it is higher than the preset value; and the sum ΔEt of the energy difference between adjacent sampling moments is less than another preset value, it indicates that the system is vibrating.
[0119] Figure 6The identification process shown is run once in the no-load and loaded conditions. If it is a multi-axis robot system, the load condition refers to the specific operation that the end of the robot needs to perform, such as in the process of carrying goods.
[0120] Assume that the total energy value preset value when no-load is Eset1, and the total energy value preset value when loaded is Eset2. Correspondingly, the total energy difference preset value when no-load is ΔEset1, and the total energy difference preset value when loaded is ΔEset2.
[0121] set up Figure 6 During the process, the sum of the energy values generated during no-load operation is Et1, and the sum of the energy differences is ΔEt1; the sum of the energy values generated during load operation is Et2, and the sum of the energy differences is ΔEt2; when the following relationship is met, it indicates that the joint servo system vibrates.
[0122] When no load:
[0123] Et1>Eset1; and, ΔEt1<ΔEset1.
[0124] Under load:
[0125] Et2>Eset2; and, ΔEt2<ΔEset2.
[0126] Regardless of no-load or load, as long as vibration occurs, the speed loop bandwidth needs to be lowered to avoid system vibration.
[0127] The size of the preset value can be calibrated through experiments or set based on experience.
[0128] In the conditions for judging vibration under no-load or load, the first judgment condition indicates that the high-frequency energy is higher than the set value; the second judgment condition indicates that the energy difference between adjacent sampling points is small, which is consistent with the characteristics that when the system vibrates, it generally has a basically fixed or similar vibration frequency and amplitude, that is, within the period of time under investigation, the energy difference between adjacent inspection points is not large; therefore, when both conditions are met, it can be determined that the system is vibrating. The judgment process is as follows: Figure 7 shown.
Claims
1. A method for adjusting and optimizing the servo control parameters of a multi-axis robot arm joint, characterized in that: The steps include: S1, set the inertia ratio of each joint servo system of the multi-axis robot arm to be the same, set the expected speed loop bandwidth of each joint servo system of the multi-axis robot arm to be the same, and each joint servo system meets Kp=f(R,BW_set) Ki=f(Kp) R=J L / J m ; S2, the controller simultaneously sends small signal speed instructions to each joint servo driver; The small signal speed command expression is as follows: Vref(n,f)=An*sin(2πft); In the formula, An is the small signal amplitude; f is the frequency; t is the time; n represents the joint servo driver number; S3, the joint servo driver operates based on the received speed command and feeds back the motor angle information and actual speed information; S4, the controller reads the angle information and actual speed information of each joint servo driver and analyzes the actual speed loop bandwidth; the calculation method is as follows: Vdif(n,f)=Vfdb(n,f) / Vref(n,f); Vfdb(n,f) is the speed feedback value received by the controller; Vdif(n,f) is the ratio of the speed feedback value to the speed given value; When the ratio Vdif(n,f)=0.707, the corresponding frequency f value is the bandwidth value of the current joint servo driver, BW(n)=f; S5, sorting the actual speed loop bandwidths of the servo drive systems of the various joints according to their sizes; S6, calculating the error between the actual speed loop bandwidth and the expected speed loop bandwidth of each joint servo drive system; S7, comparing whether the above error is within the set allowable error range; S8, adjusting the inertia ratio of the joint servo drive system whose error exceeds the set allowable error range, until all errors of its actual speed loop bandwidth fall within the set allowable error range; SN, fixes the inertia ratio of the servo drive system of each joint; In the above relationship, the meanings of the symbols are as follows: inertia ratio R, bandwidth setting value BW_set, load inertia J L 、Motor inertia J m , the proportional gain value Kp is a function of the inertia ratio R and the bandwidth setting value BW_set; the integral gain value Ki is a function of Kp; the inertia ratio R is a function of the load inertia J L and motor inertia J m ratio.
2. A method for adjusting and optimizing the servo control parameters of a multi-axis robot arm joint according to claim 1, characterized in that: It also includes S9, setting the inertia ratio of each joint servo system of the multi-axis robot arm to be the same, which is smaller than the inertia ratio of each joint servo system of the multi-axis robot arm in step S1; then setting the value of the expected speed loop bandwidth of each joint servo system of the multi-axis robot arm to be the same, and then returning to S2.
3. A method for adjusting and optimizing the servo control parameters of a multi-axis robot arm joint according to any one of claims 1 or 2, characterized in that: The method further includes S10, determining whether the servo systems of the joints of the current multi-axis robot arm vibrate during no-load operation and loaded operation; If vibration occurs, the value of the desired speed loop bandwidth of the corresponding joint servo control system is adjusted until each joint servo system of the multi-axis robot arm does not vibrate when running without load or with load.
4. A method for adjusting and optimizing servo control parameters of a multi-axis robot arm joint according to claim 3, characterized in that: The specific steps of S10 are as follows: S10.1, in no-load state, the multi-axis robot arm is operated, and the servo control system of each joint transmits the current information to the controller after filtering it through a high-frequency filter; S10.2, the controller determines whether mechanical vibration occurs in the servo system of each joint of the robot arm according to the received current information; S10.3, if vibration occurs, lower the value of the desired speed loop bandwidth of the corresponding joint servo control system; if no vibration occurs, proceed to step S10.4; S10.4, under load condition, the multi-axis robot arm is operated, and the servo control system of each joint transmits the current information to the controller after filtering it through a high-frequency filter; S10.5, the controller determines whether mechanical vibration occurs in the servo system of each joint of the robot arm according to the received current information; S10.6, if vibration occurs, lower the value of the desired speed loop bandwidth of the corresponding joint servo control system until no vibration occurs during load operation; if no vibration occurs, go to step SN.
5. A method for adjusting and optimizing the servo control parameters of a multi-axis robot arm joint according to claim 4, characterized in that: The specific steps of S10.2 are as follows: S10.2.1, the controller performs data sampling processing on the current information passing through the high-frequency filter; including setting N sampling moments t(1), t(2), t(3) ... t(N-1), t(N), the time length of each sampling moment is set to Δt, and the interval time between the sampling moments is set to Δtk; S10.2.2, the controller calculates the energy values E1, E2, E3...EN-1, EN of the current information at N sampling moments; S10.2.3, the controller calculates the absolute value of the difference in energy value of the current information between each adjacent sampling time at N sampling time points ΔE1, ΔE2, ... ΔEM-1, ΔEM; S10.2.4, the controller calculates the total energy value Et1 of the current information at N sampling moments and compares it with the preset total energy value Eset1; S10.2.5, the controller calculates the absolute value sum ΔEt1 of the energy value difference of the current information between each adjacent sampling time at N sampling time points and compares it with the preset value ΔEset1 of the energy difference sum; S10.2.6, when Et1>Eset1 and ΔEt1<ΔEset1, it is determined that vibration occurs.
6. A method for adjusting and optimizing the servo control parameters of a multi-axis robot arm joint according to claim 5, characterized in that: (Δt / Δtk)>50%.
7. A method for adjusting and optimizing the servo control parameters of a multi-axis robot arm joint according to claim 6, characterized in that: The specific steps of S10.5 are as follows: S10.5.1, the controller performs data sampling and processing on the current information passing through the high-frequency filter; S10.5.2, the controller calculates the energy value of the current information at N sampling moments; S10.5.3, the controller calculates the absolute value of the difference between the energy values of the current information at each adjacent sampling time at N sampling times; S10.5.4, the controller calculates the total energy value Et2 of the current information at N sampling moments and compares it with the preset total energy value Eset2; S10.5.5, the controller calculates the absolute value sum ΔEt2 of the energy value difference of the current information between each adjacent sampling time at N sampling time points and compares it with the preset value ΔEset2 of the energy difference sum; S10.5.6, when Et2>Eset2 and ΔEt2<ΔEset2, it is determined that vibration occurs.
Citation Information
Patent Citations
Servo motor load inertia measurement method
CN109510543A
Oscillation detection and automatic control of speed loop gain in servo system
JP1990261083A