A control method for a dynamic adjustment motor of a robot

By collecting motor signals in real time and building switching conditions, and dynamically adjusting the motor control mode, the problems of long start time and overshoot in traditional methods are solved, and the robot's rapid response and stability in different occasions are achieved, vibration is suppressed, and the system's response time and control of accuracy are improved.

CN116330261BActive Publication Date: 2025-08-26SHANDONG XINSONG IND SOFTWARE RES INST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111586674.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-23
Publication Date
2025-08-26
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

Traditional motor control methods are difficult to ensure a short start time and avoid overshoot in robot systems, and existing methods cannot take into account both fast response and stability.

Method used

By collecting motor output signals in real time, building a variety of motor switching conditions and threshold coefficients, selecting appropriate control modes, and dynamically adjusting motor operation to meet the needs of different application scenarios, including fast tracking, stability, stability and fast adjustment capabilities.

Benefits of technology

It realizes the rapid response and stability of the robot in different application situations, suppresses vibration, shortens adjustment time, and improves the response time and control of accuracy of the robot system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116330261B_ABST
    Figure CN116330261B_ABST
Patent Text Reader

Abstract

The present invention belongs to the field of motor control, specifically a control method for a dynamic adjustment motor of a robot. The method comprises the following steps: 1) collecting motor output signals in real time, using the motor output signals fed back in real time as the motor input signals Vin(k-1) at time k-1, and using the control instructions of the robot controller as the input signals Vin(k) at time k; 2) constructing a plurality of different motor switching conditions; 3) constructing a plurality of different control modes according to Vin(k) and Vin(k-1); 4) selecting different motor switching conditions according to the application scenarios required by the robot system, judging the relationship between Vin(k) and the threshold coefficient, and selecting different control modes that meet the requirements; 5) obtaining output signals according to the corresponding control modes. The present invention improves the responsiveness of the robot in different application scenarios, and improves the speed and stability of the robot in the same application scenario with different requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of motor control, in particular to a control method for a dynamic adjustment motor of a robot. Background Art

[0002] In the field of motor control in robotics, varying loads and current positions often lead to long startup times and overshoot during system startup and shutdown. Traditional gain adjustment methods, when attempting to minimize startup time, can cause overshoot, while avoiding overshoot increases system startup time. Traditional methods cannot simultaneously guarantee a short startup time and avoid overshoot. To improve system responsiveness, shorten system adjustment time, and prevent overshoot, a method for real-time motor operation adjustment has been designed. Summary of the Invention

[0003] The present invention aims to provide a control method for a dynamically adjustable motor in a robot, suitable for use in various robot applications. The robot's operational process includes a stationary phase, a startup phase, an operational phase, and a stop phase. During the startup and operational phases, the robot is required to exhibit fast tracking and high responsiveness. During the stationary and stop phases, the robot is required to exhibit high stability and the ability to resist external disturbances. Certain special applications also require rapid settling capabilities and a short settling time during the stop phase.

[0004] The technical solution adopted by the present invention to achieve the above-mentioned object is: a control method for a dynamic adjustment motor of a robot, comprising the following steps:

[0005] 1) Real-time acquisition of motor output signals, the real-time feedback of motor output signals as the motor input signal Vin(k-1) at time k-1, and the control instructions of the robot controller as the input signal Vin(k) at time k;

[0006] 2) Construct a variety of different motor switching conditions and set threshold coefficients to select the motor switching condition that meets the requirements based on the set threshold coefficients;

[0007] 3) Constructing various control modes based on the motor input signal Vin(k-1) at time k-1 and the input signal Vin(k) at time k;

[0008] 4) According to the application scenarios required by the robot system, different motor switching conditions are selected, the relationship between Vin(k) and the threshold coefficient is determined, and different control modes that meet the requirements are selected under different switching conditions;

[0009] 5) Obtain the output signal Vout(k) according to the corresponding control mode.

[0010] In step 2), construct multiple different motor switching conditions, specifically:

[0011] According to different application scenarios, set 5 different switching conditions, namely:

[0012] Switching condition A, used to indicate that when it is necessary to ensure the system stability during the operation of the robot system;

[0013] Switching condition B, used to indicate that when it is necessary for the robot system to quickly follow the control instructions of the robot controller;

[0014] Switching condition C, used to indicate that it is necessary to ensure the smooth operation of the robot system and ensure the stable operation trajectory of the robot end;

[0015] Switching condition D, used to indicate that when it is necessary to prevent the robot system from responding laggingly;

[0016] Switching condition E, used to indicate that the robot system reaches the target position at an unspecified time.

[0017] In step 2), set a threshold coefficient to enable the robot system to select a motor switching condition that meets the requirements according to the set threshold coefficient; specifically:

[0018] [[ID=2*]]Switching condition A: Take the change of the control instruction Vin(k) of the robot controller as the threshold coefficient;

[0019] Switching condition B: Take k*Vref as the threshold coefficient, where k represents the switching level, 0 < k < 1; Vref is the target instruction, used to obtain the target instruction for controlling the motor according to the control instruction Vin(k);

[0020] Switching condition C: Take k*dVref / dt as the threshold coefficient, where k represents the switching level, 0 < k < 1; where dVref / dt is the differential of the target instruction, used to judge the smoothness of the robot;

[0021] Switching condition D: Take k*(Vref - Vrefold) as the threshold coefficient, where k represents the switching level, 0 < k < 1; where Vrefold is the target instruction at the previous moment;

[0022] Switching condition E: Take k*Vfbk as the threshold coefficient, where k represents the switching level, 0 < k < 1; Vfbk is the actually collected real-time feedback value, including one of position, speed, and current.

[0023] The control modes include: control mode A for suppressing vibration, control mode B for accelerating the response speed, and control mode C for shortening the tuning time.

[0024] The step 3) is specifically as follows:

[0025] Control mode A is:

[0026]

[0027] Where, Vin(k) is the input signal at time k, Vin(k-1) is the input at time k-1, K1 and I1 are control coefficients, and Vout(k) is the output signal at time k;

[0028] Control mode B is:

[0029]

[0030] Among them, K2 and I2 are adjustment coefficients, K2>K1.

[0031] In step 4), different motor switching conditions are selected according to the application scenarios required by the robot system, the relationship between Vin(k) and the threshold coefficient is determined, and different control modes that meet the requirements are selected under different switching conditions; specifically:

[0032] When switching condition A is selected, it is determined whether the control signal of the robot controller has changed. If the command has not changed, control mode A is adopted; otherwise, control mode B is adopted.

[0033] In switching condition B, the relationship between Vin(k) and k*Vref is determined. If Vin(k) < k*Vref, control mode A is adopted; otherwise, control mode B is adopted.

[0034] In switching condition C, the relationship between Vin(k) and k*dVref / dt is determined. If Vin(k) < k*dVref / dt, control mode A is used; otherwise, control mode B is used.

[0035] In the switching condition D, the relationship between Vin(k) and k*(Vref-Vrefold) is determined. If Vin(k) < k*Vref, control mode A is adopted; otherwise, control mode B is adopted.

[0036] In the switching condition E, the magnitude relationship between Vin(k) and k*Vfbk is determined. If Vin(k) < k*Vref, control mode A is adopted; otherwise, control mode B is adopted.

[0037] The switching condition is also provided with a hysteresis time according to the actual needs of the robot system, so as to extend the action time of the control mode B. When the action time of the control mode B needs to be extended, the hysteresis time is set to meet the actual needs of the robot system; otherwise, Vout(k) is directly output.

[0038] The step 5) is specifically as follows:

[0039] When the robot system switches from the running stage to the stopping stage, the corresponding control mode is switched for control, and the obtained output signal Vout(k) is output to the robot system to control the motor of the robot system, thereby dynamically controlling the robot system;

[0040] On the contrary, when the robot system is in a stationary phase or a startup phase, the output signal Vout(k) is directly sent to the robot system.

[0041] The output signal Vout(k) is obtained according to the corresponding control mode, specifically:

[0042] When the robot system switches from the running phase to the stopping phase, the switching control mode C is used for control; the switching mode is:

[0043] Set the control time of control mode C, and the output signal Vout(k) of any switching condition is used as Vin(k) of control mode C;

[0044] When the action time of control mode C does not reach the control time, the control mode C obtains the output signal Vout(k) and transmits it to the robot system;

[0045] When the action time of control mode C reaches the control time, control mode C is switched to control mode A, and Vin(k) in control mode C is switched to control mode A, and used as Vin(k) of control mode A to obtain a new output signal Vout(k) which is transmitted to the robot system.

[0046] The control mode C is:

[0047]

[0048] Among them, K3 and I3 are adjustment coefficients, and K1 is the control coefficient.

[0049] The present invention has the following beneficial effects and advantages:

[0050] 1. The method of the present invention realizes dynamic adjustment of motor control, improves the responsiveness of the robot in different application scenarios, and improves the speed and stability of the same application scenario under different requirements;

[0051] 2. The present invention has smoothness, can achieve a smooth transition, and ensure the smoothness of the curve. At the same time, it suppresses output saturation and is usually used in situations where stable operation is required;

[0052] 3. The present invention can respond quickly and in a short time. It is usually used in situations where the robot needs to quickly perform specific functions;

[0053] 4. The present invention ensures the timeliness of tracking and avoids response lag. It is usually used in situations where high accuracy is required.

[0054] 5. The present invention makes adjustments based on actual feedback signals to prevent the robot from failing to reach the target position in time

[0055] 6. The present invention can effectively suppress the vibration of the robot when it goes from a stationary state to a moving state; it can achieve a smooth acceleration of the robot from a stationary state to a higher speed, shortening the adjustment time;

[0056] 7. The present invention can achieve better instruction tracking performance when the robot needs to follow quickly;

[0057] 8. The present invention can effectively control the robot to adapt to different applications and different load levels, and can dynamically adjust the following performance according to the changes in the robot load to optimize the robot performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 This is a flow chart of the present invention for dynamically adjusting the motor control effect. DETAILED DESCRIPTION

[0059] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments.

[0060] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings and embodiments.

[0061] The robot's operational process consists of a stationary phase, a startup phase, an operational phase, and a stop phase. The startup and operational phases require fast tracking and responsiveness, while the stationary and stop phases require high stability and the ability to withstand external disturbances. In some special cases, the stop phase also requires rapid settling capabilities and short settling times.

[0062] Robots need to have different performance in different occasions. Usually, robots are required to be stable. For robots with low friction, they are required to have high positioning performance; for robots with large friction loads, they are required to have a short setting time; for robots with high vibration suppression requirements, they are required to have the ability to quickly set and suppress vibration.

[0063] like Figure 1As shown, the following method is designed for the input and output control of the robot. The robot system collects the output signal of the motor in real time through the signal feedback module, and uses the real-time feedback of the motor as the input signal Vin(k-1) of the system at time k-1. The control signal of the robot controller is the input signal Vin(k) of the system at time k.

[0064] Control mode A:

[0065]

[0066] Among them, K1 and I1 are control coefficients, and control mode A can effectively suppress vibration.

[0067] Control mode B:

[0068]

[0069] Among them, K2 and I2 are adjustment coefficients, K2>K1, and control mode B can effectively shorten the positioning time, speed up the response speed, and obtain better tracking performance.

[0070] Control mode C:

[0071]

[0072] Among them, K3 and I3 are adjustment coefficients, K3 range: 1-10, control mode C can suppress vibration during setting and shorten the setting time.

[0073] Among them, Vin(k) is the input at time k, Vin(k-1) is the input at time k-1, and Vout(k) is the output at time k.

[0074] The output signal is used to control the robot's actuator and dynamically control the robot.

[0075] The robot dynamically selects the above formula for control based on the switching conditions. Depending on the application scenario, the switching conditions can be selected from the following conditions:

[0076] Switching condition A: Use the command change as the threshold coefficient.

[0077] When the command does not change, use control mode A for control

[0078] When the instruction changes, switch to control mode B for control.

[0079] Switching condition A is applicable to situations where stability is required.

[0080] Switching condition B: k*Vref is used as the threshold coefficient, k represents the switching level, 0 <k<1。

[0081] When Vin < k * Vref, control is performed using control mode A.

[0082] When Vin > k * Vref, switch to control mode B for control.

[0083] For occasions requiring fast response, the value of k is taken to be small; for occasions requiring high stability, the value of k is taken to be large.

[0084] Switching condition C: Use k * dVref / dt as the threshold coefficient, where k represents the switching level and 0 < k < 1.

[0085] When Vin < k * dVref / dt, control is performed using control mode A.

[0086] When Vin > k * dVref / dt, switch to control mode B for control.

[0087] Switching condition C has high smoothness, which can ensure the smooth operation of the robot and the smoothness of the curve. At the same time, it suppresses the saturation of the output.

[0088] Switching condition D: Use k * (Vref - Vrefold) as the threshold coefficient, where k represents the switching level and 0 < k < 1.

[0089] When Vin < k * (Vref - Vrefold), control is performed using control mode A.

[0090] When Vin > k * (Vref - Vrefold), switch to control mode B for control.

[0091] The characteristic of switching condition D is that it can track in a timely manner and avoid response lag. It is usually applied to occasions with high requirements for accuracy.

[0092] Switching condition E: Use k * Vfbk as the threshold coefficient, where k represents the switching level and 0 < k < 1.

[0093] When Vin < k * Vfbk, control is performed using control mode A.

[0094] When Vin > k * Vfbk, switch to control mode B for control.

[0095] Switching condition E makes adjustments according to the actual feedback signal to prevent the robot from not reaching the target position in a timely manner. It can adjust the command signal of the robot in a timely manner.

[0096] Among them, Vref is the target command, Vin is the input command, and Vfbk is the actual feedback value.

[0097] Each switching condition can set a hysteresis time to increase the control time of control mode B to extend the action time of control mode B. When the action time of control mode B needs to be extended, the hysteresis time is set to meet the actual needs of the robot system. Otherwise, Vout(k) is output directly.

[0098] For some special occasions, the stopping phase also requires fast tuning capability and short tuning time. In this case, control mode C is added. When the robot switches from the running phase to the stopping phase, it switches to control mode C for control. After the control time of control mode C ends, it switches to control mode A for control. The specific workflow is as follows:

[0099] When the robot system switches from the running phase to the stopping phase, the switching control mode C is used for control; the switching mode is:

[0100] Set the control time of control mode C, and the output signal Vout(k) of any switching condition is used as Vin(k) of control mode C;

[0101] When the action time of control mode C does not reach the control time, the control mode C obtains the output signal Vout(k) and transmits it to the robot system;

[0102] When the action time of control mode C reaches the control time, control mode C is switched to control mode A, and Vin(k) in control mode C is switched to control mode A, and used as Vin(k) of control mode A to obtain a new output signal Vout(k) which is transmitted to the robot system.

[0103] The present invention can effectively suppress the vibration of the robot from a stationary state to a moving state according to different switching conditions; can realize the smooth acceleration of the robot from a stationary state to a higher speed, shortening the adjustment time; can realize the robot to obtain better instruction tracking performance when fast following is required; and can dynamically adjust the following performance according to the change of the robot load.

Claims

1. A control method for a dynamic adjustment motor of a robot, characterized in that: It includes the following steps: Step 1: Collect the motor output signal in real time, take the real-time feedback motor output signal as the motor input signal Vin(k - 1) at the (k - 1)th moment, and take the control instruction of the robot controller as the input signal Vin(k) at the kth moment; Step 2: Construct multiple different motor switching conditions and set threshold coefficients to select the motor switching conditions that meet the requirements according to the set threshold coefficients; The construction of multiple different motor switching conditions is specifically as follows: According to different application scenarios, set 5 different switching conditions, which are respectively: Switching condition A is used to indicate that it is necessary to ensure the system stability during the operation of the robot system; Switching condition B is used to indicate that it is necessary for the robot system to quickly follow the control instruction of the robot controller; Switching condition C is used to indicate that it is necessary to ensure the smooth operation of the robot system and ensure the stable operation trajectory of the robot end; Switching condition D is used to indicate that it is necessary to prevent the robot system from responding lag; Switching condition E is used to indicate that the robot system reaches the target position at an unspecified moment; Step 3: Construct multiple different control modes according to the motor input signal Vin(k - 1) at the (k - 1)th moment and the input signal Vin(k) at the kth moment; Set the threshold coefficient to enable the robot system to select the motor switching conditions that meet the requirements according to the set threshold coefficient; specifically: Switching condition A: Take the change of the control instruction Vin(k) of the robot controller as the threshold coefficient; Switching condition B: Take a*Vref as the threshold coefficient, where a represents the switching level, 0 < a < 1; Vref is the target instruction, which is used to obtain the target instruction for controlling the motor according to the control instruction Vin(k); Switching condition C: Take a*dVref / dt as the threshold coefficient, where a represents the switching level, 0 < a < 1; where dVref / dt is the differential of the target instruction, which is used to judge the smoothness of the robot; Switching condition D: Take a*(Vref - Vrefold) as the threshold coefficient, where a represents the switching level, 0 < a < 1; where Vrefold is the target instruction at the previous moment; Switching condition E: Take a*Vfbk as the threshold coefficient, where a represents the switching level, 0 < a < 1; Vfbk is the actually collected real-time feedback value, including one of position, speed, and current; Step 4: Select different motor switching conditions according to the application scenario required by the robot system, judge the relationship between Vin(k) and the threshold coefficient, and select different control modes that meet the requirements among different switching conditions; The control modes include: control mode A for suppressing vibration, control mode B for accelerating the response speed, and control mode C for shortening the tuning time; Step 5: Obtain the output signal Vout(k) according to the corresponding control mode.

2. A control method for a dynamic adjustment motor of a robot according to claim 1, characterized in that: The specific content of step 3 is as follows: Control mode A is: Where Vin(k) is the input signal at the kth moment, Vin(k - 1) is the input at the (k - 1)th moment, K1 and I1 are control coefficients, and Vout(k) is the output signal at the kth moment; Control mode B is: Among them, K2 and I2 are adjustment coefficients, K2>K1.

3. A control method for a dynamic adjustment motor of a robot according to claim 1, characterized in that: In step 4, different motor switching conditions are selected according to the application scenarios required by the robot system, the relationship between Vin(k) and the threshold coefficient is determined, and different control modes that meet the requirements are selected under different switching conditions; specifically: When switching condition A is selected, it is determined whether the control signal of the robot controller has changed. If the command has not changed, control mode A is adopted; otherwise, control mode B is adopted. In switching condition B, the magnitude relationship between Vin(k) and a*Vref is determined. If Vin(k) < a*Vref, control mode A is adopted; otherwise, control mode B is adopted. In switching condition C, the relationship between Vin(k) and a*dVref / dt is determined. If Vin(k) < a*dVref / dt, control mode A is used; otherwise, control mode B is used. In the switching condition D, the relationship between Vin(k) and a*(Vref-Vrefold) is determined. If Vin(k) < a*Vref, control mode A is adopted; otherwise, control mode B is adopted. In the switching condition E, the magnitude relationship between Vin(k) and a*Vfbk is determined. If Vin(k) < a*Vref, control mode A is adopted; otherwise, control mode B is adopted.

4. A control method for a dynamic adjustment motor of a robot according to claim 1, characterized in that: The switching condition is also provided with a hysteresis time according to the actual needs of the robot system, so as to extend the action time of the control mode B. When the action time of the control mode B needs to be extended, the hysteresis time is set to meet the actual needs of the robot system; otherwise, Vout(k) is directly output.

5. The control method for a dynamic adjustment motor of a robot according to claim 1, characterized in that: The step 5 is specifically as follows: When the robot system switches from the running stage to the stopping stage, the corresponding control mode is switched for control, and the obtained output signal Vout(k) is output to the robot system to control the motor of the robot system, thereby dynamically controlling the robot system; On the contrary, when the robot system is in a stationary phase or a startup phase, the output signal Vout(k) is directly sent to the robot system.

6. A control method for a dynamic adjustment motor of a robot according to claim 1 or 5, characterized in that: The output signal Vout(k) is obtained according to the corresponding control mode, specifically: When the robot system switches from the running phase to the stopping phase, the switching control mode C is used for control; the switching mode is: Set the control time of control mode C, and the output signal Vout(k) of any switching condition is used as Vin(k) of control mode C; When the action time of control mode C does not reach the control time, the control mode C obtains the output signal Vout(k) and transmits it to the robot system; When the action time of control mode C reaches the control time, control mode C is switched to control mode A, and Vin(k) in control mode C is switched to control mode A, and used as Vin(k) of control mode A to obtain a new output signal Vout(k) which is transmitted to the robot system.

7. A control method for a dynamic adjustment motor of a robot according to claim 6, characterized in that: The control mode C is: Among them, K3 and I3 are adjustment coefficients, and K1 is the control coefficient.

Citation Information

Patent Citations

  • Control Device, robot, And Robot System

    CN108687765A

  • Rotation speed control method and device, motor speed regulation system, storage medium and processor

    CN111817630A