WO2020162202A1 - Control device and control program - Google Patents

Control device and control program Download PDF

Info

Publication number
WO2020162202A1
WO2020162202A1 PCT/JP2020/002263 JP2020002263W WO2020162202A1 WO 2020162202 A1 WO2020162202 A1 WO 2020162202A1 JP 2020002263 W JP2020002263 W JP 2020002263W WO 2020162202 A1 WO2020162202 A1 WO 2020162202A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
correction
correction coefficient
control device
time
Prior art date
Application number
PCT/JP2020/002263
Other languages
French (fr)
Japanese (ja)
Inventor
正樹 浪江
幸生 稲目
良昌 碓井
Original Assignee
オムロン株式会社
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 オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2020162202A1 publication Critical patent/WO2020162202A1/en

Links

Images

Classifications

    • 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
    • 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
    • H02P4/00Arrangements specially adapted for regulating or controlling the speed or torque of electric motors that can be connected to two or more different electric power supplies

Definitions

  • the present technology relates to a control device and a control program.
  • Patent Document 1 has a control unit that generates a model torque required to make the motion of a controlled object follow an operation target value, and operates the controlled object based on the model torque.
  • a motor control device that generates a torque command is disclosed.
  • the control unit inputs the operation target value and calculates the model torque by a filter calculation that attenuates a high frequency component equal to or higher than the cutoff frequency determined from the model gain and a predetermined frequency component.
  • a torque command prediction value is calculated from the state variable of the filter calculation and the model torque, and a saturation prediction signal is output based on a comparison between the torque command prediction value or the absolute value of the torque command prediction value and a predetermined threshold value.
  • the control unit calculates the model gain so as to suppress the increase in the absolute value of the model torque based on the operation target value, the saturation prediction signal, and the state variable. This reduces the torque peak and avoids torque saturation.
  • the present invention has been made in view of the above problems, and an object thereof is to provide a control device and a control program that can reduce a torque peak while suppressing an increase in calculation load.
  • the control device outputs the operation amount to the drive device that drives the motor connected to the control target, and performs the movement control to move the stopped control target to the designated position.
  • the control device generates a manipulated variable using a target value generated from the target trajectory so that the controlled object follows the target trajectory, and a movement control start time until a predetermined correction time elapses.
  • a correction unit that multiplies the operation amount or the target value used to generate the operation amount by a correction coefficient is provided in the correction period.
  • the correction coefficient monotonically increases with time during the correction period.
  • the correction coefficient at the end of the correction period is 1.
  • the operation amount gradually increases during the correction period from the start of the movement control, and the torque peak immediately after the start of the movement control can be reduced.
  • torque peak By reducing the torque peak, torque saturation can be avoided. Further, since the torque peak is reduced, a small motor can be used and the cost can be reduced. Further, the calculation for multiplying the correction coefficient is simpler than the calculation for avoiding the torque saturation in Patent Document 1, and the calculation load is suppressed. In this way, the torque peak can be reduced while suppressing an increase in calculation load.
  • the correction coefficient increases in proportion to the elapsed time from the start of movement control. According to this disclosure, the calculation load for determining the correction coefficient can be reduced.
  • the correction coefficient is determined according to a function in which the elapsed time from the start of movement control is the explanatory variable and the correction coefficient is the objective variable.
  • the differential value of the end point of the correction period in the function is 0. According to this disclosure, smooth movement of the controlled object can be realized.
  • the correction period is divided into two sections.
  • the correction coefficient is determined according to a function in which the elapsed time from the start of the movement control is an explanatory variable and the correction coefficient is an objective variable.
  • the function is a linear function in the previous section of the two sections.
  • the function is a quintic function in which the slope of the start point of the latter section matches the slope of the linear function in the latter section of the two sections, and the second derivative of the end point of the latter section becomes 0.
  • movement control is control for moving a control target to a designated position in a designated time.
  • the predetermined correction time is 1 ⁇ 2 or less of the designated time. According to this disclosure, it is possible to prevent the settling time from increasing more than the designated time.
  • the generation unit generates a manipulated variable using model predictive control.
  • model predictive control since the target value is immediately tracked immediately after the start of the movement control, the operation amount output to the drive device increases, and the torque value output from the drive device tends to become excessive.
  • the torque peak can be reduced as described above, by applying the model predictive control, the position of the controlled object should be settled in a well-following state at the time when the target value reaches the specified position which is the destination of movement. You can
  • the control program causes the computer to execute the following first and second steps.
  • the first step is a step of generating a manipulated variable using a target value generated from the target trajectory so that the controlled object follows the target trajectory.
  • the second step is a step of multiplying the operation amount or the target value used for generating the operation amount by the correction coefficient in the correction period from the start of the movement control to the passage of a predetermined correction time.
  • the correction coefficient monotonically increases with time during the correction period.
  • the correction coefficient at the end of the correction period is 1. Also according to this disclosure, torque saturation can be suppressed while suppressing an increase in calculation load.
  • FIG. 7 is a flowchart showing a processing procedure of motor control by the control system according to the present embodiment.
  • FIG. 7 is a diagram showing an example of an instruction code executed by the control device according to the present embodiment.
  • FIG. 9 is a flowchart showing a processing procedure of motor control by the control system according to the first modification. It is a figure which shows the example of the simulation result at the time of correct
  • 9 is a schematic diagram showing an example of a functional configuration of a control device according to Modification 2.
  • FIG. 1 is a schematic diagram showing a configuration example of a control system to which the control device according to the present embodiment is applied.
  • the control system 1 of the example shown in FIG. 1 includes a controlled object 2 that is a load, one or more servo drivers, one or more servo motors, and a control device 100.
  • the controlled object 2 in the example shown in FIG. 1 is an XY stage that can move a working plate 3 on which a work is placed in two directions orthogonal to each other.
  • the controlled object 2 is not limited to the XY stage, and may be any device that moves to a specified position and is positioned.
  • the position of the working plate 3 may be measured by the measurement sensor 20.
  • the measurement sensor 20 includes two measurement sensors 20X and 20Y.
  • the measurement sensors 20X and 20Y are configured by displacement sensors such as laser displacement meters.
  • the measurement sensor 20X measures the position of the working plate 3 in the X direction. Specifically, the measurement sensor 20X measures the displacement of the end surface of the working plate 3 orthogonal to the X direction.
  • the measurement sensor 20Y measures the position of the working plate 3 in the Y direction. Specifically, the measurement sensor 20X measures the displacement of the end surface of the working plate 3 orthogonal to the Y direction.
  • the one or more servo motors are motors for moving the working plate 3 of the controlled object 2, and in the example shown in FIG. 1, two servo motors 300X and 300Y (hereinafter, also referred to as “servo motor 300”). including.
  • the controlled object 2 has a first base plate 4 and a second base plate 7 in addition to the working plate 3.
  • the first base plate 4 is provided with a ball screw 6 for arbitrarily moving the working plate 3 along the X direction.
  • the ball screw 6 is engaged with a nut included in the working plate 3.
  • the servomotor 300X connected to one end of the ball screw 6 is rotationally driven, the nut included in the working plate 3 and the ball screw 6 relatively rotate, and as a result, the working plate 3 moves in the X direction. Become.
  • the second base plate 7 is provided with a ball screw 9 for arbitrarily moving the working plate 3 and the first base plate 4 along the Y direction.
  • the ball screw 9 is engaged with a nut included in the first base plate 4.
  • the servo motor 300Y connected to one end of the ball screw 9 is rotationally driven, the nut included in the first base plate 4 and the ball screw 9 are relatively rotated, and as a result, the working plate 3 and the first base plate 4 are moved in the Y direction. Will move along.
  • the one or more servo drivers are drive devices that drive the servo motors.
  • two servo drivers 200X and 200Y (hereinafter, also referred to as “servo driver 200”) drive servomotors 300X and 300Y, respectively.
  • the servo driver 200 generates a drive signal for the corresponding servo motor 300 based on the command value (command position or command speed) from the control device 100 and the feedback value from the corresponding servo motor 300.
  • the drive signal indicates, for example, a torque command.
  • the servo driver 200 drives the servo motor 300 by outputting the generated drive signal to the servo motor 300.
  • the servo driver 200 receives the output signal from the encoder coupled to the rotation axis of the corresponding servo motor 300 as a feedback value.
  • the position, rotation phase, rotation speed, cumulative rotation speed, etc. of the servo motor 300 can be detected from the feedback value.
  • the control device 100 outputs the operation amount to the servo driver 200 to perform movement control for moving the stopped controlled object 2 to the designated position.
  • Data including an operation amount can be exchanged between the control device 100 and the servo driver 200.
  • FIG. 1 shows a configuration example in which the control device 100 and the servo driver 200 are connected via a field bus 101.
  • any communication means can be adopted.
  • the control device 100 and the servo driver 200 may be directly connected by a signal line.
  • a configuration in which the control device 100 and the servo driver 200 are integrated may be adopted. Any implementation form may be adopted as long as an algorithm as described below is realized.
  • the control device 100 generates a manipulated variable to be output to the servo driver 200 by using a target value generated from the target trajectory for each control cycle so that the controlled object 2 follows the target trajectory.
  • the control device 100 outputs the generated operation amount to the servo driver 200 as a command value (specified position or command speed).
  • the target trajectory is created in advance for each movement control. Specifically, the target trajectory is created in advance so as to move from the initial position in the stopped state to the designated position in the designated time and stop again at the designated position.
  • the torque value output from the servo driver 200 increases immediately after the start of the movement control.
  • the torque value output from the servo driver 200 is likely to be excessive.
  • control device 100 executes control such as model predictive control having high tracking performance with respect to a target value
  • control such as model predictive control having high tracking performance with respect to a target value
  • the torque value output from the servo driver 200 is likely to be excessive. This is because the control is performed so as to follow the target value early.
  • the maximum torque value is predetermined according to the capacity of the servo motor 300.
  • the control device 100 generates the manipulated variable (that is, the command value) according to the model predictive control, the prediction error of the model output increases, and the tracking performance is likely to further decrease.
  • the cost is increased.
  • the control device 100 multiplies the operation amount by the correction coefficient in the correction period from the start of the movement control to the elapse of a predetermined correction time.
  • the correction coefficient is set so as to monotonically increase with time in the correction period, and is 1 at the end point of the correction period.
  • the operation amount that is, the command value
  • the correction coefficient gradually increases in the correction period from the start of the movement control, and the torque peak immediately after the start of the movement control can be reduced.
  • the calculation for multiplying the correction coefficient is simpler than the calculation for avoiding the torque saturation in Patent Document 1, and the calculation load is suppressed.
  • Control device 100 may be implemented using a PLC (programmable controller) as an example.
  • a processor executes a control program stored in advance (including a system program and a user program, which will be described later), so that processing described later may be realized.
  • FIG. 2 is a schematic diagram showing an example of a hardware configuration of control device 100 according to the present embodiment.
  • the control device 100 includes a processor 102 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a flash memory 108, and an external network. It includes a controller 116, a memory card interface 118, an internal bus controller 122, a fieldbus controller 124, an external network controller 116, and a memory card interface 118.
  • the processor 102 reads the system program 110 and the user program 112 stored in the flash memory 108, expands them in the main memory 106, and executes them to realize arbitrary control of the control target.
  • the processor 102 executes the system program 110 and the user program 112
  • the operation amount output to the servo driver 200, the processing related to the data communication via the field bus, and the like, which will be described later, are executed.
  • the system program 110 includes instruction codes for providing basic functions of the control device 100, such as data input/output processing and execution timing control.
  • the user program 112 is arbitrarily designed according to the control target, and includes a sequence program 112A for executing sequence control and a motion program 112B for executing motion control.
  • a function block is a component of a program executed by the control device 100, and means a modularized program element that is used multiple times.
  • the chipset 104 realizes the processing of the control device 100 as a whole by controlling each component.
  • the internal bus controller 122 is an interface for exchanging data with various devices connected to the control device 100 through an internal bus.
  • An I/O unit 126 is connected as an example of such a device.
  • the fieldbus controller 124 is an interface for exchanging data with various devices connected to the control device 100 through the fieldbus.
  • a servo driver 200 is connected as an example of such a device.
  • the internal bus controller 122 and the fieldbus controller 124 can give arbitrary commands to the connected device and can acquire arbitrary data (including measurement values) managed by the device. ..
  • the internal bus controller 122 and/or the fieldbus controller 124 also function as an interface for exchanging data with the servo driver 200.
  • the external network controller 116 controls the exchange of data via various wired/wireless networks.
  • the memory card interface 118 is configured such that the memory card 120 can be attached and detached, and data can be written in the memory card 120 and data can be read from the memory card 120.
  • Servo driver The operation of servo driver 200 connected to control device 100 according to the present embodiment will be described.
  • the servo driver 200 receives an operation amount from the control device 100 as a command value (command position or command speed), and receives an output signal from an encoder coupled to the servo motor 300 as a feedback value.
  • the servo driver 200 uses the command value and the feedback value to execute the control calculation according to the control loop of the model following control system, for example.
  • the servo driver 200 When the servo driver 200 receives a command position as a command value, the servo driver 200 executes a control calculation according to a position control loop and a speed control loop. When the servo driver 200 receives a command speed as a command value, the servo driver 200 executes a control calculation according to a speed control loop.
  • the servo driver 200 executes a control calculation according to a position control loop to calculate a command speed according to a position deviation between the measured position of the servo motor 300 obtained by the feedback value and the command position given from the control device 100.
  • the servo driver 200 calculates the torque value according to the speed deviation between the commanded speed and the measured speed of the servo motor 300 obtained from the feedback value by executing the control calculation according to the speed control loop.
  • the servo driver 200 outputs a current command for causing the servo motor 300 to generate a torque having the calculated torque value, to the servo motor 300.
  • FIG. 3 is a schematic diagram showing an example of a functional configuration of the control device according to the present embodiment.
  • the control device 100 includes a control unit 160 including a model creation module 130, a trajectory generation module 140, and a model prediction control module 150.
  • model predictive control is described as "MPC (Model Predictive Control)”.
  • the control device 100 includes two control units 160 corresponding to the servo drivers 200X and 200Y, respectively. However, in FIG. 3, for simplification, only one of the two control units 160 is shown.
  • the model creation module 130 is typically realized by defining a model creation function block in the user program 112. That is, the model creating module 130 is functionalized by the model creating function block defined in the user program 112.
  • the model creation module 130 creates a dynamic characteristic model indicating the dynamic characteristics of the model target 400 including the servo driver 200, the servo motor 300, and the control target 2.
  • the dynamic characteristic model is defined by a transfer function indicating the relationship between the operation amount and the position (load position) of the working plate 3.
  • the model creation module 130 provides the model predictive control module 150 with parameters that define the created dynamic characteristic model.
  • the trajectory generation module 140 generates time-series data of the target value SP indicating the target position of the working plate 3 along the pre-created target trajectory, and obtains the target value SP corresponding to each control cycle from the time-series data.
  • the data is sequentially read and input to the model prediction control module 150.
  • the trajectory generation module 140 extracts a plurality of target values SP from the current time to the end of the prediction horizon, which is a certain period in the future, from the time series data of the target values SP, and inputs them to the model prediction control module 150. To do.
  • control device 100 may store in advance time-series data of the target value SP that defines the target trajectory.
  • the trajectory generation module 140 accesses the previously stored time series data of the target value SP.
  • the target value SP for each control cycle that defines the target trajectory may be stored in advance in the form of time-series data, or the target value SP for each control cycle is sequentially calculated according to a predetermined calculation formula. You may make it calculate.
  • the model prediction control module 150 is typically realized by defining a model prediction control function block in the user program 112. That is, the model prediction control module 150 is functionalized by the model prediction control function block defined in the user program 112.
  • the model prediction control module 150 includes a generation unit 151 and a correction unit 152.
  • the generation unit 151 generates the manipulated variable MV so that the deviation between the load position and the target position indicated by the target value is minimized by executing the model predictive control using the dynamic characteristic model.
  • the generation unit 151 may adopt a known method as a method of model prediction control.
  • the correction unit 152 corrects the operation amount MV by multiplying the operation amount MV generated by the generation unit 151 by the correction coefficient in the correction period from the start of the movement control to the elapse of the predetermined correction time T. ..
  • the correction unit 152 outputs the corrected operation amount MV to the servo driver 200 as a command value (command position or command speed).
  • the correction coefficient is set so as to monotonically increase over time, and is 1 at the end of the correction period. Accordingly, the operation amount gradually increases during the correction period from the start of the movement control, and the torque saturation immediately after the start of the movement control can be suppressed.
  • the dynamic characteristic model is created by tuning in advance.
  • a dynamic characteristic model is created based on the input value (manipulation amount) and the output value (measurement value of the load position) obtained in tuning. ..
  • the dynamic characteristic model is represented by, for example, the following function P(z ⁇ 1 ).
  • the function P(z ⁇ 1 ) is a discrete-time transfer function that combines a dead time element and an nth-order lag element.
  • the dead time d of the dead time element and the variables a 1 to a n and the variables b 1 to b m of the nth delay element are determined as model parameters.
  • the dead time is a time from when an input value is given to when an output corresponding to the input value appears (that is, a delay time from input to output).
  • Optimal values may be determined for the orders n and m.
  • the process of creating such model parameters may be executed by the method of least squares or the like.
  • the dynamic characteristic model indicates the relationship between the motor position and the load position, and the first dynamic characteristic model P CM indicating the relationship between the operation amount and the position of the servo motor 300 (hereinafter referred to as “motor position”). It may be created by combining the second dynamic characteristic model P ML . That is, the dynamic characteristic model is represented by P CM *P ML .
  • the first dynamic characteristic model P CM is a model of the servo driver 200 and the servo motor 300, and is defined by a transfer function that represents a relationship between an operation amount that is an input value and a motor position that is an output value.
  • a transfer function that represents a relationship between an operation amount that is an input value and a motor position that is an output value.
  • an encoder is installed in the servo motor 300, and the motor position is continuously and highly accurately measured by the feedback value from the encoder. Therefore, the first dynamic characteristic model P CM is created based on the measured value of the motor position.
  • the first dynamic characteristic model P CM is represented by, for example, the following function P CM (z ⁇ 1 ).
  • the function P CM (z ⁇ 1 ) is a discrete-time transfer function that combines the dead time element and the nth delay element.
  • the dead time d of the dead time element and the variables a CM1 to a CMn and the variables b CM1 to b CMm of the nth delay element are determined as model parameters. To be done. Optimal values may be determined for the orders n and m.
  • the second dynamic characteristic model P ML is a model of the controlled object 2, and is defined by a transfer function that represents the relationship between the motor position that is an input value and the load position that is an output value. The relationship between the motor position and the load position depends on the vibration of the controlled object 2. Therefore, the second dynamic characteristic model P ML may be created using the waveform parameter extracted from the vibration waveform of the controlled object 2.
  • the waveform parameter includes, for example, the vibration frequency f 0 (typically the natural vibration frequency) of the controlled object 2 and the amplitude ratio Adr of two continuous waves in the vibration waveform.
  • the vibration waveform of the controlled object 2 can be easily obtained from the measurement result of the measurement sensor 20.
  • the second dynamic characteristic model P ML is represented by, for example, one of the functions P ML (s) shown in [Equation 3] below.
  • represents a vibration damping ratio.
  • the generation unit 151 generates the manipulated variable MV for each control cycle by the following model predictive control, for example.
  • the generation unit 151 When the dynamic characteristic model is created by the model creating module 130, the generation unit 151 performs step response calculation and ramp response calculation as preliminary preparations.
  • the step response calculation is a calculation for obtaining the output Ys of the dynamic characteristic model when the maximum input (step input) is continued in the initial state where the output is 0.
  • the output Ys at the elapsed time i (>dead time d) from the start of step input is defined as Ys(i).
  • the ramp response calculation is a calculation for obtaining the output Yr of the dynamic characteristic model when an input (ramp input) is increased by one step for each control cycle in the initial state where the output is 0.
  • the output Yr at the elapsed time i (>dead time d) from the start of the lamp input is defined as Yr(i).
  • the generation unit 151 performs the following processing in each control cycle during movement control.
  • the generation unit 151 calculates the load position in the control cycle k+d+1 (hereinafter, referred to as “predicted load position YL k+d+1 ”) by inputting the operation amount MV generated up to the current control cycle k.
  • the control cycle k+d+1 is a control cycle in which only the dead time d+1 defined in the dynamic characteristic model has elapsed from the end of the current control cycle k.
  • the generation unit 151 may calculate the predicted load position YL k+d+1 as follows. .. That is, the generation unit 151 inputs the operation amount MV generated up to the current control cycle k into the first dynamic characteristic model P CM , so that the motor position in the control cycle k+d+1 (hereinafter, “predicted motor position YM k+d+1 ”). Is calculated). The generation unit 151 calculates the predicted load position YL k+d+1 in the control cycle k+d+1 by inputting the predicted motor position YM k+d+1 into the second dynamic characteristic model P ML .
  • the predicted load position YL k+d+1 obtained as described above is used to generate the manipulated variable MV in the next control cycle.
  • the calculated data is shifted by one control cycle in preparation for the next control cycle.
  • the predicted loading position YL k + d + 1 obtained as described above is used as the estimated load position YL k + d in the next control cycle.
  • the current control cycle k, estimated load position YL k + d + 1 computed in the previous control cycle is used as the estimated load position YL k + d.
  • the generation unit 151 performs free response calculation in which the predicted load position YL k+d is specified. Free response calculation is the output Yf of the dynamic characteristic model in the control cycle k+d+H after the control cycle k+d when the input after the current control cycle k is 0 in the dynamic characteristic model in the specified state in the control cycle k+d. This is a calculation for obtaining (k+d+H).
  • the generation unit 151 calculates the output MH k+d+H of the dynamic characteristic model in the control cycle k+d+H after the predictive horizon from the control cycle k+d with the magnitudes of the step output and the lamp output as ks and kr, respectively, according to the following equation (1).
  • MH k+d+H ks*Ys(H)+kr*Yr(H)+Yf(k+d+H) (1)
  • the reference trajectory is specified by the target value SP k+d+H in the control cycle k+d +H and the predetermined reference trajectory time constant Tr.
  • the position RH k+d+H on the reference trajectory in the control cycle k+d+H is expressed by the following equation (2), for example.
  • RH k+d+H SP k+d+H- exp(-Ts/Tr) H *(SP k+d- YL k+ d )...
  • H1 and H2 are set as H to obtain two variables ks and kr.
  • H1 and H2 are times shorter than the vibration cycle of the controlled object 2, for example, 1/8 of the vibration cycle and 1/4 of the vibration cycle, respectively.
  • the variables ks and kr are calculated by solving the simultaneous equations including the equations of the two values H1 and H2.
  • the generation unit 151 may generate the product of ks obtained as described above and the step input as the manipulated variable MV k of the current control cycle k.
  • FIG. 4 is a diagram showing a first example of the correction coefficient f(t).
  • FIG. 5 is a diagram showing a second example of the correction coefficient f(t).
  • FIG. 6 is a diagram showing a third example of the correction coefficient f(t).
  • the correction coefficient f(t) of the first example increases in proportion to the elapsed time t from the start of the movement control.
  • the correction coefficient f(t) in the first example is determined according to a simple linear function. Therefore, the calculation load for determining the correction coefficient f(t) can be reduced.
  • the change in the operation amount (that is, the command value) output to the servo driver 200 may increase, and it may be difficult to smoothly move the control target 2. For example, when the command value indicates a position command, the torque value output from the servo driver 200 may suddenly decrease in the negative direction.
  • the correction coefficient f(t) of the third example can solve the problem of the correction coefficient f(t) of the second example.
  • the upper part of FIG. 6 shows a function for determining the correction coefficient f(t) of the third example.
  • the correction coefficient f(t) has a quintic function f in which the slope of the start point of the section Tb matches the slope of the linear function in the section Tb and the second derivative of the end point of the section Tb becomes 0.
  • (T) (t/T) 3 ⁇ 6 ⁇ (t/T) 2 ⁇ 15 ⁇ (t/T)+10 ⁇ Determined according to.
  • the lower part of FIG. 6 shows a method of creating a function for determining the correction coefficient f(t).
  • FIG. 7 is a flowchart showing a processing procedure of motor control by the control system according to the present embodiment. The steps illustrated in FIG. 7 may be implemented by the processor 102 of the control device 100 executing a control program (including the system program 110 and the user program 112 illustrated in FIG. 2).
  • the control device 100 sets the correction time T (step S1). For example, when moving the controlled object 2 to the designated position over the designated time, the control device 100 sets a time obtained by multiplying the designated time by a predetermined ratio (for example, 1/2) as the correction time T.
  • a predetermined ratio for example, 1/2
  • control device 100 sets the elapsed time t from the start of control to 0 (step S2). After that, the control device 100 determines whether or not to start the movement control (step S3). For example, the control device 100 may check the states of the servo driver 200, the servo motor 300, the controlled object 2 and other devices, and may determine that the movement control is started by receiving a preparation completion notification from each device. .. When it is determined that the movement control is not started (NO in step S3), the motor control process is returned to step S3.
  • the control device 100 When it is determined to start the movement control (YES in step S3), the control device 100 adds the control cycle Ts to the elapsed time t from the start of control (step S4).
  • the control device 100 executes the model predictive control using the dynamic characteristic model so that the deviation between the load position and the target position indicated by the target value SP is minimized, and the manipulated variable MV corresponding to the current control cycle. Is generated (step S5).
  • the operation amount MV is generated in step S5 by, for example, ⁇ E. Generation of manipulated variable MV>.
  • the control device 100 determines whether the elapsed time t from the start of control is the correction time T or less (step S6).
  • t ⁇ T YES in step S6
  • the control device 100 substitutes the elapsed time t from the start of control into the function for determining the correction coefficient, and thereby the correction coefficient f(t ) Is calculated (step S7).
  • the control device 100 corrects the operation amount MV by multiplying the operation amount MV by the correction coefficient f(t), and outputs the corrected operation amount MV to the servo driver 200 (step S8).
  • step S9 the control device 100 determines whether or not the movement control should be ended (step S9).
  • the control device 100 may determine to end the movement control when the load position reaches the end point of the target trajectory and settles.
  • the motor control process is returned to step S4.
  • steps S4 to S8 are repeated. Note that steps S4 to S8 are repeated every control cycle.
  • step S9 If it is determined that the movement control is to be ended (YES in step S9), the motor control process is ended.
  • the motor control of control device 100 according to the present embodiment is realized by the processing procedure as described above.
  • the processes of steps S1 to S10 are performed for each designated servo driver 200. Therefore, the processes of steps S1 to S10 for each of the plurality of servo drivers 200 may be executed in parallel.
  • control device 100 can be executed by describing an instruction in user program 112 executed by control device 100.
  • control device 100 can be executed by describing an instruction in user program 112 executed by control device 100.
  • an example of programming of control device 100 according to the present embodiment will be described.
  • FIG. 8 is a diagram showing an example of an instruction code executed by the control device according to the present embodiment.
  • FIG. 8 shows the model predictive control function block 115 included in the user program 112.
  • the model prediction control function block 115 (hereinafter, referred to as “model prediction control FB115”) is a function block for defining execution of model prediction control.
  • the model predictive control module 150 described above is realized by the model predictive control FB 115.
  • the model prediction control FB115 has, as input items, a start instruction 115A, a sampling period 115B, a target value 115C, a model parameter 115D, a control parameter 115E, a vibration frequency 115F, an amplitude ratio 115G, and a control start correction time. 115H.
  • the model predictive control FB115 includes a status 115I and an operation amount 115J as output items.
  • start instruction 115A for example, conditions for starting the model predictive control are set.
  • sampling cycle 115B the control cycle Ts for executing the calculation by the model predictive control is set.
  • a data array of a plurality of target values SP that defines a predetermined target trajectory of the controlled object 2 is set.
  • the model parameters (d, a cm1 to a cmn , b cm1 to b cmm ) for defining the first dynamic characteristic model P CM created by the model creating module 130 are input to the model parameter 115D .
  • Predictive horizon values H1 and H2 used in model predictive control and a reference trajectory time constant Tr are input to the control parameter 115E.
  • a vibration frequency f 0 for defining the second dynamic characteristic model P ML is input to the vibration frequency 115F.
  • the amplitude ratio Adr for defining the second dynamic characteristic model P ML is input to the amplitude ratio 115G.
  • the correction time T is input to the control start correction time 115H.
  • a value indicating the execution state of processing by the model predictive control FB 115 is output.
  • the manipulated variable MV is output to the servo driver as a command value.
  • the operation amount MV corrected by multiplying the operation amount MV generated by the execution of the model prediction control by the correction coefficient f(t) is output.
  • the manipulated variable MV generated by executing the model predictive control is output.
  • FIG. 9 is a diagram showing an example of a simulation result when the operation amount MV is not corrected by the correction coefficient f(t).
  • FIG. 10 is a diagram showing an example of a simulation result when the operation amount MV is corrected by the correction coefficient f(t).
  • the correction coefficient f(t) of the third example shown in FIG. 6 was used.
  • Control target 2 inertial system
  • Vibration frequency of controlled object 9.2 Hz
  • Control cycle Ts 1 ms
  • Dead time d 2 ms
  • H2 18 control cycles
  • Movement control The control target is moved to a designated position 25 mm away at a designated time of 200 ms.
  • the leftmost column (a) shows the simulation result when the correction time T is 10 ms.
  • the simulation result when the correction time T is 20 ms is shown in the second column (b) from the left.
  • the third column from the left (c) shows the simulation result when the correction time T is 50 ms.
  • the simulation result when the correction time T is 100 ms is shown in the fourth column (d) from the left.
  • the first stage shows the time change of the target position, that is, the target trajectory and the time change of the load position.
  • the target orbit is the 5th orbit.
  • the second stage shows the time change of the deviation between the target position and the load position.
  • the third stage shows the time change of the torque value output from the servo driver.
  • the operation amount MV is corrected by the correction coefficient f(t) in the correction period from the start of the movement control until the correction time T elapses.
  • the torque value is reduced.
  • the effect of reducing the torque value is increased by increasing the correction time T.
  • the correction time T the larger the deviation between the load position and the target position.
  • the correction time T is set to 1/2 or less of the designated time for moving to the designated position, the deviation between the load position and the target position becomes large only during the movement of the controlled object. Therefore, the deviation between the load position and the target position when the designated time of 200 ms has elapsed from the start of the movement control is sufficiently small. That is, the settling time from the start of the movement control until the position of the controlled object falls within the allowable range including the designated position has not increased from the designated time (200 ms).
  • the control device 100 outputs the manipulated variable MV to the servo driver 200, which is a drive device that drives the servo motor 300 connected to the controlled object 2, and stops the control.
  • a movement control for moving the object 2 to the designated position is performed.
  • the control device 100 includes a generation unit 151 and a correction unit 152.
  • the generation unit 151 generates the manipulated variable MV using the target value SP generated from the target trajectory so that the controlled object 2 follows the target trajectory.
  • the correction unit 152 multiplies the operation amount MV by the correction coefficient f(t) in the correction period from the start of the movement control to the passage of the predetermined correction time T.
  • the correction coefficient f(t) monotonically increases with the passage of time during the correction period.
  • the correction coefficient f(T) at the end of the correction period is 1.
  • the operation amount MV (that is, the command value) gradually increases in the correction period from the start of the movement control, and the torque peak immediately after the start of the movement control can be reduced.
  • torque peak torque saturation can be avoided.
  • the torque peak is reduced, a small motor can be used and the cost can be reduced.
  • the calculation for multiplying the correction coefficient f(t) is simpler than the calculation for avoiding the torque saturation in Patent Document 1, and the calculation load is suppressed.
  • the correction coefficient f(t) may increase in proportion to the elapsed time t from the start of movement control (see FIG. 4).
  • the correction coefficient f(t) is determined according to a simple linear function. Therefore, the calculation load for determining the correction coefficient f(t) can be reduced.
  • the differential value of () may be 0 (see FIG. 5). In this case, smooth movement of the controlled object 2 can be realized.
  • the correction period may be divided into two sections Ta and Tb (see FIG. 6).
  • the function is a linear function in the previous section Ta, the slope of the starting point of the section Tb matches the slope of the linear function in the subsequent section Tb, and the second derivative value of the end point of the section Tb is 0. Is a quintic function. In this case, it is possible to realize smooth movement of the controlled object 2 and to suppress deterioration of followability to the target value immediately after the start of movement control.
  • the -Movement control is control to move the controlled object 2 to a specified position in a specified time.
  • the predetermined correction time T is preferably 1/2 or less of the designated time.
  • the correction unit 152 corrects the operation amount MV generated by the generation unit 151 with the correction coefficient f(t). However, the correction unit 152 may correct the target value SP by multiplying the target value SP output from the trajectory generation module by the correction coefficient f(t) instead of the operation amount MV. As described above, the generation unit 151 generates the manipulated variable MV so that the deviation between the load position and the target position indicated by the target value SP is minimized. Therefore, since the target value SP is corrected by the correction coefficient f(t), the operation amount MV (that is, the command value) gradually increases in the correction period from the start of the movement control until the correction time T elapses. , Torque saturation is suppressed.
  • FIG. 11 is a flowchart showing a processing procedure of motor control by the control system according to the first modification.
  • the processing procedure shown in FIG. 11 differs from the processing procedure shown in FIG. 7 in that steps S10 and S11 are included instead of steps S5 and S8.
  • step S10 the control device 100 corrects the target value SP by multiplying the target value SP by the correction coefficient f(t) (step S10).
  • the above ⁇ E.
  • the target value SP used to generate the manipulated variable MV k corresponding to the current control cycle k is included in the above equation (2).
  • step S10 After step S10 or when t>T (NO in step S6), the control device 100 uses the dynamic characteristic model so that the deviation between the load position and the target position indicated by the target value SP is minimized.
  • the model predictive control described above is executed to generate the manipulated variable MV (step S11).
  • step S11 when the target value SP is corrected by the correction coefficient f(t), the manipulated variable MV is generated using the corrected target value SP.
  • the generated operation amount MV is output to the servo driver 200.
  • step S9 determines whether or not the movement control should be ended.
  • the motor control process is returned to step S4.
  • steps S4, S6, S7, S10 and S11 are repeated. Note that steps S4, S6, S7, S10, and S11 are repeated every control cycle.
  • FIG. 12 is a diagram showing an example of a simulation result when the target value SP is corrected by the correction coefficient f(t).
  • the leftmost column (a) shows the simulation result when the correction time T is 10 ms.
  • the simulation result when the correction time T is 20 ms is shown in the second column (b) from the left.
  • the third column from the left (c) shows the simulation result when the correction time T is 50 ms.
  • the simulation result when the correction time T is 100 ms is shown in the fourth column (d) from the left.
  • the torque value output from the servo driver is reduced. To be done.
  • the effect of reducing the torque value is increased by increasing the correction time T.
  • the settling time did not increase from the specified time (200 ms) when the correction time T was set to 1/2 or less of the moving time to the specified position.
  • FIG. 13 is a schematic diagram illustrating an example of the functional configuration of the control device according to the second modification.
  • a control device 100A according to Modification 2 is different from the control device 100 shown in FIG. 3 in that a control unit 160A is provided instead of the control unit 160.
  • the control unit 160A differs from the control unit 160 in that it includes a model predictive control module 150A instead of the model predictive control module 150.
  • the model prediction control module 150A differs from the model prediction control module 150 in that it includes a generation unit 151A instead of the generation unit 151.
  • the measured value PV of the position (load position) of the controlled object 2 is fed back to the model predictive control module 150A of the control device 100A according to Modification 2.
  • the measurement value PV is measured by the measurement sensor 20 shown in FIG. 1 and transmitted from the measurement sensor 20 to the control device 100A.
  • the generation unit 151A differs from the generation unit 151 in that the measured load value PV is used to correct the predicted load position YL.
  • the generation unit 151A updates the predicted load position YL k to the measured value PV k, and also updates the predicted load position YL in the future for the dead time d according to the following equation using the correction amount CL. YL k+1 ⁇ YL k+1 +CL ... YL k+d ⁇ YL k+d +CL As a result, the accuracy of the predicted load position YL can be improved. As a result, it is possible to improve the followability to the target trajectory in the movement control.
  • the generating unit 151A replaces the predicted load position YL with the predicted load position YL or corrects the predicted load position YL.
  • the predicted motor position YM may be corrected using the measured value PVM of the motor position received from the servo motor 300.
  • the generation unit 151A updates the predicted motor position YM k to the measured value PVM k, and updates the future predicted motor position YM for the dead time d according to the following equation using the correction amount CM.
  • CM correction amount
  • the generation units 151 and 151A perform model predictive control using the dynamic characteristic model indicating the dynamic characteristics of the model target 400 including the servo driver 200, the servo motor 300, and the control target 2, and generate the manipulated variable MV. I decided to do it. However, when the vibration suppression of the controlled object 2 is unnecessary, the generation units 151 and 151A perform model predictive control using the dynamic characteristic model indicating the dynamic characteristics of the model target 400 including the servo driver 200 and the servo motor 300. The operation amount MV may be generated. In this case, in the model predictive control FB 115 (see FIG. 8) that realizes the model predictive control modules 150 and 150A, the input items of the vibration frequency 115F and the amplitude ratio 115G are omitted.
  • the operation amount is output to the drive device (200, 200X, 200Y) that drives the motor (300, 300X, 300Y) connected to the controlled object (2), and the stopped controlled object (2) is designated.
  • the correction coefficient is determined according to a function having an elapsed time from the start of the movement control as an explanatory variable and the correction coefficient as an objective variable,
  • the control device (100, 100A) according to configuration 1, wherein the differential value of the end point of the correction period in the function is 0.
  • the correction period is divided into two sections,
  • the correction coefficient is determined according to a function having an elapsed time from the start of the movement control as an explanatory variable and the correction coefficient as an objective variable,
  • the function is a linear function in the previous section of the two sections, In the function, in the latter section of the two sections, the slope of the starting point of the latter section matches the slope of the linear function, and the second derivative of the end point of the latter section becomes 0. 5
  • the control device (100, 100A) according to configuration 1, which is a next function.
  • the movement control is control for moving the controlled object (2) to the designated position in a designated time,
  • the control device (100, 100A) according to any one of configurations 1 to 4, wherein the predetermined correction time is half or less of the specified time.
  • the operation amount is output to the drive device (200, 200X, 200Y) that drives the motor (300, 300X, 300Y) connected to the controlled object (2), and the stopped controlled object (2) is designated.
  • a control program (110, 112) for realizing a control device (100, 100A) for performing movement control for moving to The control program causes the computer to Generating a manipulated variable using a target value generated from the target trajectory so that the controlled object (2) follows the target trajectory; In a correction period from the start of the movement control until a predetermined correction time elapses, a step of multiplying the operation amount or the target value used to generate the operation amount by a correction coefficient is executed, The correction coefficient monotonically increases with time in the correction period, The control program, wherein the correction coefficient is 1 at the end of the correction period.

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)
  • Feedback Control In General (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

This control device performs movement control of moving a to-be-controlled subject, which is being halted, to a specified position by outputting a manipulated variable to a drive device for driving a motor connected to the to-be-controlled subject. The control device is provided with: a generation unit that generates the manipulated variable by using a target value generated from a target track so that the to-be-controlled subject is to follow the target track; and a correction unit for multiplying the manipulated variable by a correction factor during a correction period from start of the movement control until a predetermined correction time elapses. The correction factor monotonically increases during the correction period with the passing of time. The correction factor at the end point of correction period is 1. Accordingly, it is possible to provide such a control device that can suppress torque saturation while suppressing increase in a calculation load.

Description

制御装置および制御プログラムControl device and control program
 本技術は、制御装置および制御プログラムに関する。 The present technology relates to a control device and a control program.
 特開2014-7900号公報(特許文献1)は、動作目標値に制御対象の動作を追従させるために必要なモデルトルクを生成する制御部を有し、モデルトルクに基づいて制御対象を動作させるトルク指令を発生するモータ制御装置を開示している。制御部は、動作目標値を入力し、モデルゲインから決定した遮断周波数以上の高周波成分と所定の周波数成分とを減衰させるフィルタ演算によりモデルトルクを演算する。フィルタ演算の状態変数とモデルトルクとからトルク指令予測値を計算し、トルク指令予測値もしくはトルク指令予測値の絶対値と所定の閾値との比較に基づき、飽和予測信号を出力する。制御部は、動作目標値、飽和予測信号、状態変数に基づき、モデルトルクの絶対値の増加が抑えられるようにモデルゲインを計算する。これにより、トルクピークが低減され、トルク飽和が回避される。 Japanese Unexamined Patent Application Publication No. 2014-7900 (Patent Document 1) has a control unit that generates a model torque required to make the motion of a controlled object follow an operation target value, and operates the controlled object based on the model torque. A motor control device that generates a torque command is disclosed. The control unit inputs the operation target value and calculates the model torque by a filter calculation that attenuates a high frequency component equal to or higher than the cutoff frequency determined from the model gain and a predetermined frequency component. A torque command prediction value is calculated from the state variable of the filter calculation and the model torque, and a saturation prediction signal is output based on a comparison between the torque command prediction value or the absolute value of the torque command prediction value and a predetermined threshold value. The control unit calculates the model gain so as to suppress the increase in the absolute value of the model torque based on the operation target value, the saturation prediction signal, and the state variable. This reduces the torque peak and avoids torque saturation.
特開2014-7900号公報JP, 2014-7900, A
 特許文献1に開示のモータ制御装置では、トルク飽和を回避するために、モデルトルクの演算、トルク指定予測値の計算、飽和予測およびモデルゲインの計算を含む複雑な処理が行なわれる。その結果、トルク飽和の回避のための演算負荷が増大している。 In the motor control device disclosed in Patent Document 1, in order to avoid torque saturation, complicated processing including calculation of model torque, calculation of a torque designated prediction value, saturation prediction, and calculation of model gain is performed. As a result, the calculation load for avoiding torque saturation is increasing.
 本発明は、上記の問題に鑑みてなされたものであり、その目的は、演算負荷の増大を抑制しつつトルクピークを低減できる制御装置および制御プログラムを提供することである。 The present invention has been made in view of the above problems, and an object thereof is to provide a control device and a control program that can reduce a torque peak while suppressing an increase in calculation load.
 本開示の一例によれば、制御装置は、制御対象に接続されたモータを駆動するドライブ装置に操作量を出力して、停止している制御対象を指定位置に移動させる移動制御を行なう。制御装置は、制御対象が目標軌道に追従するように、目標軌道から生成される目標値を用いて操作量を生成する生成部と、移動制御の開始から予め定められた補正時間経過するまでの補正期間において、操作量または操作量の生成に用いる目標値に対して補正係数を乗じる補正部とを備える。補正係数は、補正期間において、時間経過とともに単調増加する。補正期間の終点における補正係数は1である。 According to an example of the present disclosure, the control device outputs the operation amount to the drive device that drives the motor connected to the control target, and performs the movement control to move the stopped control target to the designated position. The control device generates a manipulated variable using a target value generated from the target trajectory so that the controlled object follows the target trajectory, and a movement control start time until a predetermined correction time elapses. In the correction period, a correction unit that multiplies the operation amount or the target value used to generate the operation amount by a correction coefficient is provided. The correction coefficient monotonically increases with time during the correction period. The correction coefficient at the end of the correction period is 1.
 この開示によれば、移動制御の開始からの補正期間において、操作量が緩やかに増大し、移動制御の開始直後におけるトルクピークを低減できる。トルクピークが低減されることにより、トルク飽和を回避できる。また、トルクピークが低減されることにより、小型のモータが利用可能となり、コストを低減できる。さらに、補正係数を乗じる演算が特許文献1のトルク飽和の回避のための演算と比べて簡易であり、演算負荷が抑制される。このように、演算負荷の増大を抑制しつつトルクピークを低減できる。 According to this disclosure, the operation amount gradually increases during the correction period from the start of the movement control, and the torque peak immediately after the start of the movement control can be reduced. By reducing the torque peak, torque saturation can be avoided. Further, since the torque peak is reduced, a small motor can be used and the cost can be reduced. Further, the calculation for multiplying the correction coefficient is simpler than the calculation for avoiding the torque saturation in Patent Document 1, and the calculation load is suppressed. In this way, the torque peak can be reduced while suppressing an increase in calculation load.
 上述の開示において、補正係数は、移動制御の開始からの経過時間に比例して増加する。この開示によれば、補正係数を決定するための演算負荷を低減できる。 In the above disclosure, the correction coefficient increases in proportion to the elapsed time from the start of movement control. According to this disclosure, the calculation load for determining the correction coefficient can be reduced.
 上述の開示において、補正係数は、移動制御の開始からの経過時間を説明変数とし、補正係数を目的変数とする関数に従って決定される。関数における補正期間の終点の微分値は0である。この開示によれば、制御対象の滑らかな移動を実現することができる。 In the above disclosure, the correction coefficient is determined according to a function in which the elapsed time from the start of movement control is the explanatory variable and the correction coefficient is the objective variable. The differential value of the end point of the correction period in the function is 0. According to this disclosure, smooth movement of the controlled object can be realized.
 上述の開示において、補正期間は、2つの区間に分割される。補正係数は、移動制御の開始からの経過時間を説明変数とし、補正係数を目的変数とする関数に従って決定される。関数は、2つの区間のうち先の区間において1次関数である。関数は、2つの区間のうち後の区間において、後の区間の始点の傾きが1次関数の傾きと一致し、後の区間の終点の2回微分値が0となる5次関数である。 In the above disclosure, the correction period is divided into two sections. The correction coefficient is determined according to a function in which the elapsed time from the start of the movement control is an explanatory variable and the correction coefficient is an objective variable. The function is a linear function in the previous section of the two sections. The function is a quintic function in which the slope of the start point of the latter section matches the slope of the linear function in the latter section of the two sections, and the second derivative of the end point of the latter section becomes 0.
 この開示によれば、制御対象の滑らかな移動を実現することができるとともに、移動制御の開始直後における目標値への追従性の低下を抑制できる。 According to this disclosure, it is possible to realize a smooth movement of the controlled object, and it is possible to suppress deterioration of followability to the target value immediately after the start of movement control.
 上述の開示において、移動制御は、制御対象を指定位置まで指定時間で移動させる制御である。予め定められた補正時間は、指定時間の1/2以下である。この開示によれば、整定時間が指定時間よりも増加することを抑制できる。 In the above disclosure, movement control is control for moving a control target to a designated position in a designated time. The predetermined correction time is ½ or less of the designated time. According to this disclosure, it is possible to prevent the settling time from increasing more than the designated time.
 上述の開示において、生成部は、モデル予測制御を用いて操作量を生成する。モデル予測制御では、移動制御の開始時点からすぐに目標値への追従を目指すため、ドライブ装置に出力される操作量が大きくなり、ドライブ装置から出力されるトルク値が過大になりやすい。しかしながら、上記のようにトルクピークを低減できるため、モデル予測制御の適用により、目標値が移動先である指定位置へ到達する時点には、良好に追従した状態で制御対象の位置を整定させることができる。 In the above disclosure, the generation unit generates a manipulated variable using model predictive control. In the model predictive control, since the target value is immediately tracked immediately after the start of the movement control, the operation amount output to the drive device increases, and the torque value output from the drive device tends to become excessive. However, since the torque peak can be reduced as described above, by applying the model predictive control, the position of the controlled object should be settled in a well-following state at the time when the target value reaches the specified position which is the destination of movement. You can
 本開示の一例によれば、制御対象に接続されたモータを駆動するドライブ装置に操作量を出力して、停止している制御対象を指定位置に移動させる移動制御を行なう制御装置を実現するための制御プログラムは、コンピュータに、以下の第1および第2のステップを実行させる。第1のステップは、制御対象が目標軌道に追従するように、目標軌道から生成される目標値を用いて操作量を生成するステップである。第2のステップは、移動制御の開始から予め定められた補正時間経過するまでの補正期間において、操作量または操作量の生成に用いる目標値に対して補正係数を乗じるステップである。補正係数は、補正期間において、時間経過とともに単調増加する。補正期間の終点における補正係数は1である。この開示によっても、演算負荷の増大を抑制しつつトルク飽和を抑制できる。 According to an example of the present disclosure, in order to realize a control device that outputs a manipulated variable to a drive device that drives a motor connected to a control target, and performs movement control that moves a stopped control target to a designated position. The control program causes the computer to execute the following first and second steps. The first step is a step of generating a manipulated variable using a target value generated from the target trajectory so that the controlled object follows the target trajectory. The second step is a step of multiplying the operation amount or the target value used for generating the operation amount by the correction coefficient in the correction period from the start of the movement control to the passage of a predetermined correction time. The correction coefficient monotonically increases with time during the correction period. The correction coefficient at the end of the correction period is 1. Also according to this disclosure, torque saturation can be suppressed while suppressing an increase in calculation load.
 本発明によれば、演算負荷の増大を抑制しつつトルク飽和を抑制できる。 According to the present invention, it is possible to suppress torque saturation while suppressing an increase in calculation load.
本実施の形態に従う制御装置が適用される制御システムの構成例を示す模式図である。It is a schematic diagram which shows the structural example of the control system to which the control apparatus according to this Embodiment is applied. 本実施の形態に従う制御装置のハードウェア構成の一例を示す模式図である。It is a schematic diagram which shows an example of the hardware constitutions of the control apparatus according to this Embodiment. 本実施の形態に係る制御装置の機能構成の一例を示す模式図である。It is a schematic diagram which shows an example of a functional structure of the control apparatus which concerns on this Embodiment. 補正係数の第1の例を示す図である。It is a figure which shows the 1st example of a correction coefficient. 補正係数の第2の例を示す図である。It is a figure which shows the 2nd example of a correction coefficient. 補正係数の第3の例を示す図である。It is a figure which shows the 3rd example of a correction coefficient. 本実施の形態に従う制御システムによるモータ制御の処理手順を示すフローチャートである。7 is a flowchart showing a processing procedure of motor control by the control system according to the present embodiment. 本実施の形態に従う制御装置で実行される命令コードの一例を示す図である。FIG. 7 is a diagram showing an example of an instruction code executed by the control device according to the present embodiment. 補正係数による操作量の補正を行なわないときのシミュレーション結果の例を示す図である。It is a figure which shows the example of a simulation result when not correcting the operation amount by a correction coefficient. 補正係数による操作量の補正を行なったときのシミュレーション結果の例を示す図である。It is a figure which shows the example of the simulation result at the time of correct|amending the operation amount by a correction coefficient. 変形例1に従う制御システムによるモータ制御の処理手順を示すフローチャートである。9 is a flowchart showing a processing procedure of motor control by the control system according to the first modification. 補正係数による目標値の補正を行なったときのシミュレーション結果の例を示す図である。It is a figure which shows the example of the simulation result at the time of correct|amending the target value by a correction coefficient. 変形例2に係る制御装置の機能構成の一例を示す模式図である。9 is a schematic diagram showing an example of a functional configuration of a control device according to Modification 2. FIG.
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. It should be noted that the same or corresponding parts in the drawings are denoted by the same reference characters and description thereof will not be repeated.
 §1 適用例
 まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に従う制御装置が適用される制御システムの構成例を示す模式図である。図1に示す例の制御システム1は、負荷となる制御対象2と、1または複数のサーボドライバと、1または複数のサーボモータと、制御装置100とを含む。
§1 Application Example First, an example of a scene to which the present invention is applied will be described with reference to FIG. FIG. 1 is a schematic diagram showing a configuration example of a control system to which the control device according to the present embodiment is applied. The control system 1 of the example shown in FIG. 1 includes a controlled object 2 that is a load, one or more servo drivers, one or more servo motors, and a control device 100.
 図1に示す例の制御対象2は、ワークが置載されるワーキングプレート3を互いに直交する二方向にそれぞれ移動させることができるXYステージである。なお、制御対象2は、XYステージに限定されるものではなく、指定位置に移動して位置決めされる装置であればよい。 The controlled object 2 in the example shown in FIG. 1 is an XY stage that can move a working plate 3 on which a work is placed in two directions orthogonal to each other. The controlled object 2 is not limited to the XY stage, and may be any device that moves to a specified position and is positioned.
 ワーキングプレート3の位置(以下、「負荷位置」とも称する。)は、計測センサ20によって計測されてもよい。図1に示す例では、計測センサ20は、2つの計測センサ20X,20Yを含む。計測センサ20X,20Yは、例えばレーザ変位計などの変位センサによって構成される。計測センサ20Xは、ワーキングプレート3におけるX方向の位置を計測する。具体的には、計測センサ20Xは、ワーキングプレート3におけるX方向に直交する端面の変位を計測する。計測センサ20Yは、ワーキングプレート3におけるY方向の位置を計測する。具体的には、計測センサ20Xは、ワーキングプレート3におけるY方向に直交する端面の変位を計測する。 The position of the working plate 3 (hereinafter, also referred to as “load position”) may be measured by the measurement sensor 20. In the example shown in FIG. 1, the measurement sensor 20 includes two measurement sensors 20X and 20Y. The measurement sensors 20X and 20Y are configured by displacement sensors such as laser displacement meters. The measurement sensor 20X measures the position of the working plate 3 in the X direction. Specifically, the measurement sensor 20X measures the displacement of the end surface of the working plate 3 orthogonal to the X direction. The measurement sensor 20Y measures the position of the working plate 3 in the Y direction. Specifically, the measurement sensor 20X measures the displacement of the end surface of the working plate 3 orthogonal to the Y direction.
 1または複数のサーボモータは、制御対象2のワーキングプレート3を移動させるためのモータであり、図1に示す例では、2つのサーボモータ300X,300Y(以下、「サーボモータ300」とも称する。)を含む。 The one or more servo motors are motors for moving the working plate 3 of the controlled object 2, and in the example shown in FIG. 1, two servo motors 300X and 300Y (hereinafter, also referred to as “servo motor 300”). including.
 制御対象2は、ワーキングプレート3の他に、第1ベースプレート4と、第2ベースプレート7とを有する。 The controlled object 2 has a first base plate 4 and a second base plate 7 in addition to the working plate 3.
 第1ベースプレート4には、ワーキングプレート3をX方向に沿って任意に移動させるボールネジ6が配置されている。ボールネジ6は、ワーキングプレート3に含まれるナットと係合されている。ボールネジ6の一端に連結されたサーボモータ300Xが回転駆動することで、ワーキングプレート3に含まれるナットとボールネジ6とが相対回転し、その結果、ワーキングプレート3がX方向に沿って移動することになる。 The first base plate 4 is provided with a ball screw 6 for arbitrarily moving the working plate 3 along the X direction. The ball screw 6 is engaged with a nut included in the working plate 3. When the servomotor 300X connected to one end of the ball screw 6 is rotationally driven, the nut included in the working plate 3 and the ball screw 6 relatively rotate, and as a result, the working plate 3 moves in the X direction. Become.
 さらに、第2ベースプレート7は、ワーキングプレート3および第1ベースプレート4をY方向に沿って任意に移動させるボールネジ9が配置されている。ボールネジ9は、第1ベースプレート4に含まれるナットと係合されている。ボールネジ9の一端に連結されたサーボモータ300Yが回転駆動することで、第1ベースプレート4に含まれるナットとボールネジ9とが相対回転し、その結果、ワーキングプレート3および第1ベースプレート4がY方向に沿って移動することになる。 Further, the second base plate 7 is provided with a ball screw 9 for arbitrarily moving the working plate 3 and the first base plate 4 along the Y direction. The ball screw 9 is engaged with a nut included in the first base plate 4. When the servo motor 300Y connected to one end of the ball screw 9 is rotationally driven, the nut included in the first base plate 4 and the ball screw 9 are relatively rotated, and as a result, the working plate 3 and the first base plate 4 are moved in the Y direction. Will move along.
 1または複数のサーボドライバは、サーボモータを駆動するドライブ装置である。図1に示す例では、2つのサーボドライバ200X,200Y(以下、「サーボドライバ200」とも称する。)は、サーボモータ300X,300Yをそれぞれ駆動する。 The one or more servo drivers are drive devices that drive the servo motors. In the example shown in FIG. 1, two servo drivers 200X and 200Y (hereinafter, also referred to as “servo driver 200”) drive servomotors 300X and 300Y, respectively.
 サーボドライバ200は、制御装置100からの指令値(指令位置または指令速度)と、対応するサーボモータ300からのフィードバック値とに基づいて、対応するサーボモータ300に対する駆動信号を生成する。駆動信号は例えばトルク指令を示す。サーボドライバ200は、生成した駆動信号をサーボモータ300に出力することにより、サーボモータ300を駆動する。 The servo driver 200 generates a drive signal for the corresponding servo motor 300 based on the command value (command position or command speed) from the control device 100 and the feedback value from the corresponding servo motor 300. The drive signal indicates, for example, a torque command. The servo driver 200 drives the servo motor 300 by outputting the generated drive signal to the servo motor 300.
 例えば、サーボドライバ200は、対応するサーボモータ300の回転軸に結合されたエンコーダからの出力信号をフィードバック値として受ける。フィードバック値により、サーボモータ300の位置、回転位相、回転速度、累積回転数などを検出できる。 For example, the servo driver 200 receives the output signal from the encoder coupled to the rotation axis of the corresponding servo motor 300 as a feedback value. The position, rotation phase, rotation speed, cumulative rotation speed, etc. of the servo motor 300 can be detected from the feedback value.
 制御装置100は、サーボドライバ200に操作量を出力して、停止している制御対象2を指定位置に移動させる移動制御を行なう。制御装置100とサーボドライバ200との間では、操作量を含むデータの遣り取りが可能になっている。 The control device 100 outputs the operation amount to the servo driver 200 to perform movement control for moving the stopped controlled object 2 to the designated position. Data including an operation amount can be exchanged between the control device 100 and the servo driver 200.
 図1には、制御装置100とサーボドライバ200との間がフィールドバス101を介して接続されている構成例を示す。但し、このような構成例に限らず、任意の通信手段を採用することができる。あるいは、制御装置100とサーボドライバ200との間を直接信号線で接続するようにしてもよい。さらに、制御装置100とサーボドライバ200とを一体化した構成を採用してもよい。以下に説明するような、アルゴリズムが実現されるものであれば、どのような実装形態を採用してもよい。 FIG. 1 shows a configuration example in which the control device 100 and the servo driver 200 are connected via a field bus 101. However, not limited to such a configuration example, any communication means can be adopted. Alternatively, the control device 100 and the servo driver 200 may be directly connected by a signal line. Further, a configuration in which the control device 100 and the servo driver 200 are integrated may be adopted. Any implementation form may be adopted as long as an algorithm as described below is realized.
 制御装置100は、制御対象2が目標軌道に追従するように、制御周期毎に、目標軌道から生成される目標値を用いて、サーボドライバ200に出力する操作量を生成する。制御装置100は、生成した操作量を指令値(指定位置または指令速度)としてサーボドライバ200に出力する。目標軌道は、移動制御ごとに予め作成される。具体的には、目標軌道は、停止状態にある初期位置から指定位置まで指定時間で移動し、当該指定位置で再び停止するように予め作成される。 The control device 100 generates a manipulated variable to be output to the servo driver 200 by using a target value generated from the target trajectory for each control cycle so that the controlled object 2 follows the target trajectory. The control device 100 outputs the generated operation amount to the servo driver 200 as a command value (specified position or command speed). The target trajectory is created in advance for each movement control. Specifically, the target trajectory is created in advance so as to move from the initial position in the stopped state to the designated position in the designated time and stop again at the designated position.
 停止している制御対象2に対して移動制御を開始すると、移動制御の開始直後において、サーボドライバ200から出力されるトルク値が大きくなる。特に、短い指定時間(移動時間)で振動を抑制したい場合に、制御対象2の固有振動周波数が低ければ、サーボドライバ200から出力されるトルク値が過大になりやすい。 When the movement control is started for the controlled object 2 that is stopped, the torque value output from the servo driver 200 increases immediately after the start of the movement control. In particular, when suppressing vibration in a short designated time (moving time), if the natural vibration frequency of the controlled object 2 is low, the torque value output from the servo driver 200 is likely to be excessive.
 さらに、例えばモデル予測制御のような目標値に対する追従性能の高い制御が制御装置100で実行される場合にも、サーボドライバ200から出力されるトルク値が過大になりやすい。これは、早期に目標値に追従させるような制御がなされるためである。 Further, even when the control device 100 executes control such as model predictive control having high tracking performance with respect to a target value, the torque value output from the servo driver 200 is likely to be excessive. This is because the control is performed so as to follow the target value early.
 サーボドライバ200から出力されるトルク値が最大トルク値に達するトルク飽和が発生すると、目標値に対する追従性能が低下する。最大トルク値は、サーボモータ300の容量に応じて予め定められる。特に、制御装置100がモデル予測制御に従って操作量(すなわち、指令値)を生成する場合、モデル出力の予測誤差が大きくなり、追従性能がさらに低下しやすい。高容量のサーボモータを用いることによりトルク飽和を回避することが可能であるが、コストが高くなる。 When torque saturation in which the torque value output from the servo driver 200 reaches the maximum torque value occurs, tracking performance with respect to the target value decreases. The maximum torque value is predetermined according to the capacity of the servo motor 300. In particular, when the control device 100 generates the manipulated variable (that is, the command value) according to the model predictive control, the prediction error of the model output increases, and the tracking performance is likely to further decrease. Although it is possible to avoid torque saturation by using a high capacity servo motor, the cost is increased.
 このような問題を解決するため、本実施の形態に係る制御装置100は、移動制御の開始から予め定められた補正時間経過するまでの補正期間において、操作量に対して補正係数を乗じる。補正係数は、補正期間において時間経過に従って単調増加するように設定され、補正期間の終点において1である。これにより、移動制御の開始からの補正期間において、操作量(すなわち、指令値)が緩やかに増大し、移動制御の開始直後におけるトルクピークを低減できる。さらに、補正係数を乗じる演算が特許文献1のトルク飽和の回避のための演算と比べて簡易であり、演算負荷が抑制される。 In order to solve such a problem, the control device 100 according to the present embodiment multiplies the operation amount by the correction coefficient in the correction period from the start of the movement control to the elapse of a predetermined correction time. The correction coefficient is set so as to monotonically increase with time in the correction period, and is 1 at the end point of the correction period. As a result, the operation amount (that is, the command value) gradually increases in the correction period from the start of the movement control, and the torque peak immediately after the start of the movement control can be reduced. Further, the calculation for multiplying the correction coefficient is simpler than the calculation for avoiding the torque saturation in Patent Document 1, and the calculation load is suppressed.
 §2 具体例
 次に、本実施の形態に係る制御装置100の具体例について説明する。
§2 Specific Example Next, a specific example of the control device 100 according to the present embodiment will be described.
 <A.制御装置のハードウェア構成例>
 本実施の形態に従う制御装置100は、一例として、PLC(プログラマブルコントローラ)を用いて実装されてもよい。制御装置100は、予め格納された制御プログラム(後述するような、システムプログラムおよびユーザプログラムを含む)をプロセッサが実行することで、後述するような処理が実現されてもよい。
<A. Example of hardware configuration of control device>
Control device 100 according to the present embodiment may be implemented using a PLC (programmable controller) as an example. In the control device 100, a processor executes a control program stored in advance (including a system program and a user program, which will be described later), so that processing described later may be realized.
 図2は、本実施の形態に従う制御装置100のハードウェア構成の一例を示す模式図である。図2に示されるように、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、メインメモリ106と、フラッシュメモリ108と、外部ネットワークコントローラ116と、メモリカードインターフェイス118と、内部バスコントローラ122と、フィールドバスコントローラ124と、外部ネットワークコントローラ116と、メモリカードインターフェイス118とを含む。 FIG. 2 is a schematic diagram showing an example of a hardware configuration of control device 100 according to the present embodiment. As shown in FIG. 2, the control device 100 includes a processor 102 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a flash memory 108, and an external network. It includes a controller 116, a memory card interface 118, an internal bus controller 122, a fieldbus controller 124, an external network controller 116, and a memory card interface 118.
 プロセッサ102は、フラッシュメモリ108に格納されたシステムプログラム110およびユーザプログラム112を読み出して、メインメモリ106に展開して実行することで、制御対象に対する任意の制御を実現する。プロセッサ102がシステムプログラム110およびユーザプログラム112を実行することで、後述するような、サーボドライバ200への操作量の出力、フィールドバスを介したデータ通信に係る処理などを実行する。 The processor 102 reads the system program 110 and the user program 112 stored in the flash memory 108, expands them in the main memory 106, and executes them to realize arbitrary control of the control target. When the processor 102 executes the system program 110 and the user program 112, the operation amount output to the servo driver 200, the processing related to the data communication via the field bus, and the like, which will be described later, are executed.
 システムプログラム110は、データの入出力処理や実行タイミング制御などの、制御装置100の基本的な機能を提供するための命令コードを含む。ユーザプログラム112は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム112Aおよびモーション制御を実行するためのモーションプログラム112Bを含む。ユーザプログラム112において、ファンクションブロックが定義されることで、本実施の形態に従う処理および機能が実現される。ファンクションブロックは、制御装置100で実行されるプログラムのコンポーネントであり、複数回使用するプログラムエレメントをモジュール化したものを意味する。 The system program 110 includes instruction codes for providing basic functions of the control device 100, such as data input/output processing and execution timing control. The user program 112 is arbitrarily designed according to the control target, and includes a sequence program 112A for executing sequence control and a motion program 112B for executing motion control. By defining the function block in the user program 112, the processing and functions according to the present embodiment are realized. A function block is a component of a program executed by the control device 100, and means a modularized program element that is used multiple times.
 チップセット104は、各コンポーネントを制御することで、制御装置100全体としての処理を実現する。 The chipset 104 realizes the processing of the control device 100 as a whole by controlling each component.
 内部バスコントローラ122は、制御装置100と内部バスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、I/Oユニット126が接続されている。 The internal bus controller 122 is an interface for exchanging data with various devices connected to the control device 100 through an internal bus. An I/O unit 126 is connected as an example of such a device.
 フィールドバスコントローラ124は、制御装置100とフィールドバスを通じて連結される各種デバイスとデータを遣り取りするインターフェイスである。このようなデバイスの一例として、サーボドライバ200が接続されている。 The fieldbus controller 124 is an interface for exchanging data with various devices connected to the control device 100 through the fieldbus. A servo driver 200 is connected as an example of such a device.
 内部バスコントローラ122およびフィールドバスコントローラ124は、接続されているデバイスに対して任意の指令を与えることができるとともに、デバイスが管理している任意のデータ(計測値を含む)を取得することができる。また、内部バスコントローラ122および/またはフィールドバスコントローラ124は、サーボドライバ200との間でデータを遣り取りするためのインターフェイスとしても機能する。 The internal bus controller 122 and the fieldbus controller 124 can give arbitrary commands to the connected device and can acquire arbitrary data (including measurement values) managed by the device. .. The internal bus controller 122 and/or the fieldbus controller 124 also function as an interface for exchanging data with the servo driver 200.
 外部ネットワークコントローラ116は、各種の有線/無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス118は、メモリカード120を着脱可能に構成されており、メモリカード120に対してデータを書込み、メモリカード120からデータを読出すことが可能になっている。 The external network controller 116 controls the exchange of data via various wired/wireless networks. The memory card interface 118 is configured such that the memory card 120 can be attached and detached, and data can be written in the memory card 120 and data can be read from the memory card 120.
 <B.サーボドライバ>
 本実施の形態に従う制御装置100に接続されるサーボドライバ200の動作について説明する。サーボドライバ200は、制御装置100からの操作量を指令値(指令位置または指令速度)として受けるとともに、サーボモータ300に結合されたエンコーダからの出力信号をフィードバック値として受ける。サーボドライバ200は、指令値およびフィードバック値を用いて、例えばモデル追従制御系の制御ループに従う制御演算を実行する。
<B. Servo driver>
The operation of servo driver 200 connected to control device 100 according to the present embodiment will be described. The servo driver 200 receives an operation amount from the control device 100 as a command value (command position or command speed), and receives an output signal from an encoder coupled to the servo motor 300 as a feedback value. The servo driver 200 uses the command value and the feedback value to execute the control calculation according to the control loop of the model following control system, for example.
 サーボドライバ200は、指令値として指令位置を受ける場合、位置制御ループおよび速度制御ループに従う制御演算を実行する。サーボドライバ200は、指令値として指令速度を受ける場合、速度制御ループに従う制御演算を実行する。 When the servo driver 200 receives a command position as a command value, the servo driver 200 executes a control calculation according to a position control loop and a speed control loop. When the servo driver 200 receives a command speed as a command value, the servo driver 200 executes a control calculation according to a speed control loop.
 サーボドライバ200は、位置制御ループに従う制御演算を実行することにより、フィードバック値により得られるサーボモータ300の計測位置と制御装置100から与えられる指令位置との位置偏差に応じた指令速度を演算する。 The servo driver 200 executes a control calculation according to a position control loop to calculate a command speed according to a position deviation between the measured position of the servo motor 300 obtained by the feedback value and the command position given from the control device 100.
 サーボドライバ200は、速度制御ループに従う制御演算を実行することにより、指令速度とフィードバック値から得られるサーボモータ300の計測速度との速度偏差に応じたトルク値を演算する。サーボドライバ200は、演算されたトルク値のトルクをサーボモータ300に発生させるための電流指令をサーボモータ300に出力する。 The servo driver 200 calculates the torque value according to the speed deviation between the commanded speed and the measured speed of the servo motor 300 obtained from the feedback value by executing the control calculation according to the speed control loop. The servo driver 200 outputs a current command for causing the servo motor 300 to generate a torque having the calculated torque value, to the servo motor 300.
 <C.制御装置の機能構成例>
 図3は、本実施の形態に係る制御装置の機能構成の一例を示す模式図である。図3に示されるように、制御装置100は、モデル作成モジュール130と、軌道生成モジュール140と、モデル予測制御モジュール150とからなる制御ユニット160を備える。図中においては、モデル予測制御を「MPC(Model Predictive Control)」と記す。なお、制御装置100は、サーボドライバ200X,200Yにそれぞれ対応する2つの制御ユニット160を備えている。ただし、図3には簡略化のため2つの制御ユニット160のうち一方のみが描かれている。
<C. Example of functional configuration of control device>
FIG. 3 is a schematic diagram showing an example of a functional configuration of the control device according to the present embodiment. As shown in FIG. 3, the control device 100 includes a control unit 160 including a model creation module 130, a trajectory generation module 140, and a model prediction control module 150. In the figure, model predictive control is described as "MPC (Model Predictive Control)". The control device 100 includes two control units 160 corresponding to the servo drivers 200X and 200Y, respectively. However, in FIG. 3, for simplification, only one of the two control units 160 is shown.
 モデル作成モジュール130は、典型的には、ユーザプログラム112において、モデル作成ファンクションブロックが規定されることにより実現される。すなわち、モデル作成モジュール130は、ユーザプログラム112に規定されるモデル作成ファンクションブロックによって機能化される。 The model creation module 130 is typically realized by defining a model creation function block in the user program 112. That is, the model creating module 130 is functionalized by the model creating function block defined in the user program 112.
 モデル作成モジュール130は、サーボドライバ200、サーボモータ300および制御対象2からなるモデル対象400の動特性を示す動特性モデルを作成する。動特性モデルは、操作量とワーキングプレート3の位置(負荷位置)との関係を示す伝達関数によって規定される。モデル作成モジュール130は、作成した動特性モデルを規定するパラメータをモデル予測制御モジュール150へ与える。 The model creation module 130 creates a dynamic characteristic model indicating the dynamic characteristics of the model target 400 including the servo driver 200, the servo motor 300, and the control target 2. The dynamic characteristic model is defined by a transfer function indicating the relationship between the operation amount and the position (load position) of the working plate 3. The model creation module 130 provides the model predictive control module 150 with parameters that define the created dynamic characteristic model.
 軌道生成モジュール140は、予め作成された目標軌道に沿って、ワーキングプレート3の目標位置を示す目標値SPの時系列データを生成し、各制御周期に対応する目標値SPを当該時系列データから順次読出し、モデル予測制御モジュール150へ入力する。具体的には、軌道生成モジュール140は、目標値SPの時系列データから、現時刻から将来の一定期間である予測ホライズン終了までの複数の目標値SPを抽出し、モデル予測制御モジュール150へ入力する。 The trajectory generation module 140 generates time-series data of the target value SP indicating the target position of the working plate 3 along the pre-created target trajectory, and obtains the target value SP corresponding to each control cycle from the time-series data. The data is sequentially read and input to the model prediction control module 150. Specifically, the trajectory generation module 140 extracts a plurality of target values SP from the current time to the end of the prediction horizon, which is a certain period in the future, from the time series data of the target values SP, and inputs them to the model prediction control module 150. To do.
 なお、制御装置100は、目標軌道を規定する目標値SPの時系列データを予め記憶しておいてもよい。この場合には、軌道生成モジュール140は、予め記憶された目標値SPの時系列データへアクセスする。このように、目標軌道を規定する制御周期毎の目標値SPは、時系列データの形で予め格納されていてもよいし、予め定められた計算式に従って各制御周期についての目標値SPを逐次計算するようにしてもよい。 Note that the control device 100 may store in advance time-series data of the target value SP that defines the target trajectory. In this case, the trajectory generation module 140 accesses the previously stored time series data of the target value SP. As described above, the target value SP for each control cycle that defines the target trajectory may be stored in advance in the form of time-series data, or the target value SP for each control cycle is sequentially calculated according to a predetermined calculation formula. You may make it calculate.
 モデル予測制御モジュール150は、典型的には、ユーザプログラム112において、モデル予測制御ファンクションブロックが規定されることにより実現される。すなわち、モデル予測制御モジュール150は、ユーザプログラム112に規定されるモデル予測制御ファンクションブロックによって機能化される。モデル予測制御モジュール150は、生成部151と補正部152とを含む。 The model prediction control module 150 is typically realized by defining a model prediction control function block in the user program 112. That is, the model prediction control module 150 is functionalized by the model prediction control function block defined in the user program 112. The model prediction control module 150 includes a generation unit 151 and a correction unit 152.
 生成部151は、動特性モデルを用いたモデル予測制御を実行することにより、負荷位置と目標値で示される目標位置との偏差が最小となるように、操作量MVを生成する。生成部151は、モデル予測制御の方法として、公知の方法を採用すればよい。 The generation unit 151 generates the manipulated variable MV so that the deviation between the load position and the target position indicated by the target value is minimized by executing the model predictive control using the dynamic characteristic model. The generation unit 151 may adopt a known method as a method of model prediction control.
 補正部152は、移動制御の開始から予め定められた補正時間T経過するまでの補正期間において、生成部151によって生成された操作量MVに対して補正係数を乗じ、当該操作量MVを補正する。補正部152は、補正後の操作量MVを指令値(指令位置または指令速度)としてサーボドライバ200に出力する。 The correction unit 152 corrects the operation amount MV by multiplying the operation amount MV generated by the generation unit 151 by the correction coefficient in the correction period from the start of the movement control to the elapse of the predetermined correction time T. .. The correction unit 152 outputs the corrected operation amount MV to the servo driver 200 as a command value (command position or command speed).
 上述したように、補正係数は、時間経過に従って単調増加するように設定され、補正期間の終点において1である。これにより、移動制御の開始からの補正期間において、操作量が緩やかに増大し、移動制御の開始直後におけるトルク飽和を抑制できる。 As described above, the correction coefficient is set so as to monotonically increase over time, and is 1 at the end of the correction period. Accordingly, the operation amount gradually increases during the correction period from the start of the movement control, and the torque saturation immediately after the start of the movement control can be suppressed.
 <D.動特性モデル>
 動特性モデルは、事前のチューニングにより作成される。図1に示すように計測センサ20が設置されている場合には、チューニングにおいて得られた入力値(操作量)と出力値(負荷位置の計測値)とに基づいて動特性モデルが作成される。動特性モデルは、例えば以下の関数P(z-1)で示される。関数P(z-1)は、むだ時間要素と、n次遅れ要素とを組み合わせた離散時間伝達関数である。関数P(z-1)で示される動特性モデルにおいては、むだ時間要素のむだ時間dならびにn次遅れ要素の変数a~aおよび変数b~bがモデルパラメータとして決定される。むだ時間とは、入力値が与えられてから、それに応じた出力が現れるまでの時間(つまり、入力から出力までの遅れ時間)である。なお、次数nおよび次数mについても最適な値が決定されてもよい。
<D. Dynamic characteristic model>
The dynamic characteristic model is created by tuning in advance. When the measurement sensor 20 is installed as shown in FIG. 1, a dynamic characteristic model is created based on the input value (manipulation amount) and the output value (measurement value of the load position) obtained in tuning. .. The dynamic characteristic model is represented by, for example, the following function P(z −1 ). The function P(z −1 ) is a discrete-time transfer function that combines a dead time element and an nth-order lag element. In the dynamic characteristic model represented by the function P(z −1 ), the dead time d of the dead time element and the variables a 1 to a n and the variables b 1 to b m of the nth delay element are determined as model parameters. The dead time is a time from when an input value is given to when an output corresponding to the input value appears (that is, a delay time from input to output). Optimal values may be determined for the orders n and m.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 このようなモデルパラメータの作成処理(すなわち、システム同定)は、最小二乗法などにより実行されてもよい。 The process of creating such model parameters (that is, system identification) may be executed by the method of least squares or the like.
 具体的には、y=P(z-1)*uの変数uに操作量を与えたときの出力yが、負荷位置の計測値と一致するように(すなわち、誤差が最小になるように)、モデルパラメータの各々の値が決定される。 Specifically, the output y when the manipulated variable is given to the variable u of y=P(z −1 )*u is matched with the measured value of the load position (that is, the error is minimized). ), the value of each of the model parameters is determined.
 もしくは、動特性モデルは、操作量とサーボモータ300の位置(以下、「モータ位置」と称する。)との関係を示す第1動特性モデルPCMと、モータ位置と負荷位置との関係を示す第2動特性モデルPMLとを組み合わせることにより作成されてもよい。すなわち、動特性モデルは、PCM*PMLで示される。 Alternatively, the dynamic characteristic model indicates the relationship between the motor position and the load position, and the first dynamic characteristic model P CM indicating the relationship between the operation amount and the position of the servo motor 300 (hereinafter referred to as “motor position”). It may be created by combining the second dynamic characteristic model P ML . That is, the dynamic characteristic model is represented by P CM *P ML .
 第1動特性モデルPCMは、サーボドライバ200およびサーボモータ300のモデルであり、入力値である操作量と出力値であるモータ位置との関係を表す伝達関数によって規定される。通常、サーボモータ300にはエンコーダが設置され、エンコーダからのフィードバック値によりモータ位置が連続かつ高精度に計測される。そのため、モータ位置の計測値に基づいて第1動特性モデルPCMが作成される。 The first dynamic characteristic model P CM is a model of the servo driver 200 and the servo motor 300, and is defined by a transfer function that represents a relationship between an operation amount that is an input value and a motor position that is an output value. Usually, an encoder is installed in the servo motor 300, and the motor position is continuously and highly accurately measured by the feedback value from the encoder. Therefore, the first dynamic characteristic model P CM is created based on the measured value of the motor position.
 第1動特性モデルPCMは、例えば以下の関数PCM(z-1)で示される。関数PCM(z-1)は、むだ時間要素と、n次遅れ要素とを組み合わせた離散時間伝達関数である。関数PCM(z-1)で示される第1動特性モデルにおいては、むだ時間要素のむだ時間dならびにn次遅れ要素の変数aCM1~aCMnおよび変数bCM1~bCMmがモデルパラメータとして決定される。なお、次数nおよび次数mについても最適な値が決定されてもよい。 The first dynamic characteristic model P CM is represented by, for example, the following function P CM (z −1 ). The function P CM (z −1 ) is a discrete-time transfer function that combines the dead time element and the nth delay element. In the first dynamic characteristic model represented by the function P CM (z −1 ), the dead time d of the dead time element and the variables a CM1 to a CMn and the variables b CM1 to b CMm of the nth delay element are determined as model parameters. To be done. Optimal values may be determined for the orders n and m.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 第2動特性モデルPMLは、制御対象2のモデルであり、入力値であるモータ位置と出力値である負荷位置との関係を表す伝達関数によって規定される。モータ位置と負荷位置との関係は、制御対象2の振動に依存する。そのため、第2動特性モデルPMLは、制御対象2の振動波形から抽出された波形パラメータを用いて作成されてもよい。波形パラメータは、例えば、制御対象2の振動周波数f(典型的には固有振動周波数)および振動波形において連続する2つの波の振幅比Adrを含む。制御対象2の振動波形は、計測センサ20の計測結果から容易に得られる。 The second dynamic characteristic model P ML is a model of the controlled object 2, and is defined by a transfer function that represents the relationship between the motor position that is an input value and the load position that is an output value. The relationship between the motor position and the load position depends on the vibration of the controlled object 2. Therefore, the second dynamic characteristic model P ML may be created using the waveform parameter extracted from the vibration waveform of the controlled object 2. The waveform parameter includes, for example, the vibration frequency f 0 (typically the natural vibration frequency) of the controlled object 2 and the amplitude ratio Adr of two continuous waves in the vibration waveform. The vibration waveform of the controlled object 2 can be easily obtained from the measurement result of the measurement sensor 20.
 第2動特性モデルPMLは、例えば以下の[数3]に示すいずれかの関数PML(s)で示される。関数PML(s)において、ωは、制御対象2の振動角周波数であり、ω=2πfで示される。ζは振動の減衰比を示す。ζは、対数減衰率δを用いて、ζ=δ/(δ+4π1/2で示される。対数減衰率δは、振動波形において連続する2つの波の振幅比Adrと自然対数lnとを用いて、δ=ln(1/Adr)で示される。 The second dynamic characteristic model P ML is represented by, for example, one of the functions P ML (s) shown in [Equation 3] below. In the function P ML (s), ω 0 is the vibration angular frequency of the controlled object 2, and is represented by ω 0 =2πf 0 . ζ represents a vibration damping ratio. ζ is expressed as ζ=δ/(δ 2 +4π 2 ) 1/2 using the logarithmic decay rate δ. The logarithmic attenuation rate δ is represented by δ=ln(1/Adr) using the amplitude ratio Adr of two continuous waves in the vibration waveform and the natural logarithm ln.
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 <E.操作量MVの生成>
 生成部151は、例えば以下のようなモデル予測制御により、制御周期毎に操作量MVを生成する。
<E. Generation of manipulated variable MV>
The generation unit 151 generates the manipulated variable MV for each control cycle by the following model predictive control, for example.
 生成部151は、モデル作成モジュール130によって動特性モデルが作成されると、ステップ応答計算とランプ応答計算とを事前準備として行なう。 When the dynamic characteristic model is created by the model creating module 130, the generation unit 151 performs step response calculation and ramp response calculation as preliminary preparations.
 ステップ応答計算とは、出力が0である初期状態において最大の入力(ステップ入力)を継続したときの動特性モデルの出力Ysを求める計算である。以下の説明では、ステップ入力の入力開始からの経過時間i(>むだ時間d)における出力YsをYs(i)とする。 The step response calculation is a calculation for obtaining the output Ys of the dynamic characteristic model when the maximum input (step input) is continued in the initial state where the output is 0. In the following description, the output Ys at the elapsed time i (>dead time d) from the start of step input is defined as Ys(i).
 ランプ応答計算とは、出力が0である初期状態において制御周期毎に1段階ずつ増加させた入力(ランプ入力)を行なったときの動特性モデルの出力Yrを求める計算である。以下の説明では、ランプ入力の入力開始からの経過時間i(>むだ時間d)における出力YrをYr(i)とする。 The ramp response calculation is a calculation for obtaining the output Yr of the dynamic characteristic model when an input (ramp input) is increased by one step for each control cycle in the initial state where the output is 0. In the following description, the output Yr at the elapsed time i (>dead time d) from the start of the lamp input is defined as Yr(i).
 生成部151は、移動制御中の各制御周期において、以下の処理を行なう。
生成部151は、今回の制御周期kまでに生成した操作量MVを入力することにより、制御周期k+d+1における負荷位置(以下、「予測負荷位置YLk+d+1」という)を演算する。制御周期k+d+1は、今回の制御周期kの終了時から動特性モデルに規定されるむだ時間d+1だけ経過した制御周期である。
The generation unit 151 performs the following processing in each control cycle during movement control.
The generation unit 151 calculates the load position in the control cycle k+d+1 (hereinafter, referred to as “predicted load position YL k+d+1 ”) by inputting the operation amount MV generated up to the current control cycle k. The control cycle k+d+1 is a control cycle in which only the dead time d+1 defined in the dynamic characteristic model has elapsed from the end of the current control cycle k.
 動特性モデルが第1動特性モデルPCMと第2動特性モデルPMLとから構成される場合には、生成部151は、次のようにして、予測負荷位置YLk+d+1を演算してもよい。すなわち、生成部151は、第1動特性モデルPCMに、今回の制御周期kまでに生成した操作量MVを入力することにより、制御周期k+d+1におけるモータ位置(以下、「予測モータ位置YMk+d+1」という)を演算する。生成部151は、予測モータ位置YMk+d+1を第2動特性モデルPMLに入力することにより、制御周期k+d+1における予測負荷位置YLk+d+1を演算する。 When the dynamic characteristic model is composed of the first dynamic characteristic model P CM and the second dynamic characteristic model P ML , the generation unit 151 may calculate the predicted load position YL k+d+1 as follows. .. That is, the generation unit 151 inputs the operation amount MV generated up to the current control cycle k into the first dynamic characteristic model P CM , so that the motor position in the control cycle k+d+1 (hereinafter, “predicted motor position YM k+d+1 ”). Is calculated). The generation unit 151 calculates the predicted load position YL k+d+1 in the control cycle k+d+1 by inputting the predicted motor position YM k+d+1 into the second dynamic characteristic model P ML .
 上記のようにして求められた予測負荷位置YLk+d+1は、次回の制御周期における操作量MVを生成するために使用される。このとき、次回の制御周期に備えて、演算されたデータが1制御周期分だけシフトされる。例えば、上記のようにして求められた予測負荷位置YLk+d+1は、次回の制御周期において予測負荷位置YLk+dとして使用される。言い換えると、今回の制御周期kでは、前回の制御周期において演算された予測負荷位置YLk+d+1が予測負荷位置YLk+dとして使用される。 The predicted load position YL k+d+1 obtained as described above is used to generate the manipulated variable MV in the next control cycle. At this time, the calculated data is shifted by one control cycle in preparation for the next control cycle. For example, the predicted loading position YL k + d + 1 obtained as described above is used as the estimated load position YL k + d in the next control cycle. In other words, the current control cycle k, estimated load position YL k + d + 1 computed in the previous control cycle is used as the estimated load position YL k + d.
 生成部151は、予測負荷位置YLk+dを指定状態とした自由応答計算を行なう。自由応答計算とは、制御周期k+dにおいて指定状態にある動特性モデルにおいて、今回の制御周期k以降の入力を0としたときの、制御周期k+dより後の制御周期k+d+Hにおける動特性モデルの出力Yf(k+d+H)を求める計算である。 The generation unit 151 performs free response calculation in which the predicted load position YL k+d is specified. Free response calculation is the output Yf of the dynamic characteristic model in the control cycle k+d+H after the control cycle k+d when the input after the current control cycle k is 0 in the dynamic characteristic model in the specified state in the control cycle k+d. This is a calculation for obtaining (k+d+H).
 生成部151は、ステップ出力およびランプ出力の大きさをそれぞれksおよびkrとして、制御周期k+dより予測ホライズン後の制御周期k+d+Hにおける動特性モデルの出力MHk+d+Hを以下の式(1)に従って演算する。
MHk+d+H=ks*Ys(H)+kr*Yr(H)+Yf(k+d+H) …式(1)
The generation unit 151 calculates the output MH k+d+H of the dynamic characteristic model in the control cycle k+d+H after the predictive horizon from the control cycle k+d with the magnitudes of the step output and the lamp output as ks and kr, respectively, according to the following equation (1).
MH k+d+H =ks*Ys(H)+kr*Yr(H)+Yf(k+d+H) (1)
 生成部151は、MHk+d+Hと予測負荷位置YLk+dとの差分ΔMHと、制御周期k+d+Hにおける参照軌道上の位置RHk+d+Hと予測負荷位置YLk+dとの差分ΔPHとが一致するように、ksおよびkrを求める。 Generating unit 151, so that the difference ΔMH the MH k + d + H and the predicted load position YL k + d, and a position RH k + d + H on the reference trajectory in the control cycle k + d + H and difference ΔPH the estimated load position YL k + d matches, ks and kr Ask for.
 参照軌道は、制御周期k+d+Hにおける目標値SPk+d+Hと予め定められる参照軌道時定数Trとによって特定される。制御周期k+d+Hにおける参照軌道上の位置RHk+d+Hは、例えば以下の式(2)で表される。
RHk+d+H=SPk+d+H-exp(-Ts/Tr)*(SPk+d-YLk+
) …式(2)
The reference trajectory is specified by the target value SP k+d+H in the control cycle k+d +H and the predetermined reference trajectory time constant Tr. The position RH k+d+H on the reference trajectory in the control cycle k+d+H is expressed by the following equation (2), for example.
RH k+d+H =SP k+d+H- exp(-Ts/Tr) H *(SP k+d- YL k+
d )... Formula (2)
 2つの変数ksおよびkrを求めるため、Hとして2つの値H1,H2が設定される。H1,H2は、制御対象2の振動周期よりも短い時間であり、例えばそれぞれ振動周期の1/8および振動周期の1/4である。そして、2つの値H1,H2のそれぞれの式からなる連立方程式を解くことにより、変数ks,krが演算される。 Two values H1 and H2 are set as H to obtain two variables ks and kr. H1 and H2 are times shorter than the vibration cycle of the controlled object 2, for example, 1/8 of the vibration cycle and 1/4 of the vibration cycle, respectively. Then, the variables ks and kr are calculated by solving the simultaneous equations including the equations of the two values H1 and H2.
 生成部151は、上記のようにして求めたksとステップ入力との積を、今回の制御周期kの操作量MVとして生成すればよい。 The generation unit 151 may generate the product of ks obtained as described above and the step input as the manipulated variable MV k of the current control cycle k.
 <F.補正係数>
 以下、図4~図6を参照して、補正係数f(t)の具体例について説明する。図4は、補正係数f(t)の第1の例を示す図である。図5は、補正係数f(t)の第2の例を示す図である。図6は、補正係数f(t)の第3の例を示す図である。
<F. Correction coefficient>
Hereinafter, a specific example of the correction coefficient f(t) will be described with reference to FIGS. 4 to 6. FIG. 4 is a diagram showing a first example of the correction coefficient f(t). FIG. 5 is a diagram showing a second example of the correction coefficient f(t). FIG. 6 is a diagram showing a third example of the correction coefficient f(t).
 図4に示されるように、第1の例の補正係数f(t)は、移動制御の開始からの経過時間tに比例して増加する。具体的には、第1の例の補正係数f(t)は、経過時間tを説明変数とする1次関数
f(t)=t/T
に従って決定される。Tは、補正期間の時間長さ(補正時間)である。
As shown in FIG. 4, the correction coefficient f(t) of the first example increases in proportion to the elapsed time t from the start of the movement control. Specifically, the correction coefficient f(t) of the first example is a linear function f(t)=t/T having the elapsed time t as an explanatory variable.
Determined according to. T is the time length of the correction period (correction time).
 第1の例の補正係数f(t)は、簡易な1次関数に従って決定される。そのため、補正係数f(t)を決定する演算負荷を低減できる。ただし、補正期間の終点(t=T)において、サーボドライバ200に出力される操作量(すなわち指令値)の変化が大きくなり、制御対象2の滑らかな移動が困難になる可能性がある。例えば、指令値が位置指令を示す場合、サーボドライバ200から出力されるトルク値がマイナス方向に急減することがある。 The correction coefficient f(t) in the first example is determined according to a simple linear function. Therefore, the calculation load for determining the correction coefficient f(t) can be reduced. However, at the end point (t=T) of the correction period, the change in the operation amount (that is, the command value) output to the servo driver 200 may increase, and it may be difficult to smoothly move the control target 2. For example, when the command value indicates a position command, the torque value output from the servo driver 200 may suddenly decrease in the negative direction.
 第2の例の補正係数f(t)は、第1の例の補正係数f(t)の問題点を解決でき、補正期間の終点(t=T)の微分値が0となる関数に従って決定される。図5には、補正期間の起点(t=0)および終点(t=T)の2回微分値が0となる5次関数
f(t)=(t/T)×{6×(t/T)-15×(t/T)+10}
に従って決定される補正係数が示される。しかしながら、第2の例の補正係数f(t)は、図5に示す5次関数ではなく、補正期間の終点(t=T)の微分値が0となる3次関数に従って決定されてもよい。
The correction coefficient f(t) of the second example is determined according to a function that can solve the problem of the correction coefficient f(t) of the first example and that the differential value of the end point (t=T) of the correction period is zero. To be done. In FIG. 5, a quintic function f(t)=(t/T) 3 ×{6×(t) where the two-time differential value of the starting point (t=0) and the ending point (t=T) of the correction period is 0. /T) 2 −15×(t/T)+10}
The correction coefficient determined according to However, the correction coefficient f(t) of the second example may be determined not by the quintic function shown in FIG. 5, but by a cubic function in which the differential value of the end point (t=T) of the correction period is 0. ..
 第2の例の補正係数f(t)を用いることにより、制御対象2の滑らかな移動を実現することができるが、移動制御の開始直後の補正係数f(t)の増加速度が遅いために、目標値への追従性が大きく低下しやすい。 By using the correction coefficient f(t) of the second example, smooth movement of the controlled object 2 can be realized, but since the increase rate of the correction coefficient f(t) immediately after the start of the movement control is slow, , The ability to follow the target value is likely to be greatly reduced.
 第3の例の補正係数f(t)は、第2の例の補正係数f(t)の問題点を解決できる。図6の上段には、第3の例の補正係数f(t)を決定するための関数が示される。図示されるように、t=0~Tの補正期間は、2つの区間Ta,Tbに分割される。先の区間Taにおいて,補正係数f(t)は、1次関数
f(t)=t/T
に従って決定される。後の区間Tbにおいて、補正係数f(t)は、区間Tbの始点の傾きが区間Tbにおける1次関数の傾きと一致し、区間Tbの終点の2回微分値が0となる5次関数
f(t)=(t/T)×{6×(t/T)-15×(t/T)+10}
に従って決定される。
The correction coefficient f(t) of the third example can solve the problem of the correction coefficient f(t) of the second example. The upper part of FIG. 6 shows a function for determining the correction coefficient f(t) of the third example. As illustrated, the correction period of t=0 to T is divided into two sections Ta and Tb. In the previous section Ta, the correction coefficient f(t) is a linear function f(t)=t/T
Determined according to. In the subsequent section Tb, the correction coefficient f(t) has a quintic function f in which the slope of the start point of the section Tb matches the slope of the linear function in the section Tb and the second derivative of the end point of the section Tb becomes 0. (T)=(t/T) 3 ×{6×(t/T) 2 −15×(t/T)+10}
Determined according to.
 第3の例の補正係数f(t)を用いることにより、制御対象2の滑らかな移動を実現することができるとともに、移動制御の開始直後における目標値への追従性の低下を抑制できる。 By using the correction coefficient f(t) of the third example, it is possible to realize a smooth movement of the controlled object 2 and to suppress deterioration of followability to the target value immediately after the start of movement control.
 図6の下段には、補正係数f(t)を決定するための関数を作成する方法が示される。図示されるように、t=0~Tの期間の起点(t=0)および終点(t=T)の2回微分値が0となる5次関数
g(t)=(t/T×{6×(t/T-15×(t/T)+10}
が設定される。当該5次関数で示される曲線の中間点(t=T/2)から時間軸に達し、かつ、5次関数の中間点における微分値(=(15/8)×(1/T))と一致する傾きを有する線分が引かれる。当該線分は、1次関数g(t)=(15/8)×(t/T)-7/16で表され、時間軸とt=(7/30)Tの点で交わる。
The lower part of FIG. 6 shows a method of creating a function for determining the correction coefficient f(t). As shown in the drawing, a quintic function g(t)=(t/T in which the twice-differentiated value of the starting point (t=0) and the ending point (t=T 5 ) in the period of t=0 to T 5 is 0. 5 ) 3 ×{6×(t/T 5 ) 2 −15×(t/T 5 )+10}
Is set. The time axis is reached from the intermediate point (t=T 5 /2) of the curve shown by the quintic function, and the differential value at the intermediate point of the quintic function (=(15/8)×(1/T 5 )) ) Is drawn. The line segment is represented by a linear function g(t)=(15/8)×(t/T 5 )−7/16, and intersects the time axis at a point of t=(7/30)T 5 .
 (7/30)T≦t≦T/2のときに
g(t)=(15/8)×(t/T)-7/16
で表され、T/2<t≦Tのときに
g(t)=(t/T)3×{6×(t/T)2-15×(t/T)+10}
で表される関数g(t)の時間幅(7/30)T~Tを0~Tに変換することにより,図6の上段に示される関数が作成される。
When (7/30) T 5 ≦t≦T 5 /2, g(t)=(15/8)×(t/T 5 )−7/16
And g(t)=(t/T 5 )3×{6×(t/T 5 )2-15×(t/T 5 )+10} when T 5 /2<t≦T 5 .
The function shown in the upper part of FIG. 6 is created by converting the time width (7/30) T 5 to T 5 of the function g(t) represented by
 <G.処理手順>
 次に、本実施の形態に従う制御装置100によるモータ制御の処理手順の概要について説明する。図7は、本実施の形態に従う制御システムによるモータ制御の処理手順を示すフローチャートである。図7に示すステップは、制御装置100のプロセッサ102が制御プログラム(図2に示すシステムプログラム110およびユーザプログラム112を含む)を実行することで実現されてもよい。
<G. Processing procedure>
Next, an outline of a processing procedure of motor control by control device 100 according to the present embodiment will be described. FIG. 7 is a flowchart showing a processing procedure of motor control by the control system according to the present embodiment. The steps illustrated in FIG. 7 may be implemented by the processor 102 of the control device 100 executing a control program (including the system program 110 and the user program 112 illustrated in FIG. 2).
 まず、制御装置100は、補正時間Tを設定する(ステップS1)。例えば、制御装置100は、制御対象2を指定位置まで指定時間かけて移動させる場合に、当該指定時間に予め定められた割合(例えば1/2)を乗じた時間を補正時間Tとして設定する。 First, the control device 100 sets the correction time T (step S1). For example, when moving the controlled object 2 to the designated position over the designated time, the control device 100 sets a time obtained by multiplying the designated time by a predetermined ratio (for example, 1/2) as the correction time T.
 次に、制御装置100は、制御開始からの経過時間tを0に設定する(ステップS2)。その後、制御装置100は、移動制御を開始するか否かを判断する(ステップS3)。例えば、制御装置100は、サーボドライバ200、サーボモータ300、制御対象2および他の機器の状態を確認し、各機器から準備完了の通知を受けたことにより、移動制御を開始すると判断すればよい。移動制御を開始しないと判断した場合(ステップS3でNO)、モータ制御の処理はステップS3に戻される。 Next, the control device 100 sets the elapsed time t from the start of control to 0 (step S2). After that, the control device 100 determines whether or not to start the movement control (step S3). For example, the control device 100 may check the states of the servo driver 200, the servo motor 300, the controlled object 2 and other devices, and may determine that the movement control is started by receiving a preparation completion notification from each device. .. When it is determined that the movement control is not started (NO in step S3), the motor control process is returned to step S3.
 移動制御を開始すると判断した場合(ステップS3でYES)、制御装置100は、制御開始からの経過時間tに制御周期Tsを加算する(ステップS4)。制御装置100は、負荷位置と目標値SPで示される目標位置との偏差が最小となるように、動特性モデルを用いたモデル予測制御を実行して、今回の制御周期に対応する操作量MVを生成する(ステップS5)。ステップS5における操作量MVの生成は、例えば<E.操作量MVの生成>に記載した方法によって行なわれる。 When it is determined to start the movement control (YES in step S3), the control device 100 adds the control cycle Ts to the elapsed time t from the start of control (step S4). The control device 100 executes the model predictive control using the dynamic characteristic model so that the deviation between the load position and the target position indicated by the target value SP is minimized, and the manipulated variable MV corresponding to the current control cycle. Is generated (step S5). The operation amount MV is generated in step S5 by, for example, <E. Generation of manipulated variable MV>.
 次に、制御装置100は、制御開始からの経過時間tが補正時間T以下であるか否かを判断する(ステップS6)。t≦Tである場合(ステップS6でYES)、制御装置100は、補正係数を決定するための関数に制御開始からの経過時間tを代入することにより、今回の制御周期における補正係数f(t)を演算する(ステップS7)。制御装置100は、補正係数f(t)を操作量MVに乗じることにより操作量MVを補正し、補正後の操作量MVをサーボドライバ200に出力する(ステップS8)。 Next, the control device 100 determines whether the elapsed time t from the start of control is the correction time T or less (step S6). When t≦T (YES in step S6), the control device 100 substitutes the elapsed time t from the start of control into the function for determining the correction coefficient, and thereby the correction coefficient f(t ) Is calculated (step S7). The control device 100 corrects the operation amount MV by multiplying the operation amount MV by the correction coefficient f(t), and outputs the corrected operation amount MV to the servo driver 200 (step S8).
 ステップS8の後、または、t>Tである場合(ステップS6でNo)、制御装置100は、移動制御を終了すべきか否かを判断する(ステップS9)。制御装置100は、負荷位置が目標軌道の終点に到達して整定した場合に、移動制御を終了すると判断すればよい。移動制御を終了しないと判断した場合(ステップS9においてNO)、モータ制御の処理は、ステップS4に戻される。これにより、ステップS4~S8が繰り返される。なお、ステップS4~S8は、制御周期毎に繰り返される。 After step S8 or when t>T (No in step S6), the control device 100 determines whether or not the movement control should be ended (step S9). The control device 100 may determine to end the movement control when the load position reaches the end point of the target trajectory and settles. When it is determined that the movement control is not ended (NO in step S9), the motor control process is returned to step S4. As a result, steps S4 to S8 are repeated. Note that steps S4 to S8 are repeated every control cycle.
 移動制御を終了すると判断した場合(ステップS9においてYES)、モータ制御の処理は終了する。以上のような処理手順によって、本実施の形態に従う制御装置100のモータ制御が実現される。なお、ステップS1~S10の処理は、指定されたサーボドライバ200の各々について実施される。そのため、複数のサーボドライバ200のそれぞれについてのステップS1~S10の処理が並列的に実行されることもある。 If it is determined that the movement control is to be ended (YES in step S9), the motor control process is ended. The motor control of control device 100 according to the present embodiment is realized by the processing procedure as described above. The processes of steps S1 to S10 are performed for each designated servo driver 200. Therefore, the processes of steps S1 to S10 for each of the plurality of servo drivers 200 may be executed in parallel.
 <H.プログラミング例>
 本実施の形態に従う制御装置100による制御処理は、制御装置100で実行されるユーザプログラム112において命令を記述することで実行され得る。以下、本実施の形態に従う制御装置100のプログラミングの一例について説明する。
<H. Programming example>
The control process by control device 100 according to the present embodiment can be executed by describing an instruction in user program 112 executed by control device 100. Hereinafter, an example of programming of control device 100 according to the present embodiment will be described.
 図8は、本実施の形態に従う制御装置で実行される命令コードの一例を示す図である。図8には、ユーザプログラム112に含まれるモデル予測制御ファンクションブロック115が示される。モデル予測制御ファンクションブロック115(以下、「モデル予測制御FB115」という)は、モデル予測制御の実行を規定するためのファンクションブロックである。上記のモデル予測制御モジュール150は、モデル予測制御FB115によって実現される。 FIG. 8 is a diagram showing an example of an instruction code executed by the control device according to the present embodiment. FIG. 8 shows the model predictive control function block 115 included in the user program 112. The model prediction control function block 115 (hereinafter, referred to as “model prediction control FB115”) is a function block for defining execution of model prediction control. The model predictive control module 150 described above is realized by the model predictive control FB 115.
 モデル予測制御FB115は、入力項目として、開始指示115Aと、サンプリング周期115Bと、目標値115Cと、モデルパラメータ115Dと、制御パラメータ115Eと、振動周波数115Fと、振幅比115Gと、制御開始時補正時間115Hとを含む。モデル予測制御FB115は、出力項目として、ステータス115Iと、操作量115Jとを含む。 The model prediction control FB115 has, as input items, a start instruction 115A, a sampling period 115B, a target value 115C, a model parameter 115D, a control parameter 115E, a vibration frequency 115F, an amplitude ratio 115G, and a control start correction time. 115H. The model predictive control FB115 includes a status 115I and an operation amount 115J as output items.
 開始指示115Aには、例えば、モデル予測制御を開始するための条件が設定される。サンプリング周期115Bには、モデル予測制御による演算を実行する制御周期Tsが設定される。 In the start instruction 115A, for example, conditions for starting the model predictive control are set. In the sampling cycle 115B, the control cycle Ts for executing the calculation by the model predictive control is set.
 目標値115Cには、予め定められた制御対象2の目標軌道を規定する複数の目標値SPのデータ配列が設定される。 In the target value 115C, a data array of a plurality of target values SP that defines a predetermined target trajectory of the controlled object 2 is set.
 モデルパラメータ115Dには、モデル作成モジュール130によって作成された第1動特性モデルPCMを規定するためのモデルパラメータ(d,acm1~acmn,bcm1~bcmm)が入力される。 The model parameters (d, a cm1 to a cmn , b cm1 to b cmm ) for defining the first dynamic characteristic model P CM created by the model creating module 130 are input to the model parameter 115D .
 制御パラメータ115Eには、モデル予測制御で用いる予測ホライズンの値H1,H2および参照軌道時定数Trが入力される。 Predictive horizon values H1 and H2 used in model predictive control and a reference trajectory time constant Tr are input to the control parameter 115E.
 振動周波数115Fには、第2動特性モデルPMLを規定するための振動周波数fが入力される。振幅比115Gには、第2動特性モデルPMLを規定するための振幅比Adrが入力される。制御開始時補正時間115Hには、補正時間Tが入力される。 A vibration frequency f 0 for defining the second dynamic characteristic model P ML is input to the vibration frequency 115F. The amplitude ratio Adr for defining the second dynamic characteristic model P ML is input to the amplitude ratio 115G. The correction time T is input to the control start correction time 115H.
 また、ステータス115Iからは、モデル予測制御FB115による処理の実行状態を示す値が出力される。 Also, from the status 115I, a value indicating the execution state of processing by the model predictive control FB 115 is output.
 操作量115Jから、操作量MVが指令値としてサーボドライバに出力される。なお、移動制御の開始から補正時間Tが経過するまでの補正期間では、モデル予測制御の実行によって生成された操作量MVに補正係数f(t)を乗じることによって補正された操作量MVが出力される。補正期間後には、モデル予測制御の実行によって生成された操作量MVが出力される。 From the manipulated variable 115J, the manipulated variable MV is output to the servo driver as a command value. In the correction period from the start of the movement control until the correction time T elapses, the operation amount MV corrected by multiplying the operation amount MV generated by the execution of the model prediction control by the correction coefficient f(t) is output. To be done. After the correction period, the manipulated variable MV generated by executing the model predictive control is output.
 <I.シミュレーション結果>
 本実施の形態に係る制御装置100の効果を検証するためにシミュレーションを行なった。
<I. Simulation result>
A simulation was performed to verify the effect of the control device 100 according to the present embodiment.
 図9は、補正係数f(t)による操作量MVの補正を行なわないときのシミュレーション結果の例を示す図である。図10は、補正係数f(t)による操作量MVの補正を行なったときのシミュレーション結果の例を示す図である。補正係数f(t)として、図6に示す第3の例の補正係数f(t)を用いた。 FIG. 9 is a diagram showing an example of a simulation result when the operation amount MV is not corrected by the correction coefficient f(t). FIG. 10 is a diagram showing an example of a simulation result when the operation amount MV is corrected by the correction coefficient f(t). As the correction coefficient f(t), the correction coefficient f(t) of the third example shown in FIG. 6 was used.
 図9および図10には、以下の条件下でのシミュレーション結果が示される。
制御対象:2慣性系、
制御対象の振動周波数:9.2Hz
制御周期Ts:1ms
むだ時間d:2ms
予測ホライズン:H1=10制御周期、H2=18制御周期
移動制御:指定時間200msで制御対象を25mm離れた指定位置まで移動させる。
9 and 10 show simulation results under the following conditions.
Control target: 2 inertial system,
Vibration frequency of controlled object: 9.2 Hz
Control cycle Ts: 1 ms
Dead time d: 2 ms
Predicted horizon: H1=10 control cycles, H2=18 control cycles Movement control: The control target is moved to a designated position 25 mm away at a designated time of 200 ms.
 図10において、最左列の(a)には、補正時間Tを10msとしたときのシミュレーション結果が示される。左から2列目の(b)には、補正時間Tを20msとしたときのシミュレーション結果が示される。左から3列目の(c)には、補正時間Tを50msとしたときのシミュレーション結果が示される。左から4列目の(d)には、補正時間Tを100msとしたときのシミュレーション結果が示される。 In FIG. 10, the leftmost column (a) shows the simulation result when the correction time T is 10 ms. The simulation result when the correction time T is 20 ms is shown in the second column (b) from the left. The third column from the left (c) shows the simulation result when the correction time T is 50 ms. The simulation result when the correction time T is 100 ms is shown in the fourth column (d) from the left.
 図9および図10において、1段目には、目標位置の時間変化つまり目標軌道と、負荷位置の時間変化とが示される。目標軌道は5次軌道である。2段目には、目標位置と負荷位置との偏差の時間変化が示される。3段目には、サーボドライバから出力されるトルク値の時間変化が示される。 In FIGS. 9 and 10, the first stage shows the time change of the target position, that is, the target trajectory and the time change of the load position. The target orbit is the 5th orbit. The second stage shows the time change of the deviation between the target position and the load position. The third stage shows the time change of the torque value output from the servo driver.
 図9に示されるように、補正係数f(t)による補正を行なわない場合、目標軌道に対する追従性能が高く維持されるものの、移動制御の開始直後において、サーボドライバから出力されるトルク値が大きい。 As shown in FIG. 9, when the correction coefficient f(t) is not corrected, the tracking performance for the target trajectory is maintained high, but the torque value output from the servo driver is large immediately after the start of the movement control. ..
 これに対し、図10に示されるように、移動制御の開始から補正時間T経過するまでの補正期間において補正係数f(t)による操作量MVの補正を行なうことにより、サーボドライバから出力されるトルク値が低減される。トルク値の低減効果は、補正時間Tを長くすることにより大きくなる。 On the other hand, as shown in FIG. 10, the operation amount MV is corrected by the correction coefficient f(t) in the correction period from the start of the movement control until the correction time T elapses. The torque value is reduced. The effect of reducing the torque value is increased by increasing the correction time T.
 補正時間Tが長くなると、負荷位置と目標位置との偏差が大きくなる傾向にある。ただし、補正時間Tは、指定位置まで移動させる指定時間の1/2以下に設定されているため、負荷位置と目標位置との偏差が大きくなるのは、制御対象の移動中に限られる。そのため、移動制御の開始から指定時間200ms経過したときの負荷位置と目標位置との偏差は十分に小さい。すなわち、移動制御を開始してから制御対象の位置が指定位置を含む許容範囲内に収まるまでの整定時間は、指定時間(200ms)から増加していない。 The longer the correction time T, the larger the deviation between the load position and the target position. However, since the correction time T is set to 1/2 or less of the designated time for moving to the designated position, the deviation between the load position and the target position becomes large only during the movement of the controlled object. Therefore, the deviation between the load position and the target position when the designated time of 200 ms has elapsed from the start of the movement control is sufficiently small. That is, the settling time from the start of the movement control until the position of the controlled object falls within the allowable range including the designated position has not increased from the designated time (200 ms).
 <J.利点>
 以上のように、本実施の形態に係る制御装置100は、制御対象2に接続されたサーボモータ300を駆動するドライブ装置であるサーボドライバ200に操作量MVを出力して、停止している制御対象2を指定位置に移動させる移動制御を行なう。制御装置100は、生成部151と補正部152とを備える。生成部151は、制御対象2が目標軌道に追従するように、目標軌道から生成される目標値SPを用いて操作量MVを生成する。補正部152は、移動制御の開始から予め定められた補正時間T経過するまでの補正期間において、操作量MVに対して補正係数f(t)を乗じる。補正係数f(t)は、補正期間において、時間経過とともに単調増加する。補正期間の終点における補正係数f(T)は1である。
<J. Advantage>
As described above, the control device 100 according to the present embodiment outputs the manipulated variable MV to the servo driver 200, which is a drive device that drives the servo motor 300 connected to the controlled object 2, and stops the control. A movement control for moving the object 2 to the designated position is performed. The control device 100 includes a generation unit 151 and a correction unit 152. The generation unit 151 generates the manipulated variable MV using the target value SP generated from the target trajectory so that the controlled object 2 follows the target trajectory. The correction unit 152 multiplies the operation amount MV by the correction coefficient f(t) in the correction period from the start of the movement control to the passage of the predetermined correction time T. The correction coefficient f(t) monotonically increases with the passage of time during the correction period. The correction coefficient f(T) at the end of the correction period is 1.
 上記の構成によれば、移動制御の開始からの補正期間において、操作量MV(すなわち、指令値)が緩やかに増大し、移動制御の開始直後におけるトルクピークを低減できる。トルクピークが低減されることにより、トルク飽和を回避できる。また、トルクピークが低減されることにより、小型のモータが利用可能となり、コストを低減できる。さらに、補正係数f(t)を乗じる演算が特許文献1のトルク飽和の回避のための演算と比べて簡易であり、演算負荷が抑制される。 According to the above configuration, the operation amount MV (that is, the command value) gradually increases in the correction period from the start of the movement control, and the torque peak immediately after the start of the movement control can be reduced. By reducing the torque peak, torque saturation can be avoided. Further, since the torque peak is reduced, a small motor can be used and the cost can be reduced. Further, the calculation for multiplying the correction coefficient f(t) is simpler than the calculation for avoiding the torque saturation in Patent Document 1, and the calculation load is suppressed.
 例えば、補正係数f(t)は、移動制御の開始からの経過時間tに比例して増加してもよい(図4参照)。この場合、補正係数f(t)は、簡易な1次関数に従って決定される。そのため、補正係数f(t)を決定する演算負荷を低減できる。 For example, the correction coefficient f(t) may increase in proportion to the elapsed time t from the start of movement control (see FIG. 4). In this case, the correction coefficient f(t) is determined according to a simple linear function. Therefore, the calculation load for determining the correction coefficient f(t) can be reduced.
 もしくは、補正係数f(t)は、移動制御の開始からの経過時間tを説明変数とし、補正係数f(t)を目的変数とする関数に従って決定され、関数における補正期間の終点(t=T)の微分値は0であってもよい(図5参照)。この場合、制御対象2の滑らかな移動を実現することができる。 Alternatively, the correction coefficient f(t) is determined according to a function having the elapsed time t from the start of the movement control as an explanatory variable and the correction coefficient f(t) as an objective variable, and the end point (t=T) of the correction period in the function. The differential value of () may be 0 (see FIG. 5). In this case, smooth movement of the controlled object 2 can be realized.
 もしくは、補正期間が2つの区間Ta,Tbに分割されてもよい(図6参照)。そして、関数は、先の区間Taにおいて1次関数であり、後の区間Tbにおいて、区間Tbの始点の傾きが1次関数の傾きと一致し、区間Tbの終点の2回微分値が0となる5次関数である。この場合、制御対象2の滑らかな移動を実現することができるとともに、移動制御の開始直後における目標値への追従性の低下を抑制できる。 Alternatively, the correction period may be divided into two sections Ta and Tb (see FIG. 6). The function is a linear function in the previous section Ta, the slope of the starting point of the section Tb matches the slope of the linear function in the subsequent section Tb, and the second derivative value of the end point of the section Tb is 0. Is a quintic function. In this case, it is possible to realize smooth movement of the controlled object 2 and to suppress deterioration of followability to the target value immediately after the start of movement control.
 移動制御は、制御対象2を指定位置まで指定時間で移動させる制御である。予め定められた補正時間Tは、指定時間の1/2以下であることが好ましい。これにより、図10に示すシミュレーション結果から、整定時間が指定時間よりも増加することを抑制できる。 -Movement control is control to move the controlled object 2 to a specified position in a specified time. The predetermined correction time T is preferably 1/2 or less of the designated time. Thereby, from the simulation result shown in FIG. 10, it is possible to prevent the settling time from increasing longer than the designated time.
 <K.変形例>
 <K-1.変形例1>
 上記の説明では、補正部152は、生成部151が生成した操作量MVを補正係数f(t)で補正するものとした。しかしながら、補正部152は、操作量MVの代わりに、軌道生成モジュールから出力される目標値SPに対して補正係数f(t)を乗じ、目標値SPを補正してもよい。上述したように、生成部151は、負荷位置と目標値SPで示される目標位置との偏差が最小となるように操作量MVを生成する。そのため、目標値SPが補正係数f(t)によって補正されることにより、移動制御の開始から補正時間Tが経過するまでの補正期間において、操作量MV(すなわち、指令値)が緩やかに増大し、トルク飽和が抑制される。
<K. Modification>
<K-1. Modification 1>
In the above description, the correction unit 152 corrects the operation amount MV generated by the generation unit 151 with the correction coefficient f(t). However, the correction unit 152 may correct the target value SP by multiplying the target value SP output from the trajectory generation module by the correction coefficient f(t) instead of the operation amount MV. As described above, the generation unit 151 generates the manipulated variable MV so that the deviation between the load position and the target position indicated by the target value SP is minimized. Therefore, since the target value SP is corrected by the correction coefficient f(t), the operation amount MV (that is, the command value) gradually increases in the correction period from the start of the movement control until the correction time T elapses. , Torque saturation is suppressed.
 図11は、変形例1に従う制御システムによるモータ制御の処理手順を示すフローチャートである。図11に示す処理手順は、図7に示す処理手順と比較して、ステップS5,S8の代わりにステップS10,S11を含む点で相違する。 FIG. 11 is a flowchart showing a processing procedure of motor control by the control system according to the first modification. The processing procedure shown in FIG. 11 differs from the processing procedure shown in FIG. 7 in that steps S10 and S11 are included instead of steps S5 and S8.
 図11に示されるように、変形例1に従う制御システムでは、モータ制御の処理は、ステップS4の後にステップS6,S7に移る。ステップS7の後、制御装置100は、補正係数f(t)を目標値SPに乗じることにより、目標値SPを補正する(ステップS10)。 As shown in FIG. 11, in the control system according to the first modification, the motor control process moves to steps S6 and S7 after step S4. After step S7, the control device 100 corrects the target value SP by multiplying the target value SP by the correction coefficient f(t) (step S10).
 例えば、上記<E.操作量MVの生成>で説明した方法に従って操作量MVを生成する場合、今回の制御周期kに対応する操作量MVを生成するために用いる目標値SPは、上記の式(2)に含まれる、制御周期k+d+Hにおける目標値SPk+d+Hと制御周期k+dにおける目標値SPk+dである。Hとして2つの値H1,H2が設定されるため、制御装置100は、今回の制御周期kにおいて、目標値SPk+d+H1と目標値SPk+d+H2と目標値SPk+dとを補正すればよい。 For example, the above <E. When the manipulated variable MV is generated according to the method described in “Generation of manipulated variable MV>,” the target value SP used to generate the manipulated variable MV k corresponding to the current control cycle k is included in the above equation (2). The target value SP k+d+H in the control cycle k+d +H and the target value SP k+d in the control cycle k+d. Since the two values H1 and H2 are set as H, the control device 100 may correct the target value SP k+d+H1 , the target value SP k+d+H2, and the target value SP k+d in the current control cycle k.
 ステップS10の後、または、t>Tの場合(ステップS6でNO)、制御装置100は、負荷位置と目標値SPで示される目標位置との偏差が最小となるように、動特性モデルを用いたモデル予測制御を実行して、操作量MVを生成する(ステップS11)。ステップS11では、目標値SPが補正係数f(t)で補正される場合、補正後の目標値SPを用いて操作量MVが生成される。生成された操作量MVは、サーボドライバ200に出力される。 After step S10 or when t>T (NO in step S6), the control device 100 uses the dynamic characteristic model so that the deviation between the load position and the target position indicated by the target value SP is minimized. The model predictive control described above is executed to generate the manipulated variable MV (step S11). In step S11, when the target value SP is corrected by the correction coefficient f(t), the manipulated variable MV is generated using the corrected target value SP. The generated operation amount MV is output to the servo driver 200.
 その後、制御装置100は、移動制御を終了すべきか否かを判断する(ステップS9)。移動制御を終了しないと判断した場合(ステップS9においてNO)、モータ制御の処理は、ステップS4に戻される。これにより、ステップS4、S6,S7,S10,S11が繰り返される。なお、ステップS4、S6,S7,S10,S11は、制御周期毎に繰り返される。 After that, the control device 100 determines whether or not the movement control should be ended (step S9). When it is determined that the movement control is not ended (NO in step S9), the motor control process is returned to step S4. As a result, steps S4, S6, S7, S10 and S11 are repeated. Note that steps S4, S6, S7, S10, and S11 are repeated every control cycle.
 図12は、補正係数f(t)による目標値SPの補正を行なったときのシミュレーション結果の例を示す図である。図12には、操作量MVの代わりに目標値SPを補正係数f(t)により補正する点を除いて、図10と同じ条件下でのシミュレーション結果が示される。すなわち、制御周期毎に、むだ時間d(=2ms)だけ経過した制御周期の目標値SPと、むだ時間d(=2ms)+H1(=10ms)だけ経過した制御周期の目標値SPと、むだ時間d(=2ms)+H2(=18ms)だけ経過した制御周期の目標値SPとを補正係数f(t)により補正した。 FIG. 12 is a diagram showing an example of a simulation result when the target value SP is corrected by the correction coefficient f(t). FIG. 12 shows a simulation result under the same conditions as in FIG. 10, except that the target value SP is corrected by the correction coefficient f(t) instead of the manipulated variable MV. That is, for each control cycle, the target value SP of the control cycle after the dead time d (=2 ms) has elapsed, the target value SP of the control cycle after the dead time d (=2 ms)+H1 (=10 ms), and the dead time. The target value SP of the control cycle after d (=2 ms)+H2 (=18 ms) has been corrected by the correction coefficient f(t).
 図12において、最左列の(a)には、補正時間Tを10msとしたときのシミュレーション結果が示される。左から2列目の(b)には、補正時間Tを20msとしたときのシミュレーション結果が示される。左から3列目の(c)には、補正時間Tを50msとしたときのシミュレーション結果が示される。左から4列目の(d)には、補正時間Tを100msとしたときのシミュレーション結果が示される。 In FIG. 12, the leftmost column (a) shows the simulation result when the correction time T is 10 ms. The simulation result when the correction time T is 20 ms is shown in the second column (b) from the left. The third column from the left (c) shows the simulation result when the correction time T is 50 ms. The simulation result when the correction time T is 100 ms is shown in the fourth column (d) from the left.
 図12に示されるように、移動制御の開始から補正時間T経過するまでの補正期間において補正係数f(t)による目標値SPの補正を行なうことにより、サーボドライバから出力されるトルク値が低減される。トルク値の低減効果は、補正時間Tを長くすることにより大きくなる。さらに、補正時間Tが指定位置までの移動時間の1/2以下に設定されている場合に、整定時間が指定時間(200ms)から増加していないことが確認された。 As shown in FIG. 12, by correcting the target value SP with the correction coefficient f(t) during the correction period from the start of the movement control until the correction time T elapses, the torque value output from the servo driver is reduced. To be done. The effect of reducing the torque value is increased by increasing the correction time T. Furthermore, it was confirmed that the settling time did not increase from the specified time (200 ms) when the correction time T was set to 1/2 or less of the moving time to the specified position.
 <K-2.変形例2>
 図13は、変形例2に係る制御装置の機能構成の一例を示す模式図である。図13に示されるように、変形例2に係る制御装置100Aは、図3に示す制御装置100と比較して、制御ユニット160の代わりに制御ユニット160Aを備える点で相違する。制御ユニット160Aは、制御ユニット160と比較して、モデル予測制御モジュール150の代わりにモデル予測制御モジュール150Aを含む点で相違する。モデル予測制御モジュール150Aは、モデル予測制御モジュール150と比較して、生成部151の代わりに生成部151Aを含む点で相違する。
<K-2. Modification 2>
FIG. 13 is a schematic diagram illustrating an example of the functional configuration of the control device according to the second modification. As shown in FIG. 13, a control device 100A according to Modification 2 is different from the control device 100 shown in FIG. 3 in that a control unit 160A is provided instead of the control unit 160. The control unit 160A differs from the control unit 160 in that it includes a model predictive control module 150A instead of the model predictive control module 150. The model prediction control module 150A differs from the model prediction control module 150 in that it includes a generation unit 151A instead of the generation unit 151.
 変形例2に係る制御装置100Aのモデル予測制御モジュール150Aには、制御対象2の位置(負荷位置)の計測値PVがフィードバックされる。計測値PVは、図1に示す計測センサ20によって計測され、計測センサ20から制御装置100Aに送信される。 The measured value PV of the position (load position) of the controlled object 2 is fed back to the model predictive control module 150A of the control device 100A according to Modification 2. The measurement value PV is measured by the measurement sensor 20 shown in FIG. 1 and transmitted from the measurement sensor 20 to the control device 100A.
 生成部151Aは、上記の生成部151と比較して、計測値PVを用いて、予測負荷位置YLを補正する点で相違する。 The generation unit 151A differs from the generation unit 151 in that the measured load value PV is used to correct the predicted load position YL.
 例えば、生成部151Aは、今回の制御周期kにおける予測負荷位置YLと計測値PVとの差分値を補正量CLとして演算する。すなわち、補正量CLは、
CL=PV-YL
で表される。
For example, the generation unit 151A calculates the difference value between the predicted load position YL k and the measured value PV k in the current control cycle k as the correction amount CL. That is, the correction amount CL is
CL=PV k- YL k
It is represented by.
 次に、生成部151Aは、予測負荷位置YLを計測値PVに更新するとともに、補正量CLを用いて以下の式に従って、むだ時間dだけ将来の予測負荷位置YLを更新する。
YLk+1←YLk+1+CL
・・・
YLk+d←YLk+d+CL
これにより、予測負荷位置YLの精度を高めることができる。その結果、移動制御における目標軌道への追従性を向上させることができる。
Next, the generation unit 151A updates the predicted load position YL k to the measured value PV k, and also updates the predicted load position YL in the future for the dead time d according to the following equation using the correction amount CL.
YL k+1 ← YL k+1 +CL
...
YL k+d ← YL k+d +CL
As a result, the accuracy of the predicted load position YL can be improved. As a result, it is possible to improve the followability to the target trajectory in the movement control.
 動特性モデルが第1動特性モデルPCMと第2動特性モデルPMLとから構成される場合には、生成部151Aは、予測負荷位置YLの補正に代えて、もしくは、予測負荷位置YLの補正に加えて、サーボモータ300から受けるモータ位置の計測値PVMを用いて予測モータ位置YMを補正してもよい。 When the dynamic characteristic model is composed of the first dynamic characteristic model P CM and the second dynamic characteristic model P ML , the generating unit 151A replaces the predicted load position YL with the predicted load position YL or corrects the predicted load position YL. In addition to the correction, the predicted motor position YM may be corrected using the measured value PVM of the motor position received from the servo motor 300.
 例えば、生成部151Aは、今回の制御周期kにおける予測モータ位置YMと計測値PVMとの差分値を補正量CMとして演算する。すなわち、補正量CMは、
CM=PVM-YM
で表される。
For example, the generation unit 151A calculates a difference value between the predicted motor position YM k and the measured value PVM k in the current control cycle k as the correction amount CM. That is, the correction amount CM is
CM=PVM k- YM k
It is represented by.
 次に、生成部151Aは、予測モータ位置YMを計測値PVMに更新するとともに、補正量CMを用いて以下の式に従って、むだ時間dだけ将来の予測モータ位置YMを更新する。
YMk+1←YMk+1+CM
・・・
YMk+d←YMk+d+CM
これにより、予測モータ位置YMの精度が高まるとともに、予測負荷位置YLの精度も高まる。その結果、移動制御における目標軌道への追従性を向上させることができる。
Next, the generation unit 151A updates the predicted motor position YM k to the measured value PVM k, and updates the future predicted motor position YM for the dead time d according to the following equation using the correction amount CM.
YM k+1 ← YM k+1 +CM
...
YM k+d ← YM k+d +CM
This increases the accuracy of the predicted motor position YM and the accuracy of the predicted load position YL. As a result, it is possible to improve the followability to the target trajectory in the movement control.
 <K-3.変形例3>
 上記の説明では、生成部151,151Aは、サーボドライバ200、サーボモータ300および制御対象2からなるモデル対象400の動特性を示す動特性モデルを用いてモデル予測制御を行ない、操作量MVを生成するものとした。しかしながら、制御対象2の振動抑制が不要である場合には、生成部151,151Aは、サーボドライバ200およびサーボモータ300からなるモデル対象400の動特性を示す動特性モデルを用いてモデル予測制御を行ない、操作量MVを生成してもよい。この場合、モデル予測制御モジュール150,150Aを実現するモデル予測制御FB115(図8参照)において、振動周波数115Fおよび振幅比115Gの入力項目が省略される。
<K-3. Modification 3>
In the above description, the generation units 151 and 151A perform model predictive control using the dynamic characteristic model indicating the dynamic characteristics of the model target 400 including the servo driver 200, the servo motor 300, and the control target 2, and generate the manipulated variable MV. I decided to do it. However, when the vibration suppression of the controlled object 2 is unnecessary, the generation units 151 and 151A perform model predictive control using the dynamic characteristic model indicating the dynamic characteristics of the model target 400 including the servo driver 200 and the servo motor 300. The operation amount MV may be generated. In this case, in the model predictive control FB 115 (see FIG. 8) that realizes the model predictive control modules 150 and 150A, the input items of the vibration frequency 115F and the amplitude ratio 115G are omitted.
 <L.付記>
 以上のように、本実施の形態および変形例は以下のような開示を含む。
<L. Note>
As described above, the present embodiment and modifications include the following disclosures.
 (構成1)
 制御対象(2)に接続されたモータ(300,300X,300Y)を駆動するドライブ装置(200,200X,200Y)に操作量を出力して、停止している前記制御対象(2)を指定位置に移動させる移動制御を行なう制御装置(100,100A)であって、
 前記制御対象(2)が目標軌道に追従するように、前記目標軌道から生成される目標値を用いて前記操作量を生成する生成部(102,151,151A)と、
 前記移動制御の開始から予め定められた補正時間経過するまでの補正期間において、前記操作量または前記操作量の生成に用いる前記目標値に対して補正係数を乗じる補正部(102,152)とを備え、
 前記補正係数は、前記補正期間において、時間経過とともに単調増加し、
 前記補正期間の終点における前記補正係数は1である、制御装置(100,100A)。
(Structure 1)
The operation amount is output to the drive device (200, 200X, 200Y) that drives the motor (300, 300X, 300Y) connected to the controlled object (2), and the stopped controlled object (2) is designated. A control device (100, 100A) for performing movement control for moving to
A generation unit (102, 151, 151A) that generates the manipulated variable by using a target value generated from the target trajectory so that the controlled object (2) follows the target trajectory.
A correction unit (102, 152) for multiplying the operation amount or the target value used for generating the operation amount by a correction coefficient during a correction period from the start of the movement control until a predetermined correction time elapses. Prepare,
The correction coefficient monotonically increases with time in the correction period,
The control device (100, 100A), wherein the correction coefficient at the end of the correction period is 1.
 (構成2)
 前記補正係数は、前記移動制御の開始からの経過時間に比例して増加する、構成1に記載の制御装置(100,100A)。
(Configuration 2)
The control device (100, 100A) according to configuration 1, wherein the correction coefficient increases in proportion to an elapsed time from the start of the movement control.
 (構成3)
 前記補正係数は、前記移動制御の開始からの経過時間を説明変数とし、前記補正係数を目的変数とする関数に従って決定され、
 前記関数における前記補正期間の終点の微分値は0である、構成1に記載の制御装置(100,100A)。
(Structure 3)
The correction coefficient is determined according to a function having an elapsed time from the start of the movement control as an explanatory variable and the correction coefficient as an objective variable,
The control device (100, 100A) according to configuration 1, wherein the differential value of the end point of the correction period in the function is 0.
 (構成4)
 前記補正期間は、2つの区間に分割され、
 前記補正係数は、前記移動制御の開始からの経過時間を説明変数とし、前記補正係数を目的変数とする関数に従って決定され、
 前記関数は、前記2つの区間のうち先の区間において1次関数であり、
 前記関数は、前記2つの区間のうち後の区間において、前記後の区間の始点の傾きが前記1次関数の傾きと一致し、前記後の区間の終点の2回微分値が0となる5次関数である、構成1に記載の制御装置(100,100A)。
(Structure 4)
The correction period is divided into two sections,
The correction coefficient is determined according to a function having an elapsed time from the start of the movement control as an explanatory variable and the correction coefficient as an objective variable,
The function is a linear function in the previous section of the two sections,
In the function, in the latter section of the two sections, the slope of the starting point of the latter section matches the slope of the linear function, and the second derivative of the end point of the latter section becomes 0. 5 The control device (100, 100A) according to configuration 1, which is a next function.
 (構成5)
 前記移動制御は、前記制御対象(2)を前記指定位置まで指定時間で移動させる制御であり、
 前記予め定められた補正時間は、前記指定時間の1/2以下である、構成1から4のいずれかに記載の制御装置(100,100A)。
(Structure 5)
The movement control is control for moving the controlled object (2) to the designated position in a designated time,
The control device (100, 100A) according to any one of configurations 1 to 4, wherein the predetermined correction time is half or less of the specified time.
 (構成6)
 前記生成部(102,151,151A)は、モデル予測制御を用いて前記操作量を生成する、構成1から5のいずれかに記載の制御装置(100,100A)。
(Structure 6)
The control unit (100, 100A) according to any one of configurations 1 to 5, wherein the generation unit (102, 151, 151A) generates the manipulated variable by using model predictive control.
 (構成7)
 制御対象(2)に接続されたモータ(300,300X,300Y)を駆動するドライブ装置(200,200X,200Y)に操作量を出力して、停止している前記制御対象(2)を指定位置に移動させる移動制御を行なう制御装置(100,100A)を実現するための制御プログラム(110,112)であって、
 前記制御プログラムは、コンピュータに、
 前記制御対象(2)が目標軌道に追従するように、前記目標軌道から生成される目標値を用いて前記操作量を生成するステップと、
 前記移動制御の開始から予め定められた補正時間経過するまでの補正期間において、前記操作量または前記操作量の生成に用いる前記目標値に対して補正係数を乗じるステップとを実行させ、
 前記補正係数は、前記補正期間において、時間経過とともに単調増加し、
 前記補正期間の終点における前記補正係数は1である、制御プログラム。
(Structure 7)
The operation amount is output to the drive device (200, 200X, 200Y) that drives the motor (300, 300X, 300Y) connected to the controlled object (2), and the stopped controlled object (2) is designated. A control program (110, 112) for realizing a control device (100, 100A) for performing movement control for moving to
The control program causes the computer to
Generating a manipulated variable using a target value generated from the target trajectory so that the controlled object (2) follows the target trajectory;
In a correction period from the start of the movement control until a predetermined correction time elapses, a step of multiplying the operation amount or the target value used to generate the operation amount by a correction coefficient is executed,
The correction coefficient monotonically increases with time in the correction period,
The control program, wherein the correction coefficient is 1 at the end of the correction period.
 本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 Although the embodiments of the present invention have been described, the embodiments disclosed this time are to be considered as illustrative in all points and not restrictive. The scope of the present invention is shown by the claims, and is intended to include meanings equivalent to the claims and all modifications within the scope.
 1 制御システム、2 制御対象、3 ワーキングプレート、4 第1ベースプレート、6,9 ボールネジ、7 第2ベースプレート、20,20X,20Y 計測センサ、100,100A 制御装置、101 フィールドバス、102 プロセッサ、104 チップセット、106 メインメモリ、108 フラッシュメモリ、110 システムプログラム、112 ユーザプログラム、112A シーケンスプログラム、112B モーションプログラム、115 モデル予測制御ファンクションブロック、115A 開始指示、115B サンプリング周期、115C 目標値、115D モデルパラメータ、115E 制御パラメータ、115F 振動周波数、115G 振幅比、115H 制御開始時補正時間、115I ステータス、115J 操作量、116 外部ネットワークコントローラ、118 メモリカードインターフェイス、120 メモリカード、122 内部バスコントローラ、124 フィールドバスコントローラ、126 I/Oユニット、130 モデル作成モジュール、140 軌道生成モジュール、150,150A モデル予測制御モジュール、151,151A 生成部、152 補正部、160,160A 制御ユニット、200,200X,200Y サーボドライバ、300,300X,300Y サーボモータ、400 モデル対象。 1 control system, 2 control target, 3 working plate, 4 first base plate, 6,9 ball screw, 7 second base plate, 20, 20X, 20Y measurement sensor, 100, 100A control device, 101 fieldbus, 102 processor, 104 chip Set, 106 main memory, 108 flash memory, 110 system program, 112 user program, 112A sequence program, 112B motion program, 115 model predictive control function block, 115A start instruction, 115B sampling period, 115C target value, 115D model parameter, 115E Control parameters, 115F vibration frequency, 115G amplitude ratio, 115H control start correction time, 115I status, 115J operation amount, 116 external network controller, 118 memory card interface, 120 memory card, 122 internal bus controller, 124 fieldbus controller, 126 I/O unit, 130 model creation module, 140 trajectory generation module, 150, 150A model predictive control module, 151, 151A generation unit, 152 correction unit, 160, 160A control unit, 200, 200X, 200Y servo driver, 300, 300X , 300Y servo motor, 400 model target.

Claims (7)

  1.  制御対象に接続されたモータを駆動するドライブ装置に操作量を出力して、停止している前記制御対象を指定位置に移動させる移動制御を行なう制御装置であって、
     前記制御対象が目標軌道に追従するように、前記目標軌道から生成される目標値を用いて前記操作量を生成する生成部と、
     前記移動制御の開始から予め定められた補正時間経過するまでの補正期間において、前記操作量または前記操作量の生成に用いる前記目標値に対して補正係数を乗じる補正部とを備え、
     前記補正係数は、前記補正期間において、時間経過とともに単調増加し、
     前記補正期間の終点における前記補正係数は1である、制御装置。
    A control device that outputs a manipulated variable to a drive device that drives a motor connected to a controlled object, and that performs movement control to move the stopped controlled object to a designated position,
    A generation unit that generates the manipulated variable using a target value generated from the target trajectory so that the controlled object follows the target trajectory.
    In a correction period from the start of the movement control until a predetermined correction time elapses, a correction unit for multiplying the operation amount or the target value used to generate the operation amount by a correction coefficient,
    The correction coefficient monotonically increases with time in the correction period,
    The control device, wherein the correction coefficient at the end of the correction period is 1.
  2.  前記補正係数は、前記移動制御の開始からの経過時間に比例して増加する、請求項1に記載の制御装置。 The control device according to claim 1, wherein the correction coefficient increases in proportion to the elapsed time from the start of the movement control.
  3.  前記補正係数は、前記移動制御の開始からの経過時間を説明変数とし、前記補正係数を目的変数とする関数に従って決定され、
     前記関数における前記補正期間の終点の微分値は0である、請求項1に記載の制御装置。
    The correction coefficient is determined according to a function having an elapsed time from the start of the movement control as an explanatory variable and the correction coefficient as an objective variable,
    The control device according to claim 1, wherein a differential value of an end point of the correction period in the function is 0.
  4.  前記補正期間は、2つの区間に分割され、
     前記補正係数は、前記移動制御の開始からの経過時間を説明変数とし、前記補正係数を目的変数とする関数に従って決定され、
     前記関数は、前記2つの区間のうち先の区間において1次関数であり、
     前記関数は、前記2つの区間のうち後の区間において、前記後の区間の始点の傾きが前記1次関数の傾きと一致し、前記後の区間の終点の2回微分値が0となる5次関数である、請求項1に記載の制御装置。
    The correction period is divided into two sections,
    The correction coefficient is determined according to a function having an elapsed time from the start of the movement control as an explanatory variable and the correction coefficient as an objective variable,
    The function is a linear function in the previous section of the two sections,
    In the function, in the latter section of the two sections, the slope of the starting point of the latter section matches the slope of the linear function, and the second derivative of the end point of the latter section becomes 0. 5 The control device according to claim 1, which is a quadratic function.
  5.  前記移動制御は、前記制御対象を前記指定位置まで指定時間で移動させる制御であり、
     前記予め定められた補正時間は、前記指定時間の1/2以下である、請求項1から4のいずれか1項に記載の制御装置。
    The movement control is control for moving the control target to the designated position in a designated time,
    The control device according to any one of claims 1 to 4, wherein the predetermined correction time is half or less of the designated time.
  6.  前記生成部は、モデル予測制御を用いて前記操作量を生成する、請求項1から5のいずれか1項に記載の制御装置。 The control device according to any one of claims 1 to 5, wherein the generation unit generates the manipulated variable by using model predictive control.
  7.  制御対象に接続されたモータを駆動するドライブ装置に操作量を出力して、停止している前記制御対象を指定位置に移動させる移動制御を行なう制御装置を実現するための制御プログラムであって、
     前記制御プログラムは、コンピュータに、
     前記制御対象が目標軌道に追従するように、前記目標軌道から生成される目標値を用いて前記操作量を生成するステップと、
     前記移動制御の開始から予め定められた補正時間経過するまでの補正期間において、前記操作量または前記操作量の生成に用いる前記目標値に対して補正係数を乗じるステップとを実行させ、
     前記補正係数は、前記補正期間において、時間経過とともに単調増加し、
     前記補正期間の終点における前記補正係数は1である、制御プログラム。
    A control program for realizing a control device that outputs a manipulated variable to a drive device that drives a motor connected to a controlled object, and that performs a movement control for moving the stopped controlled object to a designated position,
    The control program causes the computer to
    A step of generating the manipulated variable using a target value generated from the target trajectory so that the controlled object follows the target trajectory;
    In a correction period from the start of the movement control until a predetermined correction time elapses, a step of multiplying the operation amount or the target value used to generate the operation amount by a correction coefficient is executed,
    The correction coefficient monotonically increases with time in the correction period,
    The control program, wherein the correction coefficient is 1 at the end of the correction period.
PCT/JP2020/002263 2019-02-08 2020-01-23 Control device and control program WO2020162202A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019021907A JP7031624B2 (en) 2019-02-08 2019-02-08 Controllers and control programs
JP2019-021907 2019-09-30

Publications (1)

Publication Number Publication Date
WO2020162202A1 true WO2020162202A1 (en) 2020-08-13

Family

ID=71947614

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/002263 WO2020162202A1 (en) 2019-02-08 2020-01-23 Control device and control program

Country Status (2)

Country Link
JP (1) JP7031624B2 (en)
WO (1) WO2020162202A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118168348A (en) * 2024-05-14 2024-06-11 常州陆铭光电科技有限公司 Hearth double-spectrum temperature monitoring system and monitoring method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192144A (en) * 2002-12-09 2004-07-08 Koyo Seiko Co Ltd Controller and control method
JP2011135632A (en) * 2009-12-22 2011-07-07 Yaskawa Electric Corp Motor control unit
JP2012217230A (en) * 2011-03-31 2012-11-08 Brother Ind Ltd Motor control device and image forming apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192144A (en) * 2002-12-09 2004-07-08 Koyo Seiko Co Ltd Controller and control method
JP2011135632A (en) * 2009-12-22 2011-07-07 Yaskawa Electric Corp Motor control unit
JP2012217230A (en) * 2011-03-31 2012-11-08 Brother Ind Ltd Motor control device and image forming apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118168348A (en) * 2024-05-14 2024-06-11 常州陆铭光电科技有限公司 Hearth double-spectrum temperature monitoring system and monitoring method

Also Published As

Publication number Publication date
JP7031624B2 (en) 2022-03-08
JP2020129293A (en) 2020-08-27

Similar Documents

Publication Publication Date Title
US10418921B2 (en) Machine learning device, servo motor control device, servo motor control system, and machine learning method
US10386794B2 (en) Control device, storage medium, and control system by creating internal model of control target
US10444733B2 (en) Adjustment device and adjustment method
JP6519457B2 (en) Correction device, control method of correction device, information processing program, and recording medium
US11023827B2 (en) Machine learning device, servo control device, servo control system, and machine learning method for suppressing variation in position error using feedforward control
CN101842755A (en) Inverse kinematics
US20190022861A1 (en) Control device, method of controlling control device, and recording medium
JP2012138069A (en) Method for solving control problems
WO2020162202A1 (en) Control device and control program
JP4269150B2 (en) Robot controller
CN109857108A (en) Mobile robot trace tracking method and system based on Internal Model Control Algorithm
WO2019092852A1 (en) Servo control device
US10684594B2 (en) Machine learning device, servo motor controller, servo motor control system, and machine learning method
WO2020162199A1 (en) Control device, model creation method, control program
WO2020162200A1 (en) Control device and control program
CN115609343A (en) Movement magnification adjusting method and device, computer equipment and storage medium
US10354683B2 (en) Servo control method having first and second trajectory generation units
JP6875329B2 (en) Robot system that performs learning control
US10901374B2 (en) Machine learning device, control device, and machine learning method
KR100222763B1 (en) Linear output apparatus for controlling position of robot and method thereof
JP7059957B2 (en) Controllers and control programs
CN116400584B (en) Application method of high-load electrohydraulic position servo system rapid and accurate control system

Legal Events

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

Ref document number: 20752540

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20752540

Country of ref document: EP

Kind code of ref document: A1