Control system, control method, and control program

The control system addresses friction compensation issues by employing a feedforward control unit to calculate continuous values, ensuring smooth operation and reducing vibrations in motor control systems.

JP7733115B2Active Publication Date: 2025-09-02YASKAWA DENKI KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023539397
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-02
Publication Date
2025-09-02
Estimated Expiration
2041-08-02

AI Technical Summary

Technical Problem

Existing motor control systems struggle to provide appropriate compensation for friction, leading to sudden changes in torque commands that cause unintended phenomena such as vibrations in the controlled object.

Method used

A control system that includes a feedforward control unit to calculate a continuous feedforward compensation value based on a control object model, generating a command that compensates for friction, thereby ensuring smooth operation and reducing vibrations.

Benefits of technology

The system provides a command with appropriate friction compensation, suppressing sudden changes and enhancing the responsiveness and stability of the controlled object by using continuous feedforward compensation values.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007733115000023
    Figure 0007733115000023
  • Figure 0007733115000024
    Figure 0007733115000024
  • Figure 0007733115000025
    Figure 0007733115000025
Patent Text Reader

Abstract

A control system according to one embodiment comprises: a feed-forward control unit that, on the basis of a control object model representing the relationship between an operation of a control object and the friction that acts on the operation of the control object, calculates, as a feed-forward compensation value, a continuous value for compensating for the friction; a command generation unit that generates a command that is based on the calculated feed-forward compensation value; and a command unit that outputs the command generated to operate the control object.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One aspect of the present disclosure relates to a control system, a control method, and a control program. [Background technology]

[0002] Patent Document 1 describes a motor control device that controls a motor that drives a controlled object. The motor control device includes a speed feedback control means that generates a pre-correction torque command for controlling the actual speed of the controlled object to follow an input speed command, an inverse model calculation means that calculates coefficients of an inverse model of a transfer function of the controlled object using the speed command and the pre-correction torque command, a torque correction value generation means that generates a torque correction value using the speed command and the coefficients of the inverse model, and a torque command generation means that generates a torque command for the motor that drives the controlled object using the pre-correction torque command and the torque correction value. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-15844 Summary of the Invention [Problem to be solved by the invention]

[0004] What is needed is a mechanism for providing a command to a controlled object that is appropriately compensated for friction. [Means for solving the problem]

[0005] A control system according to one aspect of the present disclosure includes a feedforward control unit that calculates a continuous value for compensating for friction as a feedforward compensation value based on a control object model that indicates the relationship between the operation of the control object and friction acting on the control object, a command generation unit that generates a command based on the calculated feedforward compensation value, and a command unit that outputs the generated command to operate the control object.

[0006] A control method according to one aspect of the present disclosure is a control method executed by a control system having at least one processor, and includes the steps of: calculating a continuous value for compensating for friction as a feedforward compensation value based on a control object model showing the relationship between the operation of the control object and friction acting on the control object; generating a command based on the calculated feedforward compensation value; and outputting the generated command for operating the control object.

[0007] A control program according to one aspect of the present disclosure causes a computer to perform the steps of: calculating a continuous value for compensating for friction as a feedforward compensation value based on a control object model that indicates the relationship between the operation of the control object and friction acting on the control object; generating a command based on the calculated feedforward compensation value; and outputting the generated command for operating the control object. [Effects of the Invention]

[0008] According to one aspect of the present disclosure, a command in which friction is appropriately compensated can be provided to a controlled object. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating an example of an application of a control system. [Figure 2] FIG. 1 is a block diagram showing an example of an application of a control system. [Figure 3] FIG. 2 is a diagram illustrating an example of a hardware configuration of a computer used for the control system. [Figure 4] FIG. 10 is a diagram for explaining friction compensation. [Figure 5] FIG. 2 is a diagram illustrating an example of a control target model. [Figure 6] FIG. 2 is a diagram illustrating an example of a control target model. [Figure 7] 10 is a flowchart illustrating an example of processing in the control system. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and redundant description will be omitted.

[0011] [System Configuration] FIG. 1 is a diagram showing an example of an application of a control system according to the present disclosure. In this embodiment, the control system according to the present disclosure is applied to a motor control device 1. In one example, the motor control device 1 is connected to a controller 2 via a communication network and is electrically connected to a control target 9. The communication network connecting the devices may be a wired network or a wireless network. The communication network may be configured to include at least one of the Internet and an intranet. Alternatively, the communication network may be simply implemented by a single communication cable. While FIG. 1 shows a configuration in which one control target 9 is connected to one motor control device 1, the motor control device 1 may be connected to multiple control targets 9.

[0012] The motor control device 1 is a device for causing the output of a motor 91 of a controlled object 9 to follow a command signal from a controller 2. Based on the command signal, the motor control device 1 generates power for driving the motor 91 and supplies the power to the motor 91. This supplied power corresponds to a driving force command such as a torque command or a current command. The motor control device 1 may be, for example, an inverter or a servo amplifier.

[0013] The controller 2 is a device that outputs a command signal for operating the controlled object 9 to the motor control device 1. Examples of the command signal include a position command and a speed command.

[0014] The controlled object 9 is a device that receives power, performs a predetermined operation according to a purpose, and performs useful work. The controlled object 9 can also be called a machine. For example, the controlled object 9 can be an industrial machine, a machine tool, or a robot. In one example, the controlled object 9 includes a motor 91, a driven object 92, and a sensor 93.

[0015] The motor 91 is a device that generates power for driving a driven object 92 that processes a workpiece in response to power supplied from the motor control device 1. The motor 91 may be a rotary motor that rotates the driven object 92, or a linear motor that displaces the driven object 92 along a straight line. The motor 91 may be a synchronous motor or an induction motor. The motor 91 may be a permanent magnet synchronous motor such as an SPM (Surface Permanent Magnet) motor or an IPM (Interior Permanent Magnet) motor. The motor 91 may be a synchronous motor without a permanent magnet, such as a synchronous reluctance motor. The motor 91 may be a DC motor or an AC motor.

[0016] The sensor 93 is a device that detects the response of the controlled object 9, which operates using power from the motor control device 1. The response refers to the output of the controlled object 9 in response to a command, which is an instruction to control the controlled object 9. For example, the response indicates information regarding at least one of the operation and state of the controlled object 9. The response may indicate information regarding at least one of the operation and state of the motor 91, such as at least one of the shaft speed and magnetic pole position of the motor 91. The response may indicate information regarding at least one of the operation and state of the driven object 92, such as at least one of the position and speed of the driven object 92. If the motor 91 is a rotary type, the angle of rotation of the driven object 92 by the motor 91 corresponds to the "position," and the rotation speed of the driven object 92 by the motor 91 corresponds to the "speed." In one example, the sensor 93 is a rotary encoder that outputs a pulse signal with a frequency proportional to the operating speed of the driven object 92. The rotary encoder can acquire both the position and speed of the driven object 92. The sensor 93 transmits a response signal indicating the response to the motor control device 1. The response may be the value obtained by the sensor 93 itself, or may be represented by a value calculated or processed by a given operation or algorithm.

[0017] FIG. 1 also shows an example of the functional configuration of the motor control device 1. In one example, the motor control device 1 includes functional components such as a feedback control unit 11, a feedforward control unit 12, a command generation unit 13, and a command unit 14. The feedback control unit 11 is a functional module that calculates a feedback command value through feedback control based on a response from the controlled object 9. The feedforward control unit 12 is a functional module that calculates a feedforward compensation value through feedforward control to compensate for friction acting on the controlled object 9. In this disclosure, friction is a physical phenomenon that occurs as resistance to the operation of the controlled object 9 and is a type of disturbance. The command generation unit 13 is a functional module that generates a command (driving force command) for operating the controlled object 9 based on the feedback command value and the feedforward compensation value. The command unit 14 is a functional module that outputs the generated command to the controlled object 9. The motor control device 1, which includes the feedback control unit 11 and the feedforward control unit 12, is an example of a two-degree-of-freedom control system.

[0018] FIG. 2 is a block diagram showing an example of a motor control device 1 (control system). fb is the transfer function of the feedback control section 11, and K ff is the transfer function of the feedforward control unit 12, and P(s) is the transfer function of the controlled object 9. ref is a command input from the controller 2, for example, a position command. x is the control amount of the controlled object 9. τ fb is a feedback command value from the feedback control unit 11, and relates to, for example, a torque command. ff is a feedforward compensation value from the feedforward control unit 12, for example, related to a torque command. ref is a command output to the controlled object 9, for example, a final torque command. fri is the friction acting on the controlled object 9, for example, friction torque.

[0019] 3 is a diagram showing an example of the hardware configuration of a computer 100 used for the motor control device 1. In this example, the computer 100 includes a main body 110, a monitor 120, and an input device .

[0020] The main body 110 is a device having a circuit 160. The circuit 160 has at least one processor 161, a memory 162, a storage 163, an input / output port 164, and a communication port 165. The storage 163 stores programs for configuring each functional module of the main body 110. The storage 163 is a computer-readable recording medium such as a hard disk, a non-volatile semiconductor memory, a magnetic disk, or an optical disk. The memory 162 temporarily stores programs loaded from the storage 163, calculation results of the processor 161, and the like. The processor 161 configures each functional module by executing programs in cooperation with the memory 162. The input / output port 164 inputs and outputs electrical signals to and from the monitor 120 or the input device 130 in response to instructions from the processor 161. The input / output port 164 may also input and output electrical signals to and from other devices. The communication port 165 performs data communication with other devices via a communication network N in response to instructions from the processor 161.

[0021] The monitor 120 is a device for displaying information output from the main body 110. An example of the monitor 120 is a liquid crystal panel.

[0022] The input device 130 is a device for inputting information to the main body 110. Examples of the input device 130 include operation interfaces such as switches and operation keys.

[0023] The monitor 120 and the input device 130 may be integrated as a touch panel.

[0024] [Friction compensation] Feedforward control unit 12 calculates a continuous value as a feedforward compensation value for compensating for friction acting on controlled object 9. Friction acting on controlled object 9 occurs when controlled object 9 is operated by motor control device 1. Friction is mixed into the command (i.e., the manipulated variable) from the outside and affects the operation of the controlled object (i.e., the controlled variable). Feedforward control unit 12 calculates a feedforward compensation value for compensating for the friction. Motor control device 1 outputs a command that reflects this feedforward compensation value, allowing controlled object 9 to perform an operation that satisfies the target value.

[0025] In one example, the feedforward control unit 12 compensates for friction torque acting on the controlled object 9 due to operation of the motor 91. Because the speed of the motor 91 may reverse (in other words, the rotation direction of the motor 91 may change), the feedforward control unit 12 may calculate a feedforward compensation value corresponding to the speed reversal.

[0026] 4 is a diagram illustrating friction compensation. Waveform 210 shows an example of friction compensation using a conventional method. Waveform 220 shows an example of friction compensation setting using feedforward control unit 12. In both graphs, the horizontal axis represents elapsed time, and the vertical axis represents the friction compensation value.

[0027] The feedforward compensation model (feedforward controller) according to the conventional method is expressed by equation (1).

number

[0028] As shown in the pulse-like waveform 210, in the conventional method, the friction compensation value changes discontinuously in a pulse-like manner as the speed of the motor 91 is reversed. This discontinuous friction compensation value is reflected in the feedforward compensation value, and the discontinuous change in the feedforward compensation value causes a sudden change in the torque command. This can result in unintended phenomena such as vibrations in the controlled object 9.

[0029] On the other hand, the feedforward compensation model (feedforward controller) applied to the feedforward control unit 12 is expressed by equation (2).

number

[0030] The feedforward control unit 12 calculates the feedforward compensation value based on a controlled object model that indicates the relationship between the motion of the controlled object 9 and the friction acting on the controlled object 9. In the present disclosure, this relationship is also referred to as a "motion-friction relationship." In one example, the motion of the controlled object 9 relates to the rotation of a motor 91 that operates the controlled object 9. Considering that the speed of the motor 91 may be reversed, the controlled object model may indicate the motion-friction relationship when the speed of the motor 91 is reversed. Furthermore, the controlled object model may indicate the motion-friction relationship for each of the positive and negative directions of the motor 91.

[0031] An example of a command compensated by a feedforward compensation value is the torque command τ ref Calculation of the feedforward compensation value based on the controlled plant model will be explained while showing the above.

[0032] As shown in Figure 2, the torque command τ ref is the torque command τ output from the feedback control unit 11. fb and the torque command τ output from the feedforward control unit 12. ff This generation is expressed by, for example, equation (3). That is, in one example, the torque command τ ref is the torque command τ fb Torque command τ ff is obtained by adding

number

[0033] Torque command τ, which is the feedforward compensation value ff is expressed as in equation (4).

number

[0034] Figure 5 shows the friction compensation value τ^ comp In this example, the rotation amount x of the motor 91 from the time when the speed of the motor 91 is reversed is calculated. r is shown as the motion of the controlled object 9, and the friction torque τ fri The rotation amount of the motor 91 may be represented by a rotation angle or a moving distance in the circumferential direction.

[0035] FIG. 5 shows the relationship between the rotation amount of the motor 91 and the actual friction torque τ fri The graph shows the friction model 310 that represents the relationship between the change in friction torque τ fri The horizontal axis represents the amount of rotation x r Arrow 311 indicates the transition of friction torque when motor 91 rotates in the positive direction, and arrow 312 indicates the transition of friction torque when motor 91 rotates in the negative direction. Points 313 and 314 both indicate that the speed of motor 91 is reversed. As shown in friction model 310, friction has nonlinear characteristics and saturates at a specific value after motor 91 has rotated sufficiently after the speed reversal.

[0036] 5 also graphically illustrates a controlled object model 320 that approximates the friction model 310. The vertical axis represents the estimated friction torque τ^ fri The horizontal axis represents the amount of rotation x r The controlled object model 320 includes a plurality of continuous functions 321 to 326 that indicate the motion-friction relationship. These continuous functions 321 to 326 are expressed as f in equation (2). cont (x). In one example, the multiple continuous functions 321-326 may be set based on a mass-spring-damper system that represents friction (friction torque in this example) as a spring. In the mass-spring-damper system, friction may be represented as multiple springs by a rheological model. In this case, the continuous functions 321-326 are set based on the mass-spring-damper system that includes the rheological model.

[0037] The multiple continuous functions 321 to 326 are connected in this order (the continuous functions 323 and 324 are connected at point 314, and the continuous functions 326 and 321 are connected at point 313). Therefore, the estimated friction torque τ^ approximated by the controlled object model 320 is fri is a continuous value, and the estimated friction torque τ^ fri The friction compensation value τ^ that compensates for comp is also a continuous value.

[0038] The continuous functions 321 to 323 approximate the motion-friction relationship when the motor 91 rotates in the forward direction. r corresponds to the section where the rotation amount x is equal to or greater than 0 and less than X2, and in this section the estimated friction torque changes linearly from T1 to -T2. Therefore, the section of the continuous function 321 is a non-steady section where the friction changes according to the change in the rotation amount. The continuous function 322 r corresponds to the section where the rotation amount x is equal to or larger than X2 and smaller than X1, and in this section the estimated friction torque changes linearly from -T2 to -T1. Therefore, the section of the continuous function 322 is also an unsteady section. r corresponds to the section where is equal to or greater than X1, and in this section the estimated friction torque saturates at -T1. Therefore, the section of the continuous function 323 is a steady section where the friction is constant regardless of changes in the amount of rotation.

[0039] The continuous functions 324 to 326 approximate the motion-friction relationship when the motor 91 rotates in the negative direction. r corresponds to the section where the rotation amount x is equal to or greater than 0 and less than X2, and in this section the estimated friction torque changes linearly from -T1 to T2. Therefore, the section of the continuous function 324 is a non-steady section. The continuous function 325 r corresponds to the section where the rotation amount x is equal to or larger than X2 and smaller than X1, and in this section the estimated friction torque changes linearly from T2 to T1. Therefore, the section of the continuous function 325 is also a non-steady section. r corresponds to the section where is equal to or greater than X1, and in this section the estimated friction torque saturates at T1. Therefore, the section of the continuous function 326 is a steady section.

[0040] Therefore, the multiple continuous functions 321 to 326 are r It corresponds to multiple intervals based on

[0041] The continuous function 321 is a non-constant function expressed by equation (5), where K1 represents the slope, and K1=(T1+T2) / X2.

number

[0042] From equations (4) and (5), the rotation amount x r The feedforward compensation model in the interval where is equal to or greater than 0 and less than X2 is developed as follows: By moving the constant T1, which is treated as an offset value, to the left side, equation (6) is obtained.

number

[0043] directive x ref The derivatives (velocity and acceleration) of r Since the differential values ​​(velocity and acceleration) of

number

[0044] Equation (8) can be obtained by performing the Laplace transform and transformation on equation (7) as follows: Equation (8) represents a feedback compensation model (feedforward controller) that integrates mechanical characteristics, which have linear characteristics, and friction, which has nonlinear characteristics.

number

[0045] The continuous function 322 is a non-constant function expressed by equation (9), where K2 represents the slope, K2=(T1-T2) / (X1-X2).

number

[0046] From equations (4) and (9), the rotation amount x r The feedforward compensation model for the section where is greater than or equal to X2 and less than X1 is developed as follows: Two constants (-T2) and (K2·X2), which are treated as offset values, are moved to the left side, and the command x ref The derivative of the rotation amount x r By substituting the differential value of

number

[0047] Equation (11) can be obtained by performing the Laplace transform and transformation on equation (10) as follows: This equation (11) also represents a feedback compensation model that integrates mechanical characteristics, which have linear characteristics, and friction, which has nonlinear characteristics.

number

[0048] For each of the continuous functions 323 to 326, a corresponding feedback compensation model can be obtained using the same method as for the continuous functions 321 and 322.

[0049] The continuous function 323 is a constant function expressed by equation (12).

number

[0050] The feedback control model corresponding to the continuous function 323 is expressed by equation (13).

number

[0051] The continuous function 324 is a non-constant function represented by equation (14).

number

[0052] The feedback control model corresponding to the continuous function 324 is expressed by equation (15).

number

[0053] The continuous function 325 is a non-constant function represented by equation (16).

number

[0054] The feedback control model corresponding to the continuous function 325 is expressed by equation (17).

number

[0055] The continuous function 326 is a constant function expressed by equation (18).

number

[0056] The feedback control model corresponding to the continuous function 326 is expressed by equation (19).

number

[0057] The controlled object model 320 represents various examples related to the feedforward control unit 12. That is, the feedforward control unit 12 may calculate, as the feedforward compensation value, a continuous value corresponding to a reversal of the speed of the motor 91. The feedforward control unit 12 may calculate, for each of the positive and negative directions of the motor 91, a feedforward compensation value based on the controlled object model 320. The feedforward control unit 12 may calculate, as the feedforward compensation value, a continuous value corresponding to the rotation amount of the motor 91 based on the controlled object model 320, which indicates the relationship between the rotation amount of the motor 91 from the point in time when the speed of the motor 91 is reversed and friction acting on the controlled object 9.

[0058] The controlled object model 320 shows hysteresis in the motion-friction relationship. Hysteresis means that the current state of a system depends not only on the current conditions but also on the history of past situations. The controlled object model 320 shows the rotation amount x of the motor 91 from the point when the speed of the motor 91 is reversed. r Even if the current conditions are the same (i.e., the estimated friction torque τ^ fri indicates that the hysteresis varies depending on the rotation direction of the motor 91 (i.e., the history of past conditions). In one example, the feedforward control unit 12 calculates the feedforward compensation value for each of the positive and negative directions of the motor 91 based on the hysteresis.

[0059] The controlled plant model 320 represents a point-symmetric hysteresis loop, but the controlled plant model 320 may also be represented by a hysteresis loop that is not point-symmetric.

[0060] The controlled object model 320 is the estimated friction torque τ^ friThis can also be applied to a case where the speed of motor 91 reverses before the rotational speed X2 reaches saturation. In this case, controlled object model 320 indicates hysteresis in the motion-friction relationship, and feedforward control unit 12 calculates the feedforward compensation value based on this hysteresis. FIG. 6 shows an example of the controlled object model in this case. In the example of FIG. 6, the speed of motor 91 reverses at time 315 before the rotational amount of motor 91, which has exceeded X2, reaches X1.

[0061] The estimated friction torque τ^ at time 315 obtained by the continuous function 322 fri is -T3, the continuous function 324 corresponding to the motor 91 starting to rotate in the negative direction is expressed by equation (20).

number

[0062] The feedback control model corresponding to this continuous function 324 is expressed by equation (21). Equation (21) differs from equation (15) in the constant treated as the offset value.

number

[0063] The feedforward control unit 12 may calculate a continuous value as the feedforward compensation value using Perfect Tracking Control (PTC). Perfect tracking control refers to a digital control system in which the output tracks the target without error at the sample points. By using PTC, it is possible to avoid unstable zero points that may occur when the feedforward compensation value is calculated using digital control.

[0064] [Control method] As an example of a control method according to the present disclosure, an example of a processing procedure executed by the motor control device 1 (control system) will be described with reference to Fig. 7. Fig. 7 is a flowchart showing an example of processing by the motor control device 1 (control system) as processing flow S1. That is, the motor control device 1 executes processing flow S1. In one example, the motor control device 1 executes processing flow S1 in response to the motor 91 starting to rotate.

[0065] In step S11, the motor control device 1 determines whether the speed of the motor 91 has reversed. If the speed of the motor 91 has reversed (YES in step S11), the process proceeds to steps S12, S13, and S14 in that order. If the speed of the motor 91 has not reversed, that is, if the motor 91 continues to rotate in one direction (NO in step S11), the process skips steps S12 and S13 and proceeds to step S14.

[0066] In step S12, the feedforward control unit 12 stores the friction compensation value at the time when the motor speed is reversed.

[0067] In step S13, the feedforward control unit 12 resets the rotation amount of the motor to 0. This reset makes it possible to obtain the rotation amount of the motor 91 from the point in time when the speed of the motor 91 is reversed.

[0068] In step S14, the feedforward control unit 12 acquires the current rotation amount of the motor 91. As described above, the current rotation amount is the rotation amount from the point in time when the speed of the motor 91 is reversed.

[0069] In step S15, the feedforward control unit 12 selects a function corresponding to the acquired rotation amount. In one example, the feedforward control unit 12 selects one continuous function corresponding to the acquired rotation amount from a plurality of continuous functions. For example, the feedforward control unit 12 selects a non-constant function when the rotation amount corresponds to an unsteady section, and selects a constant function when the rotation amount corresponds to a steady section. The feedforward control unit 12 may select one continuous function from a plurality of continuous functions based on the acquired rotation amount and the rotation direction of the motor 91.

[0070] As an example, the selection of a continuous function when using the controlled object model 320 shown in FIG. 5 will be described. When the motor 91 is rotating in the positive direction and the amount of rotation is equal to or greater than 0 and less than X2, the feedforward control unit 12 selects continuous function 321. When the motor 91 is rotating in the positive direction and the amount of rotation is equal to or greater than X2 and less than X1, the feedforward control unit 12 selects continuous function 322. When the motor 91 is rotating in the positive direction and the amount of rotation is equal to or greater than X1, the feedforward control unit 12 selects continuous function 323. When the motor 91 is rotating in the negative direction and the amount of rotation is equal to or greater than 0 and less than X2, the feedforward control unit 12 selects continuous function 324. When the motor 91 is rotating in the negative direction and the amount of rotation is equal to or greater than X2 and less than X1, the feedforward control unit 12 selects continuous function 325. When the motor 91 is rotating in the negative direction and the amount of rotation is equal to or greater than X1, the feedforward control unit 12 selects continuous function 326.

[0071] As shown in the controlled object model 320, at least one unsteady section may include a first unsteady section in which friction changes in a first manner as the rotation amount changes, and a second unsteady section in which friction changes in a second manner as the rotation amount changes. The at least one unsteady function includes a first unsteady section corresponding to the first unsteady section and a second unsteady section corresponding to the second unsteady section. The feedforward control unit 12 selects the first unsteady section when the rotation amount corresponds to the first unsteady section, and selects the second unsteady section when the rotation amount corresponds to the second unsteady section. In the controlled object model 320, when the motor 91 rotates in the positive direction, the first unsteady section is a continuous function 321, and the first manner is represented by a slope K1. The second unsteady section is a continuous function 322, and the second manner is represented by a slope K2. When the motor 91 rotates in the negative direction, the first unsteady section is a continuous function 324, and the first manner is represented by a slope K1. The second non-constant function is a continuous function 325, the second aspect of which is represented by slope K2.

[0072] In step S16, the feedforward control unit 12 calculates the feedforward compensation value using the selected function. In other words, the feedforward control unit 12 calculates a continuous value as the feedforward compensation value using the selected function. In one example, the feedforward control unit 12 calculates the feedforward compensation value based on a feedback compensation model incorporating the selected continuous function. For example, when the continuous function 321 shown in FIG. 5 is selected, the feedforward control unit 12 calculates the feedforward compensation value based on the feedback compensation model shown in equation (8). The feedforward control unit 12 uses the friction compensation value saved in step S12 as an offset value used in the selected feedforward compensation model.

[0073] In step S17, the feedback control unit 11 calculates a feedback command value corresponding to the feedforward compensation value.

[0074] In step S18, the command generator 13 generates a command based on the feedback command value and the feedforward compensation value. In one example, as shown in the above equation (3), the command generator 13 generates a command by adding the feedforward compensation value to the feedback command value.

[0075] In step S19, the command unit 14 outputs the generated command to the controlled object 9. This command is set in consideration of the friction acting on the controlled object 9, and therefore the influence of the friction on the operation of the controlled object 9 is eliminated or suppressed. Therefore, the controlled object 9 can exhibit smooth and high responsiveness.

[0076] In step S20, if control of the controlled object 9 is to be continued (NO in step S20), the process returns to step S11, and the motor control device 1 executes the processes of steps S11 to S19 again. In one example, the motor control device 1 repeats the processes of steps S11 to S19 to continue providing a feedforward compensation value that is a continuous value. The feedforward compensation value enables the controlled object 9 to operate smoothly while avoiding or reducing unintended phenomena such as vibration.

[0077] In step S20, if the control of the controlled object 9 is to be ended (YES in step S20), the motor control device 1 ends the process flow S1. In one example, the end of the process flow S1 means that the motor 91 is stopped.

[0078] [program] Each functional module of the motor control device 1 is realized by loading a control program onto processor 161 or memory 162 and having processor 161 execute the program. The control program contains code for realizing each functional module of the motor control device 1. Processor 161 operates input / output port 164 or communication port 165 in accordance with the control program, and reads and writes data from and to memory 162 or storage 163. Each functional module of the motor control device 1 is realized by such processing.

[0079] The control program may be provided by being permanently recorded on a non-transitory recording medium such as a CD-ROM, a DVD-ROM, a semiconductor memory, etc. Alternatively, the control program may be provided via a communication network as a data signal superimposed on a carrier wave.

[0080] [effect] As described above, a control system according to one aspect of the present disclosure includes a feedforward control unit that calculates a continuous value for compensating for friction as a feedforward compensation value based on a control object model that indicates the relationship between the operation of the control object and friction acting on the control object, a command generation unit that generates a command based on the calculated feedforward compensation value, and a command unit that outputs the generated command for operating the control object.

[0081] A control method according to one aspect of the present disclosure is a control method executed by a control system having at least one processor, and includes the steps of: calculating a continuous value for compensating for friction as a feedforward compensation value based on a control object model showing the relationship between the operation of the control object and friction acting on the control object; generating a command based on the calculated feedforward compensation value; and outputting the generated command for operating the control object.

[0082] A control program according to one aspect of the present disclosure causes a computer to perform the steps of: calculating a continuous value for compensating for friction as a feedforward compensation value based on a control object model that indicates the relationship between the operation of the control object and friction acting on the control object; generating a command based on the calculated feedforward compensation value; and outputting the generated command for operating the control object.

[0083] In this aspect, since the feedforward compensation value that compensates for friction is given as a continuous value, sudden changes in the command are suppressed. Therefore, a command with appropriate compensation for friction can be provided to the controlled object. This command can, for example, suppress or avoid vibrations in the controlled object, allowing the controlled object to operate as intended by the user.

[0084] In another aspect, the control system may further include a feedback control unit that calculates a feedback command value by feedback control based on a response from the controlled object, and the command generation unit may generate a command based on the feedback command value and the feedforward compensation value. Since a sudden change in the command is suppressed by the continuously changing feedforward compensation value, a command with appropriately compensated friction can be provided to the controlled object in a two-degree-of-freedom control system.

[0085] In a control system according to another aspect, the controlled object model may represent a relationship when the speed of a motor that operates the controlled object is reversed, and the feedforward control unit may calculate a continuous value corresponding to the reversal of the motor speed as the feedforward compensation value. Since the continuity of the feedforward compensation value is maintained even when the motor speed is reversed, it is possible to suppress a sudden change in the command and provide an appropriate command to the controlled object even when the rotation direction of the motor changes.

[0086] In a control system according to another aspect, the feedforward control unit may calculate a feedforward compensation value based on a controlled object model for each of the positive and negative rotation directions of the motor. Since a controlled object model is prepared for both rotation directions of the motor, a command with friction appropriately compensated for can be provided to the controlled object in either rotation direction.

[0087] In a control system according to another aspect, the operation of the controlled object may include a rotation amount of the motor from the point in time when the motor speed is reversed, and the feedforward control unit may calculate a continuous value corresponding to the rotation amount as the feedforward compensation value based on a controlled object model that indicates the relationship between the rotation amount and friction. By taking into account the rotation amount of the motor, which is closely related to friction, an appropriate feedforward compensation value can be calculated.

[0088] In a control system according to another aspect, the controlled object model may indicate hysteresis of the relationship, and the feedforward control unit may calculate the feedforward compensation value based on the hysteresis for each of the positive and negative directions. Since the hysteresis is taken into account, the feedforward compensation value can be set appropriately depending on the rotation direction of the motor.

[0089] In a control system according to another aspect, the feedforward control unit may calculate the feedforward compensation value based on hysteresis represented by a point-symmetric hysteresis loop. By taking into account the symmetric hysteresis, the form of the feedforward compensation value is made common in both rotation directions of the motor. This commonality makes it possible to easily construct a controlled object model.

[0090] In the control system according to another aspect, the controlled object model may include at least one continuous function representing the relationship, and the feedforward control unit may calculate a continuous value as the feedforward compensation value using the at least one continuous function. By introducing the continuous function, the continuous value for compensating for friction can be easily calculated.

[0091] In a control system according to another aspect, the at least one continuous function may include a plurality of continuous functions corresponding to a plurality of intervals based on the amount of rotation, and the feedforward control unit may select one continuous function corresponding to the amount of rotation from the plurality of continuous functions and calculate a continuous value as the feedforward compensation value using the selected continuous function. Because the continuous functions are prepared for each interval based on the amount of rotation, it is possible to set an appropriate feedforward compensation value depending on the rotation status of the motor.

[0092] In a control system according to another aspect, the multiple sections may include at least one unsteady section in which friction changes with a change in the amount of rotation, and the multiple continuous functions may include at least one non-constant function set based on a mass-spring-damper system in which friction is represented as a spring, and the feedforward control unit may select the non-constant function when the amount of rotation corresponds to the unsteady section. By using the non-constant function based on the mass-spring-damper system, it is possible to appropriately set the feedforward compensation value in the unsteady section in which friction changes with the amount of rotation.

[0093] In a control system according to another aspect, in a mass-spring-damper system, a spring representing friction may be represented by a rheological model, and the feedforward control unit may select a non-constant function set based on the mass-spring-damper system including the rheological model when the amount of rotation corresponds to an unsteady section. Using the rheological model, a controlled object model can be designed that appropriately reflects friction with nonlinear characteristics. Using this controlled object model, an appropriate feedforward compensation value can be calculated.

[0094] In a control system according to another aspect, the at least one unsteady section includes a first unsteady section in which friction changes in a first manner in response to a change in the amount of rotation, and a second unsteady section in which friction changes in a second manner in response to a change in the amount of rotation, the at least one non-constant function includes a first non-constant function corresponding to the first unsteady section and a second non-constant function corresponding to the second unsteady section, and the feedforward control unit may select the first non-constant function when the amount of rotation corresponds to the first unsteady section, and select the second non-constant function when the amount of rotation corresponds to the second unsteady section. By dividing the unsteady section in which friction changes in response to the amount of rotation into a plurality of sections and providing a dedicated non-constant function for each divided section, the feedforward compensation value can be finely set according to the behavior of friction.

[0095] In a control system according to another aspect, the plurality of sections may further include a steady section in which friction is constant regardless of changes in the amount of rotation, the plurality of continuous functions may further include a given constant function, and the feedforward control unit may select the non-constant function when the amount of rotation corresponds to a non-steady section, and may select the constant function when the amount of rotation corresponds to a steady section. With this configuration, the feedforward compensation value can be appropriately set even for sections in which friction is constant (in other words, sections in which friction is saturated).

[0096] In a control system according to another aspect, the feedforward control unit may calculate a continuous value as the feedforward compensation value by perfect tracking control. By using perfect tracking control (PTC), it is possible to avoid unstable zero points that may occur when the feedforward compensation value is calculated by digital control.

[0097] [Variations] The present disclosure has been described in detail above based on the embodiments. However, the present disclosure is not limited to the above embodiments. Various modifications are possible without departing from the spirit and scope of the present disclosure.

[0098] In the above example, the motor control device 1 is separate from the control target 9, but the motor control device may be incorporated into the control target. In other words, the control system according to the present disclosure may be applied to the control target.

[0099] In the above example, the motor control device 1 is a two-degree-of-freedom control system that includes a feedback control unit 11 and a feedforward control unit 12. However, the control system according to the present disclosure may also be applied to a device that does not include a feedback controller but includes a feedforward controller.

[0100] In the above example, a case where a spring is represented by a rheological model has been described, but in addition to the spring, a damper may also be represented by a rheological model. For example, this modified example can be applied to the controlled object model 320 shown in Figure 5 as follows. That is, in each of the non-constant functions represented by the above equations (5), (9), (14), and (16),

number

[0101] The hardware configuration of the system is not limited to the implementation of each functional module by executing a program. For example, at least some of the functional modules in the above example may be configured with logic circuits specialized for the function, or may be configured with an ASIC (Application Specific Integrated Circuit) that integrates such logic circuits.

[0102] The processing steps of the method executed by at least one processor are not limited to the above examples. For example, some of the steps (processing) described above may be omitted, or the steps may be executed in a different order. Furthermore, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be executed in addition to the steps described above.

[0103] When comparing the magnitude of two numbers within a computer system or computer, either of the two criteria "greater than or equal to" and "greater than" may be used, or either of the two criteria "less than or equal to" and "under." The choice of such criteria does not change the technical significance of the process of comparing the magnitude of two numbers. [Explanation of symbols]

[0104] 1...motor control device, 2...controller, 9...controlled object, 11...feedback control unit, 12...feedforward control unit, 13...command generation unit, 14...command unit, 91...motor, 92...driven object, 93...sensor, 100...computer, 110...main body, 120...monitor, 130...input device, 320...controlled object model, 321-326...continuous functions

Claims

1. a feedforward control unit that calculates a continuous value for compensating for friction as a feedforward compensation value based on a control object model that indicates a relationship between a behavior of the control object and friction acting on the control object; a command generating unit that generates a command based on the calculated feedforward compensation value; a command unit that outputs the generated command to operate the controlled object; Equipped with the controlled object model indicates the relationship when a speed of a motor that operates the controlled object is reversed; The feedforward control unit storing a friction compensation value at the time when the speed of the motor is reversed; calculating the continuous value corresponding to a reversal of the motor speed as the feedforward compensation value using the stored friction compensation value as an offset value; Control system.

2. a feedback control unit that calculates a feedback command value by feedback control based on a response from the controlled object; the command generating unit generates the command based on the feedback command value and the feedforward compensation value. The control system of claim 1 .

3. the feedforward control unit calculates the feedforward compensation value based on the controlled object model for each of the positive direction and the negative direction of the motor.

3. A control system according to claim 1 or 2.

4. the operation of the controlled object includes a rotation amount of the motor from a point in time when the speed of the motor is reversed, the feedforward control unit calculates, as the feedforward compensation value, the continuous value corresponding to the rotation amount based on the controlled object model indicating the relationship between the rotation amount and the friction. The control system of claim 3 .

5. the controlled plant model exhibits hysteresis in the relationship; the feedforward control unit calculates the feedforward compensation value based on the hysteresis for each of the positive direction and the negative direction. The control system of claim 4.

6. the feedforward control unit calculates the feedforward compensation value based on the hysteresis represented by a point-symmetric hysteresis loop. The control system of claim 5 .

7. the controlled object model includes at least one continuous function that represents the relationship; the feedforward control unit calculates the continuous value as the feedforward compensation value using the at least one continuous function; A control system according to any one of claims 4 to 6.

8. the at least one continuous function includes a plurality of continuous functions corresponding to a plurality of intervals based on the rotation amount; The feedforward control unit selecting one continuous function corresponding to the amount of rotation from the plurality of continuous functions; calculating the continuous value as the feedforward compensation value using the selected continuous function; The control system of claim 7.

9. the plurality of sections includes at least one unsteady section in which the friction changes in accordance with a change in the rotation amount, the plurality of continuous functions include at least one non-constant function set based on a mass-spring-damper system that represents the friction as a spring; the feedforward control unit selects the non-constant function when the rotation amount corresponds to the unsteady section. The control system of claim 8.

10. In the mass-spring-damper system, the spring exhibiting the friction is represented by a rheological model; the feedforward control unit selects the non-constant function set based on the mass-spring-damper system including the rheology model when the rotation amount corresponds to the unsteady section. The control system of claim 9.

11. the at least one unsteady section includes a first unsteady section in which the friction changes in a first manner in response to a change in the amount of rotation, and a second unsteady section in which the friction changes in a second manner in response to a change in the amount of rotation, the at least one non-constant function includes a first non-constant function corresponding to the first unsteady section and a second non-constant function corresponding to the second unsteady section; The feedforward control unit If the amount of rotation corresponds to the first unsteady section, selecting the first non-constant function; selecting the second non-constant function when the rotation amount corresponds to the second unsteady section; A control system according to claim 9 or 10.

12. The plurality of sections further includes a steady section in which friction is constant regardless of changes in the rotation amount, the plurality of continuous functions further includes a given constant function; The feedforward control unit If the amount of rotation corresponds to the unsteady section, the non-constant function is selected; If the amount of rotation corresponds to the steady section, the constant function is selected. A control system according to any one of claims 9 to 11.

13. the feedforward control unit calculates the continuous value as the feedforward compensation value by perfect tracking control. A control system according to any one of claims 1 to 12.

14. 1. A control method executed by a control system comprising at least one processor, comprising: calculating a continuous value for compensating for the friction as a feedforward compensation value based on a control object model that indicates a relationship between a behavior of the control object and friction acting on the control object; generating a command based on the calculated feedforward compensation value; outputting the generated command to operate the controlled object; Including, the controlled object model indicates the relationship when a speed of a motor that operates the controlled object is reversed; In the calculating step, storing a friction compensation value at the time when the speed of the motor is reversed; calculating the continuous value corresponding to a reversal of the motor speed as the feedforward compensation value using the stored friction compensation value as an offset value; Control method.

15. calculating a continuous value for compensating for the friction as a feedforward compensation value based on a control object model that indicates a relationship between a behavior of the control object and friction acting on the control object; generating a command based on the calculated feedforward compensation value; outputting the generated command to operate the controlled object; on the computer, the controlled object model indicates the relationship when a speed of a motor that operates the controlled object is reversed; In the calculating step, storing a friction compensation value at the time when the speed of the motor is reversed; calculating the continuous value corresponding to a reversal of the motor speed as the feedforward compensation value using the stored friction compensation value as an offset value; Control program.

Citation Information

Patent Citations

  • Controlling apparatus and method of pm motor

    JP2010051162A

  • IPM motor controller and control method

    JP2010172133A

  • Motor control device having feed forward control

    JP2015015844A

  • Control device, drive system, control method and program

    JP2018055603A