Motor control method and device and robot

By using the target notch filter to process the notch at the motor drive end of the servo system, the resonance problem in the servo system is solved and effective suppression of motor vibration is achieved.

CN119834679APending Publication Date: 2025-04-15HANGZHOU HIKROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510322507.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-18
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

In the servo system, due to the limited rigidity of the transmission assembly, the motor speed fluctuates, which may cause vibration, which may cause resonance, causing violent vibration of the servo system.

Method used

By introducing a target notch filter at the motor drive end, the notch processing is performed, and the target current command signal is generated, which is used to drive the motor to suppress the amplitude of the motor speed fluctuation, thereby reducing vibration.

Benefits of technology

It effectively suppresses the resonance phenomenon in the servo system, reduces the vibration amplitude of the motor, and reduces the probability of resonance between the load end and the motor.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119834679A_ABST
    Figure CN119834679A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a motor control method and device and a robot, and relates to the technical field of robotics.The motor control method comprises the steps that in response to a position instruction signal, a speed instruction signal for a motor is generated, based on the speed instruction signal, a current instruction signal for the motor is generated, and the current instruction signal is sent to the robot; inputting the current instruction signal into a target notch filter for notch processing to obtain a target current instruction signal; generating a target voltage command signal for driving the motor based on the target current command signal, and transmitting the target voltage command signal to the motor to control the motor; therefore, according to the scheme, the resonance of the servo system can be suppressed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a motor control method, device and robot. Background Art

[0002] A servo system, also known as a follow-up system, is a feedback control system used to follow or reproduce a process. Typically, a servo system can include a motor, a reducer, a transmission component, and a load end (also known as a mechanism end).

[0003] In the field of intelligent warehousing, the servo system is a component of the handling robot. The motor drive end of the handling robot can drive and control the motor of the servo system. The handling robot can include a material box robot, a fork-picking robot, etc. Taking the material box robot as an example, the servo system can include a gantry mechanism servo system, a telescopic structure servo system, etc. The motor drive end can drive the motor in the gantry mechanism servo system or the motor in the telescopic structure servo system.

[0004] Due to the limited rigidity of the transmission component, when the speed of the motor fluctuates, the motor will also vibrate, which may cause large amplitude vibration at the load end after transmission through the transmission component; and when the vibration frequency at the load end is close to the vibration frequency of the motor, the amplitude may increase sharply, that is, resonance occurs, causing severe vibration in the servo system.

[0005] Currently, there is an urgent need for a motor control method to suppress the resonance of a servo system. Summary of the invention

[0006] The purpose of the embodiments of the present application is to provide a motor control method, device and robot to suppress the resonance of a servo system. The specific technical solution is as follows:

[0007] In a first aspect, an embodiment of the present application provides a motor control method, which is applied to a motor drive end of a target robot, wherein the motor drive end is used to drive a motor in a target servo system of the target robot; the method comprises:

[0008] In response to the position command signal, a speed command signal for the motor is generated; wherein the position command signal is used to indicate a desired position of a load end in a target servo system;

[0009] Based on the speed command signal, generate a current command signal for the motor;

[0010] Inputting the current command signal into a target notch filter for notch processing to obtain a target current command signal; wherein a parameter value of a notch center frequency of the target notch filter is a target frequency value, and the target frequency value is a frequency value that causes a load end in the target servo system to resonate with the motor;

[0011] Based on the target current command signal, a target voltage command signal for driving the motor is generated, and the target voltage command signal is transmitted to the motor to control the motor.

[0012] In a second aspect, an embodiment of the present application provides a motor control device, which is applied to a motor drive end of a target robot, wherein the motor drive end is used to drive a motor in a target servo system of the target robot; the device comprises:

[0013] A first generating module, used for generating a speed command signal for the motor in response to a position command signal; wherein the position command signal is used for indicating a desired position of a load end in a target servo system;

[0014] A second generating module, used for generating a current command signal for the motor based on the speed command signal;

[0015] a notch processing module, configured to input the current command signal into a target notch filter for notch processing to obtain a target current command signal; wherein a parameter value of a notch center frequency of the target notch filter is a target frequency value, and the target frequency value is a frequency value that causes a load end in the target servo system to resonate with the motor;

[0016] The third generating module is used to generate a target voltage command signal for driving the motor based on the target current command signal, and transmit the target voltage command signal to the motor to control the motor.

[0017] In a third aspect, an embodiment of the present application provides a robot, comprising:

[0018] Memory, used to store computer programs;

[0019] The processor is used to implement any of the above motor control methods when executing the program stored in the memory.

[0020] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above-mentioned motor control methods is implemented.

[0021] Beneficial effects of the embodiments of the present application:

[0022] The motor control method provided in the embodiment of the present application can generate a speed command signal for the motor in response to the position command signal, generate a current command signal for the motor based on the speed command signal, input the current command signal into the target notch filter for notch processing, obtain the target current command signal, generate a target voltage command signal for driving the motor based on the target current command signal, and transmit the target voltage command signal to the motor to control the motor. It can be seen that the embodiment of the present application can input the current command signal into the target notch filter, and the target notch filter can attenuate the signal amplitude of the notch center frequency (i.e., notch processing) to obtain the target current command signal, and then based on the target current command signal, a target voltage command signal for driving the motor can be generated, and the target voltage command signal can be transmitted to the motor to control the motor; then, during the operation of the motor, when the frequency of the motor speed fluctuation is close to the notch center frequency, the amplitude of the motor speed fluctuation will be reduced, so that the motor will not generate large vibration, reduce the vibration amplitude of the motor, and reduce the probability of resonance between the load end and the motor, thereby suppressing the resonance of the servo system.

[0023] Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the embodiments of the present application 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 some embodiments of the present application, and for ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0025] FIG. 1 (a) is a schematic diagram of the structure of a robot in the related art;

[0026] FIG1( b ) is a working principle diagram of a material box robot in the related art;

[0027] FIG1( c ) is a schematic diagram showing the principle of the resonance phenomenon generated by the servo system of the material box robot in the related art;

[0028] FIG1( d ) is a schematic diagram of the principle of a two-mass system in the related art;

[0029] Figure 2 A schematic diagram of a flow chart of a motor control method provided in an embodiment of the present application;

[0030] Figure 3 A schematic diagram of the working principle of a notch filter provided in an embodiment of the present application;

[0031] FIG4 (a) is a spectrum diagram provided in an embodiment of the present application;

[0032] FIG4( b ) is another spectrum diagram provided in an embodiment of the present application;

[0033] Figure 5 A schematic diagram of the working principle of a smoother provided in an embodiment of the present application;

[0034] Figure 6 A schematic diagram of the working principle of a motor drive end provided in an embodiment of the present application;

[0035] Figure 7 A schematic diagram of the structure of a motor control device provided in an embodiment of the present application;

[0036] Figure 8 A schematic diagram of the structure of a robot provided in an embodiment of the present application. DETAILED DESCRIPTION

[0037] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field based on the present application belong to the scope of protection of the present application.

[0038] In order to facilitate understanding of the solutions provided in the embodiments of the present application, some professional terms in the embodiments of the present application are briefly introduced below:

[0039] CTU (Cargo Tracking and Uploading robot): also known as a material box robot, is an automated and intelligent warehouse management robot, mainly used in the field of logistics and warehousing, and can realize automated management and storage of goods.

[0040] Electrical drive: A driving method that drives the motor to complete the corresponding movement through the motor drive end (also called the electrical drive device). Commonly used motors may be permanent magnet synchronous motors, brushless DC motors, brushed DC motors, and AC induction motors. The electrical drive method has the advantages of high precision and fast response speed.

[0041] Permanent magnet synchronous motor: It consists of a rotor, a stator and a casing. Permanent magnets are installed on the rotor to generate a magnetic field and can be used as the moving part of the motor. There are slots on the stator for placing specially wound coils.

[0042] Motor control: usually refers to motor closed-loop control, which uses algorithms to achieve closed-loop control of motor position, speed and current.

[0043] Gantry servo system: It can also be called CTU gantry mechanism servo system, which is composed of motor, reducer, sprocket, chain and lifting assembly to realize the lifting and lowering movement of the lifting assembly, and then realize the picking and placing of the material box. Among them, the sprocket and chain can be considered as transmission components, and the lifting assembly can be considered as the load end.

[0044] Telescopic servo system: It can also be called CTU telescopic mechanism servo system, which consists of a motor, a reducer, a transmission system (transmission component) and a hook-pull component, to realize the collection of the material box from the shelf to the robot body and the push-pull action from the robot body to the shelf; among them, the hook-pull component can be considered as the load end.

[0045] Resonance: refers to the phenomenon that a system will get the maximum response at a certain frequency when it is subjected to external periodic excitation. When the natural frequency of the system matches the external excitation frequency, the resonance effect will significantly enhance the amplitude or response of the system. The resonance phenomenon is widely present in circuits, mechanical systems, optical devices and other fields.

[0046] And, in order to better understand this solution, the following introduces the relevant technologies:

[0047] In related technologies, robots can perform tasks based on servo systems. Specifically, robots can include a main controller, a servo system, and a motor drive end. The servo system can include a motor, a reducer, a transmission component (transmission system), and a load end. Since the rigidity of the transmission component is limited, there may be a certain degree of elasticity. At this time, when the motor speed fluctuates, the amplification and transmission of the transmission component will cause a large vibration at the load end. The vibration at the load end and the speed fluctuation of the motor are likely to form a resonance phenomenon, causing the transmission component to vibrate violently or even become unstable.

[0048] For example, the gantry servo system is a component of the material box robot. The gantry servo system can be composed of a motor, a transmission component (sprocket, chain), a reducer and a load end (lifting component). The gantry servo system is also a servo system with great flexibility. When the lifting component maintains a high speed for lifting and lowering, the gantry servo system will have severe back and forth jitter problems. In related technologies, the hydraulic cylinder can be driven by the solenoid valve reversing to achieve switching between motor rotation and locking states, and then the jitter amplitude of the gantry servo system can be reduced through mechanical buffering. However, the disadvantage of this implementation method is that it is necessary to add additional cache equipment to achieve resonance reduction, which increases the design difficulty and high cost.

[0049] Based on the problems described above, embodiments of the present application provide a motor control method, device and robot.

[0050] The motor control method provided in the embodiment of the present application is introduced below.

[0051] Among them, the motor control method provided in the embodiment of the present application can be applied to the motor drive end of the target robot. The target robot introduced in the present application is a robot with a servo system and a motor drive end. Exemplarily, it can be a material box robot, a handling robot, a pile driving robot and a grasping robot, etc. The embodiment of the present application does not make specific limitations on this; in addition, the motor control method provided in the embodiment of the present application can also be applied to the motor drive end of the target robot.

[0052] In order to better understand the target robot in this application, the following is an introduction with reference to the accompanying drawings, as shown in FIG1 (a):

[0053] The robot may include a main controller 110, a motor drive end 120 and a motor 130. The motor 130 is a motor in a servo system. The motor drive end 120 includes a control integrated circuit 121, a sampling unit 122 and a drive unit 123. The control integrated circuit 121 completes the operation of algorithms and software related to motor control. The sampling unit 122 is responsible for completing the real-time acquisition of the motor phase current for current closed-loop control and completing the acquisition of motor encoder data for speed closed-loop control. The drive unit 123 is responsible for power amplifying the PWM (Pulse Width Modulation) signal output by the control integrated circuit, thereby realizing motor drive. The main controller 110 and the control integrated circuit 121 can communicate through a bus. In addition, in this embodiment, the execution subject of the motor control method may be the control integrated circuit 121, and the control integrated circuit 121 is provided with a motor control logic.

[0054] In order to better understand the servo system in the present application and the principle of resonance in the servo system, taking the target robot as a material box robot as an example, the following is an introduction with reference to the accompanying drawings, as shown in FIG. 1(b), FIG. 1(c) and FIG. 1(d):

[0055] FIG1 (b) is a schematic diagram of the working principle of the gantry servo system of the material box robot, which includes a motor 130 (also referred to as a servo motor), a reducer 140, a sprocket 150, a chain 160 and a lifting assembly 170 (load end). The specific type of the motor 130 is a permanent magnet synchronous motor. The sprocket 150 and the chain 160 can be considered as the transmission assembly introduced in this application. The main controller of the material box robot can issue a position command signal, and the motor drive end can generate a speed command signal for the motor 130. The motor drive end can complete the closed-loop control of the speed of the motor 130, and finally the speed of the motor 130 can be controlled. The motor 130 drives the coaxial reducer 140 to operate, and the end of the reducer 140 drives the sprocket 150 to rotate. The sprocket 150 drives the chain 160 to realize the conversion from rotational motion to linear motion, and the chain 160 finally drives the lifting assembly 170 to realize lifting and lowering motion.

[0056] Figure 1 (c) is a schematic diagram of the principle of resonance phenomenon generated by the servo system of the material box robot. During the motor control process, even if the motor is instructed to move at a constant speed, the actual speed of the motor may fluctuate due to the influence of speed measurement and external interference (mechanical factors such as chain swing). The motor speed fluctuation will cause the speed fluctuation of the sprocket at the end of the reducer, which will in turn cause the transmission chain to swing. The chain swing drives the lifting assembly to swing up and down, and finally causes the gantry mechanism of the servo system to shake. The gantry mechanism resonates with the speed fluctuation of the motor, resulting in resonance phenomenon. Among them, the gantry mechanism can be considered as the load-bearing structure of the material box robot.

[0057] Figure 1 (d) is a schematic diagram of the principle of a two-mass system. The servo system can also be equivalent to a two-mass system. m is the electromagnetic torque output by the motor, in Newton meters, Nm, ω m is the mechanical angular velocity of the motor in radians per second, rad / s, θ m is the rotation angle of the motor, in rad, J m is the moment of inertia of the motor, in kg×m 2 , is the moment of inertia of the load end, in kg×m 2 , K is the elastic coefficient of the transmission system from the motor to the load end, unit: Nm / rad, C w is the damping coefficient of the transmission component, in Newton seconds per meter, Ns / m. The damping coefficient can usually be ignored. T l is the load torque at the load end, in Nm, ω l is the load angular velocity at the load end, in rad / s, θ lis the load angle at the load end, in rad. It should be emphasized that the physical quantities introduced above can better regard the servo system as a two-mass system. In the process of calculating the motor torque, some of the above physical quantities may not be used. The transfer function of the motor torque is introduced below.

[0058] The transfer function of the motor torque is:

[0059] ;

[0060] Where s is the Laplace transform, which is the frequency in complex form, i.e., complex frequency;

[0061] Transforming the transfer function yields:

[0062] ;

[0063] The part enclosed by brackets , which is the influence of the elastic transmission link on the transfer function, can be considered as a second-order system. The damping ratio of the second-order system is crucial to the response of the servo system. Once under-damping occurs, the servo system will experience oscillation problems. It can be seen that the damping ratio is closely related to the rotational inertia of the motor and load end and the elastic coefficient of the transmission component; among them, the under-damping situation can be considered as the elasticity of the servo system is very obvious. At this time, the damping ratio is less than 1, and the servo system needs to oscillate for a long time to stabilize, which will further amplify the resonance problem.

[0064] The following is a brief introduction to the application scenarios of the motor control method provided in the embodiment of the present application:

[0065] The application scenario of the embodiments of the present application may be a robot control scenario. Any application scenario using the robots introduced above is applicable to the embodiments of the present application, and the embodiments of the present application do not specifically limit the application scenarios. By way of example, the motor control method may be applicable to a scenario in which a material box robot transports goods, or to a scenario in which a pile-driving robot drives into a foundation underground.

[0066] Among them, a motor control method is applied to a motor drive end of a target robot, wherein the motor drive end is used to drive a motor in a target servo system of the target robot; the method comprises:

[0067] In response to the position command signal, a speed command signal for the motor is generated; wherein the position command signal is used to indicate a desired position of a load end in a target servo system;

[0068] Based on the speed command signal, generate a current command signal for the motor;

[0069] Inputting the current command signal into a target notch filter for notch processing to obtain a target current command signal; wherein a parameter value of a notch center frequency of the target notch filter is a target frequency value, and the target frequency value is a frequency value that causes a load end in the target servo system to resonate with the motor;

[0070] Based on the target current command signal, a target voltage command signal for driving the motor is generated, and the target voltage command signal is transmitted to the motor to control the motor.

[0071] The motor control method provided in the embodiment of the present application can generate a speed command signal for the motor in response to the position command signal, generate a current command signal for the motor based on the speed command signal, input the current command signal into the target notch filter for notch processing, obtain the target current command signal, generate a target voltage command signal for driving the motor based on the target current command signal, and transmit the target voltage command signal to the motor to control the motor. It can be seen that the embodiment of the present application can input the current command signal into the target notch filter, and the target notch filter can attenuate the signal amplitude of the notch center frequency (i.e., notch processing) to obtain the target current command signal, and then based on the target current command signal, a target voltage command signal for driving the motor can be generated, and the target voltage command signal can be transmitted to the motor to control the motor; then, during the operation of the motor, when the frequency of the motor speed fluctuation is close to the notch center frequency, the amplitude of the motor speed fluctuation will be reduced, so that the motor will not generate large vibration, reduce the vibration amplitude of the motor, and reduce the probability of resonance between the load end and the motor, thereby suppressing the resonance of the servo system.

[0072] A motor control method provided by an embodiment of the present application is described below in conjunction with the accompanying drawings.

[0073] like Figure 2 As shown, a motor control method provided in an embodiment of the present application is applied to a motor drive end of a target robot, wherein the motor drive end is used to drive a motor in a target servo system of the target robot; the method comprises:

[0074] S201, generating a speed command signal for the motor in response to a position command signal;

[0075] Wherein, the position command signal is used to indicate the desired position of the load end in the target servo system;

[0076] It can be understood that the position command signal can be sent by the main controller of the target robot, and the position command signal is used to indicate the expected position of the load end in the target servo system, and the expected position can be any position that the load end can reach, and the embodiment of the present application does not make specific restrictions on this; for example: the position command signal can indicate that the lifting component in the gantry servo system of the material box robot reaches a position of 5m, and the position of 5m is the expected position; then, the motor drive end can respond to the position command signal and generate a speed command signal for the motor. The speed command signal is used to indicate the expected speed of the motor, and the expected speed can be the maximum speed that the motor can reach, or it can be any other speed, and the embodiment of the present application does not make specific restrictions on this. In addition, in the process of generating the speed command signal for the motor, a closed-loop control method can also be adopted, and this process can also be called closed-loop control for the motor position.

[0077] Exemplarily, in one implementation, the motor drive end includes a position loop controller, and the motor drive end can input a position command signal into the position loop controller so that the position loop controller outputs a speed command signal. In the process, the actual position of the motor can also be input into the position loop controller, thereby realizing closed-loop control of the motor position; it should be emphasized that the actual position of the motor can be collected by the feedback decoding unit (which can also be considered as an encoder) in the motor drive end, and the embodiment of the present application does not specifically limit this. In addition, the position loop controller can use a deviation calculator to calculate the deviation value between the expected position represented by the position command signal and the actual position of the motor, so as to perform PID (Proportional, Integral, Derivative) adjustment based on the deviation value, and combine the adjusted deviation value with the position command signal to generate a speed command signal for the motor; in addition, the PID adjustment adopted by the position loop controller is mainly proportional gain adjustment, and the demand for integral gain adjustment and differential gain adjustment is relatively low.

[0078] Of course, the above-described process of generating a speed command signal for the motor in response to the position command signal is only an exemplary introduction, and the embodiments of the present application do not make any specific limitations on this.

[0079] S202, generating a current command signal for the motor based on the speed command signal;

[0080] It is understandable that the speed command signal is used to indicate the desired speed of the motor, and a current command signal for the motor can be generated based on the speed command signal. The current command signal is used to indicate the desired current of the motor, and the desired current is the current required for the motor to respond to the speed command signal. The embodiment of the present application does not specifically limit this. In addition, in the process of generating the current command signal for the motor, a closed-loop control method can also be used, and this process can also be called closed-loop control for the motor speed.

[0081] Exemplarily, in one implementation, the motor drive end includes a speed loop controller, which may also be referred to as a speed loop PID controller. The motor drive end may input a speed command signal into the speed loop controller so that the speed loop controller outputs a current command signal. In this process, the current actual speed of the motor may also be input into the speed loop controller, thereby realizing closed-loop control of the motor speed. It should be emphasized that since the feedback decoding unit in the motor drive end cannot directly obtain the current actual speed of the motor, the current actual speed of the motor may be calculated based on the actual position of the motor currently located collected by the feedback decoding unit in the motor drive end. The process of calculating the current actual speed of the motor may also be performed by a speed operator in the motor drive end, and the speed operator may include a speed measurement algorithm, which is not specifically limited in the embodiments of the present application. For example, the current actual position of the motor at time a and the current actual position of the motor after 1s may be collected, thereby determining the position increment of the motor within 1s, and calculating the ratio of the position increment of the motor within 1s to 1s, thereby obtaining the current actual speed of the motor. In addition, the speed loop controller can also use a deviation calculator to calculate the deviation between the desired speed represented by the speed command signal and the current actual speed of the motor, and then perform PID adjustment based on the deviation value. Based on the adjusted deviation value and the speed command signal, a current command signal for the motor can be generated; in addition, the PID adjustment adopted by the speed loop controller is mainly proportional gain adjustment, integral gain adjustment and differential gain adjustment.

[0082] Of course, the above-mentioned process of generating a current command signal for the motor based on the speed command signal is only an exemplary introduction, and the embodiments of the present application do not make any specific limitations on this.

[0083] S203, inputting the current command signal into a target notch filter to perform notch processing to obtain a target current command signal;

[0084] Wherein, the parameter value of the notch center frequency of the target notch filter is a target frequency value, and the target frequency value is a frequency value that causes the load end in the target servo system to resonate with the motor;

[0085] It can be understood that the target notch filter can attenuate the signal amplitude of a notch center frequency. After the current command signal is input into the target notch filter, the target notch filter can perform notch processing to obtain a target current command signal. The target current command signal can also be considered as a current command signal after notch processing. The current command signal after notch processing has an attenuation effect on the signal amplitude of the notch center frequency. According to the current command signal after notch processing, subsequent steps are performed to achieve that when the frequency of the motor speed fluctuation is close to the notch center frequency, the amplitude of the motor speed fluctuation will be reduced, so that the motor will not generate large vibration; specifically, the parameter value of the notch center frequency of the target notch filter can be a target frequency value, and the target frequency value can be predetermined, and can be a frequency value that causes the load end in the target servo system to resonate with the motor during the forward rotation / reverse rotation of the motor. The embodiment of the present application does not make specific restrictions on this; in addition, the number of target notch filters can be one or more, and the embodiment of the present application does not make specific restrictions on this; for the sake of clear layout, the target frequency value will be introduced in other embodiments, and will not be repeated here.

[0086] For the sake of clarity of the layout, the working principle of performing notch processing on the target notch filter will be introduced in other embodiments and will not be elaborated on here.

[0087] S204 , generating a target voltage command signal for driving the motor based on the target current command signal, and transmitting the target voltage command signal to the motor to control the motor.

[0088] It can be understood that the target voltage command signal is a voltage signal for driving the motor, and the target voltage command signal can be transmitted to the motor through the inverter to control the motor; and in the process of generating the target voltage command signal for driving the motor, a closed-loop control method can also be adopted, and this process can also be called closed-loop control of the motor current. In one implementation, after obtaining the target voltage command signal, the duty cycle of the target voltage command signal can be calculated, and the calculated duty cycle can be subsequently converted into a voltage signal through the inverter and input into the motor to control the motor, which is not specifically limited in the embodiment of the present application.

[0089] Exemplarily, in one implementation, generating a target voltage command signal for driving the motor based on the target current command signal includes steps A1-A2:

[0090] Step A1, generating a voltage command signal for representing a desired voltage according to the target current command signal;

[0091] Wherein, the expected voltage is the voltage required to enable the motor to respond to the speed command signal;

[0092] It is understandable that the voltage command signal is used to indicate the expected voltage of the motor, and the voltage command signal can be generated based on the target current command signal. The expected voltage is the voltage required to enable the motor to respond to the speed command signal, and the embodiment of the present application does not specifically limit this. In addition, in the process of generating the voltage command signal, a closed-loop control method can also be adopted, and this process can also be called closed-loop control for the motor current. In addition, after obtaining the target current command signal, the actual current of the motor can be controlled to be stable at the expected current represented by the target current command signal, so that a voltage command signal for representing the expected voltage can be generated.

[0093] Exemplarily, in one implementation, the motor drive end includes a current loop controller, and the motor drive end can input a target current command signal into the current loop controller so that the current loop controller outputs a current command signal. In this process, the current actual current of the motor can also be input into the current loop controller, thereby realizing closed-loop control of the motor current; it should be emphasized that the current actual current of the motor can be the phase current of each phase of the motor, which can be collected by a current sampling unit in the motor drive end. The current sampling unit can specifically be a Hall element (used to convert magnetic field induction into a current signal), and the embodiment of the present application does not make specific limitations on this; and, the current loop controller can also use a deviation calculator to calculate the deviation value between the expected current represented by the current command signal and the current actual current of the motor, thereby performing PID adjustment based on the deviation value, and based on the adjusted deviation value and the current command signal, a voltage command signal for representing the expected voltage can be generated; in addition, the PID adjustment adopted by the current loop controller is mainly proportional gain adjustment and integral gain adjustment, and the demand for differential gain adjustment is relatively low.

[0094] Of course, the above-mentioned process of generating a voltage command signal for representing a desired voltage based on a current command signal is only an exemplary introduction, and the embodiments of the present application do not make any specific limitations on this.

[0095] Step A2, transforming the generated voltage command signal to obtain a target voltage command signal for driving the motor.

[0096] It is understandable that the transformation process may include: performing an inverse transformation (Park inverse transformation) on the generated voltage command signal to determine the voltage command signal to be used, wherein the voltage command signal to be used can be considered as a voltage in a two-phase stationary coordinate system; and performing pulse width modulation (PWM) on the voltage command signal to be used to determine a target voltage command signal for driving the motor, wherein the target voltage command signal can be a three-phase voltage signal, and the embodiment of the present application does not specifically limit this. Of course, the transformation methods in the related art that can be used to transform the target voltage command signal for driving the motor are all applicable to the embodiment of the present application, and the above introduction does not limit the embodiment of the present application.

[0097] The motor control method provided in the embodiment of the present application can generate a speed command signal for the motor in response to the position command signal, generate a current command signal for the motor based on the speed command signal, input the current command signal into the target notch filter for notch processing, obtain the target current command signal, generate a target voltage command signal for driving the motor based on the target current command signal, and transmit the target voltage command signal to the motor to control the motor. It can be seen that the embodiment of the present application can input the current command signal into the target notch filter, and the target notch filter can attenuate the signal amplitude of the notch center frequency (i.e., notch processing) to obtain the target current command signal, and then based on the target current command signal, a target voltage command signal for driving the motor can be generated, and the target voltage command signal can be transmitted to the motor to control the motor; then, during the operation of the motor, when the frequency of the motor is close to the notch center frequency, the speed of the motor will decrease, so that the motor will not generate large vibration, reduce the vibration amplitude of the motor, and reduce the probability of resonance between the load end and the motor, thereby suppressing the resonance of the servo system.

[0098] Exemplarily, in one implementation, the type of the target notch filter is a three-parameter notch filter;

[0099] The parameter value of the notch depth of the target notch filter is a value not less than a preset amplitude critical value, and the notch width of the target notch filter is a value not greater than a preset bandwidth critical value.

[0100] It is understandable that the target notch filter is a three-parameter notch filter, where the "three parameters" may refer to the notch center frequency, notch width, and notch depth; and there are certain restrictions on the setting of the parameter values ​​of the notch depth and notch width. Of course, the target notch filter may also be other types of notch filters, which are not specifically limited in the embodiments of the present application.

[0101] It should be emphasized that, for the parameter value of the notch depth, the parameter value of the notch depth of the target notch filter is not less than the preset amplitude critical value; if the parameter value of the notch depth is lower than the preset amplitude critical value, it means that the amplitude-frequency attenuation of the servo system after the notch is more obvious, but the notch depth should not be too small. According to the empirical value, it can usually be set to 0.1-0.5, and the embodiment of the present application does not make specific restrictions on this. For the parameter value of the notch width, the notch width of the target notch filter is not greater than the preset bandwidth critical value. The empirical value of the notch width can be 0.5Hz. Of course, it can also be set to other values, such as 5Hz, 10Hz, etc. The embodiment of the present application does not make specific restrictions on this; if the parameter value of the notch width is greater than the preset bandwidth critical value, some problems may occur. When the parameter value of the notch width is set too large, notching the amplitude with a lower notch depth may bring some negative effects, so the notch width should not be set too large.

[0102] The following takes the case where the target notch filter type is a three-parameter notch filter as an example to introduce the working principle of the target notch filter:

[0103] The three-parameter notch filter has a transfer function in the continuous domain, and the notch center frequency, notch width and notch depth can be substituted into the transfer function. Specifically, the transfer function can be:

[0104] ;

[0105] Among them, G(s) represents the transfer function in the continuous domain, ω is the notch center frequency, the unit is rad / s, d is the notch depth, q is the notch width, the unit is Hertz, Hz, s is the Laplace transform, which is the frequency in complex form, that is, the complex frequency.

[0106] By using the bilinear transformation method, the transfer function in the continuous domain can be transformed into the transfer function in the discrete domain. Specifically, the transfer function in the discrete domain can be:

[0107] ;

[0108] Where T is the servo system sampling time, in seconds, s, z -1 is the value of the previous cycle in the discrete domain, h x is the intermediate variable, and s is the result of the transfer function in the discrete domain.

[0109] Substituting the bilinear transformation into the above transfer function in the continuous domain, and after simplification, the transfer function of the three-parameter notch filter in the discrete domain can be obtained. Specifically, the transfer function of the three-parameter notch filter in the discrete domain can be:

[0110] ;

[0111] The meaning of each element in the transfer function can refer to the above two transfer functions.

[0112] Then, the transfer function of the three-parameter notch filter in the discrete domain can be compared with the standard form of the second-order IIR (Infinite Impulse Response) filter to obtain the coefficients of the three-parameter notch filter in the discrete domain. Specifically, the standard form of the second-order IIR filter can be:

[0113] ;

[0114] Among them, a1, a2, b0, b1, b2 are the coefficients of the standard form of the second-order filter;

[0115] Specifically, the coefficients of the discrete domain three-parameter notch filter can be:

[0116] ;

[0117] ;

[0118] The meaning of each element in each coefficient can be found in the above transfer function.

[0119] By substituting the filtering center frequency, notch depth, notch width, etc. into the coefficients of the above discrete domain three-parameter notch filter, the coefficients of the three-parameter notch filter can be calculated. The relationship between the input and output of the three-parameter notch filter in the discrete domain can be expressed as:

[0120] y(k)=b0×r(k)+b1×r(k-1)+b2×r(k-2)-a1×y(k-1)-a2×y(k-2);

[0121] Among them, k is the value of the current cycle of the discrete domain, k-1 is the value of the previous cycle of the discrete domain, corresponding to z -1 , k-2 is the value of two cycles in the discrete domain, corresponding to z -2 , r is the input value of the notch filter, and y is the output value of the notch filter.

[0122] It can be seen that when the type of the target notch filter is a three-parameter notch filter, restrictions can be set on the notch depth and notch width of the target notch filter. The parameter value of the notch depth of the target notch filter is not less than the preset amplitude critical value, and the notch width of the target notch filter is not greater than the preset bandwidth critical value, thereby ensuring that the target notch filter can perform notch processing normally.

[0123] Exemplarily, in one implementation, the number of target frequency values ​​is multiple, the number of target notch filters is the same as the number of target frequency values, and the multiple target notch filters are connected in series, and the parameter value of the notch center frequency of each target notch filter is one of the multiple target frequency values;

[0124] Accordingly, the step of inputting the current command signal into a target notch filter for notch processing to obtain a target current command signal includes step B1:

[0125] Step B1, inputting the current command signal into the plurality of target notch filters connected in series to perform multiple notch processing to obtain a target current command signal.

[0126] It is understandable that the number of target frequency values ​​can be multiple, and the number of target notch filters and the number of target frequency values ​​can be the same. Then, when the target frequency value is only 1, the number of target notch filters can also be 1. The embodiment of the present application does not specifically limit the number of target frequency values; multiple target notch filters can be connected in series, and the parameter value of the notch center frequency of each target notch filter can be one of the multiple target frequency values. Exemplarily, the target frequency values ​​are 10Hz, 12Hz and 8Hz, the parameter value of the notch center frequency of target notch filter 1 can be 10Hz, the parameter value of the notch center frequency of target notch filter 2 can be 12Hz, and the parameter value of the notch center frequency of target notch filter 3 can be 8Hz.

[0127] Furthermore, the current command signal is input into the multiple target notch filters connected in series, and each target notch filter can perform notch processing on the signal amplitude of the notch center frequency of the target notch filter, thereby obtaining the target current command signal. The embodiment of the present application does not make any specific limitation on this.

[0128] It can be seen that the number of target frequency values ​​can be multiple, and the number of target notch filters is the same as the number of target frequency values. Multiple target notch filters are connected in series, and the parameter value of the notch center frequency of each target notch filter is one of the multiple target frequency values. Then, each target notch filter can perform notch processing on the signal amplitude of the notch center frequency of the target notch filter, so that the motor will not produce large vibration, reduce the vibration amplitude of the motor, and reduce the probability of resonance between the load end and the motor, thereby achieving the suppression of the resonance of the servo system.

[0129] In another implementation, among the plurality of target notch filters connected in series, a parameter value of a notch center frequency of a notch filter at a previous stage is not lower than a parameter value of a notch center frequency of a target notch filter at a subsequent stage.

[0130] It can be understood that in the process of connecting multiple target notch filters in series, the notch filter with the largest parameter value of the notch center frequency can be preferentially set from the multiple target notch filters, and then the notch center frequencies of the multiple notch filters are sorted and set in descending order, so as to achieve that the parameter value of the notch center frequency of the notch filter of the previous stage is not lower than the parameter value of the notch center frequency of the target notch filter of the next stage. For example, the parameter value of the notch center frequency of the target notch filter 1 can be 10Hz, the parameter value of the notch center frequency of the target notch filter 2 can be 12Hz, and the parameter value of the notch center frequency of the target notch filter 3 can be 8Hz. Then, the series connection can be carried out in the order of target notch filter 2-target notch filter 3-target notch filter 1.

[0131] Of course, there is no unique way to set up the multiple target notch filters connected in series, and the embodiments of the present application do not make specific limitations on this. In one implementation method, the multiple target notch filters can be sorted from high to low according to the amplitudes corresponding to the notch center frequencies of the notch filters, so that the amplitude corresponding to the notch center frequency of the notch filter of the previous stage is not lower than the amplitude corresponding to the notch center frequency of the target notch filter of the next stage. For example, the amplitude corresponding to the notch center frequency of the target notch filter 1 is 20, the amplitude corresponding to the notch center frequency of the target notch filter 2 is 25, and the amplitude corresponding to the notch center frequency of the target notch filter 3 is 15. Then, the series connection can be carried out in the order of target notch filter 2-target notch filter 3-target notch filter 1.

[0132] In order to better understand the above content about the notch filter, the following is an introduction with reference to the accompanying drawings. Figure 3 As shown:

[0133] In the scheme introduced in the present application, the speed command signal can be generated by the motor drive end, and the speed command signal can also be referred to as n'. In another implementation method, the speed command signal can also be generated by the main controller of the robot. The motor drive end inputs the position command signal to the main controller, and the main controller generates the speed command signal and sends it to the motor drive end. The embodiment of the present application does not make specific limitations on this. The actual speed of the permanent magnet synchronous motor can be referred to as n. PID is a speed loop controller. After PID adjustment, the actual speed of the motor can be stabilized near the speed represented by n'. When the servo system has a mechanical resonance problem, the actual speed n of the permanent magnet synchronous motor will fluctuate. Then, it can be adjusted in PID. The notch filter 1, notch filter 2…notch filter n are added to the post-stage to achieve attenuation of fluctuations near the notch center frequency. The output of the notch filter is the quadrature axis current command signal iq' and the direct axis current command signal id' (iq' and id' can be considered as the target current command signals introduced above). PI is the quadrature axis current loop controller, which stabilizes the actual current id and the actual current iq near id' and iq' through adjustment. The output of PI is the quadrature axis voltage command signal, which is transformed to a two-phase stationary coordinate system (αβ coordinate system) through αβ / dq transformation (PARK inverse transformation), and then modulated by the PWM generator to generate the switching signal of the inverter, thereby controlling the permanent magnet synchronous motor. Among them, the αβ / abc transformation (CLARK transformation) converts the phase current collected by the current sampling unit from the three-phase stationary coordinate system (abc coordinate system) to the two-phase stationary coordinate system (αβ coordinate system), and then through the dq / αβ transformation (PARK transformation), it is transformed to the two-phase synchronous rotating coordinate system (dq coordinate system), thereby obtaining the actual current id and iq of the motor. In addition, θ is the current electrical angle of the motor rotor calculated by the position sensor (the phase angle of the change in the induced potential in the motor winding), which is used for the above-mentioned park transformation and inverse park transformation.

[0134] It can be seen that the embodiment of the present application can set up multiple target notch filters connected in series, and the setting method is that the parameter value of the notch center frequency of the notch filter of the previous stage is not lower than the parameter value of the notch center frequency of the target notch filter of the next stage, thereby ensuring that multiple target notch filters can perform notch processing normally, providing a basis for realizing the suppression of the resonance of the servo system.

[0135] Exemplarily, in one implementation, the target frequency value is specifically: a frequency value that causes the load end in the target servo system to resonate with the motor during the movement of the load end in the target moving direction;

[0136] The target moving direction is the moving direction required to reach the desired position.

[0137] It can be understood that the target frequency value can be the frequency value of the load end in the target servo system and the motor resonating when the load end moves in the target moving direction. For example, when the lifting assembly 1 moves in the lifting direction, the frequency value of the lifting assembly and the motor resonating is 8Hz, so 8Hz can be considered as the target frequency value. And the target moving direction is the moving direction required to reach the desired position. For example, the desired position is at the position of lifting 5m, so the lifting assembly can be controlled to move in the lifting direction (upward), and the lifting direction can be considered as the target moving direction.

[0138] It can be seen that the target frequency value is specifically the frequency value that causes the load end and the motor in the target servo system to resonate during the movement of the load end in the target moving direction, so that the accurate target frequency value can be determined, which provides a basis for suppressing the resonance of the servo system.

[0139] Exemplarily, in one implementation, during the movement of the load end in any movement direction, a calibration method for the frequency value that causes the load end to resonate with the motor includes steps C1-C4:

[0140] Step C1, determining the log data generated by the target control process corresponding to the moving direction; wherein the target control process corresponding to the moving direction is: a process of controlling the load end in the target servo system of the robot to be calibrated in the moving direction;

[0141] It can be understood that in the process of calibrating the frequency value, the robot to be calibrated can be a robot of the same model and type as the target robot. The frequency value obtained by calibrating the robot to be calibrated can be used as the frequency value for the load end of the target robot to resonate with the motor. The embodiments of the present application do not make specific limitations on this.

[0142] Furthermore, after controlling the load end to move in any moving direction, the log data generated by the target control process corresponding to the moving direction can be determined, and the data of the robot to be calibrated during the moving process can be saved in the log data. For example, the target control process can be to control the lifting component of the material box robot to lift to the highest point, or to control the lifting component of the material box robot to drop from the highest point to the lowest point.

[0143] Step C2, based on the determined log data, obtaining the speed data of the motor in the target servo system of the robot to be calibrated in the target control process corresponding to the moving direction;

[0144] It is understandable that when the log data contains the speed data of the motor in the target servo system of the robot to be calibrated during the target control process corresponding to the moving direction, the above speed data can be directly obtained from the log data; in another implementation method, if the log data only includes information such as the movement time of the robot to be calibrated and the position of the motor in the target servo system of the robot to be calibrated, then the speed data of the motor in the target servo system of the robot to be calibrated during the target control process corresponding to the moving direction can be calculated, and the embodiment of the present application does not make specific limitations on this. In addition, the speed array can be at least two groups, and the embodiment of the present application does not make specific limitations on this. For example, when the lifting assembly of the material box robot is lifted, the motor rotates in the forward direction, and when the lifting assembly of the material box robot is lowered, the motor rotates in the reverse direction, then two groups of speed data can be obtained.

[0145] Step C3, converting the speed data into a frequency spectrum;

[0146] It can be understood that the speed data can be input into the spectrum generation software, so that the speed data can be converted into a spectrum graph. The spectrum graph can be a spectrum graph about the frequency and the amplitude value of the motor. Any implementation method of converting into a spectrum graph in the related technology is only applicable to the present application, and the embodiments of the present application do not make specific limitations on this.

[0147] Step C4, based on the distribution of amplitude values ​​in the frequency spectrum, determining the frequency value at which the load end corresponding to the target control process resonates with the motor.

[0148] It can be understood that the amplitude values ​​of various frequencies are distributed in the spectrum diagram. From the distribution of the amplitude values ​​in the spectrum diagram, the amplitude values ​​corresponding to various frequency values ​​in the target control process can be clearly viewed, and the frequency value corresponding to the amplitude value of the peak value in the spectrum diagram can be determined as the frequency value of resonance between the load end and the motor corresponding to the target control process.

[0149] In order to better understand the spectrum diagram, the following is an introduction with reference to the accompanying drawings, as shown in Figure 4 (a) and Figure 4 (b):

[0150] Figure 4 (a) shows that during the lifting process of the lifting component of the material box robot, the speed of the motor of the material box robot is positive. When the running speed reaches the maximum speed, there will be a large fluctuation. According to the spectrum diagram, the figure in the upper part is a diagram about the signal Signal, that is, a diagram about the signal amplitude and unit time (s). The signal is selected in this figure: 100 unit time, the Fourier window function runs 3 cycles, and the maximum value of the signal amplitude is higher than 4×10 5 , the minimum signal amplitude is less than -4×10 5; The figure in the lower part is a graph about Fourier analysis FFT analysis, that is, a graph about the percentage (%) of the fundamental wave amplitude and the frequency (Hz). The figure shows that the amplitude of the fundamental wave (1Hz) = 141, the distortion = 5694.79%, the highest point of the amplitude value of the motor is at 8Hz, which can be expressed as X: 8, Y: 3897, and there is a small amount of distribution near 31.67Hz, which can be expressed as X: 31.67, Y: 1389. The percentage of the fundamental wave amplitude at 8Hz is 3897%, and the percentage of the fundamental wave amplitude at 31.67Hz is 1389%. At this time, it can be considered that during the lifting process of the lifting component, the frequency value of the resonance between the load end and the motor is 8Hz.

[0151] Figure 4 (b) shows that during the process of the lifting component of the material box robot descending, the speed of the motor of the material box robot is negative, and there will be large fluctuations when the running speed reaches the maximum speed. According to the spectrum diagram, the figure in the upper part is a diagram about the signal Signal, that is, a diagram about the signal amplitude and unit time (s). The signal is selected in this figure: 100 unit time, the Fourier window function runs 3 cycles, and the maximum value of the signal amplitude is higher than 4×10 5 , the minimum signal amplitude is less than -4×10 5 ; The figure in the lower half is a graph about Fourier analysis FFT analysis, that is, a graph about the percentage (%) of the fundamental wave amplitude and the frequency (Hz). The figure shows the amplitude of the fundamental wave (1Hz) = 141, the distortion = 5694.79%, the highest point of the motor amplitude is at 8Hz, which can be expressed as X: 8, Y: 3844, and there is also a small amount of distribution near 16Hz and 32Hz, which can be expressed as X: 16, Y: 1142, X: 32, Y: 1116. The percentage of the fundamental wave amplitude at 8Hz is 3844%, the percentage of the fundamental wave amplitude at 16Hz is 1142%, and the percentage of the fundamental wave amplitude at 32Hz is 1116%. At this time, it can be considered that when the lifting component is descending, the frequency value of the resonance between the load end and the motor is 8Hz.

[0152] It can be seen that the embodiment of the present application can calibrate the frequency value that causes the load end to resonate with the motor during the movement of the load end in any moving direction, thereby determining the accurate frequency value at which the load end and the motor resonate. Subsequently, the determined frequency value can be used as the target frequency value and set as the parameter value of the notch center frequency of the target notch filter, thereby providing a basis for suppressing the resonance of the servo system.

[0153] Optionally, the present application also provides another motor control method, before generating a current command signal for the motor based on the speed command signal, the method further includes step D1:

[0154] Step D1, inputting the speed command signal into a target smoother to perform signal smoothing processing to obtain a speed command signal after signal smoothing processing;

[0155] Accordingly, the step of generating a current command signal for the motor based on the speed command signal includes step E1:

[0156] Step E1, generating a current command signal for the motor based on the speed command signal after signal smoothing.

[0157] It can be understood that, for step D1, the speed command signal can be input into the target smoother, and the target smoother is used to filter out the high-frequency fluctuation components in the speed command signal. The output speed command signal is smoother, which can reduce the interference of noise and other high-frequency useless signals on the speed command signal, thereby reducing the fluctuation amplitude of the actual speed of the motor; and, the number of target smoothers set can also be multiple. Setting multiple target smoothers can make the smoothing effect better, so multiple target smoothers can be set. Of course, only one target smoother can be set. The embodiment of the present application does not make specific limitations on this.

[0158] It can be understood that, for step E1, the speed command signal after signal smoothing is input into the speed loop PID controller to obtain a current command signal. The specific process has been introduced in the above embodiment and will not be repeated here. The current command signal can be subsequently notched by a target notch filter. The target current command signal output by the target notch filter is smoother and will not be interfered by noise and other high-frequency useless signals.

[0159] In order to better understand the above content about the target smoother, the following is an introduction with reference to the accompanying drawings. Figure 5 As shown:

[0160] Figure 5 For Figure 3 On the basis of , command smoother 1, command smoother 2…command smoother n are added. The command smoother can also be considered as the target smoother introduced above. The speed command signal can be referred to as n'. The robot can directly input the speed command signal to the command smoother to filter out the noise and fluctuation components in the speed command signal n', making the input signal of the motor drive end smoother. Figure 5 For an introduction to other components, see Figure 3 , no further details will be given here; and, any type of smoother is applicable to this solution, and the embodiments of the present application do not make specific limitations on this.

[0161] It can be seen that the embodiment of the present application can input the speed command signal into the target smoother to perform signal smoothing before generating the current command signal for the motor based on the speed command signal, so as to obtain the speed command signal after signal smoothing, thereby reducing the influence of noise and fluctuation components on the speed command signal and alleviating the resonance phenomenon of the servo system.

[0162] Exemplarily, in one implementation, the target smoother performs signal smoothing processing in the following manner:

[0163] Based on the speed command signal and the smoothing parameters to be used, the speed command signal after smoothing is calculated using a predetermined fastest comprehensive function; wherein the smoothing parameters to be used include at least: a tracking signal of the speed command signal and a differential signal of the tracking signal.

[0164] It can be understood that a tracking differentiator can be used to perform signal smoothing on the target smoother. During the smoothing process, the speed command signal after smoothing can be calculated based on the speed command signal and the smoothing parameters to be used, using a preset fastest comprehensive function; the signal smoothing method introduced above is only an exemplary introduction, and the embodiments of the present application do not make specific limitations on this.

[0165] Specifically, the tracking differentiator is as follows:

[0166] ;

[0167] Among them, fhan is the fastest comprehensive function, U k is the speed command signal, X1(k) is U k tracking signal, X2(k) is the differential signal of X1(k), h is the system sampling time, and r is the speed factor; it can be understood that X1(k) can be considered as the tracking signal of U k A filter.

[0168] Among them, the fastest comprehensive function can be:

[0169] ;

[0170] Among them, d, a0, y, a1, a2, S y ,a,S a They are all intermediate variables in the calculation process and have no practical meaning. Sign(x) is a sign function. When x is greater than or equal to 0, sign(x)=1, and when x is less than 0, sign(x)=-1.

[0171] It can be seen that the embodiment of the present application can calculate the smoothed speed command signal based on the speed command signal and the smoothing parameters to be used, using the fastest comprehensive function. The obtained speed command signal after signal smoothing can reduce the influence of noise and fluctuation components on the speed command signal, thereby alleviating the resonance phenomenon of the servo system.

[0172] Optionally, the present embodiment provides a schematic diagram of the working principle of a motor drive end, such as Figure 6 As shown:

[0173] The position loop can be the position loop controller introduced above, the speed loop can be the speed loop controller introduced above, and the current loop can be the current loop controller introduced above; in the control of permanent magnet synchronous motors, a position loop-speed loop-current loop cascade control method is often used, wherein the position loop and the speed loop can be used as outer loops. The processing time of the position loop and the speed loop is much longer than that of the current loop, so a frequency division form is often used to set the execution frequency of the outer loop to 1 / n of the current loop, where n can be 2 or 4. The position loop is responsible for completing the closed-loop control of the motor position. According to the position command signal issued by the main controller, the speed planning output speed command signal is completed in a reasonable manner. The speed loop is responsible for completing the closed-loop control of the motor speed. According to the speed command signal, the current command signal is output in combination with the feedback speed. The current loop is responsible for completing the closed-loop control of the motor current. According to the current command signal combined with the feedback current, the voltage command signal is output, and its duty cycle is calculated to control the inverter to drive the motor; and the feedback decoding unit can send the actual position of the motor collected to the position loop, and can also calculate the current speed of the motor through the speed measurement algorithm and feed it back to the speed loop. The current sampling unit can collect the current current of the motor and feed it back to the current loop.

[0174] It can be seen that the embodiment of the present application can input the current command signal into the target notch filter, and the target notch filter can attenuate the signal amplitude of the notch center frequency (i.e., notch processing) to obtain the target current command signal. Subsequently, based on the target current command signal, a target voltage command signal for driving the motor can be generated, and the target voltage command signal is transmitted to the motor to control the motor; then, during the operation of the motor, when the frequency of the motor speed fluctuation is close to the notch center frequency, the amplitude of the motor speed fluctuation will decrease, so that the motor will not generate large vibrations, the vibration amplitude of the motor will be reduced, and the probability of resonance between the load end and the motor will be reduced, thereby achieving the suppression of the resonance of the servo system.

[0175] Based on the method embodiments described above, Figure 7As shown, an embodiment of the present application provides a motor control device, which is applied to a motor drive end of a target robot, and the motor drive end is used to drive a motor in a target servo system of the target robot; the device includes:

[0176] A first generating module 710 is used to generate a speed command signal for the motor in response to a position command signal; wherein the position command signal is used to indicate a desired position of a load end in a target servo system;

[0177] A second generating module 720, configured to generate a current command signal for the motor based on the speed command signal;

[0178] A notch processing module 730 is used to input the current command signal into a target notch filter for notch processing to obtain a target current command signal; wherein the parameter value of the notch center frequency of the target notch filter is a target frequency value, and the target frequency value is a frequency value that causes the load end in the target servo system to resonate with the motor;

[0179] The third generating module 740 is used to generate a target voltage command signal for driving the motor based on the target current command signal, and transmit the target voltage command signal to the motor to control the motor.

[0180] Optionally, the third generating module is specifically used to:

[0181] Generate a voltage command signal for representing an expected voltage according to the target current command signal; wherein the expected voltage is a voltage required to enable the motor to respond to the speed command signal;

[0182] The generated voltage command signal is transformed to obtain a target voltage command signal for driving the motor.

[0183] Optionally, the type of the target notch filter is a three-parameter notch filter;

[0184] The parameter value of the notch depth of the target notch filter is a value not less than a preset amplitude critical value, and the notch width of the target notch filter is a value not greater than a preset bandwidth critical value.

[0185] Optionally, the number of the target frequency values ​​is multiple, the number of the notch filters is the same as the number of the target frequency values, and the multiple target notch filters are connected in series, and the parameter value of the notch center frequency of each target notch filter is one of the multiple target frequency values;

[0186] The notch processing module is specifically used for:

[0187] The current command signal is input into the plurality of target notch filters connected in series to perform multiple notch processing to obtain a target current command signal.

[0188] Optionally, among the plurality of target notch filters connected in series, a parameter value of a notch center frequency of a notch filter at a previous stage is not lower than a parameter value of a notch center frequency of a target notch filter at a subsequent stage.

[0189] Optionally, the target frequency value is specifically: a frequency value that causes the load end in the target servo system to resonate with the motor during the movement of the load end in the target moving direction;

[0190] The target moving direction is the moving direction required to reach the desired position.

[0191] Optionally, during the movement of the load end in any movement direction, a calibration method for a frequency value that causes the load end and the motor to resonate includes:

[0192] Determine the log data generated by the target control process corresponding to the moving direction; wherein the target control process corresponding to the moving direction is: a process of controlling the load end in the target servo system of the robot to be calibrated in the moving direction;

[0193] Based on the determined log data, speed data of a motor in a target servo system of the robot to be calibrated in a target control process corresponding to the moving direction is obtained;

[0194] converting the velocity data into a frequency spectrogram;

[0195] Based on the distribution of amplitude values ​​in the frequency spectrum, a frequency value at which the load end corresponding to the target control process resonates with the motor is determined.

[0196] Optionally, the device further comprises:

[0197] An input module, used for inputting the speed command signal into a target smoother to perform signal smoothing before generating a current command signal for the motor based on the speed command signal, so as to obtain a speed command signal after signal smoothing;

[0198] The second generating module is specifically used for:

[0199] A current command signal for the motor is generated based on the speed command signal after the signal smoothing process.

[0200] In the technical solution of this application, the operations involved in obtaining, storing, using, processing, transmitting, providing and disclosing user personal information are all carried out with the user's authorization.

[0201] The present application also provides a robot, such as Figure 8 As shown, including:

[0202] Memory 801, used for storing computer programs;

[0203] The processor 802 is used to implement the above motor control method when executing the program stored in the memory 801.

[0204] In addition, the robot may further include a communication bus and / or a communication interface, and the processor 802, the communication interface, and the memory 801 communicate with each other via the communication bus.

[0205] The communication bus mentioned in the robot can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0206] The communication interface is used for communication between the above robot and other devices.

[0207] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0208] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0209] In another embodiment provided in the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, any of the above-mentioned motor control methods is implemented.

[0210] In another embodiment provided in the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any motor control method in the above embodiments.

[0211] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state hard disk (SSD), etc.

[0212] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0213] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0214] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.

Claims

1. A motor control method, characterized in that: A motor driving end applied to a target robot, the motor driving end is used to drive a motor in a target servo system of the target robot; the method comprises: In response to the position command signal, a speed command signal for the motor is generated; wherein the position command signal is used to indicate a desired position of a load end in a target servo system; Based on the speed command signal, generate a current command signal for the motor; Inputting the current command signal into a target notch filter for notch processing to obtain a target current command signal; wherein a parameter value of a notch center frequency of the target notch filter is a target frequency value, and the target frequency value is a frequency value that causes a load end in the target servo system to resonate with the motor; Based on the target current command signal, a target voltage command signal for driving the motor is generated, and the target voltage command signal is transmitted to the motor to control the motor.

2. The method according to claim 1, characterized in that The step of generating a target voltage command signal for driving the motor based on the target current command signal comprises: Generate a voltage command signal for representing an expected voltage according to the target current command signal; wherein the expected voltage is a voltage required to enable the motor to respond to the speed command signal; The generated voltage command signal is transformed to obtain a target voltage command signal for driving the motor.

3. The method according to claim 1 or 2, characterized in that: The type of the target notch filter is a three-parameter notch filter; The parameter value of the notch depth of the target notch filter is a value not less than a preset amplitude critical value, and the notch width of the target notch filter is a value not greater than a preset bandwidth critical value.

4. The method according to claim 1 or 2, characterized in that: The number of the target frequency values ​​is multiple, the number of the target notch filters is the same as the number of the target frequency values, and the multiple target notch filters are connected in series, and the parameter value of the notch center frequency of each target notch filter is one of the multiple target frequency values; The step of inputting the current command signal into a target notch filter for notch processing to obtain a target current command signal comprises: The current command signal is input into the plurality of target notch filters connected in series to perform multiple notch processing to obtain a target current command signal.

5. The method according to claim 4, characterized in that In the plurality of target notch filters connected in series, a parameter value of a notch center frequency of a notch filter at a previous stage is not lower than a parameter value of a notch center frequency of a target notch filter at a subsequent stage.

6. The method according to claim 1 or 2, characterized in that: The target frequency value is specifically: a frequency value that causes the load end in the target servo system to resonate with the motor during the movement of the load end in the target moving direction; The target moving direction is the moving direction required to reach the desired position.

7. The method according to claim 6, characterized in that The calibration method of the frequency value that causes the load end to resonate with the motor during the movement of the load end in any moving direction includes: Determine the log data generated by the target control process corresponding to the moving direction; wherein the target control process corresponding to the moving direction is: a process of controlling the load end in the target servo system of the robot to be calibrated in the moving direction; Based on the determined log data, speed data of a motor in a target servo system of the robot to be calibrated in a target control process corresponding to the moving direction is obtained; converting the velocity data into a frequency spectrogram; Based on the distribution of amplitude values ​​in the frequency spectrum, a frequency value at which the load end corresponding to the target control process resonates with the motor is determined.

8. The method according to claim 1 or 2, characterized in that: Before generating a current command signal for the motor based on the speed command signal, the method further includes: Inputting the speed command signal into a target smoother to perform signal smoothing processing to obtain a speed command signal after signal smoothing processing; The step of generating a current command signal for the motor based on the speed command signal comprises: A current command signal for the motor is generated based on the speed command signal after the signal smoothing process.

9. A motor control device, characterized in that: The motor driving end is applied to a target robot, and the motor driving end is used to drive a motor in a target servo system of the target robot; the device comprises: A first generating module, used for generating a speed command signal for the motor in response to a position command signal; wherein the position command signal is used for indicating a desired position of a load end in a target servo system; A second generating module, used for generating a current command signal for the motor based on the speed command signal; a notch processing module, configured to input the current command signal into a target notch filter for notch processing to obtain a target current command signal; wherein a parameter value of a notch center frequency of the target notch filter is a target frequency value, and the target frequency value is a frequency value that causes a load end in the target servo system to resonate with the motor; The third generating module is used to generate a target voltage command signal for driving the motor based on the target current command signal, and transmit the target voltage command signal to the motor to control the motor.

10. A robot, characterized in that: include: Memory, used to store computer programs; A processor, for implementing any of the methods described in claims 1-8 when executing a program stored in a memory.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Method for suppressing mechanical resonance of cutting machine servo system

    CN109713968A

  • Automatic adjustment method for feedback control system, and feedback control apparatus

    CN112470085A