Iterative self-tuning method for robot drive motor feedforward controller parameters

CN119927903BActive Publication Date: 2026-10-30CHENXING (NANJING) AUTOMATION EQUIPMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510083687.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-20
Publication Date
2026-10-30
Estimated Expiration
2045-01-20

AI Technical Summary

Technical Problem

然而,目前在实际应用中,工程测试人员仍然主要通过试验手段依次调试机器人每个关节驱动电机的前馈参数,依赖工程师的经验且效率不高,无法针对机器人的工作轨迹实施优化

Benefits of technology

[0036]采用本申请的机器人驱动电机前馈控制器参数迭代自整定方法的有益技术效果是:提供了简单可行、易于实现的自动化整定机器人所有电机前馈控制器参数的自整定方法,以提高调试效率和自动化程度。首先,基于最小二乘原理计算迭代增量,算法简单,对计算机硬件要求低;其次,迭代过程仅使用了电机位置误差数据,不需要在数控系统之外增加采集设备,不会增加额外成本;最后,本方法是一种自动化程序,提高了机器人调试的效率和自动化程度。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119927903B_ABST
    Figure CN119927903B_ABST
Patent Text Reader

Abstract

The application discloses a kind of robot drive motor feedforward controller parameter iterative self-tuning method, including steps S1: determining a section of working track;Step S2: setting servo control structure;Step S3: the speed loop feedforward controller of drive motor is set, so that robot executes track, collects and marks position error;Step S4: as step S3 is set again;Step S5: the deviation obtained in step S3, step S4 is calculated;Step S6: the speed loop feedforward controller is set, and iteration is carried out;Step S7: the iterative increment of the controller parameter of drive motor is calculated;Step S8: the controller parameter of drive motor is updated;Step S9: whether to meet the condition of stopping iteration is judged;Step S10: repeat step, until completing iteration.This application is simple and feasible, easy to realize the self-tuning method of the automatic setting robot motor feedforward controller parameter, can improve debugging efficiency and degree of automation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of industrial robot technology, and in particular to a method for iterative self-tuning of parameters of a robot drive motor feedforward controller. Background Technology

[0002] The inventors are aware that industrial robot servo systems generally employ a composite control structure combining series PID correction and feedforward correction. This controller structure is robust and highly reliable, and plays a dominant role in industrial robot control.

[0003] Typically, the structure of a feedforward controller is determined by the model of the controlled object. Since the parameters of the controlled model are unknown and difficult to obtain, it is impossible to obtain accurate controller parameters. In order for the servo system to meet the requirements of control accuracy and dynamic capability, the control parameters must be tuned and optimized according to the actual situation.

[0004] The basic idea behind feedforward controller parameter tuning is to fit the inverse model of the controlled object and generate the input command control signal (torque or current signal) before the error control signal of the closed-loop feedback. In industrial practice, the transfer function of the controlled object can be simplified to a rational fraction with a single numerator. Therefore, the structure of the feedforward controller usually adopts a rational polynomial, and the problem of feedforward controller parameter tuning is transformed into a convex optimization problem of fitting the coefficients of a rational polynomial. This polynomial-type linear parameterization structure ensures that the feedforward controller is stable and that optimal parameters are easy to obtain.

[0005] Scholars have proposed various approaches to solving polynomial parameter problems, such as least squares fitting, deep learning, and numerical iteration methods. However, in practical applications, engineers still primarily rely on experimental methods to sequentially debug the feedforward parameters of each joint drive motor of the robot. This method is experience-dependent, inefficient, and cannot optimize the robot's trajectory. Therefore, a simple, feasible, and easily implemented self-tuning method for all motor feedforward controller parameters of a robot is urgently needed to improve debugging efficiency and automation. Summary of the Invention

[0006] The problem to be solved by the present invention is to provide an iterative self-tuning method for the parameters of the feedforward controller of the robot drive motor. It is a simple, feasible and easy-to-implement self-tuning method for automatically tuning the parameters of the feedforward controller of the robot motor, which can improve the debugging efficiency and the degree of automation.

[0007] To address the aforementioned problems, this invention provides an iterative self-tuning method for the parameters of a robot drive motor feedforward controller. To achieve the above objectives, the technical solution adopted by this invention to solve its technical problems is as follows:

[0008] A method for iterative self-tuning of feedforward controller parameters for a robot drive motor includes: Step S1: Determining a working trajectory that meets the requirements based on the robot's work content and acceleration / deceleration capabilities; Step S2: Setting up the servo control structure of the drive motor; Step S3: Sequentially setting up the speed loop feedforward controller of the drive motor to enable the robot to execute the trajectory, collecting the position error of the drive motor, and marking the position error of the drive motor; Step S4: Setting up the speed loop feedforward controller of the drive motor again to enable the robot to execute the trajectory, collecting the position error of the drive motor, and marking the position error of the drive motor; Step S5: Calculating the deviation of the position error data of the drive motor obtained in steps S3 and S4; Step S6: Sequentially setting up the speed loop feedforward controller of the drive motor and performing iteration; Step S7: Calculating the iterative increment of the controller parameters of the drive motor; Step S8: Updating the controller parameters of the drive motor; Step S9: Determining whether the condition for stopping iteration is met; Step S10: Substituting the iteratively updated data into step S6, repeating steps S6, S7, S8, and S9 until the iteration process of the motor is completed.

[0009] As a further improvement of the present invention, in step S1, a working trajectory that meets the requirements is determined within the robot's operating space and denoted by P(t); in step S2, G... p G v G represents the transfer function of the position loop controller, the speed loop controller, and the controlled object, respectively; G i Indicates the unit integral stage; C p and C v Let G represent the transfer functions of the position loop feedforward controller and the velocity loop feedforward controller, respectively. i and C p The formula for determining it is:

[0010]

[0011] C p =s

[0012] In the formula, s represents a complex variable in the frequency domain.

[0013] As a further improvement of the present invention, in step S3, the speed loop feedforward controller of the drive motor is sequentially set to C. v = 0, so that the robot executes trajectory P(t), and at the same time, the position error of the drive motor is collected, and the position error of the j-th (j = 1, 2, ..., n) drive motor is recorded as e. s,j The formula is determined as follows:

[0014] e s,j =[e s,j (T) e s,j (2T) … e s,j(KT)] T

[0015] Where T represents the sampling period of the position error data, e s,j (kT) represents the position error of the kth (k=1,2,…,K) sampling period, K represents the total number of sampling points, and n represents the total number of drive motors.

[0016] As a further improvement of the present invention, in step S4, the speed loop feedforward controller of the drive motor is sequentially set to C. v =1, so that the robot executes the same trajectory P(t), and at the same time, the position error of the drive motor is collected. The position error of the j-th (j=1,2,…,n) drive motor is denoted as e. r,j The formula is determined as follows:

[0017] e r,j =[e r,j (T) e r,j (2T) … e r,j (KT)] T

[0018] Where T represents the sampling period of the position error data, e r,j (kT) represents the position error of the kth (k=1,2,…,K) sampling period, K represents the total number of sampling points, and n represents the total number of drive motors.

[0019] As a further improvement of the present invention, in step S5, the deviation of the position error data of the j-th drive motor obtained in steps S3 and S4 is calculated and denoted as e. Δ,j The formula is obtained as follows:

[0020] e Δ,j =e s,j -e r,j .

[0021] As a further improvement of the present invention, in step S6, the speed loop feedforward controller of the drive motor is sequentially set to To carry out the (i+1)th iteration (i = 0, 1, 2, 3, ...), where and This represents the value of the feedforward controller parameter for the j-th (j = 1, 2, ..., n) drive motor after iteration i. and Let P(t) be the initial value for iteration, causing the robot to execute the same trajectory. Simultaneously, the position error of the drive motors is collected, and the position error of the j-th drive motor is denoted as . The formula is determined as follows:

[0022]

[0023] Where T represents the sampling period of the position error data. Let represent the position error of the k-th (k = 1, 2, ..., K) sampling period, K represent the total number of sampling points, and n represent the total number of drive motors. For ease of iterative development, ... This represents the position error of the j-th drive motor collected when the controller parameters are set to their initial values.

[0024] As a further improvement of the present invention, in step S7, the iteration increment of the controller parameters of the drive motor in the (i+1)th iteration is calculated by... This represents the iteration increment of the j-th drive motor at the (i+1)-th iteration:

[0025]

[0026] calculate The formula is:

[0027]

[0028] As a further improvement of the present invention, in step S8, the controller parameters of the j-th drive motor are updated by... The controller parameters are represented after iteration i+1:

[0029]

[0030] calculate The formula is:

[0031]

[0032] As a further improvement of the present invention, the determination in step S9 is... The formula for determining whether the condition for stopping iteration is met is:

[0033] and

[0034] Where, ξ a,j and ξ b,j Let represent the convergence accuracy value of the feedforward controller parameters for the j-th drive motor. If the above formula is satisfied, then the parameters of the speed loop feedforward controller for the j-th drive motor are taken as follows: and The iteration process is terminated; if the above formula is not satisfied, the iteration process of the j-th drive motor continues.

[0035] As a further improvement of the present invention, in step S10, the i+1th iteration update is... Substitute step S6, and repeat steps S6, S7, S8, and S9 until the iteration process of all motors is completed, and the self-tuning ends.

[0036] The beneficial technical effects of the iterative self-tuning method for robot drive motor feedforward controller parameters proposed in this application are as follows: It provides a simple, feasible, and easy-to-implement automated self-tuning method for tuning all motor feedforward controller parameters of a robot, thereby improving debugging efficiency and automation. First, the iterative increment is calculated based on the least squares principle, resulting in a simple algorithm with low requirements for computer hardware. Second, the iterative process only uses motor position error data, eliminating the need for additional acquisition equipment outside the CNC system and avoiding additional costs. Finally, this method is an automated procedure, improving the efficiency and automation of robot debugging. Attached Figure Description

[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art 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.

[0038] Figure 1 This is a servo control structure diagram of a drive motor according to one embodiment of the present invention;

[0039] Figure 2 This is a flowchart of the speed loop controller parameter self-tuning process according to one embodiment of the present invention;

[0040] Figure 3 This is a flowchart of the method steps of one embodiment of the present invention. Detailed Implementation

[0041] The present invention will be further described in detail below with reference to specific embodiments:

[0042] To achieve the objectives of this invention, an iterative self-tuning method for robot drive motor feedforward controller parameters is disclosed. This method can automatically tune all feedforward controller parameters for robot motors and optimize the robot's working trajectory, thereby improving the debugging efficiency and automation level of industrial robots. The method proposed in this invention is applicable to various industrial robots employing position closed-loop servo control.

[0043] To achieve the above objectives, such as Figure 3 As shown, the method disclosed in this invention includes the following steps:

[0044] Step S1: Based on the robot's work content and acceleration / deceleration capabilities, determine a work trajectory within the robot's operating space that meets the requirements, denoted by P(t);

[0045] Step S2: According to Figure 1 Configure the servo control structure for the drive motor. Among them, G p G v G represents the transfer function of the position loop controller, the speed loop controller, and the controlled object, respectively; G i Indicates the unit integral stage; C p and C v Let G represent the transfer functions of the position loop feedforward controller and the velocity loop feedforward controller, respectively. i and C p Determined by the following expression:

[0046]

[0047] C p =s formula (2)

[0048] In the formula, s represents a complex variable in the frequency domain.

[0049] Step S3: Sequentially set the speed loop feedforward controller of all drive motors to C. v = 0, so that the robot executes trajectory P(t), and at the same time collects the position error of all drive motors, and records the position error of the j-th (j = 1, 2, ..., n) drive motor as e. s,j It is determined by the following expression:

[0050] e s,j =[e s,j (T)e s,j (2T)…e s,j (KT)] T Formula (3)

[0051] Where T represents the sampling period of the position error data, e s,j (kT) represents the position error of the kth (k=1,2,…,K) sampling period, K represents the total number of sampling points, and n represents the total number of drive motors.

[0052] Step S4: Sequentially set the speed loop feedforward controller of all drive motors to C. v =1, so that the robot executes the same trajectory P(t), and at the same time, the position error of all drive motors is collected. The position error of the j-th (j=1,2,…,n) drive motor is denoted as e. r,j It is determined by the following expression:

[0053] e r,j =[e r,j (T)e r,j (2T)e r,j (KT)] T Formula (4)

[0054] Where T represents the sampling period of the position error data, e r,j (kT) represents the position error of the kth (k=1,2,…,K) sampling period, K represents the total number of sampling points, and n represents the total number of drive motors.

[0055] Step S5: Calculate the deviation of the position error data of the j-th drive motor obtained in steps S3 and S4, denoted as e. Δ,j It is obtained from the following formula:

[0056] e Δ,j =e s,j -e r,j Formula (5)

[0057] Step S6: Sequentially set the speed loop feedforward controllers of all drive motors to... To carry out the (i+1)th iteration (i = 0, 1, 2, 3, ...), where and This represents the value of the feedforward controller parameter for the j-th (j = 1, 2, ..., n) drive motor after iteration i. and Let represent the initial value for iteration. The robot is made to execute the same trajectory P(t), and the position errors of all drive motors are collected simultaneously. The position error of the j-th drive motor is denoted as . Determined by the following expression:

[0058]

[0059] Where T represents the sampling period of the position error data. Let represent the position error in the k-th (k = 1, 2, ..., K) sampling period, where K represents the total number of sampling points and n represents the total number of drive motors. For ease of iterative development, ... This represents the position error of the j-th drive motor collected when the controller parameters are initially set.

[0060] Step S7: Calculate the (i+1)th iteration increment of the controller parameters for all drive motors. For ease of description, let's use... This represents the iteration increment of the j-th drive motor at the (i+1)-th iteration:

[0061]

[0062] Then calculate using the following formula.

[0063]

[0064] Step S8: Update the controller parameters of the j-th drive motor. For ease of description, the parameters are... The controller parameters are represented after iteration i+1:

[0065]

[0066] Then calculate using the following formula.

[0067]

[0068] Step S9: Determine Whether the condition for stopping iteration is met is determined by the following formula:

[0069]

[0070] Where, ξ a,j and ξ b,j This represents the convergence accuracy value of the feedforward controller parameters for the j-th drive motor. If the above formula is satisfied, then the parameters of the speed loop feedforward controller for the j-th drive motor are taken as follows: and The iteration process is terminated; if the condition is not met, the iteration process of the j-th drive motor is continued.

[0071] Step S10: Update the i+1th iteration Substitute step S6 into the equation, and repeat steps S6, S7, S8, and S9 until the iterative process for all motors is completed, at which point the self-tuning ends. For the complete self-tuning process, refer to the appendix. Figure 2 .

[0072] The beneficial effects of adopting the above technical solution are as follows: First, the algorithm for calculating the iterative increment based on the least squares principle is simple and has low requirements for computer hardware; second, the iterative process only uses motor position error data, and there is no need to add acquisition equipment outside the CNC system, so as not to increase additional costs; finally, this method is an automated program, which improves the efficiency and automation of robot debugging.

[0073] The above embodiments are only for illustrating the technical concept and features of the present invention, and are intended to enable those skilled in the art to understand the content of the present invention and implement it. They should not be used to limit the scope of protection of the present invention. All equivalent changes or modifications made in accordance with the spirit and essence of the present invention should be covered within the scope of protection of the present invention.

Claims

1. A method for iterative self-tuning of parameters of a robot drive motor feedforward controller, characterized in that, include: Step S1: Determine a working trajectory that meets the requirements based on the robot's work content and acceleration / deceleration capabilities; Step S2: Set the servo control structure for the drive motor; Step S3: Sequentially set the speed loop feedforward controller of the drive motor to enable the robot to execute the working trajectory, collect the position error of the drive motor, and mark the position error of the drive motor; Step S4: Reset the speed loop feedforward controller of the drive motor to enable the robot to execute the working trajectory, collect the position error of the drive motor, and mark the position error of the drive motor; Step S5: Calculate the deviation of the position error data of the drive motor obtained in steps S3 and S4; Step S6: Sequentially set the speed loop feedforward controller for the drive motor and carry out iterations; Step S7: Calculate the iterative increment of the controller parameters for the drive motor; Step S8: Update the controller parameters for the drive motor; Step S9: Determine whether the condition for stopping iteration is met; Step S10: Substitute the updated data into step S6, and repeat steps S6, S7, S8, and S9 until the iteration process of the motor is completed. In step S1, a work trajectory that meets the requirements is determined within the robot's operating space, and then... express; In step S2, , , These represent the transfer functions of the position loop controller, the velocity loop controller, and the controlled object, respectively. Represents the unity integral stage; the and Let represent the transfer functions of the position loop feedforward controller and the velocity loop feedforward controller, respectively. and The formula for determining it is: Official (1), Official (2), In the formula, Represents complex variables in the frequency domain; In step S3, the speed loop feedforward controller of the drive motor is sequentially set to... This enables the robot to execute the work trajectory. Simultaneously, the position error of the drive motor is collected, and the first The position error of each drive motor is denoted as , , , , , The total number of drive motors is determined by the following formula: Official (3), in, This indicates the sampling period for the position error data. Indicates the first Position error per sampling period, , , , , Indicates the total number of sampling points; In step S4, the speed loop feedforward controller of the drive motor is sequentially set to... This enables the robot to execute the same work trajectory. Simultaneously, the position error of the drive motor is collected, and the first The position error of each drive motor is denoted as The formula is determined as follows: Official (4).

2. The method for iterative self-tuning of parameters of a robot drive motor feedforward controller according to claim 1, characterized in that: In step S5, the first step obtained from steps S3 and S4 is calculated. The deviation of the position error data of each drive motor is denoted as . The formula is obtained as follows: Official (5).

3. The method for iterative self-tuning of parameters of a robot drive motor feedforward controller according to claim 2, characterized in that: In step S6, the speed loop feedforward controller of the drive motor is sequentially set to... In order to carry out the first iteration , , , , ,in and Iteration The next The feedforward controller parameters for each drive motor. and This represents the initial value for iteration, ensuring the robot executes the same work trajectory. Simultaneously, the position error of the drive motor is collected, and the first The position error of each drive motor is denoted as The formula is determined as follows: Equation (6), in, Indicates the first The position error of each sampling period, in order to facilitate the iterative process, is determined by... This indicates the number of samples collected when the controller parameters are initialized. The position error of the drive motor.

Citation Information

Patent Citations

  • Method of improving system small interfering stability after accessing of double-fed unit

    CN103197559A

  • Morphing aircraft cooperative flight control system and modeling and simulation method thereof

    CN105938370A