Control system, control method, and program
The control system addresses friction compensation in motor control by using a speed control unit, friction compensation unit, and model error compensation unit to align motor characteristics with ideal models, enhancing accuracy and stability by reducing frictional impacts.
Patent Information
- Application Number
- PCT/JP2024/039263
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-28
- Filing Date
- 2024-11-05
- Publication Date
- 2025-07-03
AI Technical Summary
Existing motor control systems struggle to effectively compensate for friction, particularly when the movement direction of a table or load is reversed, leading to quadrant bumps and inadequate response to frictional changes.
A control system incorporating a speed control unit, friction compensation unit, model error compensation unit, and arithmetic unit to calculate and compensate for friction and model errors, using a nominal model to align motor characteristics with ideal characteristics, thereby reducing the influence of friction.
The system effectively reduces the impact of friction in motor control, improving accuracy and stability by compensating for both friction and model errors, allowing for smoother operation and reduced quadrant bumps.
Smart Images

Figure JP2024039263_03072025_PF_FP_ABST
Abstract
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 having a function related to friction compensation.
[0002] Patent Document 1 discloses a motor control device. The motor control device includes a position controller, a speed controller, a servo amplifier, and a friction compensator. According to Patent Document 1, when the motion direction of the table reverses, i.e., when the rotation direction of the ball screw reverses, the friction force in the table drive mechanism changes suddenly, and the control system cannot respond to this change, resulting in the occurrence of a quadrant projection. The friction compensator corrects the effect of the friction force when the motion direction of the table reverses. The friction compensator generates a friction compensation signal that compensates for the friction force. The friction compensation signal is added to a torque command signal from the speed controller. As a result, a friction-compensated torque command signal is applied to the servo amplifier.
[0003] Japanese Patent Application Laid-Open No. 2008-210273
[0004] The friction compensation provided by the friction compensator of Patent Document 1 is not sufficient, and it is desirable to further suppress the influence of friction in motor control.
[0005] The present disclosure has been made in view of the above-mentioned circumstances, and aims to provide a control system, a control method, and a program that can reduce the influence of friction in motor control.
[0006] A control system according to one aspect of the present disclosure includes a speed control unit, a friction compensation unit, a model error compensation unit, a calculation unit, and a drive control unit. The speed control unit controls the speed of the motor. The friction compensation unit calculates a compensation amount for friction generated on the motor side. The model error compensation unit outputs a compensation amount based on the difference between a first motor speed and a second motor speed. The first motor speed is a speed resulting from the control of the motor driven based on the output results of the friction compensation unit and the speed control unit. The second motor speed is obtained by inputting a signal based on the output result of the speed control unit to a reference model. The calculation unit calculates a command for driving the motor based on the output results of the speed control unit, the friction compensation unit, and the model error compensation unit. The drive control unit controls the drive of the motor based on the command from the calculation unit.
[0007] A control method according to one aspect of the present disclosure includes a speed control step, a friction compensation step, a model error compensation step, a calculation step, and a drive control step. In the speed control step, the speed of the motor is controlled. In the friction compensation step, a compensation amount for friction occurring on the motor side is calculated. In the model error compensation step, a compensation amount based on the difference between the first motor speed and the second motor speed is output. The first motor speed is the speed resulting from the control of the motor driven based on the output results of the friction compensation step and the speed control step. The second motor speed is obtained by inputting a signal based on the output result of the speed control step to a reference model. In the calculation step, a command for driving the motor is calculated based on the output results of the speed control step, the friction compensation step, and the model error compensation step. In the drive control step, drive control of the motor is performed based on the command of the calculation step.
[0008] A program according to one aspect of the present disclosure is a program for causing one or more processors to execute the above-described control method.
[0009] The control system, control method, and program disclosed herein have the advantage of reducing the influence of friction in motor control.
[0010] FIG. 1 is a block diagram of an entire system including a control system according to an embodiment. FIG. 2 is a block diagram of a control system according to an embodiment. FIG. 3A is a comparative graph showing evaluation results of a load movement trajectory in a case where a model error compensation function is not provided. FIG. 3B is a graph showing evaluation results of a load movement trajectory related to the control system according to an embodiment. FIG. 4 is a flowchart for explaining the operation of the control system according to an embodiment. FIG. 5 is a block diagram for explaining an X-axis system in an application example of the control system according to an embodiment. FIG. 6 is a block diagram for explaining a Y-axis system in an application example of the control system according to an embodiment. FIG. 7 is a block diagram of a model error compensation unit in an application example of an embodiment. FIG. 8 is a block diagram of a main part of a first modified example of the control system according to an embodiment.
[0011] (Summary) Below, a control system, a control method, and a program according to embodiments and modifications will be described with reference to the drawings. Note that the following embodiment and modifications are merely one of various embodiments of the present disclosure. Furthermore, the following embodiment and modifications 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 configuration of each of the modifications can be appropriately combined with the following embodiment or other modifications.
[0012] A control system 1 according to one embodiment (see FIGS. 1 and 2 ) provides a control input to a plant 2, which is a controlled object. The control system 1 outputs an output signal including a manipulated variable to the plant 2. In particular, the control system 1 is a system having a function related to friction compensation of the plant 2 including a motor M1.
[0013] The type of plant 2 referred to here is not particularly limited. For example, the plant 2 may include a load device (load L1), a servo motor (motor M1) that drives the load L1, and a detection unit (encoder, current detection unit, etc.) that detects the position, speed, (drive) current, etc. of the motor M1 and the load L1. 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 operate using the motor M1 as a drive source.
[0014] The manipulated variable for the plant 2 is defined as a control value for the motor M1. Here, the manipulated variable for the plant 2 is the drive current of the motor M1. The plant 2 outputs a controlled variable signal including a controlled variable according to the manipulated variable. The controlled variable is a quantity indicating the state of the plant 2, and may include the position, speed, etc. of the motor M1 and the load L1 detected by a detection unit. The control system 1 performs feedback control using the controlled variable (position, speed, etc.) detected by the detection unit.
[0015] As shown in FIGS. 1 and 2, the control system 1 includes a speed control unit 11, a friction compensation unit 12, a model error compensation unit 13, a calculation unit 14, and a drive control unit 10 (see FIG. 2).
[0016] The speed control unit 11 controls the speed of the motor M1. The friction compensation unit 12 calculates a compensation amount for friction generated on the motor M1 side. The model error compensation unit 13 outputs a compensation amount based on the difference between the first motor speed and the second motor speed (hereinafter also referred to as the model error). The first motor speed is the speed resulting from the control of the motor M1 driven based on the output results of the friction compensation unit 12 and the speed control unit 11. The second motor speed is obtained by inputting a signal based on the output result of the speed control unit 11 to the reference model 131. The calculation unit 14 calculates a command for driving the motor M1 based on the output results of the speed control unit 11, the friction compensation unit 12, and the model error compensation unit 13. The drive control unit 10 controls the drive of the motor M1 based on the command from the calculation unit 14. As an example, the drive control unit 10 includes a current control unit 15 that controls the drive current of the motor M1 based on the command from the calculation unit 14.
[0017] According to the above-described configuration of control system 1, the second motor speed is obtained by inputting a signal based on the output result of speed control unit 11 to reference model 131. In other words, the second motor speed obtained by inputting the signal to reference model 131 is a speed obtained without including compensation (command) from friction compensation unit 12. Therefore, by extracting and compensating only the model error, which is the difference between the characteristics of the actual motor M1 and the characteristics of reference model 131, the characteristics of the actual motor M1 can be made closer to the characteristics of an ideal motor. As a result, control system 1 has the advantage of being less susceptible to the effects of friction in motor control.
[0018] A control method according to one aspect includes a speed control step, a friction compensation step, a model error compensation step, a calculation step, and a drive control step. In the speed control step, the speed of the motor M1 is controlled. In the friction compensation step, a compensation amount for friction occurring on the motor M1 side is calculated. In the model error compensation step, a compensation amount based on the difference between the first motor speed and the second motor speed is output. The first motor speed is the speed resulting from the control of the motor M1 driven based on the output results of the friction compensation step and the speed control step. The second motor speed is obtained by inputting a signal based on the output result of the speed control step to the reference model 131. In the calculation step, a command for driving the motor M1 is calculated based on the output results of the speed control step, the friction compensation step, and the model error compensation step. In the drive control step, drive control of the motor M1 is performed based on the command from the calculation step. The above control method has the advantage of making motor control less susceptible to the influence of friction.
[0019] This control method is used on a computer system (control system 1). That is, this control method can also be embodied as a computer program. A program according to one aspect is a program for causing one or more processors to execute the above control method. The program may be recorded on a computer-readable non-transitory recording medium.
[0020] (Details) (1) Overall Configuration Hereinafter, the overall system including the control system 1 according to this embodiment and its peripheral configuration will be described in detail with reference to FIGS. 1 and 2. FIG.
[0021] Fig. 1 is a block diagram of an entire system including a control system 1 according to this embodiment. Fig. 2 is a block diagram of the control system 1 according to this embodiment.
[0022] The control system 1 is electrically connected to a plant 2, which is a control target, and is configured to output an output signal (electrical signal) including a manipulated variable (control input) to the plant 2. The manipulated variable may be a manipulated variable related to a drive current for driving and controlling a motor M1. As shown in FIG. 1 , a disturbance may be added to the output signal from the control system 1. The disturbance may include, for example, friction generated in the motor M1 or the load L1. The friction disturbance may be canceled out by a friction compensation command, which will be described later.
[0023] In the following, as an example, it is assumed that the object of friction compensation (i.e., friction occurring on the motor M1 side) includes both friction in the motor M1 and friction in the load L1. However, if the load L1 is negligible in the system, the object of friction compensation (friction occurring on the motor M1 side) may be friction in the motor M1 only.
[0024] As described above, the plant 2 may include the load L1, the motor M1 that drives the load L1, and a detection unit (encoder, current detection unit, etc.) that detects the position, speed, (drive) current, etc. of the motor M1 and the load L1. The load L1 may include, for example, a ball screw and a stage (table) that operate using the motor M1 as a drive source.
[0025] The motor M1 is, for example, a servo motor. The motor M1 is, for example, a rotary motor, but may also be a linear motor. The motor M1 includes, for example, a stator around which three-phase (U-phase, V-phase, and W-phase) windings are wound. The control system 1 is configured to drive and control the operation (rotational operation) of the motor M1.
[0026] In this embodiment, for ease of understanding, the (actual) torque constant of the motor M1 is referred to as "Kt." In other words, the plant 2 has a torque constant "Kt" 21 as shown in FIG.
[0027] Generally, the torque value can be calculated by multiplying the current value of the motor's drive current by the motor's actual torque constant Kt. However, because the actual torque constant Kt varies from motor to motor and can also change depending on the motor's magnet temperature, it is not easy to provide an accurate torque constant Kt to the control system. Therefore, the actual torque constant "Kt" 21 shown in FIG. 1 may also be unknown. As a result, even if the friction torque compensation amount is fed forward (hereinafter sometimes abbreviated as "FF") as a torque command, the motor torque value may differ from the torque command. This makes it impossible to accurately compensate for friction. Therefore, the control system 1 of this embodiment has the function of a model error compensator 13 in addition to the function related to friction compensation.
[0028] The plant 2 outputs a control amount signal including a control amount (plant output) according to the input operation amount. The control amount (plant output) is a quantity that indicates the state of the plant 2. Specifically, in the plant 2, the motor M1 is driven according to the operation amount, and the detection unit 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). Note that "ω" shown in the plant 2 in FIG. 1 is the speed (angular velocity) of the motor M1. In FIG. 1, "position" (for example, the coordinate position of the stage) is shown as the output of the load L1.
[0029] 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.
[0030] 1, the control system 1 includes a speed control unit 11, a friction compensation unit 12, a model error compensation unit 13, a calculation unit 14, and a drive control unit 10 (see FIG. 2). In other words, the control system 1 has the functions of the speed control unit 11, the friction compensation unit 12, the model error compensation unit 13, the calculation unit 14, and the drive control unit 10.
[0031] As shown in FIG. 1 , the control system 1 further includes a differentiator 5 , a velocity feedforward (FF) unit 4 , a position control unit 3 (position control system), and an adder 6 .
[0032] These multiple functions of the control system 1 may be housed in a single housing or may be housed separately in 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.
[0033] As shown in FIG. 1, the control system 1 acquires (receives) a position command (represented as a "command" in FIG. 1) for the motor M1 from the outside. The "external" 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 position command from the outside is input to each of the position control unit 3, the speed FF unit 4, and the differentiator 5.
[0034] The position control unit 3 (position control system) controls the position of the motor M1 based on a position command for the motor M1 (e.g., the angle of the motor M1) and the position (e.g., the angle of the motor M1) that is the control result of the motor M1. That is, as shown in FIG. 1 , the position control unit 3 receives an external position command and the control result (position) of the motor M1. The control result (position) of the motor M1 is, for example, a control amount related to the position of the motor M1 detected by a detection unit of the plant 2. Note that the external position command may be a position command related to a load L1 such as a stage, and in that case, the control system 1 can convert the position command related to the load L1 into a position command related to the motor M1.
[0035] The position control unit 3 performs position feedback (hereinafter, sometimes abbreviated as "FB") control. For example, the position control unit 3 determines a speed command (e.g., angular velocity of the motor M1) so that an external position command (e.g., angle of the motor M1) matches the control result (angle) of the motor M1, and outputs a signal including the speed command. The position control unit 3 may include a differentiator that time-differentiates the position (angle) of the motor M1 detected by a detection unit of the plant 2.
[0036] The speed FF unit 4 determines a speed feedforward command related to the speed (angular velocity) of the motor M1 based on an external position command (e.g., the angle of the motor M1) and outputs a signal including the speed feedforward command. The speed feedforward control of the speed FF unit 4 improves the responsiveness of the motor M1. The speed FF unit 4 may include a differentiator that time-differentiates the external position command.
[0037] The differentiator 5 time-differentiates the external position command (angle) and outputs the time-differentiated result (angular velocity) to the friction compensation unit 12 .
[0038] The speed command from the position control unit 3 and the speed feedforward command from the speed FF unit 4 are input to the adder 6 and summed up by the adder 6. The summation result by the adder 6 is then input to the speed control unit 11.
[0039] The speed control unit 11 controls the speed of the motor M1. A signal based on the output result from the position control system (position control unit 3) is input to the speed control unit 11. The speed control unit 11 controls the speed of the motor M1 based on the output result from the position control system (position control unit 3). However, in this embodiment, as an example, the output result from the position control unit 3 is input to the speed control unit 11 via the adder 6.
[0040] The speed control unit 11 performs feedback control of the speed. Specifically, the speed control unit 11 controls the speed of the motor M1 based on the summation result from the adder 6 and the speed (e.g., angular velocity) that is the control result of the motor M1. That is, as shown in FIG. 1 , the speed control unit 11 receives the summation result from the adder 6 and the control result (angular velocity) of the motor M1. The control result (angular velocity) of the motor M1 is a control amount related to the speed (angular velocity) of the motor M1 detected, for example, by a detection unit of the plant 2.
[0041] The speed control unit 11 determines a torque command for the motor M1 so that the summation result from the adder 6 matches the speed (angular velocity) that is the control result of the motor M1, and outputs a signal including the torque command.
[0042] The friction compensation unit 12 calculates a compensation amount for friction occurring on the motor M1 side. Here, as an example, it is assumed that the "friction occurring on the motor M1 side" is the friction torque of the motor M1 and the friction in the load L1 (e.g., rolling friction of a ball screw), as described above. In other words, the friction compensation unit 12 calculates a compensation amount for friction of the entire plant 2, including the friction torque of the motor M1 and the friction of the load L1.
[0043] However, if the load L1 is negligible in the system, the "friction occurring on the motor M1 side" may be the friction torque of the motor M1 alone.
[0044] The friction torque of the motor M1 and the 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 friction compensation unit 12 has a friction model that uses, for example, a function dependent on speed. Typical examples of the friction model include the LuGre model and the GMS model. The friction model is a friction model with speed input / friction output, and is a function that returns the friction of the entire plant 2 (e.g., a value converted into friction torque) when a speed command is input. Note that in a system where 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 command is input.
[0045] The friction compensation unit 12 calculates the amount of compensation for the friction of the plant 2 using a friction compensation model based on the time differentiation result (angular velocity) from the differentiator 5. Here, it is assumed that the friction compensation unit 12 calculates the amount of compensation for the friction torque of the motor M1, with the torque constant of the motor M1 set as the torque constant "Ktn" of an ideal motor (described later). The torque constant "Ktn" can be determined based on parameter values appropriately set by the user or the like. In the following, the amount of compensation for the friction torque based on this torque constant "Ktn" is referred to as "Ktn -1 The friction compensation unit 12 calculates the compensation amount "Ktn -1 The torque constant "Ktn" may differ from the torque constant "Kt" of the actual motor M1, but the compensation amount "Ktn" of the friction compensation command is -1 It is assumed that the friction disturbance of the motor M1 is cancelled by
[0046] The calculation unit 14 calculates a command for driving the motor M1 based on the output results of the speed control unit 11, the friction compensation unit 12, and the model error compensation unit 13. That is, the calculation unit 14 receives as input the friction compensation command from the friction compensation unit 12, the torque command from the speed control unit 11, and the model error compensation command from the model error compensation unit 13.
[0047] In the present embodiment, as an example, the calculation unit 14 aligns the dimensions of the output results of the speed control unit 11, the friction compensation unit 12, and the model error compensation unit 13, adds them together, and outputs an electrical signal based on the addition result as a command. Specifically, as shown in FIG. 1 , the calculation unit 14 includes an adder 141 and conversion units 142 and 143.
[0048] The converter 142 receives a torque command from the speed control unit 11. The converter 142 has a function of converting the torque command into a signal corresponding to, for example, a current command for the motor M1. The converter 142 inputs the converted signal to the adder 141. Note that the function of the converter 142 may be provided in the speed control unit 11.
[0049] The conversion unit 143 receives a friction compensation command from the friction compensation unit 12. The conversion unit 143 converts the friction compensation command (torque) into a signal corresponding to, for example, a current command for the motor M1. The conversion unit 143 inputs the converted signal to the adder 141. Note that the function of the conversion unit 143 may be provided in the friction compensation unit 12.
[0050] The calculation unit 14 also has a conversion function for converting the model error compensation command (angular velocity) from the model error compensation unit 13 into a signal corresponding to, for example, a current command for the motor M1. Note that this conversion function may be provided in the model error compensation unit 13.
[0051] In this way, the commands from the speed control unit 11, the friction compensation unit 12, and the model error compensation unit 13 are converted by the calculation unit 14 from torque and angular velocity to current (command) dimensions.
[0052] Three commands (torque command, friction compensation command, model error compensation command) with aligned dimensions are input to the adder 141 and added together. The result of this addition by the adder 141 is then input to the current control unit 15 of the drive control unit 10.
[0053] The model error compensator 13 outputs a compensation amount based on the difference (model error) between the first motor speed (e.g., angular velocity ω) and the second motor speed (e.g., angular velocity ω'). The first motor speed is the speed as a control result of the motor M1 driven based on the output results of the speed controller 11, the friction compensator 12, and the model error compensator 13. In other words, the first motor speed (angular velocity ω) is a control amount related to the speed (angular velocity) of the motor M1 detected by the detector of the plant 2. The second motor speed (angular velocity ω') is obtained by inputting a signal based on the output result of the speed controller 11 to the reference model 131.
[0054] Specifically, as shown in FIG. 1, the model error compensator 13 includes a reference model 131, a subtractor 133, and a feedback gain 134.
[0055] The reference model 131 is a model of an ideal motor. The torque constant of the ideal motor is set to "Ktn". In other words, the model error compensator 13 has a torque constant "Ktn" 132 (see FIG. 1). The friction compensator 12 described above calculates a compensation amount "Ktn" for the friction torque based on the torque constant "Ktn" of the ideal motor. -1 Furthermore, as will be described later, the reference model 131 may include a model of a load connected to the motor (hereinafter also referred to as a "load model") in addition to a model of an ideal motor. In particular, in this embodiment, as will be described later, a value obtained by adding the inertia of the load model is applied to the reference model 131.
[0056] In this embodiment, as an example, the torque command (output result) from the speed control unit 11 is converted by the conversion unit 142 and input as a current command to the model error compensation unit 13. However, this current command is input to the model error compensation unit 13 at a stage before being added by the adder 141. The current command input to the model error compensation unit 13 is input to the reference model 131. The reference model 131 outputs a second motor speed (angular velocity ω') based on the input current command. Details of the reference model 131 will be described later.
[0057] In other words, the second motor speed obtained by inputting the reference model 131 is a speed obtained without including the friction compensation command from the friction compensation unit 12 .
[0058] The subtractor 133 receives the first motor speed (angular speed ω) of the motor M1 detected by the detection unit of the plant 2 and the second motor speed (angular speed ω') from the reference model 131, and outputs the subtraction result (model error: for example, ω' - ω).
[0059] The model error can also be said to be the difference between the characteristics of the actual motor M1 and load L1 and the characteristics of the reference model 131. Essentially, the model error is theoretically assumed to be zero. In other words, the actual motor M1 and load L1 exist in a system in a world where friction exists, and it is assumed that this error is completely canceled out by the compensation amount from the friction compensation unit 12. On the other hand, the reference model 131 exists in a system in a world where friction does not exist, and it is assumed that no compensation amount from the friction compensation unit 12 is necessary. As a result, theoretically, ω' - ω is assumed to be zero. However, in reality, the model error may not be zero. The following three main factors are considered to be factors that cause the model error:
[0060] The first factor is, as described above, the difference between the torque constant "Kt" of the actual motor M1 and the torque constant "Ktn" of the ideal motor. The second factor is the presence of disturbances (e.g., vibrations) other than assumed friction. The third factor is the presence of errors between set physical quantities such as the inertia of the ideal motor model and the inertia of the load model in the reference model 131 and the actual physical quantities such as the inertia of the motor M1 and the inertia of the load L1.
[0061] The model error compensator 13 determines a compensation amount based on the model error from the subtractor 133, and outputs a signal including a model error compensation command for the compensation amount via a feedback gain 134. The model error compensation command is input to an adder 141 of the calculator 14. The feedback gain 134 is, for example, a gain of a constant multiple. The signal including the model error compensation command is amplified by the constant multiple and input to the adder 141. This makes it possible to more effectively suppress the model error. Alternatively, the feedback gain 134 may include an integrator, in which case the steady-state deviation in the model error can be reduced.
[0062] In short, in the control system 1, a feedback loop is formed in which a model error compensation command from the model error compensator 13 is passed to a main loop consisting of the position controller 3, the speed controller 11, and the drive controller 10 (current controller 15).
[0063] The drive control unit 10 (see FIG. 2) controls the drive of the motor M1 based on commands from the calculation unit 14. The drive control unit 10 includes a current control unit 15 (see FIG. 1) and an inverter circuit. The current control unit 15 controls the drive current of the motor M1 based on commands from the calculation unit 14. Specifically, the current control unit 15 receives an addition result (current command) from the adder 141 of the calculation unit 14. The current control unit 15 also receives a detected value of the drive current of the motor M1 detected by a detection unit of the plant 2.
[0064] The current control unit 15 performs feedback control of the current. Based on the summation result (current command) from the adder 141 and the detection result of the drive current of the motor M1, the current control unit 15 performs feedback control (determination of the manipulated variable) so that the drive current of the motor M1 coincides with the current command. The current control unit 15 controls the inverter circuit so that the determined manipulated variable (drive current) is supplied to the motor M1.
[0065] [Reference Model] The reference model 131 will now be described in detail. In this embodiment, the reference model 131 is a first-order lag model. Specifically, the reference model 131 is expressed in the form of the following equation (1). In the following equation (1), Ktn is a (nominal) torque constant (the torque constant of the ideal motor described above), Jmn is a (nominal) motor inertia, Dmn is a (nominal) viscous friction resistance, and s is a Laplace operator.
[0066]
[0067] Generally, a motor model of the form Km / (Ls+R) is sometimes used (Km is the back electromotive force constant, L is the inductance, and R is the resistance). A model of the form of the above formula (1) is particularly effective when the time constant due to this inductance and resistance is sufficiently shorter than the time constant due to the motor inertia and viscous friction resistance in the above formula (1), and when the influence of the back electromotive force (the voltage generated by the motor in response to the voltage applied to the motor while it is rotating) is sufficiently reduced by the feedback control of the current control unit 15. The reference model 131 has a simple configuration as a first-order lag system, improving the feasibility of the model error compensator 13.
[0068] Furthermore, it is preferable that the reference model 131 applies a value obtained by adding the equivalent inertia of a load (load model) connected to the motor to the motor in a first-order lag format. Specifically, the reference model 131 may be expressed in the form of the following equation (2). In the following equation (2), Ktn is the (nominal) torque constant (torque constant of an ideal motor). Also, Jmn is the (nominal) motor inertia, Jloadn is the equivalent inertia of the load, Dmn is the (nominal) viscous friction resistance, and s is the Laplace operator.
[0069]
[0070] The reason for considering the equivalent inertia of the load is as follows: The actual motor speed is affected by loads such as the ball screw and the stage. Therefore, if the load inertia is several times larger than the motor inertia, a larger difference may occur between the first motor speed (angular velocity ω) of the actual motor M1 and the second motor speed (angular velocity ω') from the reference model 131. In this case, the feedback loop from the model error compensation unit 13 may cause the motor M1 or the load L1 to vibrate. Therefore, by adding the equivalent inertia of the load to the motor inertia as in the above equation (2), the difference can be reduced, and vibration can be reduced.
[0071] When a stage or the like is mounted on a linear motion mechanism such as a ball screw for the load L1, the equivalent inertia of the load L1 can be approximately calculated based on the mass of the stage and the lead length of the ball screw.
[0072] (2) Operation of the Control System A series of operation flows in the control system 1 will be described below with reference to Fig. 4. Fig. 4 is a flowchart for explaining the operation of the control system 1 of this embodiment. The flowchart shown in Fig. 4 is merely one example of the operation flow of the control system 1, and the order of processing may be changed as appropriate, and processing may be added or omitted as appropriate.
[0073] First, the control system 1 acquires a command (position command: for example, the angle of the motor M1) for the plant 2 from, for example, a higher-level controller in the position control unit 3 (step ST1). The position control unit 3 determines a speed command (for example, the angular velocity of the motor M1) based on the position command and the position (for example, the angle of the motor M1) that is the control result of the motor M1, and outputs a signal including the speed command (step ST2).
[0074] The command (position command) is also input to the speed FF unit 4 , the output result of which is added to the speed command by the adder 6 , and the sum is input to the speed control unit 11 .
[0075] The control system 1 controls the speed (e.g., angular velocity) of the motor M1 in the speed control unit 11 (speed control step). That is, the speed control unit 11 determines a torque command for the motor M1 so that the sum result from the adder 6 matches the speed (angular velocity) that is the control result of the motor M1, and outputs a signal including the torque command (step ST3).
[0076] The command (position command) is also input to the differentiator 5, and the output result of the differentiator 5 is input to the friction compensation unit 12. In the control system 1, the friction compensation unit 12 calculates a compensation amount for the friction generated on the motor M1 side (here, the friction torque of the motor M1 and the friction between the load L1) (friction compensation step). That is, the friction compensation unit 12 calculates the compensation amount "Ktn -1 The calculation unit 14 calculates a compensation amount for friction for the entire plant 2 including ", and outputs a signal including a friction compensation command (step ST4). The friction compensation command is converted into a signal corresponding to a current command by the conversion unit 143 of the calculation unit 14, and then input to the adder 141.
[0077] The torque command from the speed control unit 11 is converted into a signal corresponding to the current command by the conversion unit 142 of the calculation unit 14, and then input to each of the model error compensation unit 13 and the adder 141.
[0078] In the model error compensation unit 13 of the control system 1, a compensation amount is determined based on the difference between the control result of the motor M1 (first motor speed) and the second motor speed from the reference model 131, and a signal including a model error compensation command is output (step ST5: model error compensation step).
[0079] In the control system 1, the adder 141 of the calculation unit 14 adds together the current command converted from the torque command, the current command converted from the friction compensation command, and the current command converted from the model error compensation command, thereby calculating a current command for driving the motor M1 (calculation step).The calculation unit 14 then outputs a signal including the current command obtained by the calculation (step ST6).The current command obtained by the calculation is input to the drive control unit 10 (current control unit 15).
[0080] In the control system 1, the drive control unit 10 (current control unit 15) controls the drive current of the motor M1 based on the current command from the calculation unit 14 and the detected value of the drive current of the motor M1 (step ST6: drive control step). That is, the current control unit 15 determines the operation amount (drive current) based on the current command from the calculation unit 14 and the detected value of the drive current of the motor M1, and controls the inverter circuit to supply the determined drive current to the motor M1.
[0081] (3) Application Examples of the Control System Next, specific application examples of the control system 1 will be described with reference to FIGS. 5 to 7 . That is, a specific description will be given of how the control system 1 can be applied when the plant 2 is a two-axis stage (machine), which is a two-axis machine (multi-axis machine) with an X-axis and a Y-axis. The two-axis stage is a positioning stage with two axes, for example, an "X-axis" for left-right movement and a "Y-axis" for forward-backward movement. The two-axis stage positions a workpiece on the stage for a machine (such as a laser processing machine, a cutting machine, or a coating device) separate from the two-axis stage. Note that the plant 2 is not limited to a "one-axis" or "two-axis" stage, and may be, for example, a three-axis machine with an X-axis, a Y-axis, and a Z-axis, or a four-axis or five-axis machine. Furthermore, the machine is not limited to a "stage."
[0082] 5 to 7, components similar to those of the control system 1 shown in FIG. 1 are denoted by the same reference numerals, and descriptions thereof will be omitted where appropriate.
[0083] FIG. 5 is a block diagram illustrating an X-axis system in an application example of the control system 1 of this embodiment. However, the model error compensator 13 is not shown. The model error compensator 13 is shown in FIG. 7 , which will be described later. The plant 2X has an X-axis motor M11 and an X-axis load L11 (a ball screw, a stage, etc.). A position command related to the X-axis (referred to as an "X command" in FIG. 5 ) is input to the X-axis system, and the load L11 outputs, for example, the X-axis coordinate of the stage (referred to as an "X coordinate" in FIG. 5 ). The control system 1 includes a position controller 3X, a speed FF unit 4X, a differentiator 5X, an adder 6X, a speed controller 11X, a friction compensator 12X, a calculator 14X, and a current controller 15X (drive controller 10) corresponding to the "X-axis system." The torque constant Kt_X of the actual motor M11 may be unknown.
[0084] FIG. 6 is a block diagram illustrating a Y-axis system in an application example of the control system 1 of this embodiment. However, the model error compensator 13 is not shown. The model error compensator 13 is shown in FIG. 7 , which will be described later. The plant 2Y has a Y-axis motor M12 and a Y-axis load L12 (a ball screw, a stage, etc.). A position command for the Y-axis (referred to as a "Y command" in FIG. 6 ) is input to the Y-axis system, and the Y-axis coordinate of the stage (referred to as a "Y coordinate" in FIG. 6 ) is output as the output of the load L12. The control system 1 includes a position controller 3Y, a speed FF unit 4Y, a differentiator 5Y, an adder 6Y, a speed controller 11Y, a friction compensator 12Y, a calculator 14Y, and a current controller 15Y (drive controller 10) corresponding to the "Y-axis system." The torque constant Kt_Y of the actual motor M12 may be unknown.
[0085] 7 shows a block diagram of the "two-axis" model error compensator 13. The control system 1 is equipped with the model error compensator 13 having a model error compensation function for the "X-axis system" and a model error compensation function for the "Y-axis system."
[0086] The model error compensation unit 13 has a reference model 131X (represented as reference motor X in FIG. 7 ) corresponding to the "X-axis system", a subtractor 133X, and a feedback gain 134X. The model error compensation unit 13 also has a torque constant "Ktn_X" 132X corresponding to the "X-axis system". The model error compensation unit 13 also has a reference model 131Y (represented as reference motor Y in FIG. 7 ) corresponding to the "Y-axis system", a subtractor 133Y, and a feedback gain 134Y. The model error compensation unit 13 also has a torque constant "Ktn_Y" 132Y corresponding to the "Y-axis system".
[0087] If the X-axis motor M11 and the Y-axis motor M12 are motors of the same model number, the torque constants Ktn_X and Ktn_Y may be set to the same value. Also, if it is found that either the X-axis system or the Y-axis system is prone to vibration, the corresponding feedback gain 134X or 134Y may be set to a smaller value.
[0088] As shown in FIGS. 5 and 7 , the torque command (output result) from the speed control unit 11X is converted by the conversion unit 142 of the calculation unit 14X and then input as a signal S1 to the model error compensation unit 13. In the model error compensation unit 13, the signal S1 is input to the reference model 131X, and the second motor speed (angular velocity ω'_X) of the motor M11 is output from the reference model 131X. A signal S2 indicating the first motor speed (angular velocity ω'_X) of the motor M11 detected by a detection unit of the plant 2X and the second motor speed (angular velocity ω'_X) from the reference model 131X are input to the subtractor 133X. The subtractor 133X then outputs the subtraction result (model error: for example, ω'_X - ω_X). The model error compensation unit 13 determines a compensation amount for the "X-axis" based on the model error from the subtractor 133X, and outputs a signal S5 including a model error compensation command for the compensation amount via a feedback gain 134X. The signal S5 is input to the adder 141 of the "X-axis" calculation unit 14X (see FIG. 5).
[0089] 6 and 7, the torque command (output result) from the speed control unit 11Y is converted by the conversion unit 142 of the calculation unit 14Y and then input as signal S3 to the model error compensation unit 13. In the model error compensation unit 13, the signal S3 is input to the reference model 131Y, and the second motor speed (angular velocity ω'_Y) of the motor M12 is output from the reference model 131Y. A signal S4 indicating the first motor speed (angular velocity ω'_Y) of the motor M12 detected by the detection unit of the plant 2Y and the second motor speed (angular velocity ω'_Y) from the reference model 131Y are input to the subtractor 133Y. The subtractor 133Y then outputs the subtraction result (model error: e.g., ω'_Y - ω_Y). The model error compensation unit 13 determines a compensation amount for the "Y-axis" based on the model error from the subtractor 133Y, and outputs a signal S6 including a model error compensation command for the compensation amount via a feedback gain 134Y. The signal S6 is input to the adder 141 of the "Y-axis" calculation unit 14Y (see FIG. 6).
[0090] In this way, the control system 1 also performs model error compensation individually for the X-axis motor M11 and the Y-axis motor M12 in a two-axis machine having an X-axis and a Y-axis.
[0091] (4) Advantages As described above, according to the control system 1 of this embodiment, the second motor speed is obtained by inputting a signal based on the output result of the speed control unit 11 to the reference model 131. In other words, the second motor speed obtained by inputting the signal to the reference model 131 is a speed obtained without including compensation (command) from the friction compensation unit 12. Therefore, by extracting and compensating only the model error, which is the difference between the characteristics of the actual motor M1 and the characteristics of the reference model 131, the characteristics of the actual motor M1 can be made closer to the characteristics of an ideal motor. In other words, by extracting and compensating only the model error, motor control is performed as if the torque constant of the actual motor M1 were Ktn, thereby achieving desirable friction compensation. As a result, the control system 1 has the advantage of making motor control less susceptible to the effects of friction.
[0092] Furthermore, according to the control system 1, it becomes easy to design the friction compensation unit 12 and the model error compensation unit 13 independently of the main controller (the main loop consisting of the position control unit 3, the speed control unit 11, and the drive control unit 10 (the current control unit 15)). In other words, it is easy to add on the functions of the friction compensation unit 12 and the model error compensation unit 13 without changing the current main controller. Furthermore, when developing future main controllers, design changes to the friction compensation unit 12 and the model error compensation unit 13 may not be necessary.
[0093] Furthermore, according to the control system 1, the calculation unit 14 aligns the dimensions of the output results of the speed control unit 11, the friction compensation unit 12, and the model error compensation unit 13, adds them together, and outputs an electrical signal based on the addition result as a command. This allows for even higher accuracy in the command for driving the motor M1.
[0094] Furthermore, the reference model 131 is a first-order lag model. This further simplifies the configuration of the reference model 131, improving the feasibility of the model error compensator 13. In particular, the motor inertia and viscous friction resistance, which are the main parameters of the reference model 131, are easier to identify through experiments than the ball screw, stage, etc., which are the load L1 (driven body), and information on these parameters is also easier to obtain from motor manufacturer catalogs. This makes it easier to design the model error compensator 13 using the reference model 131.
[0095] 3A and 3B, the advantages of the control system 1 according to this embodiment will be described in more detail.
[0096] FIG. 3A is a comparative graph showing the evaluation results of the motion trajectory of the load L1 without the model error compensation function. That is, FIG. 3A shows the evaluation results of the motion trajectory of the load L1 (e.g., a stage driven by a ball screw) of the plant 2 in a comparative control system that has the function of the friction compensation unit 12 but does not have the function of the model error compensation unit 13. The horizontal axis of FIG. 3A represents the X-axis coordinate (unit: mm), and the vertical axis represents the Y-axis coordinate (unit: μm). For example, the comparative control system receives a command (position command) from a host controller to move the stage (load L1) along the arc command A1 (arc-shaped dashed line: motion trajectory) in FIG. 3A. In motor control using the comparative control system without the function of the model error compensation unit 13, quadrant projections occur due to the influence of friction, as shown in characteristics B1 to B4. In other words, when the movement of the stage (load L1) reverses from the positive direction of the Y axis to the negative direction of the Y axis, friction changes suddenly, and the control system for comparison is unable to respond to this change, resulting in the occurrence of a quadrant projection. Note that characteristics B1 to B4 are the results when the torque constant error (the difference between Kt and Ktn) of motor M1 is changed to four levels (no error, 5% error, 10% error, and 20% error). Specifically, characteristic B1 = 20% error, characteristic B2 = 10% error, characteristic B3 = 5% error, and characteristic B4 = no error.
[0097] On the other hand, FIG. 3B is a graph showing the evaluation results of the motion trajectory of the load L1 in the control system 1 according to this embodiment. That is, FIG. 3B shows the evaluation results of the motion trajectory of the load L1 (e.g., a stage driven by a ball screw) of the plant 2 in the control system 1 having both the functions of the friction compensation unit 12 and the model error compensation unit 13. The horizontal axis of FIG. 3B represents the X-axis coordinate (unit: mm), and the vertical axis represents the Y-axis coordinate (unit: μm). FIG. 3B has the same scale as FIG. 3A . Assume that the control system 1 receives a command (position command) from a higher-level controller to move the stage along the arc command A1 (arc-shaped dashed line: motion trajectory) as in FIG. 3A . In motor control using the control system 1 having the function of the model error compensation unit 13, the quadrant projections due to friction are sufficiently suppressed, as shown by characteristics B5 to B8, compared to characteristics B1 to B4 in FIG. 3A . In other words, the response of the control system 1 is sufficient to respond to sudden changes in friction. Regarding the error in the torque constant of motor M1 (the difference between Kt and Ktn), characteristic B5 = error 20%, characteristic B6 = error 10%, characteristic B7 = error 5%, and characteristic B8 = no error, but in FIG. 3B, characteristics B5 to B8 are almost overlapping.
[0098] 3A and 3B, the slight steady deviations other than the quadrant projections in the characteristics B1 to B8 relative to the arc command A1 are tracking errors. These slight deviations can be eliminated by adjusting the gain of the position control unit 3, for example.
[0099] (5) Modifications Modifications of the above embodiment are listed below. The configuration of each of the following modifications can be appropriately combined with the following embodiment or other modifications.
[0100] The same functions as those of the control system 1 according to the above embodiment may be realized as a control method, a computer program, or a non-transitory recording medium on which a computer program is recorded.
[0101] The control system 1 in the present disclosure includes a computer system. The computer system is primarily composed of a processor and memory as hardware. The processor executes a program stored in the memory of the computer system to realize the functions of the control system 1 in the present disclosure. 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 such as a memory card, optical disk, or hard disk drive that is readable by the computer system. 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 that allow the reconfiguration of internal connections or internal circuit partitions of 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.
[0102] Furthermore, it is not essential that the multiple functions of the control system 1 be concentrated in one housing. For example, the components of the control system 1 may be distributed across multiple housings.
[0103] Conversely, multiple functions of the control system 1 may be integrated into one housing. Furthermore, at least some of the functions of the control system 1, for example, some of the functions of the control system 1 may be realized by the cloud (cloud computing) or the like.
[0104] The control system 1 according to Modification 1 will be described below with reference to Fig. 8. Note that, in the control system 1 according to Modification 1, components similar to those of the control system 1 according to the above embodiment will be assigned the same reference numerals, and detailed descriptions thereof may be omitted.
[0105] FIG. 8 is a block diagram of the main components of a first modification of the control system 1 of this embodiment. FIG. 8 shows only the main components of the control system 1 according to the first modification. As shown in FIG. 8, the control system 1 according to the first modification includes a position control unit 3, a speed FF unit 4, an adder 6, a speed control unit 11, and a friction compensation unit 12. Although not shown in FIG. 8, the control system 1 according to the first modification also includes a model error compensation unit 13, a calculation unit 14, and a drive control unit 10 (current control unit 15), similar to the control system 1 according to the above embodiment. However, the control system 1 according to the first modification does not include the differentiator 5 of the control system 1 according to the above embodiment. Instead, a signal based on the output result (speed command) of the position control unit 3 is input to the friction compensation unit 12, which is a difference from the control system 1 according to the above embodiment.
[0106] That is, in the control system 1 according to the first modification, a signal based on the output result from the position control system (position control unit 3) is input to the friction compensation unit 12 and the speed control unit 11. The friction compensation unit 12 calculates a compensation amount based on the output result from the position control system. The speed control unit 11 controls the speed of the motor M1 based on the output result (speed command) from the position control system and the speed resulting from the control of the motor M1. In other words, the output result (speed command) from the position control system input to the friction compensation unit 12 is a signal that occurs before the speed resulting from the control of the motor M1 is input. Note that in the example of FIG. 8 , the output result of the position control unit 3 is added with the speed feedforward command from the speed FF unit 4 by the adder 6, and then input to the friction compensation unit 12 and the speed control unit 11.
[0107] According to the control system 1 of the first modification, the friction compensation unit 12 performs friction compensation based on a speed command based on the position FB in the position control unit 3. Therefore, the accuracy of the compensation amount in the friction compensation unit 12 is further improved compared to the case where a speed command obtained by time-differentiating the position command in the differentiator 5 is used as in the control system 1 of the above embodiment.
[0108] In the above embodiment and Modification 1, the "speed command" input to the friction compensation unit 12 has been described as a speed command for the motor M1. However, if the plant 2 includes a linear motion mechanism such as a stage, the "speed command" may be a speed command in a linear motion dimension (mm / s, m / s, etc.) that commands the speed of the linear motion mechanism such as a stage. Alternatively, the "speed command" may be a speed command (angular velocity command) that is converted into a dimension (rad / s, etc.) for the motor M1 based on a linear motion dimension command that commands the speed of the linear motion mechanism.
[0109] (Summary) The above-described embodiments and the like disclose the following aspects.
[0110] A control system (1) according to a first aspect includes a speed control unit (11), a friction compensation unit (12), a model error compensation unit (13), a calculation unit (14), and a drive control unit (10). The speed control unit (11) controls the speed of a motor (M1). The friction compensation unit (12) calculates a compensation amount for friction generated on the motor (M1) side. The model error compensation unit (13) outputs a compensation amount based on the difference between a first motor speed and a second motor speed. The first motor speed is a speed as a control result of the motor (M1) driven based on the output results of the friction compensation unit (12) and the speed control unit (11). The second motor speed is obtained by inputting a signal based on the output result of the speed control unit (11) to a reference model (131). The calculation unit (14) calculates a command for driving the motor (M1) based on the output results of the speed control unit (11), the friction compensation unit (12), and the model error compensation unit (13). The drive control unit (10) controls the drive of the motor (M1) based on a command from the calculation unit (14).
[0111] According to the above aspect, the second motor speed is a speed obtained by inputting a signal based on the output result of the speed control unit (11) to the reference model (131). In other words, the second motor speed obtained by inputting the signal to the reference model (131) is a speed obtained without including a compensation command from the friction compensation unit (12). Therefore, by extracting and compensating only the model error, the characteristics of the actual motor (M1) can be made closer to the characteristics of an ideal motor. As a result, the control system (1) has the advantage of being less susceptible to the influence of friction in motor control.
[0112] Regarding the control system (1) according to the second aspect, in the first aspect, the drive control unit (10) includes a current control unit (15) that controls the drive current of the motor (M1) based on commands from the calculation unit (14).
[0113] According to the above aspect, in the control system (1) including the current control unit (15), motor control is less susceptible to the influence of friction.
[0114] Regarding the control system (1) according to the third aspect, in the first or second aspect, the calculation unit (14) aligns the dimensions of the output results of the speed control unit (11), the friction compensation unit (12), and the model error compensation unit (13) and sums them, and outputs an electrical signal based on the summation result as a command.
[0115] According to the above aspect, it is possible to further increase the accuracy of the command for driving the motor (M1).
[0116] Regarding the control system (1) according to the fourth aspect, in any one of the first to third aspects, the model error compensator (13) has a feedback gain (134) that is a gain of a constant multiple.
[0117] According to the above aspect, model errors can be further suppressed.
[0118] Regarding the control system (1) according to the fifth aspect, in any one of the first to third aspects, the model error compensator (13) has a feedback gain (134) including an integrator.
[0119] According to the above aspect, it is possible to reduce the steady-state deviation in the model error.
[0120] Regarding the control system (1) according to the sixth aspect, in any one of the first to fifth aspects, the reference model (131) is a first-order lag model.
[0121] According to the above aspect, the reference model (131) has a simpler configuration, and the feasibility of the model error compensator (13) is improved.
[0122] Regarding the control system (1) according to the seventh aspect, in the sixth aspect, the reference model (131) applies a value obtained by adding the equivalent inertia of the load connected to the motor to the motor in a first-order lag format.
[0123] According to the above aspect, model errors can be further suppressed.
[0124] Regarding the control system (1) according to the eighth aspect, in any one of the first to seventh aspects, a signal based on the output result from a position control system (position control unit 3) is input to a friction compensation unit (12) and a speed control unit (11). The position control system controls the position of the motor (M1) based on a position command for the motor (M1) and the position resulting from the control of the motor (M1). The friction compensation unit (12) calculates a compensation amount based on the output result from the position control system. The speed control unit (11) controls the speed of the motor (M1) based on the output result from the position control system and the speed resulting from the control of the motor (M1).
[0125] According to the above aspect, the accuracy of the compensation amount in the friction compensation unit (12) is further improved.
[0126] A control method according to a ninth aspect includes a speed control step, a friction compensation step, a model error compensation step, a calculation step, and a drive control step. In the speed control step, the speed of the motor (M1) is controlled. In the friction compensation step, a compensation amount for friction occurring on the motor (M1) side is calculated. In the model error compensation step, a compensation amount based on the difference between the first motor speed and the second motor speed is output. The first motor speed is the speed as a control result of the motor (M1) driven based on the output results of the friction compensation step and the speed control step. The second motor speed is obtained by inputting a signal based on the output result of the speed control step to a reference model (131). In the calculation step, a command for driving the motor (M1) is calculated based on the output results of the speed control step, the friction compensation step, and the model error compensation step. In the drive control step, drive control of the motor (M1) is performed based on the command of the calculation step.
[0127] According to the above aspect, it is possible to provide a control method that makes motor control less susceptible to the influence of friction.
[0128] A program according to a tenth aspect is a program for causing one or more processors to execute the control method according to the ninth aspect.
[0129] According to the above aspect, it is possible to provide a function that makes motor control less susceptible to the influence of friction.
[0130] The configurations according to the second to eighth aspects are not essential for the control system (1) and may be omitted as appropriate.
[0131] The control system, control method, and program disclosed herein have the advantage of reducing the influence of friction in motor control, thereby enabling stable motor control. Thus, the control system, control method, and program disclosed herein are industrially useful.
[0132] 1 Control system 10 Drive control unit 11, 11X, 11Y Speed control unit 12, 12X, 12Y Friction compensation unit 13 Model error compensation unit 131, 131X, 131Y Reference model 134, 134X, 134Y Feedback gain 14, 14X, 14Y Calculation unit 15, 15X, 15Y Current control unit 3, 3X, 3Y Position control unit (position control system) M1, M11, M12 Motor
Claims
1. A control system comprising: a speed control unit that controls the speed of a motor; a friction compensation unit that calculates a compensation amount for friction generated on the motor side; a first motor speed that is the speed as a control result of the motor driven based on the output results of the friction compensation unit and the speed control unit, and a second motor speed obtained by inputting a signal based on the output result of the speed control unit into a nominal model, and a model error compensation unit that outputs a compensation amount based on the difference therebetween; a calculation unit that calculates a command for driving the motor based on the output results of the speed control unit, the friction compensation unit, and the model error compensation unit; and a drive control unit that performs drive control of the motor based on the command of the calculation unit.
2. The control system according to claim 1, wherein the drive control unit includes a current control unit that controls the drive current of the motor based on the command of the calculation unit.
3. The control system according to claim 1 or 2, wherein the calculation unit aligns the dimensions of the output results of the speed control unit, the friction compensation unit, and the model error compensation unit and sums them, and outputs an electrical signal based on the sum result as the command.
4. The control system according to any one of claims 1 to 3, wherein the model error compensation unit has a feedback gain that is a constant multiple.
5. The control system according to any one of claims 1 to 3, wherein the model error compensation unit has a feedback gain including an integrator.
6. The control system according to any one of claims 1 to 5, wherein the nominal model is a first-order lag form model.
7. The control system according to claim 6, wherein in the first-order lag form, the nominal model applies a value obtained by adding the equivalent inertia of the load connected to the motor to the motor inertia.
8. A signal based on the output result of a position control system that performs position control of the motor based on the position command regarding the motor and the position that is the control result of the motor is input to the friction compensation unit and the speed control unit, the friction compensation unit calculates the compensation amount based on the output result from the position control system, and the speed control unit controls the speed of the motor based on the output result from the position control system and the speed that is the control result of the motor. The control system according to any one of claims 1 to 7.
9. A speed control step for controlling the speed of the motor, a friction compensation step for calculating a compensation amount for friction generated on the motor side, a first motor speed which is the speed as a control result of the motor driven based on the output results of the friction compensation step and the speed control step, and a second motor speed obtained by inputting a signal based on the output result of the speed control step into a canonical model, and a model error compensation step for outputting a compensation amount based on the difference therebetween, an arithmetic step for calculating a command for driving the motor based on the output results of the speed control step, the friction compensation step, and the model error compensation step, and a drive control step for performing drive control of the motor based on the command of the arithmetic step. A control method comprising:
10. A program for causing one or more processors to execute the control method according to claim 9.
Citation Information
Patent Citations
Motor controller, motor control method, program, and record medium
JP2017162412A
Motor control device and motor control method
JP2023051040A
Control-parameter adjusting device
WO2016203614A1