Motor control device, motor control method, and program
The motor control device enhances response performance by integrating model following and feedforward control to address inaccuracies in target modeling, reducing overshoot and stabilizing motor operation.
Patent Information
- Application Number
- JP2023222882
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2025-07-10
- Estimated Expiration
- 2043-12-28
AI Technical Summary
Existing motor control systems face limitations in accuracy due to insufficient modeling of the control target, leading to delays and overshoot issues.
A motor control device incorporating a model following control unit and an additional feedforward control unit to calculate and synthesize control target values, with a drive control unit for precise motor control, including viscous friction compensation.
Improves response performance by reducing overshoot and stabilizing motor control, especially under rapid operational changes.
Smart Images

Figure 2025104803000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a motor control device, a motor control method, and a program.
Background Art
[0002] The following Patent Document 1 discloses a technique for enhancing followability by using so-called model following control according to a control model obtained by modeling a control target.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Since there is a limit to the accuracy of modeling the control target, a delay may occur in the command for the motor that is the control target. As a result, so-called overshoot or the like may occur.
[0005] The present invention has been made in view of the above problems, and an object thereof is to provide a motor control device, a motor control method, and a program that improve response performance.
Means for Solving the Problems
[0006] A motor control device according to one aspect of the present disclosure includes: a first calculation unit that calculates a first control target value by calculating a mathematical formula obtained by modeling a device including a motor based on an input position command value; a second calculation unit that calculates a second control target value based on a differential operation of the input position command value; a synthesis unit that generates a synthesized control target value based on the first control target value and the second control target value; and a drive control unit that controls driving of the motor based on the synthesized control target value.
Effects of the Invention
[0007] According to the present disclosure, a motor control device, a motor control method, and a program capable of improving response performance can be provided.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2A
Figure 2B
Figure 3A
Figure 3B
Modes for Carrying Out the Invention
[0009] [Overview of Motor Control Device] In the conventional model following control, as described above, there are cases where the accuracy of modeling the control target is not sufficient, and so-called overshoot may occur. Therefore, in the motor control device 1 according to the present embodiment, a configuration for improving the response performance is adopted by adding a correction based on additional feedforward control to the model following control.
[0010] Note that a position detection sensor such as an encoder (not shown) is attached to the motor M, and it is preferable that the detection position (current rotation position) of the motor M is acquired by the position detection sensor. Also, it is preferable that the detection speed (current rotation speed) is acquired based on the change (first derivative value) of the detection position. Then, in the motor control device 1, drive control by a feedback loop is performed while determining whether the detection position of the motor M has rotated to the target rotation position so as to approach the target position.
[0011] FIG. 1 is a diagram showing an example of the overall configuration of the motor control device according to the present embodiment. As shown in FIG. 1, the motor control device 1 includes a model following control unit 10 which is a first arithmetic unit, an additional feedforward control unit 20 which is a second arithmetic unit, a synthesizing unit 30, and a drive control unit 40.
[0012] The motor control device 1 may be configured by one or more computers. The motor control device 1 includes at least one processor, at least one of a volatile memory or a non-volatile memory, and a communication interface for wired communication or a communication interface for wireless communication. The model following control unit 10, the additional feedforward control unit 20, the synthesizing unit 30, and the drive control unit 40 may be realized by the processor of the motor control device 1. Further, the program stored in the motor control device 1 may be supplied via a network. For example, a reading unit (e.g., a memory card slot) for reading a computer-readable information storage medium, or an input / output unit (e.g., a USB terminal) for connecting to an external device may be included. In this case, the program stored in the information storage medium may be supplied via the reading unit or the input / output unit.
[0013] The motor control device 1 controls the driving of the motor M which is a control target based on a command from the upper control device 100. Specifically, an input position command value is input from the upper control device 100 to the model following control unit 10 and the additional feedforward control unit 20 respectively, and based on the outputs from these control units, the drive control unit 40 controls the driving of the motor M. The motor M may be, for example, a servo motor. The upper control device 100 may be configured by, for example, a general-purpose personal computer, a PLC (Programable Logic Controller), a motion controller, or the like.
[0014] [Model Following Control Unit] Based on the input position command value input from the upper controller 100, the model following control unit 10 calculates a mathematical formula (hereinafter referred to as the model mathematical formula) that models the equipment including the motor M, and outputs the first torque control target value T1, the first speed control target value V1, which are the first control target values, and the position control target value P1. The equipment to be modeled in the model mathematical formula preferably includes one or more pieces of equipment used for driving the motor M, etc. For example, it may include the motor M, a position controller, and a speed controller. The model mathematical formula may be generated in advance based on mechanical characteristics of the motor M such as the moment of inertia.
[0015] [Additional feedforward control unit] Based on the input position command value input from the upper controller 100, the additional feedforward control unit 20 outputs the second torque control target value T2 and the second speed control target value V2, which are the second control target values.
[0016] Specifically, the additional feedforward control unit 20 adds a viscous friction compensation value calculated by multiplying the first derivative value of the input position command value by a predetermined viscous friction coefficient to the second derivative value of the input position command value. Further, the additional feedforward control unit 20 multiplies the value obtained by adding the viscous friction compensation value to the second derivative value by a torque feedforward gain, performs filtering processing by a noise reduction filter, and outputs the second torque control target value T2. The predetermined viscous friction coefficient may be set in advance according to the performance of the motor M and the usage environment of the motor M, etc.
[0017] Also, the additional feedforward control unit 20 outputs the second speed control target value V2 by multiplying the first derivative value of the input position command value by a speed feedforward gain.
[0018] [Combining unit] The combining unit 30 includes a torque control target value combining unit 30A and a speed control target value combining unit 30B.
[0019] The torque control target value synthesizing unit 30A generates a synthesized torque control target value T3, which is a synthesized control target value, by synthesizing a first torque control target value T1 and a second torque control target value T2 at a given ratio. When the given ratio is 1-α:α, α may be, for example, 0.1. In this case, the ratio of the first torque control target value T1 is 90%, and the ratio of the second torque control target value T2 is 10%.
[0020] The speed control target value synthesizing unit 30B generates a synthesized speed control target value V3, which is a synthesized control target value, by synthesizing a first speed control target value V1 and a second speed control target value V2 at a given ratio. When the given ratio is 1-β:β, β may be, for example, 0.1. In this case, the ratio of the first speed control target value V1 is 90%, and the ratio of the second speed control target value V2 is 10%.
[0021] Note that the ratios α and β may be preset by the user's operation. For example, by actually driving the motor M, the overshoot amount is obtained and appropriately set so that it becomes smaller. Note that the ratios α and β may be 0 or more and 1 or less. Therefore, for example, the ratio α may be 0. In this case, the ratio of the first torque control target value T1 is 100%, and the ratio of the second torque control target value T2 is 0%. Similarly, the ratio β may be 0. Also, the ratio α and the ratio β may be different from each other.
[0022] Also, the synthesized torque control target value T3 may be a value generated based on the first torque control target value T1 and the second torque control target value T2, and is not limited to being generated by synthesizing them at a given ratio. For example, the ratio α may not be preset and may be variable according to the detected speed or the like. The same applies to the synthesized speed control target value V3.
[0023] [Drive control unit] The drive control unit 40 includes a position control unit 41 and a speed control unit 42. The position control unit 41 outputs a speed command V4 based on a position deviation P2, which is the difference between the current rotational position acquired by a position detection sensor (not shown) and the position control target value P1. The position control unit 41 is configured, for example, with an integrator configured to calculate an integral value of the position deviation P2 for addition to the position deviation P2, and performs so-called PI control in which the position control gain is multiplied after adding the position deviation P2 to the output of the integrator.
[0024] The speed control unit 42 outputs a torque command T4 based on a speed deviation V5, which is the difference between the current detected speed based on the first derivative value of the current rotational position detected by the position detection sensor and the corrected target speed obtained by correcting the combined speed control target value V3 with the speed command V4. The speed control unit 42 is configured, for example, with an integrator configured to calculate an integral value of the speed deviation V5 for addition to the speed deviation V5, and performs so-called PI control in which the speed control gain is multiplied after adding the speed deviation V5 to the output of the integrator.
[0025] Furthermore, the drive control unit 40 generates a torque command correction value T5 based on the torque command T4 and the combined torque control target value T3. The torque command correction value T5 may be converted into a drive current value and input to the motor M.
[0026] Here, the position control target value P1 calculated by the model following control unit 10 is a value related to the rotational position of the motor M predicted based on the input position command value input from the upper control device 100. Also, the combined speed control target value V3 generated by the speed control target value combining unit 30B is a value related to the rotational speed of the motor M predicted based on the input position command value input from the upper control device 100. Further, the combined torque control target value T3 generated by the torque control target value combining unit 30A is a value related to the torque of the motor M predicted based on the input position command value input from the upper control device 100.
[0027] The position control target value P1, the combined speed control target value V3, and the combined torque control target value T3 may deviate from the behavior of the actual motor M due to various factors such as disturbances. Therefore, as described above, the drive control unit 40 outputs a speed command V4 based on the position deviation P2, which is the deviation between the position control target value P1 and the current detected position, and corrects the combined speed control target value V3 with the speed command V4. Further, the drive control unit 40 outputs a torque command T4 based on the speed deviation V5, which is the deviation between the corrected target speed obtained by correcting the combined speed control target value V3 with the speed command V4 and the current detected speed, and generates a torque command correction value T5 by correcting the combined torque control target value T3 with the torque command T4. In this way, in the drive control unit 40, the drive of the motor M is controlled so as to reduce the deviation of the behavior of the actual motor M from the target value (predicted value).
[0028] [Response performance of the motor control device according to the present embodiment] FIG. 2A is a graph for explaining the response performance of a conventional motor control device. FIG. 2B is a graph for explaining the response performance of the motor control device according to the present embodiment. In FIG. 2A, when α = 0 and β = 0, that is, the behavior of the motor by a conventional motor control device that performs only model following control without having the additional feedforward control unit 20 is shown. In FIG. 2B, when α = 0.1 and β = 0, that is, in the motor control device 1 according to the present embodiment, based on the combined torque control target value T3 in which the ratio of the first torque control target value T1 is 90% and the ratio of the second torque control target value T2 is 10%, the behavior of the motor M when drive control is performed is shown. FIGS. 2A and 2B show an example when a stop command for driving is given to the motor M.
[0029] As shown in FIG. 2A, in a conventional motor control device, a large overshoot occurs after a stop command, and it takes time until the position deviation converges to 0. On the other hand, as shown in FIG. 2B, in the motor control device 1 according to the present embodiment, it can be seen that the overshoot is smaller and the position deviation approaches 0 relatively quickly compared to the example shown in FIG. 2A. That is, it can be seen that the response performance has been improved.
[0030] [Flowchart] Next, with reference to FIGS. 3A and 3B, an example of the process executed by the motor control device 1 will be described. FIG. 3A is a flowchart showing the process executed by the drive control unit. FIG. 3B is a flowchart showing the process executed by the model following control unit and the additional feedforward control unit. The processes shown in FIGS. 3A and 3B are executed by the processor of the motor control device 1 executing the control program stored in the memory.
[0031] First, the drive control unit 40 acquires the current rotational position of the motor M (S1).
[0032] Here, as shown in FIG. 3B, an input position command value is input from the host control device 100 to the model following control unit 10 and the additional feedforward control unit 20 (S11, S13). The model following control unit 10 calculates a position control target value P1, a first torque control target value T1, and a first speed control target value V1 based on the input position command value (S12). The additional feedforward control unit 20 calculates a second torque control target value T2 and a second speed control target value V2 based on the input position command value (S14).
[0033] Furthermore, the synthesizing unit 30 generates a synthesized torque control target value T3 based on the first torque control target value T1 and the second torque control target value T2, and generates a synthesized speed control target value V3 based on the first speed control target value V1 and the second speed control target value V2 (S15).
[0034] Then, the drive control unit 40 calculates a position deviation P2, which is the difference between the current rotational position of the motor M and the position control target value P1 generated by the model following control unit 10 (S2). Further, the drive control unit 40 outputs a speed command V4 based on the position deviation P2 (S3).
[0035] Furthermore, a speed deviation V5, which is the difference between the current rotational speed based on the change in the current rotational position acquired in S1, the corrected target speed obtained by correcting the composite speed control target value V3 generated in S15 with the speed command V4 output in S4, is calculated (S4). Also, the drive control unit 40 outputs a torque command T4 based on the speed deviation V5 (S5). Further, the drive control unit 40 generates a torque command correction value T5 by correcting the composite torque control target value T3 generated in S15 with the torque command T4 output in S5 (S6). Then, the drive control unit 40 inputs a drive current based on the torque command correction value T5 to the motor M (S7). In the motor control device 1, the above-described processing is repeated each time a position command value is input from the host control device 100.
[0036] [Summary] In the motor control device 1 according to the present embodiment, by using the control target value generated by the additional feedforward control unit 20 to correct the control target value generated by the model following control unit 10, it is possible to suppress the occurrence of overshoot and position deviation, which were problems in the conventional model following control. In particular, with respect to the viscous friction generated in the motor M, it is difficult to accurately model due to reasons such as depending on the usage environment. However, by using the additional feedforward control capable of performing viscous friction compensation, the accuracy of the drive control of the motor M is improved. In particular, the response performance can be stabilized even when a rapid change occurs in the operation of the motor M, such as at the start-up or shutdown of the rotation of the motor M.
[0037] In addition, in this embodiment, an example in which the combining unit 30 includes a torque control target value combining unit 30A and a speed control target value combining unit 30B has been described. However, the present invention is not limited to this, and the combining unit 30 may include at least one of the torque control target value combining unit 30A and the speed control target value combining unit 30B.
[0038] Further, in this embodiment, an example in which the motor M is a rotary motor that rotates about a shaft as a rotation center has been described. However, the present invention is not limited to this, and the motor M may be a linear motor. In this case, it is preferable to control the drive of the linear motor using a control target value related to thrust instead of torque.
[0039] [Appendix] For example, the motor control device 1 may have the following configuration. (1) A first calculation unit that calculates a first control target value by calculating a mathematical formula that models a device including a motor based on an input position command value; A second calculation unit that calculates a second control target value based on a differential calculation of the input position command value; A combining unit that generates a combined control target value based on the first control target value and the second control target value; A drive control unit that controls the drive of the motor based on the combined control target value; A motor control device having the above components. (2) The combining unit generates the combined control target value by combining the first control target value and the second control target value at a given ratio. The motor control device according to (1). (3) The first control target value includes a first torque control target value. The second control target value includes a second torque control target value. The combining unit generates a combined torque control target value, which is the combined control target value, by combining the first torque control target value and the second torque control target value at a given ratio. The drive control unit generates a torque command correction value for driving the motor based on the combined torque control target value. The motor control device according to (1) or (2). (4) The second calculation unit calculates the second torque control target value based on the second derivative value of the input position command value and the viscous friction compensation value calculated by multiplying the first derivative value of the input position command value by a predetermined viscous friction coefficient. The motor control device according to (3). (5) The first control target value includes a first speed control target value. The second control target value includes a second speed control target value. The combining unit generates a combined speed control target value, which is the combined control target value, by combining the first speed control target value and the second speed control target value at a given ratio. The drive control unit controls the driving of the motor based on the combined speed control target value. The motor control device according to any one of (1) to (4).
Description of symbols
[0040] 1 Motor control device, 10 Model following control unit, 20 Additional feedforward control unit, 30 Combining unit, 30A Torque control target value combining unit, 30B Speed control target value combining unit, 40 Drive control unit, 41 Position control unit, 42 Speed control unit, Higher-level control device 100, M Motor, T1 First torque control target value, T2 Second torque control target value, T3 Combined torque control target value, T4 Torque command, T5 Torque command correction value, V1 First speed control target value, V2 Second speed control target value, V3 Combined speed control target value, V4 Speed command, V5 Speed deviation, P1 Position control target value, P2 Position deviation.
Claims
1. A first calculation unit that calculates a first control target value by calculating a mathematical formula that models a device including a motor based on an input position command value; A second calculation unit that calculates a second control target value based on a differential calculation of the input position command value; A combining unit that generates a combined control target value based on the first control target value and the second control target value; A drive control unit that controls the drive of the motor based on the combined control target value; A motor control device having the above.
2. The combining unit generates the combined control target value by combining the first control target value and the second control target value at a given ratio. The motor control device according to Claim 1.
3. The first control target value includes a first torque control target value. The second control target value includes a second torque control target value. The combining unit generates a combined torque control target value, which is the combined control target value, by combining the first torque control target value and the second torque control target value at a given ratio. The drive control unit generates a torque command correction value for driving the motor based on the combined torque control target value. The motor control device according to Claim 1.
4. The second calculation unit calculates the second torque control target value based on the second derivative value of the input position command value and the viscous friction compensation value calculated by multiplying the first derivative value of the input position command value by a predetermined viscous friction coefficient. The motor control device according to Claim 3.
5. The first control target value includes a first speed control target value. The second control target value includes a second speed control target value. The combining unit generates a combined speed control target value, which is the combined control target value, by combining the first speed control target value and the second speed control target value at a given ratio. The drive control unit controls the drive of the motor based on the combined speed control target value. The motor control device according to Claim 1.
6. Calculating a first control target value by calculating a mathematical formula that models a device including a motor based on an input position command value; Calculating a second control target value based on a differential calculation of the input position command value; Generating a combined control target value based on the first control target value and the second control target value; Controlling the drive of the motor based on the combined control target value; A motor control method.
7. A first calculation unit that calculates a first control target value by calculating a mathematical formula that models a device including a motor based on an input position command value; A second calculation unit that calculates a second control target value based on a differential calculation of the input position command value; A combining unit that generates a combined control target value based on the first control target value and the second control target value; A drive control unit that controls the driving of the motor based on the combined control target value; A program for causing a computer to function as such.
Citation Information
Patent Citations
Speed controller for motor
JP1992317578A
Tensile force controller for vertical pass line plate material
JP1995315650A
Numerical controller
JP2003058213A
Motor control unit
JP2011135632A
Motor control device for electric vehicle and motor control method for electric vehicle
JP2014090647A