Control system, control method, and program

The control system improves responsiveness by combining feedforward and feedback control with a correction mechanism that adjusts the combined manipulated variable based on sign differences, addressing friction errors and negative feedback interference.

WO2025249051A1PCT designated stage Publication Date: 2025-12-04PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/015885
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-28
Filing Date
2025-04-24
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Existing control systems using feedforward and feedback control combinations suffer from reduced responsiveness due to friction errors and negative feedback interference.

Method used

A control system that incorporates a semi-closed loop control mechanism, utilizing a feedforward control unit, feedback control unit, and a correction unit to generate a combined manipulated variable, which increases its absolute value when the signs of the feedforward and feedback manipulated variables differ, thereby overcoming inhibition by feedback control.

Benefits of technology

This approach enhances the responsiveness of the feedforward control by preventing inhibition from feedback control, ensuring quicker and more accurate motor control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025015885_04122025_PF_FP_ABST
    Figure JP2025015885_04122025_PF_FP_ABST
Patent Text Reader

Abstract

The purpose of the present disclosure is to improve responsiveness by feedforward control. A control system (1) controls a motor (M1) by semi-closed control. A calculation unit (71) generates a total manipulated variable (S5) by adding a plurality of manipulated variables, including a feedforward manipulated variable (S1) and a feedback manipulated variable (S3). A control command unit (7) outputs a control command for controlling the motor (M1) on the basis of the total manipulated variable (S5). When a switching condition is satisfied, a correction unit (6) increases the absolute value of the total manipulated variable (S5). The switching condition includes that the sign of the feedforward manipulated variable (S1) and the sign of the feedback manipulated variable (S3) are different.
Need to check novelty before this filing date? Find Prior Art

Description

Control system, control method, and program

[0001] The present disclosure generally relates to a control system, a control method, and a program, and more particularly to a control system, a control method, and a program that combines feedforward control and feedback control.

[0002] The drive control device described in Patent Document 1 drives a controlled object by inputting the sum of a feedforward manipulated variable and a feedback manipulated variable as an input manipulated variable to the controlled object. The drive control device also corrects the feedforward manipulated variable using a friction correction variable to prevent a friction error between a target value and an actual operating variable.

[0003] The drive control device (control system) described in Patent Document 1 uses the feedforward operation amount plus the feedback operation amount as the input operation amount, which can result in reduced responsiveness compared to when the feedforward operation amount is used alone to drive the controlled object.

[0004] Japanese Patent Application Laid-Open No. 2007-094952

[0005] The present disclosure aims to provide a control system, a control method, and a program that can improve the responsiveness of feedforward control when feedforward control and feedback control are combined.

[0006] A control system according to one aspect of the present disclosure controls a motor using semi-closed loop control. The control system includes a feedforward control unit, a feedback control unit, a control command unit, and a correction unit. The feedforward control unit generates a feedforward manipulated variable based on a target value. The feedback control unit generates a feedback manipulated variable based on a difference between the target value and a control amount of the motor. The control command unit includes a calculation unit. The calculation unit generates a combined manipulated variable by combining multiple manipulated variables including the feedforward manipulated variable and the feedback manipulated variable. The control command unit outputs a control command for controlling the motor based on the combined manipulated variable. When a switching condition is satisfied, the correction unit increases the absolute value of the combined manipulated variable. The switching condition includes that the sign of the feedforward manipulated variable and the sign of the feedback manipulated variable are different.

[0007] A control method according to one aspect of the present disclosure controls a motor using semi-closed loop control. The control method includes a feedforward control step, a feedback control step, a control command step, and a correction step. The feedforward control step generates a feedforward manipulated variable based on a target value. The feedback control step generates a feedback manipulated variable based on a difference between the target value and a control variable of the motor. The control command step generates a combined manipulated variable by combining multiple manipulated variables including the feedforward manipulated variable and the feedback manipulated variable, and outputs a control command for controlling the motor based on the combined manipulated variable. The correction step increases the absolute value of the combined manipulated variable when a switching condition is satisfied. The switching condition includes that the sign of the feedforward manipulated variable and the sign of the feedback manipulated variable are different.

[0008] A program according to one aspect of the present disclosure is a program readable by a computer system, causing one or more processors of the computer system to execute the control method.

[0009] FIG. 1 is a block diagram of a control system according to a first embodiment. FIG. 2 is a graph showing changes in manipulated variables of the control system. FIG. 3 is a graph showing changes in signals of the control system. FIG. 4 is a graph showing changes in signals of the control system. FIG. 5 is a graph showing changes in signals of the control system. FIG. 6 is a graph showing changes in signals of the control system. FIG. 7 is a flowchart showing an operation example of the control system. FIG. 8 is a block diagram of a control system according to a second embodiment. FIG. 9 is a block diagram of a control system according to a third embodiment. FIG. 10 is a block diagram of a control system according to a fourth embodiment. FIG. 11 is a block diagram of a control system according to a fifth embodiment. FIG. 12 is a block diagram of a control system according to a sixth embodiment. FIG. 13 is a block diagram of a control system according to a modified example of the sixth embodiment.

[0010] In the following embodiments, the control system, control method, and program of the present disclosure will be described with reference to the accompanying drawings. However, the following embodiments are merely a part of various embodiments of the present disclosure. The following embodiments can be modified in various ways depending on the design, etc., as long as the object of the present disclosure can be achieved. Furthermore, the following embodiments, including modified examples, may be realized in appropriate combinations.

[0011] (Embodiment 1) (Overview) A control system 1 shown in FIG. 1 controls a motor M1 using feedforward control and feedback control. The control system 1 issues control commands to a plant 2 (equipment) including the motor M1. For example, the plant 2 may include a load L1 (load device), a motor M1 that drives the load L1, a power supply circuit 21 that supplies a drive current to the motor M1, and a detector 22 that detects a control variable of the motor M1. The control variable may include, for example, a current (drive current), a position, and a speed obtained by differentiating the position with respect to time. The detector 22 may include, for example, a current detector that detects the drive current of the motor M1 and an encoder that detects the position of the motor M1.

[0012] The control system 1 controls the motor M1 by semi-closed control, and therefore performs feedback control so that the control amount output from the motor M1 approaches a target value.

[0013] There is no particular limitation on the type of the plant 2. The plant 2 may be, for example, a machining machine. The load L1 may include, for example, a ball screw and a stage (table) that are driven by a motor M1.

[0014] The motor M1 is a servo motor. The motor M1 is, for example, a rotary motor, but may also be a linear motor.

[0015] The motor M1 may be an AC motor or a DC motor. The power supply circuit 21 may include, for example, an AC / AC inverter circuit that supplies AC current to the motor M1, which is an AC motor, or a converter circuit that supplies DC current to the motor M1, which is a DC motor.

[0016] The control system 1 controls the motor M1 using semi-closed loop control. The control system 1 includes a feedforward control unit 3, a feedback control unit 4, a control command unit 7, and a correction unit 6. The feedforward control unit 3 generates a feedforward manipulated variable S1 based on a target value. The feedback control unit 4 generates a feedback manipulated variable S3 (also referred to as a second feedback manipulated variable S3) based on the difference between the target value and the controlled variable of the motor M1. The control command unit 7 includes a calculation unit 71. The calculation unit 71 generates a combined manipulated variable S5 by combining multiple manipulated variables including the feedforward manipulated variable S1 and the feedback manipulated variable S3. The control command unit 7 outputs a control command (current manipulated variable S6) for controlling the motor M1 based on the combined manipulated variable S5. When a switching condition is satisfied, the correction unit 6 increases the absolute value of the combined manipulated variable S5. The switching condition includes that the sign of the feedforward manipulated variable S1 and the sign of the feedback manipulated variable S3 are different.

[0017] According to the above configuration, the calculation unit 71 generates a total manipulated variable S5 by summing the feedforward manipulated variable S1 and the feedback manipulated variable S3. When the sign of the feedforward manipulated variable S1 differs from the sign of the feedback manipulated variable S3, the absolute value of the total manipulated variable S5 is smaller than when there is no feedback manipulated variable S3 (it is zero). In other words, the feedforward control is inhibited by the feedback control. However, when the switching condition is satisfied, the correction unit 6 increases (corrects) the absolute value of the total manipulated variable S5, thereby preventing the feedforward control from being inhibited by the feedback control. This improves the responsiveness of the feedforward control.

[0018] As a means for increasing the absolute value of the total operation amount S5, for example, the magnitude of at least one of the multiple operation amounts including the feedforward operation amount S1 and the feedback operation amount S3 may be changed, or the magnitude of the total operation amount S5 may be changed after it is calculated.

[0019] Functions similar to those of the control system 1 can be realized by a control method. The control method of this embodiment controls the motor M1 using semi-closed loop control. The control method includes a feedforward control step, a feedback control step, a control command step, and a correction step. In the feedforward control step, a feedforward manipulated variable S1 is generated based on a target value. In the feedback control step, a feedback manipulated variable S3 is generated based on the difference between the target value and the controlled variable of the motor M1. In the control command step, a combined manipulated variable S5 is generated by combining multiple manipulated variables including the feedforward manipulated variable S1 and the feedback manipulated variable S3, and a control command (current manipulated variable S6) for controlling the motor M1 is output based on the combined manipulated variable S5. In the correction step, when a switching condition is satisfied, the absolute value of the combined manipulated variable S5 is increased. The switching condition includes that the sign of the feedforward manipulated variable S1 and the sign of the feedback manipulated variable S3 are different.

[0020] The control method can be realized as a program. The program of this embodiment is a program readable by a computer system and causes one or more processors of the computer system to execute the control method. The program may be recorded on a non-transitory recording medium readable by the computer system.

[0021] (Details) (1) Configuration Hereinafter, the entire system including the control system 1 according to this embodiment and its peripheral configuration will be described in detail with reference to FIG.

[0022] The control system 1 is electrically connected to the plant 2. The control system 1 outputs an output signal including a manipulated variable (control command) to the plant 2. The manipulated variable may be a manipulated variable related to a drive current for driving and controlling the motor M1.

[0023] As described above, the plant 2 may include the load L1, the motor M1, the power supply circuit 21, and the detection unit 22.

[0024] The plant 2 outputs a control amount signal including a control amount in accordance with the input operation amount. The control amount is an amount that indicates the state of the plant 2. Specifically, in the plant 2, the motor M1 is driven in accordance with the operation amount, and the detector 22 outputs a control amount signal including control amounts such as the speed, position, and drive current of the motor M1 to the outside (control system 1).

[0025] The control system 1 includes a computer system having one or more processors and a memory. At least some of the functions of the control system 1 are realized by the processor of the computer system executing a program recorded in the memory of the computer system. The program may be recorded in the memory, or may be provided via a telecommunications line such as the Internet, or may be provided by being recorded on a non-transitory recording medium such as a memory card.

[0026] 1, the control system 1 includes a feedforward control unit 3, a feedback control unit 4, a disturbance compensator 5, a correction unit 6, and a control command unit 7. Note that these merely indicate functions realized by the control system 1 and do not necessarily indicate actual configurations.

[0027] These multiple functions of the control system 1 may be integrated into one housing or distributed across multiple housings. As an example, all of these multiple functions of the control system 1 may be implemented in a servo amplifier. However, at least some of these multiple functions of the control system 1 may be implemented outside the servo amplifier, for example, in a host controller.

[0028] As shown in Fig. 1, the control system 1 acquires (receives) a target value (target position) for the motor M1 from an external device. The "external device" here may be, for example, a host controller. The host controller is configured, for example, by a programmable logic controller, and is communicatively connected to the control system 1. The target value from the external device is input to each of the feedforward control unit 3, the feedback control unit 4, and the disturbance compensator 5.

[0029] The feedforward control unit 3 has a current feedforward unit 31. The current feedforward unit 31 generates a feedforward manipulated variable S1 representing the current of the motor M1 based on a target value, and outputs the feedforward manipulated variable S1. Specifically, the feedforward manipulated variable S1 generated by the current feedforward unit 31 is a manipulated variable (current manipulated variable) related to the drive current supplied to the motor M1.

[0030] The feedback control unit 4 has a first subtractor 41 , a position control unit 42 , a second subtractor 43 , and a speed control unit 44 .

[0031] The position control unit 42 corresponds to a first control unit that generates a first feedback control input S2 based on the difference between the target value and the control amount (first control amount) of the motor M1. The speed control unit 44 corresponds to a second control unit that generates a feedback control input S3 (second feedback control input S3) based on the difference between the first feedback control input S2 and the second control amount of the motor M1.

[0032] The first subtractor 41 outputs the difference between the target position (target value) and the position (first control amount) that is the control result of the motor M1.

[0033] The position control unit 42 performs position feedback control. Specifically, the position control unit 42 generates a first feedback manipulated variable S2 (speed command value) based on the difference between the target value output from the first subtractor 41 and the first controlled variable (the controlled variable for the position of the motor M1). The position control unit 42 determines the first feedback manipulated variable S2 (e.g., the angular velocity of the motor M1) so that the target value and the first controlled variable coincide, and outputs a signal including the first feedback manipulated variable S2.

[0034] The target position (target value) is expressed, for example, by the angle of the motor M1. The position (first control amount) that is the control result of the motor M1 is the position detected by the detection unit 22 and is expressed, for example, by the angle of the motor M1.

[0035] The target value input from outside may be a target value for a load L1 such as a stage, and in that case, the control system 1 converts the target value for the load L1 into a target value for the motor M1.

[0036] The second subtractor 43 outputs the difference between the first feedback manipulated variable S2 (angular velocity) output from the position control unit 42 and the angular velocity (second controlled variable) that is the control result of the motor M1.

[0037] The speed control unit 44 performs feedback control of the speed. Specifically, the speed control unit 44 generates a second feedback control input S3 based on the difference between the first feedback control input S2 (speed command value) output from the second subtractor 43 and the second control input (control input for the speed of the motor M1). The speed control unit 44 determines the second feedback control input S3 (e.g., the drive current of the motor M1) so that the first feedback control input S2 and the second control input match, and outputs a signal including the second feedback control input S3.

[0038] The disturbance compensator 5 compensates for the influence of disturbances on the control of the motor M1. That is, the disturbance compensator 5 operates to cancel out the disturbances. The disturbances may include, for example, friction generated in the motor M1 or the load L1.

[0039] The disturbance compensator 5 calculates a compensation amount S4 for friction occurring on the motor M1 side. Here, it is assumed that the "friction occurring on the motor M1 side" is, for example, the friction torque of the motor M1 and friction in the load L1 (e.g., rolling friction of a ball screw). In other words, the disturbance compensator 5 calculates a compensation amount S4 for friction of the entire plant 2, including the friction torque of the motor M1 and the friction of the load L1.

[0040] However, if the plant 2 is a system in which the load L1 can be ignored, the "friction occurring on the motor M1 side" may be only the friction torque of the motor M1.

[0041] The disturbance compensator 5 of this embodiment is a feedforward type disturbance compensator, and therefore calculates the compensation amount S4 based on a target value input from the outside.

[0042] The disturbance compensator 5 may include, for example, a differentiator that generates a speed target value by time-differentiating a target value (target position).

[0043] The friction torque of the motor M1 and friction generated by the load L1 (e.g., rolling friction of a ball screw) can become significant, for example, when the rotation direction of the motor M1 is reversed. The disturbance compensator 5 has a friction model that uses, for example, a speed-dependent function. Typical examples of the friction model include the LuGre model and the GMS model. The friction model is a speed input / friction output friction model, and is a function that returns the friction of the entire plant 2 (e.g., a value converted into friction torque) when a speed target value is input. Note that if the plant 2 is a system in which the load L1 can be ignored, the friction model may also be a function that returns the friction torque of the motor M1 when a speed target value is input.

[0044] The disturbance compensator 5 calculates a compensation amount S4 for the friction of the plant 2 based on the speed target value and using a friction compensation model.

[0045] The compensation amount S4 generated by the disturbance compensator 5 is input to a calculation unit 71 (adder) of the control command unit 7. The feedforward manipulation amount S1 generated by the feedforward control unit 3 (current feedforward unit 31) is also input to the calculation unit 71. The second feedback manipulation amount S3 generated by the feedback control unit 4 is input to the calculation unit 71 via the correction unit 6.

[0046] The control instruction unit 7 includes a calculation unit 71 , a third subtractor 72 , and a current control unit 73 .

[0047] The calculation unit 71 is an adder that generates a total control input S5 by adding together three control inputs: the compensation input S4 generated by the disturbance compensator 5, the feedforward control input S1 generated by the feedforward control unit 3, and the second feedback control input S3 generated by the feedback control unit 4. The total control input S5 corresponds to a target value of the drive current.

[0048] The third subtractor 72 outputs the difference between the total manipulated variable S5 output from the calculation unit 71 and the drive current (third controlled variable) that is the control result of the motor M1.

[0049] The current control unit 73 performs feedback control of the current. Specifically, the current control unit 73 generates a control variable (current control variable S6) related to the drive current supplied to the motor M1 based on the difference between the total control variable S5 output from the third subtractor 72 and the third control variable. The current control unit 73 determines the current control variable S6 so that the total control variable S5 and the third control variable coincide with each other, and outputs a signal including the current control variable S6. The current control variable S6 is an example of a control command output from the control command unit 7 to control the motor M1.

[0050] The power supply circuit 21 of the plant 2 supplies a drive current corresponding to the current control amount S6 output from the current control unit 73 to the motor M1.

[0051] Next, a description will be given of the correction unit 6. The correction unit 6 includes a determination unit 61 and a low-pass filter 62 (denoted as LPF in FIG. 1).

[0052] The low-pass filter 62 is provided between the feedback control unit 4 and the calculation unit 71. The second feedback control input S3 output from the feedback control unit 4 is input to the low-pass filter 62. When the low-pass filter 62 is enabled, the second feedback control input S3 passes through the low-pass filter 62 and is input to the calculation unit 71, and changes in the second feedback control input S3 are suppressed by the low-pass filter 62. When the low-pass filter 62 is disabled, the second feedback control input S3 is input to the calculation unit 71 as is.

[0053] The determination unit 61 switches between enabling and disabling the low-pass filter 62. For example, if the low-pass filter 62 is a digital filter, the determination unit 61 switches between enabling and disabling the low-pass filter 62 by software. If the low-pass filter 62 is realized by hardware, the determination unit 61 switches the electrical path between the feedback control unit 4 and the calculation unit 71 to an electrical path that passes through the low-pass filter 62, thereby enabling the low-pass filter 62, and switches the electrical path to an electrical path that bypasses the low-pass filter 62, thereby disabling the low-pass filter 62.

[0054] The determination unit 61 determines whether the sign of the feedforward manipulated variable S1 output from the feedforward control unit 3 matches the sign of the second feedback manipulated variable S3 output from the feedback control unit 4. If the signs of the two match, the determination unit 61 enables the low-pass filter 62. On the other hand, if the signs of the two differ, the determination unit 61 disables the low-pass filter 62.

[0055] (2) Operation Example As described above, when the switching condition is satisfied, the corrector 6 increases the absolute value of the total manipulated variable S5. In this embodiment, the switching condition is that the sign of the feedforward manipulated variable S1 and the sign of the second feedback manipulated variable S3 are different.

[0056] The correction unit 6 includes a low-pass filter 62 connected in series to the feedback control unit 4, and the correction unit 6 enables the low-pass filter 62 when a switching condition is satisfied.

[0057] FIG. 2 shows an example of changes in the feedforward manipulated variable S1 and the second feedback manipulated variable S3 when the low-pass filter 62 is kept disabled regardless of the switching condition.

[0058] 2 , the initial value of the second feedback control input S3 is zero. If the low-pass filter 62 is enabled when the absolute value of the second feedback control input S3 increases, the rate of increase in the absolute value of the second feedback control input S3 is suppressed. In other words, when the switching condition is satisfied, the corrector 6 enables the low-pass filter 62 to reduce the absolute value of the second feedback control input S3.

[0059] 2, the initial value of the feedforward control input S1 is also zero. When controlling the motor M1, the absolute value of the feedforward control input S1 increases, and then the absolute value of the second feedback control input S3 increases with a delay. Basically, the absolute value of the feedforward control input S1 is greater than the absolute value of the second feedback control input S3.

[0060] In FIG. 2 , the signs of the feedforward control input S1 and the second feedback control input S3 are different at times of approximately 0.1, 0.3, and 0.5 seconds. When the signs of the feedforward control input S1 and the second feedback control input S3 are different, reducing the absolute value of the second feedback control input S3 reduces the second feedback control input S3, which is subtracted from the feedforward control input S1 when calculating the total control input S5, thereby increasing the absolute value of the total control input S5. That is, when the switching condition is satisfied, the correction unit 6 of this embodiment reduces the absolute value of the second feedback control input S3 to increase the absolute value of the total control input S5. When the switching condition is satisfied, the absolute value of the total control input S5 increases up to the absolute value of the total control input S5 when the second feedback control input S3 is zero.

[0061] Next, the effect of increasing the absolute value of the total manipulated variable S5 when the switching condition is satisfied will be described.

[0062] 3 shows an example of position control when the function of the feedback control unit 4 is disabled in the control system 1 of this embodiment (i.e., when the second feedback operation amount S3 is always set to zero). When the function of the feedback control unit 4 is disabled, the function of the correction unit 6 is also substantially disabled. The control amount S11 represents the position of the load L1 as a result of the control of the motor M1. The command signal S12 is a signal representing a value obtained by converting the target position of the motor M1 input to the control system 1 into the position of the load L1.

[0063] 3, the absolute values ​​of the control amount S11 and the command signal S12 increase from zero when the time is between about 0.1 and 0.3 seconds (the dashed line in FIG. 3), etc. Then, a difference occurs between the control amount S11 and the command signal S12 when the time is between about 0.15 and 0.3 seconds, etc.

[0064] FIG. 4 shows an example of position control when the function of the correction unit 6 is disabled in the control system 1 of this embodiment (i.e., when the second feedback manipulated variable S3 is always directly input to the calculation unit 71). The example of FIG. 4 differs from the example of FIG. 3 in that the function of the feedback control unit 4 is enabled. As a result of the feedback control performed by the feedback control unit 4, the difference between the controlled variable S11 and the command signal S12 is almost zero when the time is approximately 0.2 to 0.3 seconds (the dashed-dotted line portion of FIG. 4 ). However, when the time is approximately 0.1 to 0.15 seconds, the controlled variable S11 lags behind the command signal S12. In other words, the response speed of the position control of the motor M1 and the load L1 deteriorates.

[0065] The reason for the deterioration of the response speed in Figure 4 can be explained as follows. The control system 1, which is a semi-closed control system, controls the motor M1 by feeding back the control variable of the motor M1 so that the position of the load L1 coincides with the target position. Since the speed of the load L1 increases with a (slight) delay after the speed of the motor M1 increases, if feedforward control and disturbance compensation are appropriate, the speed of the motor M1 (second control variable) exceeds the speed target value by the amount of the delay of the load L1. When the speed of the motor M1 exceeds the speed target value, the feedback control unit 4 applies negative feedback to reduce the speed of the motor M1. In other words, when the load L1 coincides with the target position, even though the position of the load L1 is appropriate, the feedback control unit 4 determines that the speed of the motor M1 (second control variable) is faster than the speed target value, and applies negative feedback.

[0066] 5 shows an example of the relationship between the speed (second control variable S21) of the motor M1 and the target speed value S22 of the motor M1. When the time is about 0.1 seconds, the speed (second control variable S21) of the motor M1 exceeds the target speed value S22 of the motor M1.

[0067] When negative feedback is applied, the sign of the second feedback control input S3 becomes opposite to the rotation direction of the motor M1. In other words, the sign of the second feedback control input S3 differs from the sign of the feedforward control input S1. Therefore, compared to when the function of the feedback control unit 4 is disabled, the absolute value of the total control input S5 becomes smaller by the amount of the second feedback control input S3. This deteriorates the response speed of the position control of the motor M1 and the load L1.

[0068] To solve this problem, the control system 1 of this embodiment is equipped with a correction unit 6. When the sign of the second feedback control input S3 differs from the sign of the feedforward control input S1, the correction unit 6 reduces the absolute value of the second feedback control input S3, thereby increasing the absolute value of the total control input S5. This improves the response speed of the position control of the motor M1 and the load L1.

[0069] Fig. 6 shows an example of position control of the control system 1 of this embodiment. The example of Fig. 6 differs from the example of Fig. 4 in that the function of the correction unit 6 is enabled. In Fig. 6, the difference between the controlled variable S11 and the command signal S12 is almost zero, and the controlled variable S11 follows the command signal S12 well.

[0070] (3) Operation Flow Next, an example of an operation flow up to when the control system 1 outputs the manipulated variable to the plant 2 will be described with reference to FIG.

[0071] First, the control system 1 acquires a target value from an external source (step ST1). The feedforward control unit 3 generates a feedforward manipulated variable S1 based on the target value (step ST2). The feedback control unit 4 generates a second feedback manipulated variable S3 based on the target value and a controlled variable acquired from the motor M1 (step ST3). The disturbance compensator 5 generates a compensation variable S4 based on the target value (step ST4).

[0072] The determination unit 61 of the correction unit 6 determines whether a switching condition is satisfied (step ST5). In this embodiment, the switching condition is that the sign of the feedforward control input S1 and the sign of the second feedback control input S3 are different.

[0073] If the switching condition is satisfied, the corrector 6 performs a correction process (step ST6). In this embodiment, the correction process is a process of reducing the absolute value of the second feedback control input S3 by enabling the low-pass filter 62.

[0074] If the switching condition is not satisfied, the correction unit 6 does not perform the correction process. In other words, in this case, the correction unit 6 disables the low-pass filter 62.

[0075] The calculation unit 71 generates a total manipulated variable S5, which is a sum of the feedforward manipulated variable S1, the second feedback manipulated variable S3, and the compensation variable S4 (step ST7). Note that, if the switching condition is satisfied, the total manipulated variable S5 is generated based on the second feedback manipulated variable S3, the absolute value of which has been reduced by the correction process compared to when the second feedback manipulated variable S3 was initially output from the feedback control unit 4.

[0076] The current control unit 73 generates a current control input S6 based on the combined control input S5 and outputs it to the plant 2 (step ST8). The plant 2 controls the motor M1 based on the current control input S6.

[0077] (Modifications of First Embodiment) Modifications of the first embodiment are listed below. The following modifications may be realized in appropriate combination. The following modifications can also be applied to the second to sixth embodiments described below as appropriate. Hereinafter, the configurations of the above-described embodiments will be referred to as basic examples.

[0078] In the basic example, for example, the dimensions of the signal output from the feedforward control unit 3, the signal output from the feedback control unit 4, and the signal output from the disturbance compensator 5 are the same, and these multiple signals are input to the calculation unit 71. Here, the dimensions of the multiple signals do not have to be the same, and in that case, the control system 1 may have a conversion unit for aligning the dimensions of the multiple signals. Furthermore, the conversion unit may be provided in at least one of the feedforward control unit 3, the feedback control unit 4, and the disturbance compensator 5.

[0079] The disturbance compensator 5 in the basic example is a feedforward disturbance compensator. In this case, because disturbances are quickly compensated for, the position of the motor M1 quickly reaches its target position before the position of the load L1 reaches its target position, which tends to result in a state in which the sign of the feedforward control input S1 and the sign of the second feedback control input S3 differ. However, because the correction unit 6 suppresses feedback control, interruptions to rapid control by feedforward control are prevented.

[0080] However, the disturbance compensator 5 may be a feedback type disturbance compensator that feeds back an estimated or detected disturbance.

[0081] In the basic example, the target values ​​input to the feedforward control unit 3, the feedback control unit 4, and the disturbance compensator 5 are values ​​representing the target position of the motor M1. Alternatively, the target values ​​input to the feedforward control unit 3, the feedback control unit 4, and the disturbance compensator 5 may be values ​​representing the target speed of the motor M1 (speed target values).

[0082] In the basic example, the target value input from outside to the control system 1 is a value representing a target position of the motor M1. Alternatively, the target value input from outside to the control system 1 may be a value representing a target position of the load L1 driven by the motor M1, in which case the target position of the load L1 is converted into a target position of the motor M1 in the control system 1.

[0083] Alternatively, the target value input from outside to the control system 1 may be a value (speed target value) representing a target speed of the motor M1. Also, the target value input from outside to the control system 1 may be a value (speed target value) representing a target speed of the load L1 driven by the motor M1, in which case the target speed of the load L1 is converted into the target speed of the motor M1 in the control system 1.

[0084] The control command unit 7 may output the total operation amount S5 itself as a control command for controlling the motor M1.

[0085] The total manipulated variable S5 is not limited to a manipulated variable related to the drive current supplied to the motor M1 (current manipulated variable), but may be, for example, a manipulated variable related to the torque of the motor M1.

[0086] The execution entity of the control system 1 or the control method of the present disclosure includes a computer system. The computer system is primarily composed of a processor and memory as hardware. At least a portion of the functions of the execution entity of the control system 1 or the control method of the present disclosure are realized by the processor executing a program stored in the memory of the computer system. The program may be pre-recorded in the memory of the computer system, provided via a telecommunications line, or provided in a non-transitory recording medium readable by the computer system, such as a memory card, optical disk, or hard disk drive. The processor of the computer system is composed of one or more electronic circuits including a semiconductor integrated circuit (IC) or a large-scale integrated circuit (LSI). The integrated circuits, such as ICs or LSIs, are referred to by different names depending on the degree of integration, and include integrated circuits called system LSIs, very large-scale integrations (VLSIs), or ultra-large-scale integrations (ULSIs). Furthermore, field programmable gate arrays (FPGAs), which are programmed after the LSI is manufactured, or logic devices capable of reconfiguring the connections within the LSI or the circuit partitions within the LSI, can also be used as processors. The electronic circuits may be integrated into one chip or distributed across multiple chips. The chips may be integrated into one device or distributed across multiple devices. The computer system referred to here includes a microcontroller having one or more processors and one or more memories. Therefore, the microcontroller is also composed of one or more electronic circuits including a semiconductor integrated circuit or a large-scale integrated circuit.

[0087] Furthermore, it is not essential for the control system 1 that multiple functions in the control system 1 are concentrated in one housing, and multiple components of the control system 1 may be distributed across multiple housings. Furthermore, at least some of the functions of the control system 1 may be realized by a server, a cloud (cloud computing), or the like.

[0088] Second Embodiment A control system 1A according to a second embodiment will be described below with reference to Fig. 8. Components similar to those in the first embodiment will be given the same reference numerals and descriptions thereof will be omitted.

[0089] The corrector 6 includes a relay 63 connected in series to the feedback controller 4. More specifically, the corrector 6 includes the relay 63 instead of the low-pass filter 62. The corrector 6 turns off the relay 63 when a switching condition is satisfied. As an example, similar to the first embodiment, the switching condition is that the sign of the feedforward manipulated variable S1 and the sign of the second feedback manipulated variable S3 are different. Furthermore, the determiner 61 of the corrector 6 determines whether the switching condition is satisfied and switches the relay 63 on and off accordingly.

[0090] The relay 63 is provided between the feedback control unit 4 and the calculation unit 71. The relay 63 receives the second feedback manipulated variable S3 output from the feedback control unit 4.

[0091] When the relay 63 is off, the second feedback manipulated variable S3 does not pass through the relay 63 and is not input to the calculation unit 71. In other words, the second feedback manipulated variable S3 input to the calculation unit 71 is zero. In this way, when the switching condition is satisfied, the correction unit 6 increases the absolute value of the total manipulated variable S5 by decreasing (setting to zero) the absolute value of the second feedback manipulated variable S3.

[0092] When the relay 63 is on, the second feedback manipulated variable S3 is input to the calculation unit 71 .

[0093] After the switching condition is satisfied and the correction unit 6 (determination unit 61) turns off the relay 63, when the restoration condition is satisfied, the correction unit 6 (determination unit 61) turns on the relay 63. This allows the feedback control to be resumed, and the tracking of the controlled variable to the target value can be improved.

[0094] As an example, the restoration condition is that a predetermined time has elapsed since the relay 63 was turned off. That is, as an example, the correction unit 6 turns on the relay 63 when a predetermined time has elapsed since the switching condition was satisfied and the relay 63 was turned off.

[0095] (Modifications of Second Embodiment) Modifications of the second embodiment are listed below. The following modifications may be realized in appropriate combination.

[0096] The switching condition may include that the absolute value of the feedforward control input S1 exceeds a first threshold value Th1 (see FIG. 2 ). For example, the switching condition may be that the sign of the feedforward control input S1 and the sign of the second feedback control input S3 are different and the absolute value of the feedforward control input S1 exceeds the first threshold value Th1.

[0097] The switching condition may include a state in which the absolute value of the feedforward control input S1 exceeds the first threshold value Th1 for a predetermined time or more. For example, the switching condition may be a state in which the sign of the feedforward control input S1 and the sign of the second feedback control input S3 are different and the absolute value of the feedforward control input S1 exceeds the first threshold value Th1 for a predetermined time or more. Note that it is preferable that the switching condition be satisfied before the feedforward control input S1 reaches its peak value, which can improve the responsiveness of the feedforward control.

[0098] The restoration condition may include a condition that the sign of the feedforward control input S1 and the sign of the second feedback control input S3 match.

[0099] The restoration condition may include switching of the sign of the feedforward manipulated variable S1.

[0100] The restoration condition may include that the absolute value of the feedforward control input S1 is less than a second threshold value Th2 (see FIG. 2 ). The second threshold value Th2 may be the same as the first threshold value Th1 or may be smaller than the first threshold value Th1.

[0101] Third Embodiment A control system 1B according to a third embodiment will be described below with reference to Fig. 9. Components similar to those in the first embodiment will be denoted by the same reference numerals and description thereof will be omitted.

[0102] In this embodiment, when the switching condition is satisfied, the corrector 6 increases the absolute value of the total manipulated variable S5 by adding the second feedback manipulated variable S3, which has the opposite sign to the feedforward manipulated variable S1. In other words, when the switching condition is satisfied, the second feedback manipulated variable S3 is canceled out. This will be described in more detail below.

[0103] The correction unit 6 includes a switch unit 64 and an adder 65 .

[0104] The second feedback manipulated variable S3 is input to the switch unit 64. When a switching condition is satisfied, the switch unit 64 outputs the second feedback manipulated variable S3 with an inverted sign. When the switching condition is not satisfied, the switch unit 64 outputs a zero signal.

[0105] The adder 65 receives the feedforward manipulated variable S1 from the feedforward control unit 3 and the second feedback manipulated variable S3 with its sign inverted or the zero signal from the switch unit 64. The adder 65 outputs a feedforward signal S7 obtained by adding these two signals together to the calculation unit 71. The calculation unit 71 outputs a combined manipulated variable S5 obtained by adding the feedforward signal S7, the second feedback manipulated variable S3, and the compensation variable S4 together.

[0106] When the switching condition is not satisfied, the feedforward signal S7 coincides with the feedforward manipulated variable S1. Therefore, the total manipulated variable S5 is expressed by the following equation: S5=S1+S3+S4.

[0107] When the switching condition is satisfied, the feedforward signal S7 is expressed by the following equation: S7 = S1 - S3. Therefore, the total manipulated variable S5 is expressed by the following equation: S5 = S7 + S3 + S4 = S1 + S4. In this case, the sign of S3 is different from the sign of S1, so the absolute value of S5 = S1 + S4 is greater than the absolute value of S1 + S3 + S4. In this way, the correction unit 6 increases the absolute value of the total manipulated variable S5 when the switching condition is satisfied. This improves the responsiveness of the feedforward control.

[0108] Fourth Embodiment A control system 1C according to a fourth embodiment will be described below with reference to Fig. 10. Components similar to those in the third embodiment will be given the same reference numerals and descriptions thereof will be omitted.

[0109] The correction unit 6 of this embodiment further includes an amplifier 66. The first feedback manipulated variable S2 output from the position control unit 42 is not only input to the second subtractor 43, but also to the calculation unit 71 via the amplifier 66. Therefore, the multiple manipulated variables added together in the calculation unit 71 include the first feedback manipulated variable S2. By inputting the first feedback manipulated variable S2 to the calculation unit 71 in this manner, the difference between the control variable S11 and the command signal S12 (see FIG. 3 ) can be reduced.

[0110] Amplifier 66 may multiply first feedback manipulated variable S2 by a constant and output the result to calculation unit 71, or may output first feedback manipulated variable S2 to calculation unit 71 without changing its magnitude. Furthermore, a PID controller may be provided between position control unit 42 and calculation unit 71 instead of amplifier 66. That is, first feedback manipulated variable S2 output from position control unit 42 may be input to calculation unit 71 via the PID controller.

[0111] Fifth Embodiment A control system 1D according to a fifth embodiment will be described below with reference to Fig. 11. Components similar to those in the third embodiment will be given the same reference numerals and will not be described again.

[0112] The corrector 6 of this embodiment further includes an adjuster 67. The first feedback manipulated variable S2 output from the position controller 42 is input not only to the second subtractor 43 but also to the adjuster 67. The first feedback manipulated variable S2 is input to the calculator 71 via the adjuster 67 according to conditions. Therefore, the multiple manipulated variables added together by the calculator 71 in this case include the first feedback manipulated variable S2. By inputting the first feedback manipulated variable S2 to the calculator 71 in this way, the difference between the control variable S11 and the command signal S12 (see FIG. 3 ) can be reduced.

[0113] The adjuster 67 includes, for example, a relay electrically connected between the position control unit 42 and the calculation unit 71, and a control circuit that turns the relay on and off depending on conditions. When the relay is off, the first feedback manipulated variable S2 is not input to the calculation unit 71. When the relay is on, the first feedback manipulated variable S2 is input to the calculation unit 71.

[0114] The condition for the adjuster 67 to output the first feedback control input S2 to the calculator 71 includes a condition in which the absolute value of the feedforward control input S1 exceeds a third threshold value for a certain period of time. That is, the adjuster 67 outputs the first feedback control input S2 to the calculator 71 after the absolute value of the feedforward control input S1 exceeds the third threshold value for a certain period of time. The third threshold value may be, for example, the same as the above-mentioned first threshold value Th1.

[0115] Furthermore, the condition for the adjuster 67 to output the first feedback control input S2 to the calculator 71 includes that the sign of the feedforward control input S1 and the sign of the second feedback control input S3 are different.

[0116] The condition under which the adjuster 67 outputs the first feedback manipulated variable S2 to the calculator 71 may match the switching condition.

[0117] After the adjuster 67 starts outputting the first feedback control input S2 to the calculation unit 71, the conditions (hereinafter referred to as the stop conditions) under which the adjuster 67 stops outputting the first feedback control input S2 to the calculation unit 71 may include the sign of the feedforward control input S1 and the sign of the second feedback control input S3 being the same.

[0118] The stop condition may include the sign of the feedforward manipulated variable S1 being switched.

[0119] The stop condition may include the absolute value of the feedforward manipulated variable S1 being less than a fourth threshold value. The fourth threshold value may be the same as the third threshold value or may be smaller than the third threshold value. The fourth threshold value may be, for example, the same as the second threshold value Th2 described above.

[0120] The stopping condition may be that the switching condition is not met.

[0121] (Modification of the Fifth Embodiment) Next, a description will be given of a modification of the fifth embodiment. The configuration of a control system 1D of this modification is the same as that of the fifth embodiment.

[0122] The adjuster 67 reduces the absolute value of the first feedback manipulated variable S2 and outputs the reduced value to the calculation unit 71. For example, the adjuster 67 includes the above-mentioned relay and control circuit, and an amplifier for reducing the absolute value of the first feedback manipulated variable S2.

[0123] The adjuster 67 gradually increases the absolute value of the first feedback manipulation input S2 to its original value over time after starting to output the first feedback manipulation input S2 to the calculation unit 71. For example, the adjuster 67 may linearly increase the absolute value of the first feedback manipulation input S2 in response to elapsed time. Alternatively, the adjuster 67 may increase the absolute value of the first feedback manipulation input S2 by a fixed amount at regular intervals.

[0124] When the relay switches from off to on and the regulator 67 begins outputting the first feedback control input S2 to the calculator 71, the total control input S5 changes by the magnitude of the first feedback control input S2. If the absolute value of the first feedback control input S2 is large when the regulator 67 begins outputting the first feedback control input S2 to the calculator 71, the total control input S5 may change abruptly, potentially causing the control input of the motor M1 to change oscillatorily. In contrast, in this modification, the absolute value of the first feedback control input S2 is kept small when the regulator 67 initially begins outputting the first feedback control input S2 to the calculator 71, and then the absolute value of the first feedback control input S2 is gradually increased. This reduces the possibility of the control input of the motor M1 changing oscillatorily. In other words, the motor M1 can be stably controlled.

[0125] Sixth Embodiment A control system 1E according to a sixth embodiment will be described below with reference to Fig. 12. The same components as those in the third embodiment will be denoted by the same reference numerals and will not be described again.

[0126] The control system 1E further includes an estimating unit 8. The estimating unit 8 estimates a control amount of the load L1. The estimating unit 8 outputs the estimated control amount (hereinafter referred to as an estimated control amount e1) to the correcting unit 6.

[0127] Here, the case where the estimator 8 is a position estimator that estimates the position of the load L1 will be described as an example. That is, the estimated control amount e1 is a control amount that represents the position of the load L1.

[0128] As described in the first embodiment, etc., when the switching condition is satisfied, the corrector 6 increases the absolute value of the total manipulated variable S5. In this embodiment, the switching condition includes a condition regarding the estimated controlled variable e1.

[0129] More specifically, the switching condition includes a condition in which the difference between the position of the load L1 estimated by the estimation unit 8 (position estimation unit) and the target value (target position) is outside a predetermined range. The predetermined range is, for example, a range that includes zero. The predetermined range is, for example, a range between −X and Y, where X and Y are positive numbers. In other words, when the difference between the position of the load L1 estimated by the estimation unit 8 (position estimation unit) and the target value (target position) is outside the predetermined range, it means that the position of the load L1 estimated by the estimation unit 8 is relatively far from the target value (target position).

[0130] In this embodiment, the switching condition is satisfied until the position of the load L1 estimated by the estimator 8 approaches the target value (target position), and the influence of the feedback control is suppressed. Therefore, the responsiveness of the position control by the feedforward control can be improved. In other words, the feedforward control can be prevented from being hindered by the feedback control.

[0131] The estimation unit 8 can estimate the position of the load L1 based on, for example, the speed of the motor M1 detected by the detection unit 22 and the current manipulation amount S6 output from the current control unit 73.

[0132] In this embodiment, an example has been described in which the estimation unit 8 is added to the configuration of the third embodiment, but the estimation unit 8 may be added to the configuration of other embodiments (including modified examples).

[0133] (Modification of Sixth Embodiment) A control system 1F according to a modification of the sixth embodiment will be described below with reference to Fig. 13. The same components as those in the sixth embodiment will be denoted by the same reference numerals and description thereof will be omitted.

[0134] The estimator 8 of this modification is a speed estimator that estimates the speed of the load L1. That is, the estimated control amount e1 estimated by the estimator 8 is a control amount that represents the speed of the load L1.

[0135] The control system 1F further includes a differentiator 9. The differentiator 9 calculates a target speed by time-differentiating the target value (target position). The differentiator 9 outputs the calculated target speed to the estimation unit 8.

[0136] The switching condition includes the difference between the speed of the load L1 estimated by the estimation unit 8 (speed estimation unit) and the target value (target speed) being outside a predetermined range. The predetermined range is, for example, a range that includes zero. The predetermined range is, for example, a range between −X and Y, where X and Y are positive numbers.

[0137] In this modification, the switching condition is satisfied and the influence of feedback control is suppressed until the speed of the load L1 estimated by the estimator 8 approaches the target value (target speed). Therefore, the responsiveness of position control by feedforward control can be improved. In other words, it is possible to suppress the feedforward control from being hindered by the feedback control.

[0138] The estimation unit 8 can estimate the speed of the load L1 based on, for example, the speed of the motor M1 detected by the detection unit 22 and the current manipulation amount S6 output from the current control unit 73.

[0139] In this modification, an example has been described in which the estimation unit 8 is added to the configuration of the third embodiment, but the estimation unit 8 may be added to the configuration of other embodiments (including modifications).

[0140] (Summary) The above-described embodiments and the like disclose the following aspects.

[0141] A control system (1; 1A to 1F) according to a first aspect controls a motor (M1) using semi-closed loop control. The control system (1; 1A to 1F) includes a feedforward control unit (3), a feedback control unit (4), a control command unit (7), and a correction unit (6). The feedforward control unit (3) generates a feedforward manipulated variable (S1) based on a target value. The feedback control unit (4) generates a feedback manipulated variable (S3) based on a difference between the target value and a control variable of the motor (M1). The control command unit (7) includes a calculation unit (71). The calculation unit (71) generates a combined manipulated variable (S5) by combining multiple manipulated variables including the feedforward manipulated variable (S1) and the feedback manipulated variable (S3). The control command unit (7) outputs a control command (current manipulated variable S6) for controlling the motor (M1) based on the combined manipulated variable (S5). The correction unit (6) increases the absolute value of the combined manipulated variable (S5) when a switching condition is satisfied, including the condition that the sign of the feedforward manipulated variable (S1) and the sign of the feedback manipulated variable (S3) are different.

[0142] According to the above configuration, the calculation unit (71) generates a combined manipulated variable (S5) by adding up the feedforward manipulated variable (S1) and the feedback manipulated variable (S3). When the sign of the feedforward manipulated variable (S1) differs from the sign of the feedback manipulated variable (S3), the absolute value of the combined manipulated variable (S5) is smaller than when there is no feedback manipulated variable (S3) (it is zero). In other words, the feedforward control is inhibited by the feedback control. However, when the switching condition is satisfied, the correction unit (6) increases (corrects) the absolute value of the combined manipulated variable (S5), thereby preventing the feedforward control from being inhibited by the feedback control. This improves the responsiveness of the feedforward control.

[0143] In the control system (1; 1A) according to the second aspect, in the first aspect, when the switching condition is satisfied, the correction unit (6) increases the absolute value of the combined operation amount (S5) by decreasing the absolute value of the feedback operation amount (S3).

[0144] According to the above configuration, the responsiveness of the feedforward control can be improved.

[0145] In the control system (1B to 1F) according to the third aspect, in the first aspect, when the switching condition is satisfied, the correction unit (6) increases the absolute value of the combined operation amount (S5) by adding the feedback operation amount (S3) with the sign inverted to the feedforward operation amount (S1).

[0146] According to the above configuration, the responsiveness of the feedforward control can be improved.

[0147] In the control system (1) according to the fourth aspect, in the second aspect, the correction unit (6) includes a low-pass filter (62) connected in series to the feedback control unit (4). When a switching condition is satisfied, the correction unit (6) enables the low-pass filter (62).

[0148] According to the above configuration, the absolute value of the feedback manipulated variable (S3) can be reduced by delaying the change in the feedback manipulated variable (S3) using the low-pass filter (62).

[0149] In the control system (1A) according to the fifth aspect, in the second aspect, the correction unit (6) includes a relay (63) connected in series to the feedback control unit (4). When a switching condition is satisfied, the correction unit (6) turns off the relay (63).

[0150] According to the above configuration, the feedback manipulated variable (S3) can be set to zero by turning off the relay (63).

[0151] In addition, in the control system (1A) according to the sixth aspect, in the fifth aspect, the correction unit (6) turns on the relay (63) when a predetermined time has elapsed since the switching condition was satisfied and the relay (63) was turned off.

[0152] According to the above configuration, by restarting the feedback control when the predetermined time has elapsed, it is possible to improve the ability of the controlled variable to follow the target value.

[0153] In a control system (1C; 1D) according to a seventh aspect, in the third aspect, the feedback control unit (4) has a first control unit (position control unit 42) and a second control unit (speed control unit 44). The first control unit generates a first feedback manipulated variable (S2) based on the difference between a target value and a control amount of the motor (M1). The second control unit generates a feedback manipulated variable (S3) based on the difference between the first feedback manipulated variable (S2) and a second control amount of the motor (M1). The multiple manipulated variables include the first feedback manipulated variable (S2).

[0154] According to the above configuration, by continuing the feedback control partially even when the switching condition is satisfied, it is possible to improve the ability of the controlled variable to follow the target value.

[0155] In a control system (1D) according to an eighth aspect, in the seventh aspect, the correction unit (6) further includes an adjuster (67). The adjuster (67) outputs a first feedback manipulated variable (S2) to the calculation unit (71) after the absolute value of the feedforward manipulated variable (S1) has exceeded a threshold value for a certain period of time.

[0156] According to the above configuration, it is possible to prevent the absolute value of the total manipulated variable (S5) from increasing suddenly.

[0157] In a control system (1D) according to a ninth aspect, in the eighth aspect, the adjuster (67) reduces the absolute value of the first feedback manipulated variable (S2) and outputs it to the calculation unit (71). The adjuster (67) gradually increases the absolute value of the first feedback manipulated variable (S2) to its original value over time after starting to output the first feedback manipulated variable (S2) to the calculation unit (71).

[0158] According to the above configuration, it is possible to further prevent the absolute value of the total manipulated variable (S5) from increasing suddenly.

[0159] In addition, in a control system (1; 1A to 1F) according to a tenth aspect, in any one of the first to ninth aspects, the target value is a value representing a target position of the motor (M1).

[0160] According to the above configuration, the responsiveness of position control by feedforward control can be improved.

[0161] In addition, in a control system (1; 1A to 1F) according to an eleventh aspect, in any one of the first to ninth aspects, the target value is a value representing a target speed of the motor (M1).

[0162] According to the above configuration, the responsiveness of the speed control by the feedforward control can be improved.

[0163] The control system (1E) according to a twelfth aspect is the tenth aspect, further comprising a position estimation unit (estimation unit 8) that estimates a position of a load (L1) driven by the motor (M1). The switching condition includes a condition in which a difference between the position of the load (L1) estimated by the position estimation unit and a target value is outside a predetermined range.

[0164] According to the above configuration, the influence of the feedback control is suppressed until the position of the load (L1) estimated by the position estimator approaches the target value, thereby improving the responsiveness of the position control by the feedforward control.

[0165] The control system (1F) according to a thirteenth aspect is the tenth aspect, further comprising a differentiator (9) that calculates a target speed by time-differentiating a target value, and a speed estimation unit (estimation unit 8) that estimates the speed of a load (L1) driven by the motor (M1). The switching conditions include a difference between the speed of the load (L1) estimated by the speed estimation unit and the target speed being outside a predetermined range.

[0166] According to the above configuration, the influence of the feedback control is suppressed until the speed of the load (L1) estimated by the speed estimator approaches the target speed, thereby improving the responsiveness of the speed control by the feedforward control.

[0167] In addition, the control system (1; 1A to 1F) according to a fourteenth aspect is any one of the first to thirteenth aspects, and further includes a disturbance compensator (5) that compensates for the influence of disturbances on the control of the motor (M1).

[0168] According to the above configuration, it is possible to achieve both disturbance compensation and improved responsiveness through feedforward control.

[0169] In addition, in a control system (1; 1A to 1F) according to a fifteenth aspect, in the fourteenth aspect, the disturbance compensator (5) is a feedforward disturbance compensator.

[0170] According to the above configuration, it is possible to quickly perform disturbance compensation and improve the responsiveness of the feedforward control.

[0171] In addition, in a control system (1; 1A to 1F) according to a 16th aspect, in any one of the 1st to 15th aspects, the feedforward control unit (3) has a current feedforward unit (31) that generates a feedforward operation amount (S1) representing a current of the motor (M1) based on a target value.

[0172] According to the above configuration, the responsiveness of the feedforward control can be improved.

[0173] In addition, in a control system (1; 1A to 1F) according to a seventeenth aspect, in any one of the first to sixteenth aspects, the feedback control unit (4) has a position control unit (42) and a speed control unit (44). The position control unit (42) generates a speed command value (first feedback manipulated variable S2) based on the difference between a target value and a control amount of the position of the motor (M1). The speed control unit (44) generates a feedback manipulated variable (S3) based on the difference between the speed command value and a control amount of the speed of the motor (M1).

[0174] According to the above configuration, the responsiveness of the feedforward control can be improved.

[0175] The configurations other than the first aspect are not essential for the control system (1; 1A to 1F) and can be omitted as appropriate.

[0176] A control method according to an eighteenth aspect controls a motor (M1) using semi-closed loop control. The control method includes a feedforward control step, a feedback control step, a control command step, and a correction step. In the feedforward control step, a feedforward manipulated variable (S1) is generated based on a target value. In the feedback control step, a feedback manipulated variable (S3) is generated based on the difference between the target value and the control variable of the motor (M1). In the control command step, a combined manipulated variable (S5) is generated by combining multiple manipulated variables including the feedforward manipulated variable (S1) and the feedback manipulated variable (S3), and a control command (current manipulated variable S6) for controlling the motor (M1) is output based on the combined manipulated variable (S5). In the correction step, when a switching condition is satisfied, the absolute value of the combined manipulated variable (S5) is increased. The switching condition includes that the sign of the feedforward manipulated variable (S1) and the sign of the feedback manipulated variable (S3) are different.

[0177] According to the above configuration, the responsiveness of the feedforward control can be improved.

[0178] Furthermore, a program according to a nineteenth aspect is a program readable by a computer system, and is a program for causing one or more processors of the computer system to execute the control method according to the eighteenth aspect.

[0179] According to the above configuration, the responsiveness of the feedforward control can be improved.

[0180] Not limited to the above aspects, various configurations (including modified examples) of the control system (1; 1A to 1F) according to the embodiment can be embodied as a control method, a (computer) program, or a non-transitory recording medium on which a program is recorded.

[0181] 1; 1A to 1F Control system 3 Feedforward control section 4 Feedback control section 5 Disturbance compensator 6 Correction section 7 Control command section 8 Estimation section (position estimation section, speed estimation section) 9 Differentiator 31 Current feedforward section 42 Position control section (first control section) 44 Speed ​​control section (second control section) 62 Low-pass filter 63 Relay 67 Adjuster 71 Calculation section L1 Load M1 Motor S1 Feedforward manipulated variable S2 First feedback manipulated variable (speed command value) S3 Feedback manipulated variable (second feedback manipulated variable) S5 Combined manipulated variable S6 Current manipulated variable (control command)

Claims

1. A control system for controlling a motor using semi-closed control, comprising: a feedforward control unit that generates a feedforward manipulated variable based on a target value; a feedback control unit that generates a feedback manipulated variable based on the difference between the target value and the control variable of the motor; a control command unit that includes a calculation unit that generates a combined manipulated variable by combining multiple manipulated variables including the feedforward manipulated variable and the feedback manipulated variable, and that outputs a control command for controlling the motor based on the combined manipulated variable; and a correction unit that increases the absolute value of the combined manipulated variable when a switching condition is satisfied, including the sign of the feedforward manipulated variable and the sign of the feedback manipulated variable being different.

2. The control system according to claim 1, wherein the correction unit increases the absolute value of the total manipulated variable by decreasing the absolute value of the feedback manipulated variable when the switching condition is satisfied.

3. The control system according to claim 1, wherein when the switching condition is satisfied, the correction unit increases the absolute value of the combined manipulated variable by adding the feedback manipulated variable with the sign inverted to the feedforward manipulated variable.

4. The control system according to claim 2, wherein the correction unit includes a low-pass filter connected in series to the feedback control unit, and the correction unit enables the low-pass filter when the switching condition is satisfied.

5. The control system according to claim 2, wherein the correction unit includes a relay connected in series to the feedback control unit, and the correction unit turns off the relay when the switching condition is satisfied.

6. The control system according to claim 5, wherein the correction unit turns on the relay when a predetermined time has elapsed since the switching condition was satisfied and the relay was turned off.

7. The control system according to claim 3, wherein the feedback control unit includes: a first control unit that generates a first feedback operation amount based on the difference between the target value and the control amount of the motor; and a second control unit that generates the feedback operation amount based on the difference between the first feedback operation amount and a second control amount of the motor, and the plurality of operation amounts includes the first feedback operation amount.

8. The control system according to claim 7, wherein the correction unit further comprises an adjuster that outputs the first feedback manipulated variable to the calculation unit after the absolute value of the feedforward manipulated variable has exceeded a threshold value for a certain period of time.

9. The control system according to claim 8, wherein the adjuster reduces the absolute value of the first feedback manipulated variable and outputs it to the calculation unit, and the adjuster gradually increases the absolute value of the first feedback manipulated variable to its original value as time passes after starting to output the first feedback manipulated variable to the calculation unit.

10. A control system according to any one of claims 1 to 9, wherein the target value is a value representing a target position of the motor.

11. A control system according to any one of claims 1 to 9, wherein the target value is a value representing a target speed of the motor.

12. The control system according to claim 10, further comprising a position estimation unit that estimates the position of a load driven by the motor, and the switching condition includes a difference between the position of the load estimated by the position estimation unit and the target value being outside a predetermined range.

13. The control system according to claim 10, further comprising: a differentiator that calculates a target speed by time-differentiating the target value; and a speed estimation unit that estimates the speed of a load driven by the motor, wherein the switching condition includes a difference between the speed of the load estimated by the speed estimation unit and the target speed being outside a predetermined range.

14. The control system according to any one of claims 1 to 13, further comprising a disturbance compensator that compensates for the influence of disturbances on the control of the motor.

15. The control system according to claim 14, wherein the disturbance compensator is a feedforward disturbance compensator.

16. A control system according to any one of claims 1 to 15, wherein the feedforward control unit has a current feedforward unit that generates the feedforward manipulated variable representing the current of the motor based on the target value.

17. A control system according to any one of claims 1 to 16, wherein the feedback control section comprises: a position control section that generates a speed command value based on the difference between the target value and the control amount of the position of the motor; and a speed control section that generates the feedback manipulated variable based on the difference between the speed command value and the control amount of the speed of the motor.

18. A control method for controlling a motor by semi-closed control, comprising: a feedforward control step of generating a feedforward manipulated variable based on a target value; a feedback control step of generating a feedback manipulated variable based on the difference between the target value and the control variable of the motor; a control command step of generating a combined manipulated variable by combining multiple manipulated variables including the feedforward manipulated variable and the feedback manipulated variable, and outputting a control command for controlling the motor based on the combined manipulated variable; and a correction step of increasing the absolute value of the combined manipulated variable when a switching condition is satisfied, including the sign of the feedforward manipulated variable and the sign of the feedback manipulated variable being different.

19. A program readable by a computer system, causing one or more processors of said computer system to execute the control method according to claim 18.

Citation Information

Patent Citations

  • Drive control device

    JP2007094952A

  • Door opening / closing assist device

    JP2008196283A

  • Device for controlling electric motor

    WO2019138825A1