WO2023112082A1 - コントローラ、制御システム、学習装置および推論装置 - Google Patents

コントローラ、制御システム、学習装置および推論装置 Download PDF

Info

Publication number
WO2023112082A1
WO2023112082A1 PCT/JP2021/045769 JP2021045769W WO2023112082A1 WO 2023112082 A1 WO2023112082 A1 WO 2023112082A1 JP 2021045769 W JP2021045769 W JP 2021045769W WO 2023112082 A1 WO2023112082 A1 WO 2023112082A1
Authority
WO
WIPO (PCT)
Prior art keywords
motor
model
control
correction
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2021/045769
Other languages
English (en)
French (fr)
Inventor
孝輔 ▲辻▼川
良一 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to CN202180098399.XA priority Critical patent/CN117378139B/zh
Priority to PCT/JP2021/045769 priority patent/WO2023112082A1/ja
Priority to CN202411970148.8A priority patent/CN119766063A/zh
Priority to JP2022519601A priority patent/JP7106038B1/ja
Priority to DE112021007575.6T priority patent/DE112021007575T5/de
Publication of WO2023112082A1 publication Critical patent/WO2023112082A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
    • H02P29/028Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load the motor continuing operation despite the fault condition, e.g. eliminating, compensating for or remedying the fault
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/20Controlling the acceleration or deceleration
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/34Modelling or simulation for control purposes
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
    • H02P29/0241Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load the fault being an overvoltage
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
    • H02P29/027Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load the fault being an over-current
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/10Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors for preventing overspeed or under speed

Definitions

  • the present disclosure relates to a controller, control system, learning device, and reasoning device connected to a motor control device that controls the operation of a motor.
  • a servo motor control device that performs follow-up control.
  • a control device In general servomotor control, a control device is known that performs PID (Proportional Integral Differential) control so as to follow an externally input position command value and speed command value.
  • PID Proportional Integral Differential
  • the control input is limited for the purpose of protecting the servomotor. Therefore, a control device with a limited control input has a windup phenomenon that overshoots the output response when the control input is saturated when a movement command that exceeds the control input limit is given. Due to this, the position command, speed command, etc. cannot be followed, causing deterioration of control performance such as overshoot, and instability of the control system.
  • Patent Document 1 discloses that, as a measure against saturation with respect to the control input limit, the control input to a controlled object having a limit to the control input to the motor is predicted to be limited.
  • a technique for preventing saturation of control input is disclosed by correcting the positional deviation by using
  • a controller which is a host control device connected to a motor control device, generates a position command based on a program, such as a G-code program, that determines the path of the motor to be driven.
  • a program such as a G-code program
  • the motor control device corrects the position deviation, which is the difference between the position command input from the controller and the detected motor position, in order to prevent the windup phenomenon. are being implemented. Therefore, when the motor control device performs such correction, there is a problem that the object to be driven by the motor moves through a path different from the path assumed by the controller.
  • the present disclosure has been made in view of the above.
  • the purpose is to get the controller to update.
  • the present disclosure is a controller that outputs a position command to a motor control device that supplies current to a motor to control its operation.
  • the controller analyzes an operation program that defines the path of the object to be driven by the operation of the motor, and has a program analysis unit that outputs analysis data, and a machine model that calculates the acceleration that the motor can output.
  • a position command generator that generates a position command based on the machine model and updates the machine model when the control input to the motor exceeds a preset control input limit and saturates.
  • the controller of the present disclosure has the effect of being able to update the mechanical model used when generating the position command for the motor control device based on the saturation state while suppressing the deterioration of the control performance due to the saturation of the control input. Play.
  • FIG. 1 is a diagram showing a configuration example of a control system according to Embodiment 1;
  • FIG. FIG. 4 is a diagram showing a configuration example of a pre-correction position command calculation unit included in the controller according to the first embodiment;
  • FIG. 4 is a diagram showing an example of a movement amount before acceleration/deceleration processing by an acceleration/deceleration processing unit included in a pre-correction position command calculation unit of the controller according to Embodiment 1;
  • FIG. 5 is a diagram showing an example of a movement amount after acceleration/deceleration processing by an acceleration/deceleration processing unit included in a pre-correction position command calculation unit of the controller according to Embodiment 1;
  • FIG. 5 is a diagram showing an example of a motor characteristic model held by an acceleration/deceleration processing unit included in a pre-correction position command calculation unit of the controller according to Embodiment 1;
  • FIG. 4 is a diagram showing a configuration example of an acceleration correction calculation unit included in the controller according to Embodiment 1;
  • FIG. 5 is a diagram showing an example of a difference in movement amount when the acceleration correction calculation unit of the controller according to Embodiment 1 corrects the acceleration;
  • 3 is a flow chart showing an operation for suppressing deterioration of control performance due to saturation of control input in the controller according to the first embodiment;
  • FIG. 4 is a diagram showing an image of plotting, as motor characteristics, the motor torque calculated from the state quantity when the control saturation signal is ON in the acceleration/deceleration processing unit included in the pre-correction position command calculation unit of the controller according to the first embodiment; 4 is a flow chart showing the operation of updating the machine model in the controller according to the first embodiment based on the saturation state;
  • FIG. 3 is a diagram showing a configuration example of hardware that implements the controller according to the first embodiment;
  • FIG. 10 is a diagram showing a configuration example of a learning device applied to a controller according to Embodiment 4;
  • FIG. 14 is a diagram schematically showing an example of a neural network used in the model generation unit of the learning device according to Embodiment 4;
  • FIG. 11 is a diagram showing a configuration example of an inference device applied to a controller according to a fourth embodiment; Flowchart showing inference processing of the inference device according to the fourth embodiment FIG.
  • FIG. 11 is a diagram showing an example of a case where a learning device and an inference device are installed outside a controller in Embodiment 4;
  • FIG. 14 is a diagram showing an example of a case where a learning device and an inference device are installed inside a controller in Embodiment 4;
  • FIG. 1 is a diagram showing a configuration example of a control system 40 according to Embodiment 1.
  • the control system 40 includes a controller 10 and a motor control device 20 .
  • the controller 10 suppresses deterioration of control performance due to saturation of the control input, and updates the mechanical model used when generating the position command for the motor control device 20 based on the saturation state. characterized by Each feature will be described below. First, suppression of deterioration of control performance due to saturation of control input will be described.
  • saturation of the control input means exceeding a preset control input limit.
  • the controller 10 is a host control device connected to the motor control device 20. Controller 10 outputs a position command to motor control device 20 .
  • the motor control device 20 controls the operation of the motor 31 by supplying current to the motor 31 based on the position command.
  • An encoder 33 that detects the motor position of the motor 31 and a load 32 that is driven by the operation of the motor 31 are connected to the motor 31 .
  • Motor 31 and load 32 are collectively referred to as mechanical system 30 .
  • the mechanical system 30 includes a drive shaft that drives a load 32 that constitutes a machine tool or the like. In the following description, the drive shaft is simply referred to as shaft.
  • the controller 10 controls operations of a plurality of axes in a machine tool or the like
  • the motor 31 and the motor control device 20 are prepared for each axis.
  • the controller 10 targets one motor control device 20 and one mechanical system 30
  • the encoder 33 may be included in the mechanical system 30 as shown in FIG.
  • the motor control device 20 drives (operates) the motor 31 based on the corrected position command acquired from the controller 10 .
  • the motor control device 20 includes a position deviation calculator 21, a position controller 22, a speed calculator 23, a speed deviation calculator 24, a speed controller 25, and a current limiter 26. , and a current control unit 27 .
  • the position deviation calculation unit 21 calculates the position deviation between the corrected position command acquired from the controller 10 and the motor position of the motor 31 detected by the encoder 33 .
  • the position control section 22 generates a speed command for the motor 31 based on the position deviation calculated by the position deviation calculation section 21 .
  • the speed calculator 23 calculates the speed of the motor 31 by differentiating the motor position of the motor 31 detected by the encoder 33 .
  • a speed deviation calculator 24 calculates a speed deviation between the speed command generated by the position controller 22 and the speed of the motor 31 calculated by the speed calculator 23 .
  • the speed controller 25 generates a current command for the motor 31 based on the speed deviation calculated by the speed deviation calculator 24 .
  • the current limiting unit 26 limits the current command generated by the speed control unit 25 to a motor maximum current Imax or less specified to protect the motor 31, and outputs a post-limiting current command. .
  • the current limiting unit 26 limits the current command when the current command is equal to or greater than the maximum motor current Imax, and when the current command is less than the maximum motor current Imax, the current command is left as it is without limiting the current.
  • the current control unit 27 generates and outputs a motor current I to the motor 31 based on the post-limiting current command and the motor current I fed back.
  • the controller 10 includes a program analysis section 11 , pre-correction position command calculation section 12 , acceleration correction calculation section 13 , and position command calculation section 14 .
  • the pre-correction position command calculator 12 , the acceleration correction calculator 13 , and the position command calculator 14 constitute a position command generator 15 .
  • the program analysis unit 11 analyzes an operation program input from the outside, and outputs analysis results as analysis data.
  • the operating program is composed of a plurality of instruction blocks.
  • the operation program is, for example, a program that defines the path of operation of the load 32 that is driven by the operation of the motor 31 .
  • a motion path of the load 32 defined by the motion program is referred to as a command path.
  • the analysis data is information necessary for movement of each axis, such as movement amount of each axis for each command block, command feed speed, and command information.
  • the command information is, for example, a G code.
  • the position command generator 15 has a machine model for calculating the acceleration that the motor 31 can output, and generates a position command based on the analysis data and the machine model. Further, the position command generator 15 updates the machine model when the control input to the motor 31 exceeds a preset control input limit and saturates.
  • the operation of the position command generator 15 will be described in detail below as the operations of the pre-correction position command calculator 12, the acceleration correction calculator 13, and the position command calculator 14. FIG.
  • the pre-correction position command calculation unit 12 has a machine model for calculating the acceleration that the motor 31 can output, and calculates the pre-correction position command based on the analysis data and the machine model. Specifically, the pre-correction position command calculation unit 12 generates interpolation data based on the analysis data acquired from the program analysis unit 11, and generates a pre-correction position command for accelerating and decelerating the motor 31 based on the interpolation data. to generate FIG. 2 is a diagram showing a configuration example of the pre-correction position command calculator 12 included in the controller 10 according to the first embodiment.
  • the pre-correction position command calculation unit 12 includes an interpolation data generation unit 121 and an acceleration/deceleration processing unit 122 .
  • the interpolation data generation unit 121 generates interpolation data based on the analysis data acquired from the program analysis unit 11.
  • the interpolation data includes information used to generate speed calculation values such as a target speed in addition to data representing the amount of movement for one control cycle.
  • the acceleration/deceleration processing unit 122 receives the interpolated data obtained from the interpolated data generation unit 121 and the state quantity described later, performs acceleration/deceleration processing using the mechanical model 123, and performs acceleration/deceleration processing within the range of torque that the motor 31 can output.
  • a pre-correction position command is calculated by integrating the amount of movement for one control cycle for each axis for acceleration/deceleration driving.
  • the machine model 123 includes a motor characteristic model 124 that indicates torque-speed characteristics that the motor 31 can output, and a load model 125 that includes information on the load 32 to be driven.
  • FIG. 3 is a diagram showing an example of the amount of movement before acceleration/deceleration processing by the acceleration/deceleration processing unit 122 included in the pre-correction position command calculation unit 12 of the controller 10 according to the first embodiment.
  • FIG. 4 is a diagram showing an example of a movement amount after acceleration/deceleration processing by the acceleration/deceleration processing unit 122 included in the pre-correction position command calculation unit 12 of the controller 10 according to the first embodiment.
  • the horizontal axis indicates time
  • the vertical axis indicates the amount of movement.
  • the amount of movement corresponds to the amount of change in the position command for one control cycle, and corresponds to the speed command.
  • FIG. 3 corresponds to interpolation data
  • the amount of movement after the acceleration/deceleration processing by the acceleration/deceleration processing unit 122 is greater than the movement amount before the acceleration/deceleration processing shown in FIG. Because the amount is smaller, it takes longer to move the required amount of movement.
  • FIG. 5 is a diagram showing an example of the motor characteristic model 124 held by the acceleration/deceleration processing unit 122 included in the pre-correction position command calculation unit 12 of the controller 10 according to the first embodiment.
  • the torque that the motor 31 can output, that is, the maximum output torque Tmax is the smaller of the reduced torque Tr determined from The thick line shown in FIG. 5 is the maximum output torque Tmax.
  • the maximum torque Tmax0 becomes the maximum output torque Tmax, and the voltage command applied to the motor 31, which is the control input. is limited, the reduced torque Tr becomes the maximum output torque Tmax.
  • torque saturation the case where the current command, which is the control input, is limited because it exceeds the control input limit
  • voltage saturation the case where the voltage command applied to the motor 31, which is the control input, is limited because it exceeds the control input limit.
  • the load model 125 included in the mechanical model 123 held by the acceleration/deceleration processing unit 122 includes information such as load inertia J, workpiece information, friction torque T1, and unbalanced load torque T2.
  • the work information includes, for example, information such as the weight of the work and the shape of the work.
  • a work is an object to be machined by a machine tool when the controller 10 controls the operation of the machine tool.
  • the acceleration/deceleration processing unit 122 calculates the pre-correction position command.
  • the motor torque Tm can be calculated from the output torque Tout acting on the load 32 and the disturbance torque Td acting as a disturbance, as shown in Equation (1).
  • Tm is motor torque [Nm]
  • Tout is output torque [Nm]
  • Td disturbance torque [Nm].
  • the disturbance torque Td here can be calculated from the friction torque T1 and the unbalanced load torque T2 as shown in Equation (2).
  • T1 friction torque [Nm] and T2 is unbalanced load torque [Nm].
  • the angular acceleration ⁇ can be calculated from the output torque Tout and the load inertia J as shown in Equation (3).
  • Equation (3) J is the load inertia [kg/m 2 ], which is the moment of inertia. That is, on the premise that the information possessed by the mechanical model 123 matches the object to be driven, the acceleration/deceleration processing unit 122 controls the motor characteristic model 124 and the load model 125 so that the motor torque Tm is equal to or less than the maximum output torque Tmax. If the angular acceleration ⁇ is determined on the basis of , it is possible to calculate a position command before correction that does not cause saturation of the control input.
  • the acceleration correction calculation unit 13 determines whether or not the control input to the motor 31 is saturated. When it is determined that the control input is saturated, the control saturation signal is turned ON and output, and the control input is saturated. If it is determined that it is not, the control saturation signal is turned off and output. Further, the acceleration correction calculation unit 13 calculates a position command correction value for correcting the pre-correction position command based on the control saturation signal. Specifically, the acceleration correction calculation unit 13 uses the pre-correction position command obtained from the pre-correction position command calculation unit 12 and the motor position obtained from the encoder 33 to generate a position command for correcting the pre-correction position command. Calculate the correction value. FIG.
  • the acceleration correction calculation section 13 includes a model output section 131 , a model position deviation calculation section 133 , a comparison section 134 and a position command correction value calculation section 135 .
  • a model output unit 131 receives as input the pre-correction position command calculated by the pre-correction position command calculation unit 12, and generates a model of the motor 31 using a motor control model 132 including a position control unit, a speed control unit, a current control unit, and the like. Calculate the position.
  • the motor control model 132 simulates the motor control device 20, and outputs the motor position as the model position when the motor 31 is controlled without saturation of the control input.
  • the portion corresponding to the mechanical system represented by the motor, load, and encoder is a model corresponding to the motor characteristic model 124 of the mechanical model 123 shown in FIG.
  • the model position deviation between the model position calculated by the model position deviation calculator 133 described later and the motor position is zero.
  • the model position and the motor position diverge, so the position droop, which is the deviation between the pre-correction position command and the motor position, expands, and the model position deviation also expands. . Therefore, the acceleration correction calculation unit 13 can determine the saturation of the control input by monitoring the model position deviation. Further, as described above, the saturation of the control input is mainly due to torque saturation or voltage saturation. Therefore, by reducing the motor acceleration, the motor torque Tm can be reduced, and the saturation of the control input can be eliminated.
  • the model output unit 131 may acquire the information of the motor characteristic model 124 from the pre-correction position command calculation unit 12 as the information of the model corresponding to the motor characteristic model 124.
  • the unit 12 updates the motor characteristic model 124 information on the updated motor characteristic model 124 may be acquired.
  • the model position deviation calculation unit 133 calculates the deviation between the model position calculated by the model output unit 131 and the motor position of the motor 31 detected by the encoder 33, and outputs it as a model position deviation.
  • the comparison unit 134 compares the model position deviation calculated by the model position deviation calculation unit 133 with a prescribed threshold value, and if the model position deviation is equal to or greater than the threshold value, determines that the control input has been saturated for some reason, and controls saturation. Output the signal as ON. On the other hand, when the model position deviation is less than the threshold value, the comparison unit 134 determines that saturation of the control input has not occurred, and outputs the control saturation signal as OFF.
  • the threshold used in the comparison unit 134 may be a fixed value or a variable value. In the case of a fixed value, it is set in advance by the manufacturer or user of the controller 10 .
  • a variable value for example, a value obtained by multiplying the position deviation between the pre-correction position command calculated in the motor control model 132 shown in FIG. 6 and the model position by a specified coefficient may be used as the threshold value.
  • the threshold used by the comparison unit 134 is an example of control input limitation.
  • the position command correction value calculation unit 135 corrects the position command based on the control saturation signal obtained from the comparison unit 134, the motor position obtained from the encoder 33, and the pre-correction position command obtained from the pre-correction position command calculation unit 12. Calculate values. Specifically, when the control saturation signal is turned ON, the position command correction value calculation unit 135 reduces the post-correction command acceleration that is the post-correction acceleration, that is, the amount of change in the post-correction position command for one control cycle. Then, it calculates and outputs a position command correction value for correcting the pre-correction position command.
  • the position command correction value calculation unit 135 may correct the post-correction command acceleration to 0, or may correct it to decrease stepwise with a time constant. In either case, the aforementioned model position deviation acts to decrease rather than increase.
  • the comparison unit 134 determines that the saturation of the control input has been canceled and outputs the control saturation signal. Output as OFF. In this case, when the control saturation signal is turned OFF, the position command correction value calculation unit 135 calculates and outputs a position command correction value that increases the post-correction command acceleration compared to when the control saturation signal is ON. do.
  • the position command correction value calculation unit 135 controls the position command correction value so that the command acceleration after correction becomes 0 when the control saturation signal is ON, and controls the command acceleration after correction when the control saturation signal is OFF.
  • the position command correction value is controlled so that the acceleration is equivalent to the pre-correction command acceleration, which is the pre-correction acceleration.
  • FIG. 7 is a diagram showing an example of the difference in movement amount when the acceleration correction calculation unit 13 of the controller 10 according to Embodiment 1 corrects the acceleration.
  • the horizontal axis indicates time
  • the vertical axis indicates the amount of movement.
  • the horizontal axis indicates the ON/OFF timing of the control saturation signal.
  • the acceleration correction calculation unit 13 when a pre-correction position command that causes the motor 31 to accelerate beyond the maximum output torque Tmax is input, the motor torque Tm becomes too small with respect to the required torque, that is, the acceleration. Saturation occurs. At this time, the maximum output torque Tmax is output when the control input is saturated. Since the model position deviation increases when the control input is saturated, the acceleration correction calculation unit 13 turns on the control saturation signal. The acceleration correction calculation unit 13 corrects the position command correction value so that the post-correction command acceleration, which is the post-correction acceleration, becomes zero. Therefore, the saturation of the control input is gradually eliminated and the model position deviation is reduced.
  • the acceleration correction calculation unit 13 turns off the control saturation signal when the model position deviation becomes equal to or less than the threshold value, and controls the position command correction value so as to return to the original acceleration. Under such control, the acceleration correction calculation unit 13 controls the model position deviation to be around the threshold during acceleration and deceleration, and the control saturation signal repeats ON/OFF. Therefore, the controller 10 can accelerate and decelerate at the maximum output torque Tmax while suppressing deterioration of control performance such as overshoot due to a windup phenomenon caused by excessive control saturation.
  • the acceleration correction calculation unit 13 generates the model position when the motor control device 20 controls the motor 31 based on the pre-correction position command, and calculates the deviation between the model position and the detected motor position of the motor 31. is equal to or greater than a specified threshold value, it is determined that the control input has been saturated, and a control saturation signal is turned ON and output. When the model position deviation is less than the threshold value, the acceleration correction calculation unit 13 determines that the control input is not saturated, and outputs the control saturation signal as OFF.
  • the acceleration correction calculation unit 13 When the control saturation signal is turned ON and output, the acceleration correction calculation unit 13 outputs a position command correction value for correcting the pre-correction position command so that the post-correction command acceleration decreases. After that, when the control saturation signal is turned off and output, the acceleration correction calculation unit 13 changes the position command correction value so as to increase from the post-correction command acceleration when the control saturation signal is turned on and output.
  • the position command calculation unit 14 uses the pre-correction position command obtained from the pre-correction position command calculation unit 12 and the position command correction value obtained from the acceleration correction calculation unit 13 to generate a post-correction position command for the motor control device 20 .
  • a position command is calculated and output to the motor control device 20 .
  • the position command calculation unit 14 calculates a post-correction position command by correcting the pre-correction position command using the position command correction value.
  • the controller 10 can suppress deterioration of control performance due to saturation of the control input while maintaining the path to be driven by the motor 31 without adding any special processing to the motor control device 20. .
  • FIG. 8 is a flowchart showing an operation of suppressing deterioration of control performance due to saturation of control input in the controller 10 according to the first embodiment.
  • the program analysis unit 11 analyzes the operation program (step S1) and outputs analysis data.
  • the interpolation data generator 121 of the pre-correction position command calculator 12 generates interpolation data from the analysis data (step S2).
  • the acceleration/deceleration processing unit 122 of the pre-correction position command calculation unit 12 receives the interpolation data and the state quantity, performs acceleration/deceleration processing using the mechanical model 123, and calculates a pre-correction position command (step S3).
  • the comparison unit 134 of the acceleration correction calculation unit 13 compares the model position deviation calculated by the model position deviation calculation unit 133 with a specified threshold, and determines whether or not the control input is saturated (step S4).
  • the comparison unit 134 outputs the control saturation signal ON or OFF according to the determination result (step S5).
  • the position command correction value calculator 135 of the acceleration correction calculator 13 calculates a position command correction value based on the control saturation signal, the motor position, and the pre-correction position command (step S6).
  • the position command calculator 14 calculates a post-correction position command using the pre-correction position command and the position command correction value (step S7).
  • the position command calculator 14 outputs the corrected position command as a position command to the motor control device 20 .
  • State quantities input to the machine model 123 are motor position, machine end position, motor speed, machine end speed, motor acceleration, machine end acceleration, motor current I, torque information, model position, load inertia estimated value, supply at least one of the voltages.
  • the motor position and the machine-end position are collectively referred to as position information
  • the motor speed and machine-end speed are collectively referred to as speed information
  • the motor acceleration and machine-end acceleration are collectively referred to as acceleration information.
  • the machine end is a defined portion of the mechanical system 30 to be driven by the motor control device 20 when all or part of the load 32 moves due to the rotation of the motor 31 . Any method of estimating the load inertia estimated value can be adopted as long as it is estimated during execution of the operation program.
  • state quantities may be data calculated by the motor control device 20 or the acceleration correction calculation unit 13, or may be data obtained by being measured by an external sensor (not shown) included in the motor control device 20.
  • the acceleration/deceleration processing unit 122 generates a motor characteristic model 124 and a load control unit 124 according to the control saturation signal obtained from the acceleration correction calculation unit 13 and the state quantity obtained from at least one of the motor control device 20 and the acceleration correction calculation unit 13 .
  • the torque output by the motor 31 can be calculated from the motor current I, which is a state quantity, and a torque constant preset according to the motor 31, as shown in Equation (4).
  • FIG. 9 plots the motor torque Tm calculated from the state quantity when the control saturation signal is ON in the acceleration/deceleration processing unit 122 provided in the pre-correction position command calculation unit 12 of the controller 10 according to the first embodiment as a motor characteristic. It is a figure which shows an image. Although it has been explained that the saturation of the control input is mainly torque saturation or voltage saturation, it can be determined from the state quantity as follows. In the determination, a motor current threshold value Ith that is slightly smaller than the motor maximum current Imax corresponding to the output maximum torque Tmax from equation (4) is used in consideration of variations.
  • Acceleration/deceleration processing unit 122 determines torque saturation when motor current I ⁇ motor current threshold Ith when the control saturation signal is ON, and determines torque saturation when motor current I ⁇ motor current threshold Ith when the control saturation signal is ON. can be determined as voltage saturation. Torque saturation can be considered as commanded motor torque Tm ⁇ maximum torque Tmax0. On the other hand, voltage saturation occurs when the commanded motor torque Tm ⁇ maximum torque Tmax0 under the condition that the control input is saturated.
  • the acceleration/deceleration processing unit 122 determines that the torque is saturated, it can be considered that there is a difference in the load inertia J, the friction torque T1, or the unbalanced load torque T2 from the above-described formulas (1) to (3). be done. Therefore, the acceleration/deceleration processing unit 122 can update the load inertia J, the friction torque T1, or the unbalanced load torque T2 of the load model 125 based on the state quantity.
  • the acceleration/deceleration processing unit 122 may determine the information of the load model 125 to be updated according to the workpiece information. Further, the acceleration/deceleration processing unit 122 may be updated based on the load inertia estimated value as the state quantity.
  • the acceleration/deceleration processing unit 122 determines that the voltage is saturated, it is considered that there is a difference in the reduction torque Tr. Since the reduction torque Tr changes depending on the voltage that can be applied to the motor 31, that is, the supply voltage, the acceleration/deceleration processing unit 122 uses data linked to the motor speed and the supply voltage as state quantities, and uses the reduction torque Tr in the motor characteristic model 124 as data linked to the motor speed and supply voltage. Tr can be updated.
  • the pre-correction position command calculation unit 12 when the obtained control saturation signal is ON, indicates the operating state of at least one of the controller 10, the motor control device 20, and the motor 31 when the control saturation signal is ON.
  • the machine model 123 is updated based on the state quantity.
  • the pre-correction position command calculation unit 12 also has a motor characteristic model 124 and a load model 125 as the mechanical model 123 . If the acquired control saturation signal is ON and the motor current I is equal to or greater than the motor current threshold value Ith, which is a prescribed value, the pre-correction position command calculation unit 12 calculates a value based on the state quantity when the control saturation signal is ON. Update the load model 125.
  • the pre-correction position command calculation unit 12 calculates the value based on the state quantity when the control saturation signal is ON. Update the motor characteristic model 124 . That is, the position command generator 15 has a mechanical model 123 that calculates the acceleration that the motor 31 can output, generates a position command based on the analysis data and the mechanical model 123, and controls input to the motor 31 in advance. When the control input limit is exceeded and saturated, the machine model 123 is updated. Further, the position command generator 15 determines whether or not the control input to the motor 31 is saturated (step S4). and motor 31, the machine model 123 is updated based on the state quantity indicating the operating state of at least one of them.
  • the acceleration/deceleration processing unit 122 may update the mechanical model 123 even when the control saturation signal is OFF. For example, the acceleration/deceleration processing unit 122 compares the motor torque Tm as a model associated with the movement command calculated from the machine model 123 and the motor torque Tm calculated from the motor current I to define a torque deviation. If it is greater than or equal to the value, it can be determined that the load model 125 has an error. In this case, as in the case of torque saturation, it is considered that a difference occurs in load inertia J, friction torque T1, or unbalanced load torque T2.
  • the acceleration/deceleration processing unit 122 can update the load inertia J, the friction torque T1, or the unbalanced load torque T2 of the load model 125 based on the state quantity.
  • the acceleration/deceleration processing unit 122 may determine the information of the load model 125 to be updated according to the workpiece information. Further, the acceleration/deceleration processing unit 122 may be updated based on the load inertia estimated value as the state quantity.
  • the pre-correction position command calculation unit 12 determines that the acquired control saturation signal is OFF and the difference between the motor torque Tm calculated from the mechanical model 123 and the motor torque Tm calculated from the motor current I is If the torque deviation is greater than or equal to a specified value, the machine model 123 is updated based on the state quantity. Specifically, the pre-correction position command calculation unit 12 has a motor characteristic model 124 and a load model 125 as the machine model 123 and updates the load model 125 as the machine model 123 .
  • the controller 10 always optimizes the mechanical model 123 according to the actual state of the mechanical system 30 by updating the mechanical model 123 based on the state quantity when the control input is saturated. can be done.
  • the controller 10 uses the updated machine model 123 not only for generating a position command, but also for other applications using the machine model 123, such as operation time prediction, path prediction, and machining prediction based on a program. may
  • FIG. 10 is a flow chart showing the operation of updating the machine model 123 in the controller 10 according to Embodiment 1 based on the saturation state.
  • the acceleration/deceleration processing unit 122 of the pre-correction position command calculation unit 12 acquires the control saturation signal and the state quantity (step S11).
  • the acceleration/deceleration processing unit 122 determines whether or not the control saturation signal is ON (step S12). If the control saturation signal is ON (step S12: Yes), the acceleration/deceleration processing unit 122 updates the machine model 123 (step S13).
  • step S14 determines whether or not the torque deviation is equal to or greater than a specified value. If the torque deviation is greater than or equal to the prescribed value (step S14: Yes), the acceleration/deceleration processing unit 122 updates the machine model 123 (step S13). If the torque deviation is less than the specified value (step S14: No), the acceleration/deceleration processing section 122 terminates its operation.
  • FIG. 11 is a diagram showing a configuration example of hardware that implements the controller 10 according to the first embodiment.
  • FIG. 11 shows a case where the program analysis unit 11, pre-correction position command calculation unit 12, acceleration correction calculation unit 13, and position command calculation unit 14 of the controller 10 are realized by a processing circuit 61 having a processor 63 and a memory 64. shows a configuration example.
  • the processor 63 is a CPU (Central Processing Unit).
  • the processor 63 may be an arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor).
  • the memory 64 is, for example, a volatile or It is a non-volatile semiconductor memory.
  • the memory 64 stores programs for operating as the program analysis unit 11, the pre-correction position command calculation unit 12, the acceleration correction calculation unit 13, and the position command calculation unit 14.
  • the program analysis unit 11, the pre-correction position command calculation unit 12, the acceleration correction calculation unit 13, and the position command calculation unit 14 can be realized.
  • the programs stored in the memory 64 for operating as the program analysis unit 11, the pre-correction position command calculation unit 12, the acceleration correction calculation unit 13, and the position command calculation unit 14 are, for example, CD (Compact Disc)- It may be provided to a user or the like while being written in a storage medium such as a ROM or DVD (Digital Versatile Disc)-ROM, or may be provided via a network.
  • the processor 63 outputs data such as calculation results to the volatile memory of the memory 64 .
  • the processor 63 saves the data by outputting the data such as the calculation result to the auxiliary storage device via the volatile memory of the memory 64 .
  • the input unit 62 is a circuit that receives an input signal to the controller 10 from the outside.
  • the input unit 62 receives, for example, an operation program, motor position, state quantity, and the like.
  • the output unit 65 is a circuit that outputs the signal generated by the controller 10 to the outside.
  • the output unit 65 outputs, for example, a post-correction position command.
  • FIG. 11 shows an example of hardware when the program analysis section 11, pre-correction position command calculation section 12, acceleration correction calculation section 13, and position command calculation section 14 are realized by a general-purpose processor 63 and memory 64.
  • the program analysis unit 11, pre-correction position command calculation unit 12, acceleration correction calculation unit 13, and position command calculation unit 14 may be realized by dedicated processing circuits. That is, the program analysis unit 11, pre-correction position command calculation unit 12, acceleration correction calculation unit 13, and position command calculation unit 14 may be realized by dedicated processing circuits.
  • the dedicated processing circuit is a single circuit, a composite circuit, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a circuit combining these.
  • Part of the program analysis unit 11, the pre-correction position command calculation unit 12, the acceleration correction calculation unit 13, and the position command calculation unit 14 is realized by the processor 63 and the memory 64, and the rest is realized by a dedicated processing circuit. good too.
  • the controller 10 suppresses deterioration of the control performance while maintaining the path of the object to be driven by the motor 31, and performs an optimum control according to the actual state of the mechanical system 30.
  • machine model 123 can be updated.
  • the controller 10 can operate the motor 31 with the optimum acceleration or time constant by determining the position command based on the machine model 123, and the motor 31 can always output without having an extra torque margin.
  • the cycle time can be shortened because acceleration and deceleration operations can be performed with a small maximum torque.
  • even when the controller 10 predicts motion in advance based on the motion program it is possible to obtain good results with little error by using the updated machine model 123 .
  • Embodiment 2 In the first embodiment, the case where one motor control device 20 is connected to the controller 10 has been described. Here, some controllers, which are host control devices, can control a plurality of motors at the same time. However, when the controller interpolates and controls a plurality of motors at the same time, if the correction is performed individually, the motors cannot be interpolated. Embodiment 2 describes a case where there are a plurality of motor control devices connected to a controller, and the controller controls a plurality of motors at the same time.
  • FIG. 12 is a diagram showing a configuration example of the control system 40a according to the second embodiment.
  • the control system 40a includes a controller 10a and motor control devices 20a and 20b.
  • the controller 10a is a host control device connected to the motor control devices 20a and 20b.
  • a mechanical system 30a is connected to the motor control device 20a, and a mechanical system 30b is connected to the motor control device 20b.
  • the motor control device 20a includes a position deviation calculator 21a, a position controller 22a, a speed calculator 23a, a speed deviation calculator 24a, a speed controller 25a, and a current limiter 26a. , and a current control unit 27a.
  • the motor control device 20b includes a position deviation calculator 21b, a position controller 22b, a speed calculator 23b, a speed deviation calculator 24b, a speed controller 25b, a current limiter 26b, and a current controller 27b.
  • the mechanical system 30a includes a motor 31a, a load 32a, and an encoder 33a.
  • the mechanical system 30b also includes a motor 31b, a load 32b, and an encoder 33b. Since the motor control devices 20a and 20b have the same configuration as the motor control device 20 of the first embodiment, detailed description thereof will be omitted. Since the mechanical systems 30a and 30b have the same configuration as the mechanical system 30 of the first embodiment, detailed description thereof will be omitted.
  • the controller 10a includes a program analysis section 11, a pre-correction position command calculation section 12a, an acceleration correction calculation section 13a, and position command calculation sections 14a and 14b.
  • the pre-correction position command calculator 12a, the acceleration correction calculator 13a, and the position command calculators 14a and 14b constitute a position command generator 15a.
  • the program analysis unit 11 performs the same operation as the program analysis unit 11 of Embodiment 1 shown in FIG.
  • the pre-correction position command calculation unit 12a generates interpolation data based on the analysis data acquired from the program analysis unit 11, and generates pre-correction position commands a and b for accelerating and decelerating the motors 31a and 31b based on the interpolation data. to calculate The pre-correction position command calculator 12a calculates pre-correction position commands a and b for the two motors 31a and 31b. The operation is the same as that of the pre-correction position command calculator 12 of the first embodiment shown in FIGS. Therefore, a detailed description of the operation of the pre-correction position command calculator 12a is omitted.
  • the acceleration correction calculation unit 13a uses the pre-correction position commands a and b obtained from the pre-correction position command calculation unit 12a, the motor position a obtained from the encoder 33a, and the motor position b obtained from the encoder 33b to calculate the pre-correction position A position command correction value a for correcting the command a is calculated, and a position command correction value b for correcting the pre-correction position command b is calculated.
  • FIG. 13 is a diagram showing a configuration example of the acceleration correction calculation section 13a included in the controller 10a according to the second embodiment.
  • the acceleration correction calculation unit 13a includes model output units 131a and 131b, model position deviation calculation units 133a and 133b, comparison units 134a and 134b, and a position command correction value calculation unit 135a.
  • the model output unit 131a holds a motor control model 132a.
  • the model output unit 131b holds a motor control model 132b.
  • the operations of the model output units 131a and 131b, the model position deviation calculation units 133a and 133b, and the comparison units 134a and 134b are similar to those of the model output unit 131, the model position deviation calculation unit 133, and the comparison units of the first embodiment shown in FIG. 134, detailed description thereof will be omitted.
  • the position command correction value calculation unit 135a calculates position command correction values a and b for the pre-correction position commands a and b. At this time, the position command correction value calculation section 135a calculates the position command correction values a and b by ORing the control saturation signals a and b output from the comparison sections 134a and 134b. The position command correction value calculation unit 135a calculates 1 of the post-correction position commands a and b for all the motors 31a and 31b when there is saturation of the control input in at least one of the plurality of motors 31a and 31b. Position command correction values a and b for correcting the pre-correction position commands a and b are calculated and output so that the amount of change for each control cycle is reduced.
  • the configuration corresponding to the position command correction value calculation unit 135a takes the logical sum of three or more control saturation signals, thereby realizing the same control as in the present embodiment.
  • the controller 10a is connected to a plurality of motor controllers 20a, 20b that supply current to different motors 31a, 31b to control their operation, and the plurality of motors 31a, 31b are interpolated.
  • the acceleration correction calculation unit 13a turns ON the control saturation signal for one of the motors 31a and 31b and outputs it, the corrected command acceleration, which is the corrected acceleration, is obtained while maintaining the interpolating operation between the motors 31a and 31b.
  • Position command correction values for a plurality of motors 31a and 31b that perform interpolation operations are output so as to decrease.
  • the acceleration correction calculation unit 13a turns ON the control saturation signals while maintaining the interpolating operation of the motors 31a and 31b.
  • the position command correction values for the plurality of motors 31a and 31b that perform interpolation operations are changed so as to increase from the post-correction command acceleration at the time of output.
  • the hardware configuration of the controller 10a of the second embodiment is the same as the hardware configuration of the controller 10 of the first embodiment shown in FIG.
  • the controller 10a is connected to the plurality of motor control devices 20a and 20b, and even when the plurality of motors 31a and 31b perform interpolation operations, the motors 31a and 31b It is possible to suppress the deterioration of the control performance due to the saturation of the control input while maintaining the path of the driven object, and obtain the same effect as in the first embodiment.
  • Embodiment 3 In the third embodiment, a case will be described in which the motor control device outputs a current limit signal indicating that the current is being limited when the current is being limited in response to the current command.
  • FIG. 14 is a diagram showing a configuration example of a control system 40c according to the third embodiment.
  • the control system 40c includes a controller 10c and a motor control device 20c.
  • the controller 10c is a host control device connected to the motor control device 20c.
  • a mechanical system 30 is connected to the motor control device 20c.
  • the motor control device 20c includes a position deviation calculator 21, a position controller 22, a speed calculator 23, a speed deviation calculator 24, a speed controller 25, and a current limiter 26c. , and a current control unit 27 .
  • the current limiting section 26c has the same function as the current limiting section 26 of the first embodiment shown in FIG. It has the function to Controlled saturation can be considered during current limiting.
  • the current limiter 26c turns ON the current limit signal and outputs it when the current limit is performed, and turns OFF the current limit signal when the current limit is not performed.
  • the controller 10c includes a program analysis unit 11, a pre-correction position command calculation unit 12c, an acceleration correction calculation unit 13c, and a position command calculation unit 14.
  • the pre-correction position command calculator 12c, the acceleration correction calculator 13c, and the position command calculator 14 constitute a position command generator 15c.
  • FIG. 15 is a diagram showing a configuration example of the acceleration correction calculation section 13c included in the controller 10c according to the third embodiment.
  • the acceleration correction calculation unit 13c includes a model output unit 131, a model position deviation calculation unit 133, a comparison unit 134, a position command correction value calculation unit 135c, and a logical sum calculation unit 136.
  • the logical sum calculation unit 136 calculates the logical sum of the control saturation signal obtained from the comparison unit 134 and the current limiting signal obtained from the current limiting unit 26c of the motor control device 20c.
  • the OR operation unit 136 turns ON the control saturation signal c when at least one of the control saturation signal and the current limit signal is ON, and outputs the control saturation signal c when both the control saturation signal and the current limit signal are OFF. is turned off.
  • the position command correction value calculation unit 135c acquires a different signal from the position command correction value calculation unit 135 of the first embodiment. The operation is the same as that of the correction value calculation unit 135 .
  • the acceleration correction calculation unit 13c acquires the current limit signal indicating whether or not the current command, which is the control input to the motor 31 from the motor control device 20c, is equal to or greater than a specified value, and the current command is determined.
  • the control saturation signal c is turned ON and output.
  • the acceleration correction calculation unit 13c acquires a current limit signal indicating that the current command is less than a specified value and when the model position deviation is less than a specified threshold value, the acceleration correction calculation unit 13c turns off the control saturation signal c and outputs it. .
  • the pre-correction position command calculation unit 12c acquires a different signal from the pre-correction position command calculation unit 12 of the first embodiment. The operation is the same as that of the position command calculation unit 12 .
  • the hardware configuration of the controller 10c of the third embodiment is the same as the hardware configuration of the controller 10 of the first embodiment shown in FIG.
  • the controller 10c uses the current limit signal to determine control saturation.
  • the controller 10c can detect the saturation of the control input earlier than the control saturation signal turns ON due to the expansion of the model position deviation under the torque saturation condition.
  • Embodiment 4 a learning device and an inference device that machine-learn the machine model 123 will be described.
  • the mechanical model 123 here is composed of a motor characteristic model 124 and a load model 125.
  • the acceleration/deceleration processing unit 122 mainly shown in FIG. It is used to calculate a pre-correction position command for acceleration/deceleration driving.
  • the motor characteristic model 124 is mainly a torque-speed characteristic, and is used to calculate the torque that can be output according to the supply voltage, operating speed, and the like.
  • the load model 125 is used to calculate the load inertia J for the motor 31 mainly from work information, friction torque T1, unbalanced load torque T2, and other information.
  • FIG. 16 is a diagram showing a configuration example of a learning device 70 applied to the controller 10 according to the fourth embodiment.
  • the learning device 70 includes a data acquisition unit 71 , a model generation unit 72 , and a learned model storage unit 73 .
  • the model is a machine model 123 mainly in the acceleration/deceleration processing unit 122 shown in FIG. be.
  • the learned model storage unit 73 is outside the learning device 70 in FIG. 16 , the learned model storage unit 73 may be included inside the learning device 70 .
  • the data acquisition unit 71 acquires the acquired information and the machine state as learning data from the controller 10 .
  • the acquired information includes the control saturation signal of the control input, the state quantity indicating the operating state of at least one of the controller 10, the motor control device 20, and the motor 31, program information, and workpiece information.
  • the machine state includes motor characteristics, load inertia J, friction torque T1, and unbalanced load torque T2.
  • the model generating unit 72 learns the obtained information using the obtained information output from the data obtaining unit 71 and the learning data created based on the combination of the machine states that are the teacher data. That is, the model generator 72 generates a learned model for inferring the optimum load model 125 included in the machine model 123 from the acquired information of the controller 10 and the machine state.
  • the learning data is data in which the obtained information and the machine state are associated with each other.
  • the learning algorithm used by the model generation unit 72 can use known algorithms such as supervised learning, unsupervised learning, and reinforcement learning. As an example, a case where a neural network is applied will be described.
  • the model generator 72 learns the machine model 123 by so-called supervised learning, for example, according to the neural network model.
  • supervised learning refers to a method of inferring a result from an input by giving a set of input and result (label) data to the learning device 70 to learn features in the learning data.
  • a neural network consists of an input layer consisting of multiple neurons, an intermediate layer (hidden layer) consisting of multiple neurons, and an output layer consisting of multiple neurons.
  • the intermediate layer may be one layer, or two or more layers.
  • FIG. 17 is a diagram schematically showing an example of a neural network used in model generation section 72 of learning device 70 according to the fourth embodiment.
  • the neural network learns the machine model 123 by so-called supervised learning according to learning data created based on a combination of the acquired information acquired by the data acquisition unit 71 and the teacher data.
  • the neural network learns by adjusting the weights W1 and W2 so that the obtained information is input to the input layer and the result output from the output layer approaches the teacher data.
  • the model generation unit 72 generates and outputs a learned model by executing the above learning.
  • the learned model storage unit 73 stores the learned model output from the model generation unit 72.
  • FIG. 18 is a flow chart showing learning processing of the learning device 70 according to the fourth embodiment.
  • the data acquisition unit 71 acquires the acquired information and the machine state as data (step S101). Although the data acquisition unit 71 acquires the acquired information and the machine state at the same time, the present invention is not limited to this. Since the data acquisition unit 71 only needs to input the acquired information and the machine state in association with each other, the acquired information and the machine state may be acquired at different timings.
  • the model generation unit 72 performs learning processing (step S102). Specifically, the model generation unit 72 learns the machine model 123 by so-called supervised learning according to learning data created based on a combination of the acquired information acquired by the data acquisition unit 71 and the machine state. Generate a finished model.
  • the learned model storage unit 73 stores the learned model generated by the model generation unit 72 (step S103).
  • FIG. 19 is a diagram showing a configuration example of an inference device 80 applied to the controller 10 according to the fourth embodiment.
  • the inference device 80 includes a data acquisition unit 81 and an inference unit 82 .
  • the inference unit 82 here corresponds to the acceleration/deceleration processing unit 122 shown in FIG. 2 and outputs a pre-correction position command based on the learned machine model 123 .
  • the data acquisition unit 81 acquires acquisition information.
  • the acquired information includes the control saturation signal of the control input, the state quantity indicating the operating state of at least one of the controller 10, the motor control device 20, and the motor 31, program information, and workpiece information.
  • the inference unit 82 uses the learned model stored in the learned model storage unit 73 to infer the load model 125 included in the machine model 123 from the acquired information acquired by the data acquisition unit 81 . That is, the inference unit 82 can infer and output the load model 125 included in the machine model 123 inferred from the acquired information by inputting the acquired information acquired by the data acquisition unit 81 into the learned model. can.
  • the machine model 123 is output using the learned model learned by the model generation unit 72 of the learning device 70 applied to the controller 10.
  • a learned model may be obtained from the learning device 70 that is used, and the machine model 123 may be output based on this learned model.
  • FIG. 20 is a flowchart showing inference processing of the inference device 80 according to the fourth embodiment.
  • the data acquisition unit 81 acquires acquisition information as data (step S111).
  • the inference unit 82 inputs the acquired information to the learned model stored in the learned model storage unit 73 (step S112).
  • the inference unit 82 obtains the machine model 123 by inputting acquired information into the learned model.
  • the inference unit 82 outputs the machine model 123 obtained by the learned model to the controller 10 as data (step S113).
  • the controller 10 outputs a pre-correction position command based on the acquired machine model 123 (step S114).
  • the learning device 70 and the reasoning device 80 can output the program information and the factors that change in the work state as the machine model 123 based on the information that can be obtained from the control system 40, making it possible to easily predict the operation. Become.
  • supervised learning is applied to the learning algorithm used by the model generation unit 72
  • the present invention is not limited to this.
  • reinforcement learning unsupervised learning, semi-supervised learning, and the like as learning algorithms.
  • the model generation unit 72 may learn the machine model 123 according to learning data created for a plurality of controllers 10 .
  • the model generation unit 72 may acquire learning data from a plurality of controllers 10 used in the same area, or learning data collected from a plurality of controllers 10 operating independently in different areas. may be used to learn the machine model 123 .
  • the model generation unit 72 may add the controller 10 from which the learning data is to be collected to the target in the middle, or remove it from the target in the middle.
  • the learning device 70 that has learned the machine model 123 for a certain controller 10 may be applied to another controller 10 to relearn and update the machine model 123 for the other controller 10 .
  • model generation unit 72 deep learning that learns to extract the feature amount itself can also be used, and other known methods such as genetic programming, functional logic programming, Machine learning may be performed according to support vector machines and the like.
  • the learning device 70 and the reasoning device 80 are used to learn the machine model 123 of the controller 10, for example, they may be connected to the controller 10 via a network and may be devices separate from the controller 10. good. Also, the learning device 70 and the reasoning device 80 may be built in the controller 10 . Furthermore, learning device 70 and reasoning device 80 may reside on a cloud server.
  • FIG. 21 is a diagram showing an example in which learning device 70 and reasoning device 80 are installed outside controller 10 in the fourth embodiment.
  • FIG. 22 is a diagram showing an example in which the learning device 70 and the reasoning device 80 are installed inside the controller 10 in the fourth embodiment.
  • a network may exist between controller 10 and learning device 70 and reasoning device 80 .
  • the learning device 70 and the reasoning device 80 may exist on a cloud server. 21 and 22, it is assumed that the learned model storage unit 73 is included in the learning device 70.
  • FIG. 21 and 22 it is assumed that the learned model storage unit 73 is included in the learning device 70.
  • the controller 10 may update the machine model 123 by the method of the first embodiment, or update the machine model 123 using the learning device 70 and the inference device 80 as in the fourth embodiment. good too.
  • the learning device 70 and the reasoning device 80 are applied to the controller 10 has been described, the present invention is not limited to this. It is also possible to apply the learning device 70 and the reasoning device 80 to the controllers 10a and 10c.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

モータ(31)に電流を供給して動作を制御するモータ制御装置(20)に対して位置指令を出力するコントローラ(10)であって、モータ(31)の動作によって駆動する駆動対象の経路を規定する動作プログラムを解析し、解析データを出力するプログラム解析部(11)と、モータ(31)が出力可能な加速度を算出する機械モデルを有し、解析データおよび機械モデルに基づいて位置指令を生成し、モータ(31)に対する制御入力が予め設定された制御入力制限を超えて飽和した場合は機械モデルを更新する位置指令生成部(15)と、を備える。

Description

コントローラ、制御システム、学習装置および推論装置
 本開示は、モータの動作を制御するモータ制御装置に接続されるコントローラ、制御システム、学習装置および推論装置に関する。
 従来、追従制御を行うサーボモータの制御装置が知られている。一般的なサーボモータの制御において、外部から入力された位置指令値および速度指令値に追従するようPID(Proportional Integral Differential)制御を行う制御装置が公知である。このような制御装置では、サーボモータの保護を目的として制御入力に制限が設けられている。そのため、制御入力に制限が設けられている制御装置は、制御入力の制限を超えるような移動指令が与えられると、制御入力の飽和が生じた際に、出力応答にオーバーシュートを生じるワインドアップ現象によって位置指令、速度指令などに追従できず、オーバーシュートなどの制御性能の劣化、制御系の不安定化などを引き起こすことがある。このような性能劣化の防止対策として、特許文献1には、制御入力の制限に対する飽和対策として、モータへの制御入力に制限を有する制御対象に対して、制御入力が制限を受けることを予測して位置偏差に補正を行うことで、制御入力の飽和を防止する技術が開示されている。
特開2010-178509号公報
 一般的に、工作機械において、モータ制御装置に接続される上位制御装置であるコントローラは、モータの駆動対象の経路を決定するプログラム、例えば、Gコードプログラムなどに基づいて位置指令を生成している。しかしながら、上記従来の技術によれば、モータ制御装置は、コントローラから入力された位置指令と、検出されたモータ位置との差分である位置偏差に対して、ワインドアップ現象の防止を目的として補正を実施している。そのため、モータ制御装置がこのような補正を実施した場合、モータの駆動対象は、コントローラが想定している経路と異なる経路を通る動作をしてしまう、という問題があった。また、上記従来の技術によれば、制御入力の飽和が生じるような指令を出力することを防止するものではないため、位置指令に基づいた予想動作と実動作とが乖離してしまう、という問題があった。このような場合、事前に位置指令に基づいて動作時間、経路などを予測していても、良好な結果を得ることができない。
 本開示は、上記に鑑みてなされたものであって、制御入力の飽和による制御性能の劣化を抑制しつつ、モータ制御装置に対する位置指令を生成する際に使用する機械モデルを飽和状況に基づいて更新するコントローラを得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示は、モータに電流を供給して動作を制御するモータ制御装置に対して位置指令を出力するコントローラである。コントローラは、モータの動作によって駆動する駆動対象の経路を規定する動作プログラムを解析し、解析データを出力するプログラム解析部と、モータが出力可能な加速度を算出する機械モデルを有し、解析データおよび機械モデルに基づいて位置指令を生成し、モータに対する制御入力が予め設定された制御入力制限を超えて飽和した場合は機械モデルを更新する位置指令生成部と、を備えることを特徴とする。
 本開示のコントローラは、制御入力の飽和による制御性能の劣化を抑制しつつ、モータ制御装置に対する位置指令を生成する際に使用する機械モデルを飽和状況に基づいて更新することができる、という効果を奏する。
実施の形態1に係る制御システムの構成例を示す図 実施の形態1に係るコントローラが備える補正前位置指令演算部の構成例を示す図 実施の形態1に係るコントローラの補正前位置指令演算部が備える加減速処理部による加減速処理前の移動量の例を示す図 実施の形態1に係るコントローラの補正前位置指令演算部が備える加減速処理部による加減速処理後の移動量の例を示す図 実施の形態1に係るコントローラの補正前位置指令演算部が備える加減速処理部が保持するモータ特性モデルの例を示す図 実施の形態1に係るコントローラが備える加速度補正演算部の構成例を示す図 実施の形態1に係るコントローラの加速度補正演算部が加速度を補正した場合の移動量の差異の例を示す図 実施の形態1に係るコントローラにおける制御入力の飽和による制御性能の劣化を抑制する動作を示すフローチャート 実施の形態1に係るコントローラの補正前位置指令演算部が備える加減速処理部において制御飽和信号がONのときの状態量から算出したモータトルクをモータ特性としてプロットしたイメージを示す図 実施の形態1に係るコントローラにおける機械モデルを飽和状況に基づいて更新する動作を示すフローチャート 実施の形態1に係るコントローラを実現するハードウェアの構成例を示す図 実施の形態2に係る制御システムの構成例を示す図 実施の形態2に係るコントローラが備える加速度補正演算部の構成例を示す図 実施の形態3に係る制御システムの構成例を示す図 実施の形態3に係るコントローラが備える加速度補正演算部の構成例を示す図 実施の形態4に係るコントローラに適用される学習装置の構成例を示す図 実施の形態4に係る学習装置のモデル生成部で用いられるニューラルネットワークの例を模式的に示す図 実施の形態4に係る学習装置の学習処理を示すフローチャート 実施の形態4に係るコントローラに適用される推論装置の構成例を示す図 実施の形態4に係る推論装置の推論処理を示すフローチャート 実施の形態4において学習装置および推論装置をコントローラの外部に設置した場合の例を示す図 実施の形態4において学習装置および推論装置をコントローラの内部に設置した場合の例を示す図
 以下に、本開示の実施の形態に係るコントローラ、制御システム、学習装置および推論装置を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1に係る制御システム40の構成例を示す図である。制御システム40は、コントローラ10と、モータ制御装置20と、を備える。本実施の形態において、コントローラ10は、制御入力の飽和による制御性能の劣化を抑制すること、およびモータ制御装置20に対する位置指令を生成する際に使用する機械モデルを飽和状況に基づいて更新することを特徴とする。以下、それぞれの特徴について説明する。まず、制御入力の飽和による制御性能の劣化を抑制することについて説明する。ここで、制御入力の飽和とは、予め設定された制御入力制限を超えることを意味する。
 図1に示すように、コントローラ10は、モータ制御装置20に接続されている上位制御装置である。コントローラ10は、モータ制御装置20に位置指令を出力する。モータ制御装置20は、位置指令に基づいてモータ31に電流を供給することで、モータ31の動作を制御する。モータ31には、モータ31のモータ位置を検出するエンコーダ33、およびモータ31の動作によって駆動する駆動対象としての負荷32が接続されている。モータ31および負荷32をまとめて機械系30と表記する。機械系30は、工作機械などを構成する負荷32を駆動する駆動軸を備えている。以降の説明において、駆動軸のことを単に軸と称する。例えば、コントローラ10が工作機械などにおいて複数の軸の動作を制御する場合、モータ31およびモータ制御装置20は軸毎に用意される。実施の形態1では、コントローラ10が1つのモータ制御装置20および1つの機械系30を対象にする場合について説明する。なお、図1に示すように、エンコーダ33を機械系30に含めてもよい。
 モータ制御装置20は、コントローラ10から取得した補正後位置指令に基づいてモータ31を駆動(動作)する。図1に示すように、モータ制御装置20は、位置偏差演算部21と、位置制御部22と、速度演算部23と、速度偏差演算部24と、速度制御部25と、電流制限部26と、電流制御部27と、を備える。
 位置偏差演算部21は、コントローラ10から取得した補正後位置指令とエンコーダ33で検出されたモータ31のモータ位置との位置偏差を演算する。位置制御部22は、位置偏差演算部21で演算された位置偏差に基づいて、モータ31に対する速度指令を生成する。速度演算部23は、エンコーダ33で検出されたモータ31のモータ位置を微分することでモータ31の速度を演算する。速度偏差演算部24は、位置制御部22で生成された速度指令と速度演算部23で演算されたモータ31の速度との速度偏差を演算する。速度制御部25は、速度偏差演算部24で演算された速度偏差に基づいて、モータ31に対する電流指令を生成する。電流制限部26は、速度制御部25で生成された電流指令に対して、モータ31を保護するために規定されたモータ最大電流Imax以下になるように制限を行い、制限後電流指令を出力する。電流制限部26は、電流指令がモータ最大電流Imax以上の場合に電流指令に対して電流制限を行い、電流指令がモータ最大電流Imax未満の場合は電流指令に対して電流制限を行わずにそのまま出力する。電流制御部27は、制限後電流指令、およびフィードバックされたモータ電流Iに基づいて、モータ31に対してモータ電流Iを生成して出力する。
 コントローラ10の構成および動作について詳細に説明する。図1に示すように、コントローラ10は、プログラム解析部11と、補正前位置指令演算部12と、加速度補正演算部13と、位置指令演算部14と、を備える。なお、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14によって位置指令生成部15を構成している。
 プログラム解析部11は、外部から入力された動作プログラムを解析し、解析結果を解析データとして出力する。動作プログラムは、指令ブロックを複数含んで構成される。動作プログラムとは、例えば、モータ31の動作によって駆動する駆動対象である負荷32の動作の経路を規定するプログラムである。動作プログラムによって規定される負荷32の動作の経路を指令経路と表記する。解析データとは、指令ブロック毎の各軸の移動量、指令送り速度、指令情報など各軸の移動に必要な情報である。指令情報は、例えば、Gコードである。
 位置指令生成部15は、モータ31が出力可能な加速度を算出する機械モデルを有し、解析データおよび機械モデルに基づいて位置指令を生成する。また、位置指令生成部15は、モータ31に対する制御入力が予め設定された制御入力制限を超えて飽和した場合は機械モデルを更新する。以下、位置指令生成部15の動作について、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14の動作として詳細に説明する。
 補正前位置指令演算部12は、モータ31が出力可能な加速度を算出する機械モデルを有し、解析データおよび機械モデルに基づいて、補正前位置指令を演算する。具体的には、補正前位置指令演算部12は、プログラム解析部11から取得した解析データに基づいて補間データを生成し、補間データに基づいてモータ31を加減速駆動させるための補正前位置指令を生成する。図2は、実施の形態1に係るコントローラ10が備える補正前位置指令演算部12の構成例を示す図である。補正前位置指令演算部12は、補間データ生成部121と、加減速処理部122と、を備える。
 補間データ生成部121は、プログラム解析部11から取得した解析データに基づいて補間データを生成する。補間データは、1制御周期分の移動量を表すデータに加え、目標速度などの速度計算値の生成に用いる情報を含む。
 加減速処理部122は、補間データ生成部121から取得した補間データと、後述する状態量とを入力とし、機械モデル123を用いて加減速処理を行い、モータ31が出力可能なトルクの範囲で加減速駆動させるための軸毎の1制御周期分の移動量を積算した補正前位置指令を演算する。機械モデル123は、モータ31が出力可能なトルク-速度特性を示すモータ特性モデル124、および駆動対象となる負荷32の情報で構成された負荷モデル125を含む。
 図3は、実施の形態1に係るコントローラ10の補正前位置指令演算部12が備える加減速処理部122による加減速処理前の移動量の例を示す図である。図4は、実施の形態1に係るコントローラ10の補正前位置指令演算部12が備える加減速処理部122による加減速処理後の移動量の例を示す図である。図3および図4において、横軸は時間を示し、縦軸は移動量を示す。移動量は、位置指令の1制御周期分の変化量にあたり、速度指令に相当する。図3は補間データに相当するものであり、図4は補正前位置指令に相当するものである。図4に示すように、加減速処理部122による加減速処理後の移動量では、図3に示す加減速処理前の移動量と比較して、加速区間および減速区間において1制御周期あたりの移動量が小さくなっているため、必要な移動量を移動するための時間が長くなる。
 補正前位置指令演算部12の加減速処理部122が保持する機械モデル123のモータ特性モデル124は、図5に示すようにモータ31が出力可能な最大トルクに対する回転数の変化を示すものである。図5は、実施の形態1に係るコントローラ10の補正前位置指令演算部12が備える加減速処理部122が保持するモータ特性モデル124の例を示す図である。一般的に、モータ特性モデル124では、モータ31に流すモータ最大電流Imaxから決定される最大トルクTmax0、およびモータ回転数と比例して増加するモータ逆起電力とモータ31に印加可能な最大電圧とから決定される低減トルクTrの小さい方が、モータ31が出力可能なトルク、すなわち出力最大トルクTmaxとなる。図5に示す太線が出力最大トルクTmaxとなる。一般的に、モータ制御において制御入力の飽和が発生する条件では、制御入力である電流指令が制限された場合、最大トルクTmax0が出力最大トルクTmaxとなり、制御入力であるモータ31に印加する電圧指令が制限された場合、低減トルクTrが出力最大トルクTmaxとなる。以降の説明において、制御入力である電流指令が制御入力制限を超えるため制限された場合をトルク飽和と称し、制御入力であるモータ31に印加する電圧指令が制御入力制限を超えるため制限された場合を電圧飽和と称する。これらは、制御入力の飽和の一例である。
 図2の説明に戻る。図2に示すように、加減速処理部122が保持する機械モデル123に含まれる負荷モデル125には、負荷イナーシャJ、ワーク情報、摩擦トルクT1、偏荷重トルクT2などの情報が含まれる。ワーク情報には、例えば、ワークの重量、ワークの形状などの情報が含まれる。ワークとは、コントローラ10が工作機械の動作を制御する場合における工作機械の加工対象である。
 次に、加減速処理部122が補正前位置指令を演算する方法について説明する。ここで、モータ制御における前提として、制御入力の飽和を起こすことなくモータ31を駆動させるためには、モータトルクTmを出力最大トルクTmax以下にする必要がある。モータトルクTmは、負荷32に作用する出力トルクTout、および外乱として作用する外乱トルクTdから式(1)のように算出できる。
 Tm=Tout+Td …(1)
 式(1)において、Tmはモータトルク[Nm]であり、Toutは出力トルク[Nm]であり、Tdは外乱トルク[Nm]である。ここでの外乱トルクTdは、摩擦トルクT1、および偏荷重トルクT2から式(2)のように算出できる。
 Td=T1+T2 …(2)
 式(2)において、T1は摩擦トルク[Nm]であり、T2は偏荷重トルク[Nm]である。次に、角加速度αは、出力トルクTout、および負荷イナーシャJから式(3)のように算出できる。
 α=Tout/J …(3)
 式(3)において、Jは慣性モーメントである負荷イナーシャ[kg/m]である。すなわち、機械モデル123が持つ情報が駆動対象と一致しているという前提下において、加減速処理部122は、モータトルクTmを出力最大トルクTmax以下になるように、モータ特性モデル124および負荷モデル125に基づいて角加速度αを決定すれば、制御入力の飽和を起こすことのない補正前位置指令を演算することができる。例えば、加減速処理部122は、出力最大トルクTmax=最大トルクTmax0となる範囲では最大トルクTmax0になるように角加速度αを決定し、出力最大トルクTmax=低減トルクTrとなる範囲では低減トルクTrになるように角加速度αを決定することで、出力最大トルクTmaxでの加減速を実現することができる。
 次に、加速度補正演算部13は、モータ31に対する制御入力が飽和したか否かを判定し、制御入力が飽和したと判定した場合は制御飽和信号をONにして出力し、制御入力が飽和していないと判定した場合は制御飽和信号をOFFにして出力する。さらに、加速度補正演算部13は、制御飽和信号に基づいて、補正前位置指令を補正するための位置指令補正値を演算する。具体的には、加速度補正演算部13は、補正前位置指令演算部12から取得した補正前位置指令、およびエンコーダ33から取得したモータ位置を用いて、補正前位置指令を補正するための位置指令補正値を演算する。図6は、実施の形態1に係るコントローラ10が備える加速度補正演算部13の構成例を示す図である。加速度補正演算部13は、モデル出力部131と、モデル位置偏差演算部133と、比較部134と、位置指令補正値演算部135と、を備える。
 モデル出力部131は、補正前位置指令演算部12で演算された補正前位置指令を入力とし、位置制御部、速度制御部、電流制御部などを含むモータ制御モデル132を用いてモータ31のモデル位置を算出する。ここで、モータ制御モデル132は、モータ制御装置20を模擬したものであり、制御入力の飽和が生じずにモータ31を制御した場合のモータ位置をモデル位置として出力する。図6に示すモータ制御モデル132において、モータ、負荷、およびエンコーダで表される機械系に相当する部分が、図2に示す機械モデル123のモータ特性モデル124に相当するモデルである。したがって、制御入力の飽和が生じない条件かつ理想的なモータ制御モデル132であれば、後述するモデル位置偏差演算部133で演算されるモデル位置とモータ位置とのモデル位置偏差は0となる。一方、制御入力の飽和が生じた場合、モデル位置とモータ位置とは乖離するため、補正前位置指令とモータ位置との偏差である位置ドループは拡大することとなり、同様にモデル位置偏差も拡大する。したがって、加速度補正演算部13は、モデル位置偏差を監視することで、制御入力の飽和を判定することができる。また、前述のとおり、制御入力の飽和は主にトルク飽和または電圧飽和によるものであることから、モータ加速度を下げることでモータトルクTmを低減でき、制御入力の飽和を解消することができる。なお、モデル出力部131は、モータ特性モデル124に相当するモデルの情報について、補正前位置指令演算部12からモータ特性モデル124の情報を取得してもよく、後述するように補正前位置指令演算部12がモータ特性モデル124を更新した場合は更新後のモータ特性モデル124の情報を取得してもよい。
 モデル位置偏差演算部133は、モデル出力部131で算出されたモデル位置と、エンコーダ33で検出されたモータ31のモータ位置との偏差を演算し、モデル位置偏差として出力する。
 比較部134は、モデル位置偏差演算部133で演算されたモデル位置偏差と規定された閾値とを比較し、モデル位置偏差が閾値以上の場合、何かしら制御入力の飽和が生じたと判定し、制御飽和信号をONとして出力する。一方、比較部134は、モデル位置偏差が閾値未満の場合、制御入力の飽和は生じていないと判定し、制御飽和信号をOFFとして出力する。なお、比較部134で使用される閾値については、固定値であってもよいし、可変値であってもよい。固定値の場合、コントローラ10の生産者または使用者などが予め設定しておく。可変値の場合、例えば、図6に示すモータ制御モデル132において演算された補正前位置指令とモデル位置との位置偏差に対して規定された係数を乗算したものを閾値として使用してもよい。比較部134で使用される閾値は、制御入力制限の一例である。
 位置指令補正値演算部135は、比較部134から取得された制御飽和信号、エンコーダ33から取得したモータ位置、および補正前位置指令演算部12から取得した補正前位置指令に基づいて、位置指令補正値を演算する。具体的には、位置指令補正値演算部135は、制御飽和信号がONとなると、補正後の加速度である補正後指令加速度、すなわち補正後位置指令の1制御周期分の変化量が減少するように、補正前位置指令を補正するための位置指令補正値を算出して出力する。このとき、位置指令補正値演算部135は、補正後指令加速度を0にするように補正してもよいし、時定数を持って段階的に減少するように補正してもよい。いずれの場合も、前述のモデル位置偏差は拡大せず減少するように作用する。制御飽和信号がONとなり、位置指令補正値演算部135の制御によってモデル位置偏差が減少して閾値以下となった場合、比較部134は、制御入力の飽和が解消されたと判定し制御飽和信号をOFFとして出力する。この場合、位置指令補正値演算部135は、制御飽和信号がOFFとなると、制御飽和信号がONの場合と比較して、補正後指令加速度を上昇させるような位置指令補正値を算出して出力する。
 一例として、位置指令補正値演算部135が、制御飽和信号がONの場合は補正後指令加速度が0となるように位置指令補正値を制御し、制御飽和信号がOFFの場合は補正後指令加速度が補正前の加速度である補正前指令加速度相当で加速するように位置指令補正値を制御する場合について説明する。図7は、実施の形態1に係るコントローラ10の加速度補正演算部13が加速度を補正した場合の移動量の差異の例を示す図である。図7において、横軸は時間を示し、縦軸は移動量を示す。また横軸では、制御飽和信号のON/OFFのタイミングを示している。
 加速度補正演算部13では、モータ31が出力最大トルクTmaxを超える加速度となる補正前位置指令が入力されると、求められるトルク、すなわち加速度に対して、モータトルクTmが過少となるため制御入力の飽和が発生する。このとき、制御入力の飽和時には出力最大トルクTmaxが出力されることとなる。加速度補正演算部13は、制御入力が飽和するとモデル位置偏差が拡大するので制御飽和信号をONにする。加速度補正演算部13は、補正後の加速度である補正後指令加速度が0となるように位置指令補正値を補正する。そのため、次第に制御入力の飽和が解消されてモデル位置偏差が減少する。加速度補正演算部13は、モデル位置偏差が閾値以下になると制御飽和信号をOFFとし、再び元の加速度相当になるように位置指令補正値を制御する。このような制御下では、加速度補正演算部13において、加減速中はモデル位置偏差が閾値前後に制御されながら制御飽和信号がON/OFFを繰り返す動きとなる。そのため、コントローラ10は、過剰な制御飽和によるワインドアップ現象によるオーバーシュートなどの制御性能の劣化を抑制しつつ、出力最大トルクTmaxでの加減速が可能となる。
 このように、加速度補正演算部13は、補正前位置指令に基づいてモータ制御装置20がモータ31を制御した場合のモデル位置を生成し、モデル位置と検出されたモータ31のモータ位置との偏差であるモデル位置偏差が規定された閾値以上の場合、制御入力が飽和したと判定して制御飽和信号をONにして出力する。加速度補正演算部13は、モデル位置偏差が閾値未満の場合、制御入力が飽和していないと判定して制御飽和信号をOFFにして出力する。
 加速度補正演算部13は、制御飽和信号をONにして出力する場合は補正後指令加速度が減少するように補正前位置指令を補正する位置指令補正値を出力する。その後、加速度補正演算部13は、制御飽和信号をOFFにして出力する場合は制御飽和信号をONにして出力したときの補正後指令加速度から増加するように位置指令補正値を変更する。
 位置指令演算部14は、補正前位置指令演算部12から取得した補正前位置指令と、加速度補正演算部13から取得した位置指令補正値とを用いて、モータ制御装置20に対する位置指令として補正後位置指令を演算し、モータ制御装置20に出力する。位置指令演算部14は、位置指令補正値を用いて補正前位置指令を補正することで、補正後位置指令を演算する。
 以上のように、コントローラ10は、モータ制御装置20に特別な処理を追加することなく、モータ31の駆動対象の経路を維持したまま、制御入力の飽和による制御性能の劣化を抑制することができる。
 ここまでの動作を、フローチャートを用いて説明する。図8は、実施の形態1に係るコントローラ10における制御入力の飽和による制御性能の劣化を抑制する動作を示すフローチャートである。コントローラ10において、プログラム解析部11は、動作プログラムを解析し(ステップS1)、解析データを出力する。補正前位置指令演算部12の補間データ生成部121は、解析データから補間データを生成する(ステップS2)。補正前位置指令演算部12の加減速処理部122は、補間データと状態量とを入力とし、機械モデル123を用いて加減速処理を行い、補正前位置指令を演算する(ステップS3)。加速度補正演算部13の比較部134は、モデル位置偏差演算部133で演算されたモデル位置偏差と規定された閾値とを比較し、制御入力が飽和したか否かを判定する(ステップS4)。比較部134は、判定結果に応じて制御飽和信号をONまたはOFFにして出力する(ステップS5)。加速度補正演算部13の位置指令補正値演算部135は、制御飽和信号、モータ位置、および補正前位置指令に基づいて、位置指令補正値を演算する(ステップS6)。位置指令演算部14は、補正前位置指令と位置指令補正値とを用いて補正後位置指令を演算する(ステップS7)。位置指令演算部14は、補正後位置指令をモータ制御装置20への位置指令として出力する。
 次に、機械モデル123を飽和状況に基づいて更新する、すなわち制御入力の飽和結果に基づいて機械モデル123を更新することについて説明する。
 まず、機械モデル123の入力である状態量は、モータ位置、機械端位置、モータ速度、機械端速度、モータ加速度、機械端加速度、モータ電流I、トルク情報、モデル位置、負荷イナーシャ推定値、供給電圧のうち少なくとも1つを含んでいる。モータ位置および機械端位置をまとめて位置情報と称し、モータ速度および機械端速度をまとめて速度情報と称し、モータ加速度および機械端加速度をまとめて加速度情報と称することがある。機械端とは、モータ制御装置20の駆動対象である機械系30において、モータ31が回転することによって負荷32の全部または一部が動く場合の規定された部位である。負荷イナーシャ推定値の推定方法は、動作プログラムの実行中に推定されるものであれば任意の手法が採用可能である。例えば、加減速中のトルクと加速度との比から算出する手法、逐次最小2乗法を使う手法などが採用可能である。これらの状態量は、モータ制御装置20または加速度補正演算部13によって演算されたデータでもよいし、モータ制御装置20が備える図示しない外部センサなどによって計測されて取得されたデータでもよい。
 加減速処理部122は、加速度補正演算部13から取得した制御飽和信号と、モータ制御装置20および加速度補正演算部13のうち少なくとも一方から取得した状態量とに応じて、モータ特性モデル124および負荷モデル125で構成された機械モデル123を更新する。加減速処理部122は前述の方法で補正前位置指令を演算していることから、制御飽和信号がONの場合には、機械モデル123が持つ情報と実際の機械系30の状態との間に差異があることになる。同様に、制御入力に飽和が発生する条件であるため、モータ31は出力最大トルクTmaxを出力していることになる。モータ31が出力するトルクは、状態量であるモータ電流I、およびモータ31に応じて予め設定されたトルク定数から、式(4)のように算出できる。
 Tm=Kt×I …(4)
 式(4)において、Tmはモータトルク[Nm]であり、Iはモータ電流[A]であり、Ktはトルク定数[Nm/A]である。図9は、実施の形態1に係るコントローラ10の補正前位置指令演算部12が備える加減速処理部122において制御飽和信号がONのときの状態量から算出したモータトルクTmをモータ特性としてプロットしたイメージを示す図である。制御入力の飽和は、主にトルク飽和または電圧飽和であると説明したが、状態量からそれぞれ下記のとおり判定が可能である。判定においては、閾値として、式(4)から出力最大トルクTmaxに相当するモータ最大電流Imaxに対してバラつきを考慮して僅かに小さいモータ電流閾値Ithを用いる。加減速処理部122は、制御飽和信号がONのときにモータ電流I≧モータ電流閾値Ithの場合はトルク飽和と判定し、制御飽和信号がONのときにモータ電流I<モータ電流閾値Ithの場合は電圧飽和と判定することができる。トルク飽和は、指令によるモータトルクTm≧最大トルクTmax0と考えることができる。一方、電圧飽和は、制御入力が飽和している条件においては指令によるモータトルクTm<最大トルクTmax0の場合となる。
 したがって、加減速処理部122がトルク飽和と判定した場合、前述の式(1)~式(3)から負荷イナーシャJ、または摩擦トルクT1、または偏荷重トルクT2に差異が発生していると考えられる。そのため、加減速処理部122は、状態量に基づいて負荷モデル125の負荷イナーシャJ、または摩擦トルクT1、または偏荷重トルクT2を更新することができる。ここで、加減速処理部122は、更新する負荷モデル125の情報について、ワーク情報に応じて決定してもよい。また、加減速処理部122は、状態量としての負荷イナーシャ推定値を元に更新してもよい。一方、加減速処理部122が電圧飽和と判定した場合、低減トルクTrに差異が発生していると考えられる。低減トルクTrは、モータ31に印加可能な電圧、すなわち供給電圧により変化するため、加減速処理部122は、状態量のモータ速度および供給電圧に紐づいたデータとし、モータ特性モデル124における低減トルクTrを更新することができる。
 このように、補正前位置指令演算部12は、取得した制御飽和信号がONの場合、制御飽和信号がONのときのコントローラ10およびモータ制御装置20およびモータ31のうち少なくとも1つの動作状態を示す状態量に基づいて、機械モデル123を更新する。また、補正前位置指令演算部12は、機械モデル123としてモータ特性モデル124および負荷モデル125を有する。補正前位置指令演算部12は、取得した制御飽和信号がONのときにモータ電流Iが規定された値であるモータ電流閾値Ith以上の場合、制御飽和信号がONのときの状態量に基づいて負荷モデル125を更新する。補正前位置指令演算部12は、取得した制御飽和信号がONのときにモータ電流Iが規定された値であるモータ電流閾値Ith未満の場合、制御飽和信号がONのときの状態量に基づいてモータ特性モデル124を更新する。つまり、位置指令生成部15は、モータ31が出力可能な加速度を算出する機械モデル123を有し、解析データおよび機械モデル123に基づいて位置指令を生成し、モータ31に対する制御入力が予め設定された制御入力制限を超えて飽和した場合は機械モデル123を更新するように動作する。また、位置指令生成部15は、モータ31に対する制御入力が飽和したか否かを判定し(ステップS4)、制御入力が飽和したと判定した場合は、飽和したときのコントローラ10およびモータ制御装置20およびモータ31のうち少なくとも1つの動作状態を示す状態量に基づいて、機械モデル123を更新するように動作する。
 なお、加減速処理部122は、制御飽和信号がOFFの場合にも機械モデル123を更新してもよい。例えば、加減速処理部122は、機械モデル123から算出された移動指令と紐づいたモデルとしてのモータトルクTmと、モータ電流Iから算出されたモータトルクTmとを比較したトルク偏差が規定された値以上ある場合、負荷モデル125に誤差があると判定できる。この場合、トルク飽和の場合と同様、負荷イナーシャJ、または摩擦トルクT1、または偏荷重トルクT2に差異が発生していると考えられる。そのため、加減速処理部122は、状態量に基づいて負荷モデル125の負荷イナーシャJ、または摩擦トルクT1、または偏荷重トルクT2を更新することができる。ここで、加減速処理部122は、更新する負荷モデル125の情報について、ワーク情報に応じて決定してもよい。また、加減速処理部122は、状態量としての負荷イナーシャ推定値を元に更新してもよい。このように、補正前位置指令演算部12は、取得した制御飽和信号がOFFであり、かつ機械モデル123から算出されたモータトルクTmとモータ電流Iから算出されたモータトルクTmとの偏差であるトルク偏差が規定された値以上の場合、状態量に基づいて、機械モデル123を更新する。具体的には、補正前位置指令演算部12は、機械モデル123としてモータ特性モデル124および負荷モデル125を有し、機械モデル123として負荷モデル125を更新する。
 以上のように、コントローラ10は、制御入力の飽和時の状態量に基づいて機械モデル123を更新することで、常に機械モデル123を実際の機械系30の状態に則した最適なものとすることができる。ここで、コントローラ10は、更新した機械モデル123について、位置指令の生成に限定するものではなく、プログラムに基づいた動作時間予測、経路予測、加工予測など機械モデル123を使用した別のアプリケーションに用いてもよい。
 ここまでの動作を、フローチャートを用いて説明する。図10は、実施の形態1に係るコントローラ10における機械モデル123を飽和状況に基づいて更新する動作を示すフローチャートである。コントローラ10において、補正前位置指令演算部12の加減速処理部122は、制御飽和信号および状態量を取得する(ステップS11)。加減速処理部122は、制御飽和信号がONか否かを判定する(ステップS12)。制御飽和信号がONの場合(ステップS12:Yes)、加減速処理部122は、機械モデル123を更新する(ステップS13)。制御飽和信号がOFFの場合(ステップS12:No)、加減速処理部122は、トルク偏差が規定された値以上か否かを判定する(ステップS14)。トルク偏差が規定された値以上の場合(ステップS14:Yes)、加減速処理部122は、機械モデル123を更新する(ステップS13)。トルク偏差が規定された値未満の場合(ステップS14:No)、加減速処理部122は、動作を終了する。
 次に、実施の形態1のコントローラ10を実現するハードウェア構成について説明する。図11は、実施の形態1に係るコントローラ10を実現するハードウェアの構成例を示す図である。図11には、コントローラ10のプログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14を、プロセッサ63とメモリ64とを有する処理回路61によって実現する場合の構成例を示す。
 プロセッサ63は、CPU(Central Processing Unit)である。プロセッサ63は、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)でもよい。メモリ64は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)といった、揮発性あるいは不揮発性の半導体メモリである。
 メモリ64には、プログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14として動作するためのプログラムが格納される。このプログラムをプロセッサ63が読み出して実行することにより、プログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14を実現することが可能である。なお、メモリ64に格納される、プログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14として動作するためのプログラムは、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROMなどの記憶媒体に書き込まれた状態でユーザ等に提供される形態であってもよいし、ネットワークを介して提供される形態であってもよい。また、プロセッサ63は、演算結果などのデータをメモリ64の揮発性メモリに出力する。または、プロセッサ63は、演算結果などのデータを、メモリ64の揮発性メモリを介して補助記憶装置に出力することによってデータを保存する。
 入力部62は、コントローラ10に対する入力信号を外部から受信する回路である。入力部62は、例えば、動作プログラム、モータ位置、状態量などを受信する。出力部65は、コントローラ10で生成した信号を外部へ出力する回路である。出力部65は、例えば、補正後位置指令を出力する。
 図11は、汎用のプロセッサ63およびメモリ64によりプログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14を実現する場合のハードウェアの例であるが、プロセッサ63およびメモリ64の代わりに専用の処理回路でプログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14を実現してもよい。すなわち、専用の処理回路でプログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14を実現してもよい。ここで、専用の処理回路は、単一回路、複合回路、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせた回路である。なお、プログラム解析部11、補正前位置指令演算部12、加速度補正演算部13、および位置指令演算部14の一部をプロセッサ63およびメモリ64で実現し、残りを専用の処理回路で実現してもよい。
 以上説明したように、本実施の形態によれば、コントローラ10は、モータ31の駆動対象の経路を維持したまま、制御性能の劣化を抑制するとともに、実際の機械系30の状態に則した最適な機械モデル123に更新することができる。また、コントローラ10は、機械モデル123に基づいて位置指令を決定することで、最適な加速度または時定数でモータ31を動作させることができ、余分なトルクマージンを持つことなく常にモータ31が出力可能な最大トルクで加減速動作が可能であるため、サイクルタイムの短縮を実現できる。また、コントローラ10は、動作プログラムに基づいて予め動作予測をする場合も、更新された機械モデル123を用いることで、誤差の少ない良好な結果を得ることが可能となる。
実施の形態2.
 実施の形態1では、コントローラ10に接続されるモータ制御装置20が1つの場合について説明した。ここで、上位制御装置であるコントローラには、複数のモータを同時に制御できるものがある。ただし、コントローラが複数のモータを同時に補間制御する場合、個別に補正を実施するとモータ同士の補間を取ることができなくなってしまう。実施の形態2では、コントローラに接続されるモータ制御装置が複数あり、コントローラが複数のモータを同時に制御する場合について説明する。
 図12は、実施の形態2に係る制御システム40aの構成例を示す図である。制御システム40aは、コントローラ10aと、モータ制御装置20a,20bと、を備える。コントローラ10aは、モータ制御装置20a,20bに接続されている上位制御装置である。モータ制御装置20aには機械系30aが接続され、モータ制御装置20bには機械系30bが接続されている。図12に示すように、モータ制御装置20aは、位置偏差演算部21aと、位置制御部22aと、速度演算部23aと、速度偏差演算部24aと、速度制御部25aと、電流制限部26aと、電流制御部27aと、を備える。また、モータ制御装置20bは、位置偏差演算部21bと、位置制御部22bと、速度演算部23bと、速度偏差演算部24bと、速度制御部25bと、電流制限部26bと、電流制御部27bと、を備える。機械系30aには、モータ31a、負荷32a、およびエンコーダ33aが含まれる。また、機械系30bには、モータ31b、負荷32b、およびエンコーダ33bが含まれる。モータ制御装置20a,20bは、実施の形態1のモータ制御装置20と同様の構成のため、詳細な説明は省略する。機械系30a,30bは、実施の形態1の機械系30と同様の構成のため、詳細な説明は省略する。
 コントローラ10aの構成および動作について詳細に説明する。図12に示すように、コントローラ10aは、プログラム解析部11と、補正前位置指令演算部12aと、加速度補正演算部13aと、位置指令演算部14a,14bと、を備える。なお、補正前位置指令演算部12a、加速度補正演算部13a、および位置指令演算部14a,14bによって位置指令生成部15aを構成している。
 プログラム解析部11は、図1に示す実施の形態1のプログラム解析部11と同様の動作を行う。
 補正前位置指令演算部12aは、プログラム解析部11から取得した解析データに基づいて補間データを生成し、補間データに基づいてモータ31a,31bを加減速駆動させるための補正前位置指令a,bを演算する。補正前位置指令演算部12aは、2つのモータ31a,31bに対する補正前位置指令a,bを演算することになるが、補正前位置指令aおよび補正前位置指令bを演算する個々の動作は、図1および図2に示す実施の形態1の補正前位置指令演算部12の動作と同様である。そのため、補正前位置指令演算部12aの詳細な動作の説明については省略する。
 加速度補正演算部13aは、補正前位置指令演算部12aから取得した補正前位置指令a,b、エンコーダ33aから取得したモータ位置a、およびエンコーダ33bから取得したモータ位置bを用いて、補正前位置指令aを補正するための位置指令補正値aを演算し、補正前位置指令bを補正するための位置指令補正値bを演算する。図13は、実施の形態2に係るコントローラ10aが備える加速度補正演算部13aの構成例を示す図である。加速度補正演算部13aは、モデル出力部131a,131bと、モデル位置偏差演算部133a,133bと、比較部134a,134bと、位置指令補正値演算部135aと、を備える。モデル出力部131aは、モータ制御モデル132aを保持する。モデル出力部131bは、モータ制御モデル132bを保持する。モデル出力部131a,131b、モデル位置偏差演算部133a,133b、および比較部134a,134bの動作は、図6に示す実施の形態1のモデル出力部131、モデル位置偏差演算部133、および比較部134の動作と同様のため、詳細な説明については省略する。
 位置指令補正値演算部135aは、補正前位置指令a,bに対する位置指令補正値a,bを演算する。このとき、位置指令補正値演算部135aは、比較部134a,134bから出力される制御飽和信号a,bのOR、すなわち論理和をとって位置指令補正値a,bを演算する。位置指令補正値演算部135aは、複数のモータ31a,31bのうち少なくとも1つにおいて制御入力の飽和があった場合、全てのモータ31a,31bを対象にして、補正後位置指令a,bの1制御周期分の変化量が減少するように、補正前位置指令a,bを補正するための位置指令補正値a,bを算出して出力する。
 なお、本実施の形態では、コントローラに接続されるモータ制御装置が2つの場合について説明したが、コントローラに接続されるモータ制御装置が3つ以上になっても同様の制御が可能である。具体的には、位置指令補正値演算部135aに相当する構成が、3つ以上の制御飽和信号の論理和をとることで、本実施の形態と同様の制御を実現できる。
 このように、制御システム40aでは、コントローラ10aは各々が異なるモータ31a,31bに電流を供給して動作を制御する複数のモータ制御装置20a,20bに接続され、複数のモータ31a,31bが補間されて制御されている。加速度補正演算部13aは、何れかのモータ31a,31bについての制御飽和信号をONにして出力する場合、モータ31a,31b同士の補間動作を維持しつつ補正後の加速度である補正後指令加速度が減少するように、補間動作する複数のモータ31a,31bに対する位置指令補正値を出力する。その後、加速度補正演算部13aは、補間動作する複数のモータ31a,31bについての制御飽和信号をOFFにして出力する場合、モータ31a,31b同士の補間動作を維持しつつ制御飽和信号をONにして出力したときの補正後指令加速度から増加するように、補間動作する複数のモータ31a,31bに対する位置指令補正値を変更する。
 実施の形態2のコントローラ10aのハードウェア構成は、図11に示す実施の形態1のコントローラ10のハードウェア構成と同様である。
 以上説明したように、本実施の形態によれば、コントローラ10aは、複数のモータ制御装置20a,20bに接続され、複数のモータ31a,31bを対象にして補間動作する場合でも、モータ31a,31bの駆動対象の経路を維持したまま、制御入力の飽和による制御性能の劣化を抑制することができ、実施の形態1のときと同様の効果を得ることができる。
実施の形態3.
 実施の形態3では、モータ制御装置が、電流指令に対して電流制限中の場合に電流制限中であることを示す電流制限信号を出力する場合について説明する。
 図14は、実施の形態3に係る制御システム40cの構成例を示す図である。制御システム40cは、コントローラ10cと、モータ制御装置20cと、を備える。コントローラ10cは、モータ制御装置20cに接続されている上位制御装置である。モータ制御装置20cには機械系30が接続されている。図14に示すように、モータ制御装置20cは、位置偏差演算部21と、位置制御部22と、速度演算部23と、速度偏差演算部24と、速度制御部25と、電流制限部26cと、電流制御部27と、を備える。
 電流制限部26cは、図1に示す実施の形態1の電流制限部26と同様の機能を有するとともに、電流制限を行った場合に電流制限を行ったことを示す電流制限信号をコントローラ10cに出力する機能を有する。電流制限中は制御飽和と見なすことができる。例えば、電流制限部26cは、電流制限を行った場合に電流制限信号をONにして出力し、電流制限を行わなかった場合に電流制限信号をOFFにして出力する。
 図14に示すように、コントローラ10cは、プログラム解析部11と、補正前位置指令演算部12cと、加速度補正演算部13cと、位置指令演算部14と、を備える。なお、補正前位置指令演算部12c、加速度補正演算部13c、および位置指令演算部14によって位置指令生成部15cを構成している。図15は、実施の形態3に係るコントローラ10cが備える加速度補正演算部13cの構成例を示す図である。加速度補正演算部13cは、モデル出力部131と、モデル位置偏差演算部133と、比較部134と、位置指令補正値演算部135cと、論理和演算部136と、を備える。
 論理和演算部136は、比較部134から取得した制御飽和信号とモータ制御装置20cの電流制限部26cから取得した電流制限信号との論理和を演算する。論理和演算部136は、制御飽和信号および電流制限信号の少なくとも1つがONの場合は制御飽和信号cをONにして出力し、制御飽和信号および電流制限信号がともにOFFの場合は制御飽和信号cをOFFにして出力する。
 位置指令補正値演算部135cは、実施の形態1の位置指令補正値演算部135と取得する信号が異なるが、制御飽和信号cがONまたはOFFの場合の動作は、実施の形態1の位置指令補正値演算部135の動作と同様である。
 このように、加速度補正演算部13cは、モータ制御装置20cからモータ31への制御入力である電流指令が規定された値以上か否かを示す電流制限信号を取得し、電流指令が規定された値以上であることを示す電流制限信号を取得した場合は制御飽和信号cをONにして出力する。加速度補正演算部13cは、電流指令が規定された値未満であることを示す電流制限信号を取得した場合かつモデル位置偏差が規定された閾値未満の場合は制御飽和信号cをOFFにして出力する。
 補正前位置指令演算部12cは、実施の形態1の補正前位置指令演算部12と取得する信号が異なるが、制御飽和信号cがONまたはOFFの場合の動作は、実施の形態1の補正前位置指令演算部12の動作と同様である。
 実施の形態3のコントローラ10cのハードウェア構成は、図11に示す実施の形態1のコントローラ10のハードウェア構成と同様である。
 以上説明したように、本実施の形態によれば、コントローラ10cは、制御飽和の判定に電流制限信号を用いることとした。コントローラ10cは、トルク飽和条件において、モデル位置偏差の拡大によって制御飽和信号がONとなるより早期に制御入力の飽和を検出することができる。
実施の形態4.
 実施の形態4では、機械モデル123を機械学習する学習装置および推論装置について説明する。ここでの機械モデル123は、モータ特性モデル124および負荷モデル125で構成されており、主に図2に示す加減速処理部122で、補間データに基づいてモータ31が出力可能なトルクの範囲で加減速駆動させるための補正前位置指令の演算に用いられる。モータ特性モデル124は、主にトルク-速度特性であり、供給電圧、動作速度などに応じて出力可能なトルクの算出に用いられる。負荷モデル125は、主にワーク情報、摩擦トルクT1、偏荷重トルクT2などの情報から、モータ31に対する負荷イナーシャJの算出に用いられる。
<学習フェーズ>
 図16は、実施の形態4に係るコントローラ10に適用される学習装置70の構成例を示す図である。学習装置70は、データ取得部71と、モデル生成部72と、学習済モデル記憶部73と、を備える。ここでのモデルとは、主に図2に示す加減速処理部122にある、モータ31が出力可能なトルクの範囲で加減速駆動させるための補正前位置指令の演算に用いられる機械モデル123である。なお、図16では、学習済モデル記憶部73が学習装置70の外部にあるが、学習済モデル記憶部73を学習装置70の内部に含めてもよい。
 データ取得部71は、コントローラ10から、学習用データとして取得情報および機械状態を取得する。取得情報には、制御入力の制御飽和信号、コントローラ10およびモータ制御装置20およびモータ31のうち少なくとも1つの動作状態を示す状態量、プログラム情報、およびワーク情報が含まれる。機械状態には、モータ特性、負荷イナーシャJ、摩擦トルクT1、および偏荷重トルクT2が含まれる。
 モデル生成部72は、データ取得部71から出力される取得情報、および教師データである機械状態の組み合わせに基づいて作成される学習用データを用いて、取得情報を学習する。すなわち、モデル生成部72は、コントローラ10の取得情報、および機械状態から、機械モデル123に含まれる最適な負荷モデル125を推論するための学習済モデルを生成する。ここで、学習用データは、取得情報、および機械状態を互いに関連付けたデータである。
 モデル生成部72が用いる学習アルゴリズムは教師あり学習、教師なし学習、強化学習などの公知のアルゴリズムを用いることができる。一例として、ニューラルネットワークを適用した場合について説明する。モデル生成部72は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習によって機械モデル123を学習する。ここで、教師あり学習とは、入力と結果(ラベル)のデータの組を学習装置70に与えることで、それらの学習用データにある特徴を学習し、入力から結果を推論する手法をいう。
 ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層、又は2層以上でもよい。
 例えば、図17に示すような3層のニューラルネットワークを想定する。図17は、実施の形態4に係る学習装置70のモデル生成部72で用いられるニューラルネットワークの例を模式的に示す図である。
 図17に示すような3層のニューラルネットワークであれば、複数の入力が入力層(X1-X3)に入力されると、その値に重みW1(w11-w16)を掛けて中間層(Y1-Y2)に入力され、その結果にさらに重みW2(w21-w26)を掛けて出力層(Z1-Z3)から出力される。この出力結果は、重みW1およびW2の値によって変わる。
 本実施の形態において、ニューラルネットワークは、データ取得部71によって取得される取得情報、教師データの組み合わせに基づいて作成される学習用データに従って、いわゆる教師あり学習により、機械モデル123を学習する。
 すなわち、ニューラルネットワークは、入力層に取得情報を入力して出力層から出力された結果が、教師データに近づくように重みW1およびW2を調整することで学習する。
 モデル生成部72は、以上のような学習を実行することで学習済モデルを生成し、出力する。
 学習済モデル記憶部73は、モデル生成部72から出力された学習済モデルを記憶する。
 次に、図18を用いて、学習装置70が学習する処理について説明する。図18は、実施の形態4に係る学習装置70の学習処理を示すフローチャートである。
 データ取得部71は、データとして、取得情報および機械状態を取得する(ステップS101)。なお、データ取得部71が取得情報および機械状態を同時に取得するものとしたが、これに限定されない。データ取得部71は、取得情報および機械状態を関連付けて入力できればよいので、取得情報および機械状態をそれぞれ別のタイミングで取得してもよい。
 モデル生成部72は、学習処理を行う(ステップS102)。具体的には、モデル生成部72は、データ取得部71で取得される取得情報および機械状態の組み合わせに基づいて作成される学習用データに従って、いわゆる教師あり学習によって機械モデル123を学習し、学習済モデルを生成する。
 学習済モデル記憶部73は、モデル生成部72で生成された学習済モデルを記憶する(ステップS103)。
<活用フェーズ>
 図19は、実施の形態4に係るコントローラ10に適用される推論装置80の構成例を示す図である。推論装置80は、データ取得部81と、推論部82と、を備える。ここでの推論部82は、図2に示す加減速処理部122に相当し、学習した機械モデル123に基づいて、補正前位置指令を出力する。
 データ取得部81は、取得情報を取得する。取得情報には、制御入力の制御飽和信号、コントローラ10およびモータ制御装置20およびモータ31のうち少なくとも1つの動作状態を示す状態量、プログラム情報、およびワーク情報が含まれる。
 推論部82は、学習済モデル記憶部73に記憶されている学習済モデルを用いて、データ取得部81で取得された取得情報から、機械モデル123に含まれる負荷モデル125を推論する。すなわち、推論部82は、学習済モデルにデータ取得部81で取得された取得情報を入力することで、取得情報から推論される機械モデル123に含まれる負荷モデル125を推論して出力することができる。
 なお、本実施の形態では、コントローラ10に適用される学習装置70のモデル生成部72で学習された学習済モデルを用いて機械モデル123を出力するものとして説明したが、別のコントローラ10に適用される学習装置70から学習済モデルを取得し、この学習済モデルに基づいて機械モデル123を出力するようにしてもよい。
 次に、図20を用いて、推論装置80が機械モデル123を推論する処理について説明する。図20は、実施の形態4に係る推論装置80の推論処理を示すフローチャートである。
 データ取得部81は、データとして、取得情報を取得する(ステップS111)。
 推論部82は、学習済モデル記憶部73に記憶されている学習済モデルに取得情報を入力する(ステップS112)。推論部82は、学習済モデルに取得情報を入力することで機械モデル123を得る。
 推論部82は、データとして、学習済モデルによって得られた機械モデル123をコントローラ10に出力する(ステップS113)。
 コントローラ10は、取得した機械モデル123を元に補正前位置指令を出力する(ステップS114)。
 これにより、学習装置70および推論装置80は、制御システム40から取得できる情報に基づいて、プログラム情報およびワーク状態において変化する要因を機械モデル123として出力することができ、容易な動作予測が可能となる。
 なお、本実施の形態では、モデル生成部72が用いる学習アルゴリズムに教師あり学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムについては、教師あり学習以外にも、強化学習、教師なし学習、又は半教師あり学習等を適用することも可能である。
 また、モデル生成部72は、複数のコントローラ10に対して作成される学習用データに従って、機械モデル123を学習するようにしてもよい。なお、モデル生成部72は、同一のエリアで使用される複数のコントローラ10から学習用データを取得してもよいし、異なるエリアで独立して動作する複数のコントローラ10から収集される学習用データを利用して機械モデル123を学習してもよい。また、モデル生成部72は、学習用データを収集する対象のコントローラ10を途中で対象に追加してもよいし、途中で対象から除去することも可能である。さらに、あるコントローラ10について機械モデル123を学習した学習装置70を、これとは別のコントローラ10に適用し、当該別のコントローラ10について機械モデル123を再学習して更新するようにしてもよい。
 また、モデル生成部72に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもでき、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
 なお、学習装置70および推論装置80は、コントローラ10の機械モデル123を学習するために使用されるが、例えば、ネットワークを介してコントローラ10に接続され、コントローラ10とは別個の装置であってもよい。また、学習装置70および推論装置80はコントローラ10に内蔵されていてもよい。さらに、学習装置70および推論装置80は、クラウドサーバ上に存在していてもよい。図21は、実施の形態4において学習装置70および推論装置80をコントローラ10の外部に設置した場合の例を示す図である。図22は、実施の形態4において学習装置70および推論装置80をコントローラ10の内部に設置した場合の例を示す図である。図21の例では、コントローラ10と学習装置70および推論装置80との間にネットワークが存在していてもよい。また、図21の例では、学習装置70および推論装置80はクラウドサーバ上に存在していてもよい。なお、図21および図22の例では、学習装置70の中に学習済モデル記憶部73が含まれているものとする。
 このように、コントローラ10は、実施の形態1の方法で機械モデル123を更新してもよいし、実施の形態4のように学習装置70および推論装置80を用いて機械モデル123を更新してもよい。なお、学習装置70および推論装置80をコントローラ10に適用する場合について説明したが、これに限定されない。学習装置70および推論装置80をコントローラ10a,10cに適用することも可能である。
 以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 10,10a,10c コントローラ、11 プログラム解析部、12,12a,12c 補正前位置指令演算部、13,13a,13c 加速度補正演算部、14,14a,14b 位置指令演算部、15,15a,15c 位置指令生成部、20,20a,20b,20c モータ制御装置、21,21a,21b 位置偏差演算部、22,22a,22b 位置制御部、23,23a,23b 速度演算部、24,24a,24b 速度偏差演算部、25,25a,25b 速度制御部、26,26a,26b,26c 電流制限部、27,27a,27b 電流制御部、30,30a,30b 機械系、31,31a,31b モータ、32,32a,32b 負荷、33,33a,33b エンコーダ、40,40a,40c 制御システム、70 学習装置、71,81 データ取得部、72 モデル生成部、73 学習済モデル記憶部、80 推論装置、82 推論部、121 補間データ生成部、122 加減速処理部、123 機械モデル、124 モータ特性モデル、125 負荷モデル、131,131a,131b モデル出力部、132,132a,132b モータ制御モデル、133,133a,133b モデル位置偏差演算部、134,134a,134b 比較部、135,135a,135c 位置指令補正値演算部、136 論理和演算部。

Claims (16)

  1.  モータに電流を供給して動作を制御するモータ制御装置に対して位置指令を出力するコントローラであって、
     前記モータの動作によって駆動する駆動対象の経路を規定する動作プログラムを解析し、解析データを出力するプログラム解析部と、
     前記モータが出力可能な加速度を算出する機械モデルを有し、前記解析データおよび前記機械モデルに基づいて前記位置指令を生成し、前記モータに対する制御入力が予め設定された制御入力制限を超えて飽和した場合は前記機械モデルを更新する位置指令生成部と、
     を備えることを特徴とするコントローラ。
  2.  前記位置指令生成部は、前記モータに対する制御入力が前記飽和したか否かを判定し、前記制御入力が前記飽和したと判定した場合は、前記飽和したときの前記コントローラおよび前記モータ制御装置および前記モータのうち少なくとも1つの動作状態を示す状態量に基づいて、前記機械モデルを更新する、
     ことを特徴とする請求項1に記載のコントローラ。
  3.  前記位置指令生成部は、
     前記モータが出力可能な加速度を算出する機械モデルを有し、前記解析データおよび前記機械モデルに基づいて、補正前位置指令を演算する補正前位置指令演算部と、
     前記モータに対する制御入力が前記飽和したか否かを判定し、前記制御入力が前記飽和したと判定した場合は制御飽和信号をONにして出力し、前記制御入力が前記飽和していないと判定した場合は前記制御飽和信号をOFFにして出力し、さらに前記制御飽和信号に基づいて、前記補正前位置指令を補正するための位置指令補正値を演算する加速度補正演算部と、
     前記補正前位置指令と前記位置指令補正値とを用いて前記位置指令を演算する位置指令演算部と、
     を備え、
     前記補正前位置指令演算部は、取得した前記制御飽和信号がONの場合、前記制御飽和信号がONのときの前記コントローラおよび前記モータ制御装置および前記モータのうち少なくとも1つの動作状態を示す状態量に基づいて、前記機械モデルを更新する、
     ことを特徴とする請求項1または2に記載のコントローラ。
  4.  前記加速度補正演算部は、前記補正前位置指令に基づいて前記モータ制御装置が前記モータを制御した場合のモデル位置を生成し、前記モデル位置と検出された前記モータのモータ位置との偏差であるモデル位置偏差が規定された閾値以上の場合、前記制御入力が前記飽和したと判定して前記制御飽和信号をONにして出力し、前記モデル位置偏差が前記閾値未満の場合、前記制御入力が前記飽和していないと判定して前記制御飽和信号をOFFにして出力する、
     ことを特徴とする請求項3に記載のコントローラ。
  5.  前記加速度補正演算部は、前記モータ制御装置から前記モータへの制御入力である電流指令が規定された値以上か否かを示す電流制限信号を取得し、前記電流指令が前記規定された値以上であることを示す前記電流制限信号を取得した場合は前記制御飽和信号をONにして出力し、前記電流指令が前記規定された値未満であることを示す前記電流制限信号を取得した場合かつ前記モデル位置偏差が規定された閾値未満の場合は前記制御飽和信号をOFFにして出力する、
     ことを特徴とする請求項4に記載のコントローラ。
  6.  前記加速度補正演算部は、前記制御飽和信号をONにして出力する場合は補正後の加速度である補正後指令加速度が減少するように前記補正前位置指令を補正する前記位置指令補正値を出力し、その後、前記制御飽和信号をOFFにして出力する場合は前記制御飽和信号をONにして出力したときの前記補正後指令加速度から増加するように前記位置指令補正値を変更する、
     ことを特徴とする請求項3から5のいずれか1つに記載のコントローラ。
  7.  前記補正前位置指令演算部は、取得した前記制御飽和信号がOFFであり、かつ前記機械モデルから算出されたモータトルクとモータ電流から算出されたモータトルクとの偏差であるトルク偏差が規定された値以上の場合、前記状態量に基づいて、前記機械モデルを更新する、
     ことを特徴とする請求項3から6のいずれか1つに記載のコントローラ。
  8.  前記補正前位置指令演算部は、前記機械モデルとしてモータ特性モデルおよび負荷モデルを有し、前記機械モデルとして前記負荷モデルを更新する、
     ことを特徴とする請求項7に記載のコントローラ。
  9.  前記補正前位置指令演算部は、前記機械モデルとしてモータ特性モデルおよび負荷モデルを有し、取得した前記制御飽和信号がONのときにモータ電流が規定された値以上の場合、前記制御飽和信号がONのときの前記状態量に基づいて前記負荷モデルを更新し、取得した前記制御飽和信号がONのときに前記モータ電流が規定された値未満の場合、前記制御飽和信号がONのときの前記状態量に基づいて前記モータ特性モデルを更新する、
     ことを特徴とする請求項3から7のいずれか1つに記載のコントローラ。
  10.  前記状態量は、モータ位置、前記モータ制御装置の駆動対象である機械系の機械端位置、モータ速度、前記機械系の機械端速度、モータ加速度、前記機械系の機械端加速度、モータ電流、トルク情報、前記加速度補正演算部で算出されるモデル位置、負荷イナーシャ推定値、および前記モータへの供給電圧のうち少なくとも1つを含む、
     ことを特徴とする請求項3から8のいずれか1つに記載のコントローラ。
  11.  各々が異なる前記モータに電流を供給して動作を制御する複数の前記モータ制御装置に接続され、複数の前記モータが補間されて制御され、
     前記加速度補正演算部は、何れかの前記モータについての前記制御飽和信号をONにして出力する場合、前記モータ同士の補間動作を維持しつつ補正後の加速度である補正後指令加速度が減少するように、補間動作する複数の前記モータに対する位置指令補正値を出力し、その後、補間動作する複数の前記モータについての前記制御飽和信号をOFFにして出力する場合、前記モータ同士の補間動作を維持しつつ前記制御飽和信号をONにして出力したときの前記補正後指令加速度から増加するように、補間動作する複数の前記モータに対する位置指令補正値を変更する、
     ことを特徴とする請求項3から10のいずれか1つに記載のコントローラ。
  12.  前記制御飽和信号、前記状態量、前記動作プログラムのプログラム情報、およびワーク情報を含む取得情報と、モータ特性、負荷イナーシャ、摩擦トルク、および偏荷重トルクを含む教師データと、を学習用データとして取得するデータ取得部と、
     前記学習用データを用いて、前記取得情報から、前記機械モデルに含まれる負荷モデルを推論するための学習済モデルを生成するモデル生成部と、
     を備える学習装置、
     を備えることを特徴とする請求項3から11のいずれか1つに記載のコントローラ。
  13.  前記制御飽和信号、前記状態量、前記動作プログラムのプログラム情報、およびワーク情報を取得情報として取得するデータ取得部と、
     前記機械モデルに含まれる負荷モデルを推論するための学習済モデルを用いて、前記データ取得部で取得された前記取得情報から負荷モデルを推論する推論部と、
     を備える推論装置、
     を備えることを特徴とする請求項3から12のいずれか1つに記載のコントローラ。
  14.  請求項1から13のいずれか1つに記載のコントローラと、
     前記コントローラから取得した位置指令に基づいてモータの位置制御を行うモータ制御装置と、
     を備えることを特徴とする制御システム。
  15.  モータに電流を供給して動作を制御するモータ制御装置に対して位置指令を出力するコントローラから、前記モータに対する制御入力が予め設定された制御入力制限を超えて飽和したか否かを示す制御飽和信号、前記コントローラおよび前記モータ制御装置および前記モータのうち少なくとも1つの動作状態を示す状態量、前記コントローラに入力される動作プログラムのプログラム情報、およびワーク情報を含む取得情報と、モータ特性、負荷イナーシャ、摩擦トルク、および偏荷重トルクを含む教師データと、を学習用データとして取得するデータ取得部と、
     前記学習用データを用いて、前記取得情報から、前記コントローラが有する機械モデルに含まれる負荷モデルを推論するための学習済モデルを生成するモデル生成部と、
     を備えることを特徴とする学習装置。
  16.  モータに電流を供給して動作を制御するモータ制御装置に対して位置指令を出力するコントローラから、前記モータに対する制御入力が予め設定された制御入力制限を超えて飽和したか否かを示す制御飽和信号、前記コントローラおよび前記モータ制御装置および前記モータのうち少なくとも1つの動作状態を示す状態量、前記コントローラに入力される動作プログラムのプログラム情報、およびワーク情報を取得情報として取得するデータ取得部と、
     前記コントローラが有する機械モデルに含まれる負荷モデルを推論するための学習済モデルを用いて、前記データ取得部で取得された前記取得情報から負荷モデルを推論する推論部と、
     を備えることを特徴とする推論装置。
PCT/JP2021/045769 2021-12-13 2021-12-13 コントローラ、制御システム、学習装置および推論装置 Ceased WO2023112082A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202180098399.XA CN117378139B (zh) 2021-12-13 2021-12-13 控制器、控制系统
PCT/JP2021/045769 WO2023112082A1 (ja) 2021-12-13 2021-12-13 コントローラ、制御システム、学習装置および推論装置
CN202411970148.8A CN119766063A (zh) 2021-12-13 2021-12-13 学习装置及推断装置
JP2022519601A JP7106038B1 (ja) 2021-12-13 2021-12-13 コントローラ、制御システム、学習装置および推論装置
DE112021007575.6T DE112021007575T5 (de) 2021-12-13 2021-12-13 Steuerung, Steuerungssystem, Lernvorrichtung und Inferenzvorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/045769 WO2023112082A1 (ja) 2021-12-13 2021-12-13 コントローラ、制御システム、学習装置および推論装置

Publications (1)

Publication Number Publication Date
WO2023112082A1 true WO2023112082A1 (ja) 2023-06-22

Family

ID=82556746

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/045769 Ceased WO2023112082A1 (ja) 2021-12-13 2021-12-13 コントローラ、制御システム、学習装置および推論装置

Country Status (4)

Country Link
JP (1) JP7106038B1 (ja)
CN (2) CN119766063A (ja)
DE (1) DE112021007575T5 (ja)
WO (1) WO2023112082A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10138186A (ja) * 1996-11-01 1998-05-26 Toyota Motor Corp 物理系の制御方法および装置
JP2018173777A (ja) * 2017-03-31 2018-11-08 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP2019181635A (ja) * 2018-04-12 2019-10-24 ファナック株式会社 情報処理装置及び情報処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5388604B2 (ja) 2009-01-29 2014-01-15 三菱電機株式会社 モータ駆動制御装置
JP6697491B2 (ja) * 2018-01-25 2020-05-20 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10138186A (ja) * 1996-11-01 1998-05-26 Toyota Motor Corp 物理系の制御方法および装置
JP2018173777A (ja) * 2017-03-31 2018-11-08 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP2019181635A (ja) * 2018-04-12 2019-10-24 ファナック株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
DE112021007575T5 (de) 2024-02-22
CN117378139B (zh) 2025-01-03
JPWO2023112082A1 (ja) 2023-06-22
JP7106038B1 (ja) 2022-07-25
CN117378139A (zh) 2024-01-09
CN119766063A (zh) 2025-04-04

Similar Documents

Publication Publication Date Title
CN114655248A (zh) 自动驾驶车辆的横向控制方法、装置及车辆
US9207654B2 (en) Servo controller
US5144549A (en) Time delay controlled processes
US6037736A (en) Apparatus for determination of control constant
JP6469320B1 (ja) サーボ制御装置
JP6740279B2 (ja) 調整装置及び調整方法
TWI440295B (zh) 馬達控制裝置
JP2019063960A (ja) 熱変位補正システム
JP2019063959A (ja) 熱変位補正システム
CN116829440A (zh) 机动车辆车道保持辅助系统
KR20130017403A (ko) 액추에이터 제어 장치 및 방법
CN116635802B (zh) 数控装置
JP4453526B2 (ja) サーボ制御装置
JP6646025B2 (ja) 制御装置及び機械学習装置
JP2002091570A (ja) サーボ制御方法
JP7106038B1 (ja) コントローラ、制御システム、学習装置および推論装置
JP2014174842A (ja) S字加減速制御プログラム、動作制御プログラム、記録媒体、コントローラ、s字加減速制御演算方法およびワーク動作制御システム
CN116830118A (zh) 电动助力转向中的马达控制
KR100222763B1 (ko) 로봇의 위치제어용 선형출력 제어장치 및 방법
JP3582541B2 (ja) スライディングモード制御による位置決め制御方法
Cheong et al. Joint tracking controller for multi‐link flexible robot using disturbance observer and parameter adaptation scheme
Das et al. Fuzzy Fractional Order PID Controller Design for Single Link Robotic Arm Manipulator
JP7558456B1 (ja) モータ制御装置およびモータ制御方法
JP2881873B2 (ja) デジタル適応制御装置
Zhang et al. Adaptive Extended State Observer-Based Tracking Control for PMSM Drive Systems With Uncertainties and Disturbances

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022519601

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21968005

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180098399.X

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112021007575

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21968005

Country of ref document: EP

Kind code of ref document: A1

WWG Wipo information: grant in national office

Ref document number: 202180098399.X

Country of ref document: CN