Control system, control method, and program

The control system addresses the computational inefficiency in MPC by commanding multiple prediction elements as actual control inputs, reducing the frequency of optimization calculations and thereby lowering the computational load.

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

Patent Information

Application Number
PCT/JP2024/023827
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-08
Filing Date
2024-07-01
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

Existing model predictive control (MPC) methods face challenges in reducing computational load due to the need for frequent optimization operations, which can lead to increased computational burden and inefficiency.

Method used

A control system that executes a command for controlling a control target by using a control section to perform an optimization operation for a control input corresponding to a prediction section, and a command section that commands n prediction elements greater than 1 as actual control inputs for each control cycle, thereby reducing the frequency of optimization calculations.

Benefits of technology

This approach effectively reduces the computational load by shortening the overall trajectory calculation time and delaying the optimization calculation until after n control periods, rather than after each control period.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024023827_12062025_PF_FP_ABST
    Figure JP2024023827_12062025_PF_FP_ABST
Patent Text Reader

Abstract

This control system executes a command related to controlling an operation of a control target. The control system includes a control unit and a command unit. The control unit uses model prediction control to perform optimization calculation on a control input corresponding to a prediction interval. Regarding the control input obtained by the optimization calculation, the command unit commands using, as an actual control input, n prediction elements each of which is a prediction element for each control cycle, with n being larger than 1.
Need to check novelty before this filing date? Find Prior Art

Description

Control system, control method, and program

[0001] The present disclosure generally relates to a control system, a control method, and a program, and more particularly to a control system, a control method, and a program for executing commands related to operational control of a controlled object.

[0002] Patent Literature 1 discloses a model predictive control method executed to control a control target such as a robot. In this model predictive control method, the sampling period is linearly increased from the first sampling interval in a control section, an input value is calculated at each prediction point, and the input value at the first prediction point is used as the current input value.

[0003] JP 2013-137628 A

[0004] When model predictive control is performed, the computational load increases. As described above, the model predictive control method disclosed in Patent Document 1 attempts to reduce the computational load by linearly increasing the sampling interval. However, Patent Document 1 requires an optimization calculation each time, which may result in a small reduction in the computational load. In other words, Patent Document 1 performs an optimization calculation each time while regressing the future prediction period (prediction interval) for each control cycle. As a result, it may be difficult to reduce the computational load.

[0005] A control system according to one aspect of the present disclosure executes commands related to operational control of a controlled object. The control system includes a controller and a command unit. The controller uses model predictive control to perform an optimization calculation on a control input corresponding to a prediction horizon. The command unit commands, as actual control inputs, n prediction elements (greater than 1) for each control period, for the control input obtained by the optimization calculation.

[0006] A control method according to one aspect of the present disclosure is a control method for a control system that executes commands related to operational control of a controlled object. The control method includes a calculation step and a command step. In the calculation step, an optimization calculation is performed on a control input corresponding to a prediction horizon using model predictive control. In the command step, n prediction elements, each of which is a prediction element for each control period, are commanded as actual control inputs for the control input obtained by the optimization calculation.

[0007] A program according to one aspect of the present disclosure is a program for causing one or more processors to execute the above-described control method.

[0008] The present disclosure has the advantage of being able to reduce the computational load.

[0009] FIG. 1 is a block diagram of a motion controller and its peripheral components including a control system (trajectory generation system) according to an embodiment. FIG. 2 is a conceptual diagram illustrating a retraction horizon in the control system. FIG. 3 is a conceptual diagram illustrating potential problems in setting the retraction horizon. FIG. 4 is a graph illustrating changes in takt time and trajectory calculation time with increasing number of retraction horizons. FIG. 5A is a graph illustrating changes over time in speed command values ​​for the X and Y axes when the number of retraction horizons is "1." FIG. 5B is a graph illustrating changes over time in speed command values ​​for the X and Y axes when the number of retraction horizons is "2." FIG. 5C is a graph illustrating changes over time in speed command values ​​for the X and Y axes when the number of retraction horizons is "8." FIG. 5D is a graph illustrating changes over time in speed command values ​​for the X and Y axes when the number of retraction horizons is "15." FIG. 6 is a flowchart illustrating the operation of the control system. FIG. 7 is a block diagram of the control system.

[0010] (Summary) Below, a control system, a control method, and a program according to embodiments and modifications will be described with reference to the drawings. Note that the following embodiment and modifications are merely one of various embodiments of the present disclosure. Furthermore, the following embodiment and modifications can be modified in various ways depending on the design, etc., as long as the object of the present disclosure can be achieved. Furthermore, the configuration of each of the modifications can be appropriately combined with the following embodiment or other modifications.

[0011] A control system 10 (see FIGS. 1 and 7 ) according to one embodiment is a system that uses the function of model predictive control (hereinafter sometimes simply abbreviated as “MPC”), which performs optimization while predicting future responses at each time.

[0012] The control system 10 executes commands related to the operation control of the controlled object 2 (see FIG. 1). In particular, the control system 10 executes the commands by utilizing the prediction results of the MPC.

[0013] In the following description, it is assumed that the control target 2 (plant) is, as an example, a two-axis stage (machine) that is a two-axis machine (multi-axis machine) with an X axis and a Y axis. The two-axis stage is a positioning stage with two axes: an "X axis" that moves left and right, and a "Y axis" that moves back and forth. The two-axis stage positions a workpiece on the stage for a machine (such as a laser processing machine, a cutting machine, or a coating device) that is separate from the two-axis stage.

[0014] However, the control object 2 is not limited to "two axes" and may be, for example, a three-axis processing machine with X-axis, Y-axis, and Z-axis, or a four-axis or five-axis processing machine. The processing machine is not limited to a "stage." For example, the control object 2 may be an articulated robot. Specifically, the control object 2 may be an arm-type vertical articulated robot. Furthermore, the control object 2 may be a control object with another drive system. The control object may be, for example, equipment such as a transport device, an automobile, an aircraft, a drone, etc.

[0015] A motion controller 100 (see FIG. 1 ) according to one embodiment includes a trajectory generation system 1 to which a control system 10 is applied. That is, as an example, it is assumed that all of the functions of the control system 10 are implemented within the motion controller 100.

[0016] The MPC solves an optimization problem for a prediction interval K1 (see FIG. 2 : a finite interval) based on a model of the controlled object 2 (here, a two-axis stage), and the trajectory generation system 1 (control system 10) uses the results to generate trajectory data. The motion controller 100 performs feedback control on the movement of the controlled object 2 based on the trajectory data from the trajectory generation system 1. In other words, the motion controller 100 (trajectory generation system 1) uses the prediction results from the MPC to provide control input to the controlled object 2.

[0017] Here, as shown in FIGS. 1 and 7, the control system 10 includes a control unit 11 and a command unit 12.

[0018] The control unit 11 uses model predictive control (MPC) to perform optimization calculations on control inputs corresponding to a prediction horizon K1. With respect to the control inputs obtained by the optimization calculations, the command unit 12 commands (determines) n prediction elements C0 (white circles in FIG. 2 ) greater than 1 (three in the example in FIG. 2 ), each of which is a prediction element C0 for each control period (see FIG. 2 : horizon H1), as actual control inputs.

[0019] According to the control system 10 described above, n prediction elements C0 are commanded as actual control inputs. In other words, the timing for executing the next MPC optimization calculation can be easily delayed until n control cycles have elapsed, rather than after one control cycle (horizon H1) has elapsed. In other words, if only the current prediction element C0 is commanded as the control input, the optimization calculation would be executed for each control cycle, which could increase the overall trajectory calculation time. However, by commanding n prediction elements C0 as actual control inputs, as in the control system 10, the overall trajectory calculation time can be shortened. As a result, the control system 10 has the advantage of being able to reduce the calculation load.

[0020] A control method according to one aspect is a control method for a control system 10 that executes commands related to operational control of a controlled object 2. The control method includes a calculation step and a command step. In the calculation step, an optimization calculation is performed on a control input corresponding to a prediction horizon K1 using model predictive control. In the command step, n prediction elements C0 greater than 1, each of which is a prediction element C0 for each control period (horizon H1), are commanded (determined) as actual control inputs for the control input obtained by the optimization calculation. The above control method has the advantage of being able to reduce the calculation load.

[0021] This control method is used on a computer system (control system 10). That is, this control method can also be embodied as a computer program. A program according to one aspect is a program for causing one or more processors to execute the above control method. The program may be recorded on a computer-readable non-transitory recording medium.

[0022] (Details) (1) Overall Configuration The entire system including the control system 10, motion controller 100, and their peripheral configuration according to this embodiment will be described in detail below with reference to Figures 1 to 7. As mentioned above, the trajectory generation system 1 will be described below as an example, assuming that the controlled object 2 is a two-axis stage.

[0023] 1, the control target 2 includes, for example, a stage 20 (base), an X-axis 21 that can move the stage 20 in the X-axis direction, and a Y-axis 22 that can move the stage 20 in the Y-axis direction. A workpiece such as a laser processing machine, a cutting machine, or a coating device can be placed on the stage 20.

[0024] As shown in FIG. 1, the X-axis 21 includes a first motor M1 (servo motor) and an X-axis amplifier A1 that drives and controls the first motor M1. The first motor M1 is, for example, a rotary motor, but may also be a linear motor. As shown in FIG. 1, the Y-axis 22 includes a second motor M2 (servo motor) and a Y-axis amplifier A2 that drives and controls the second motor M2. The second motor M2 is, for example, a rotary motor, but may also be a linear motor. The X-axis 21 and Y-axis 22 are synchronously controlled so that the stage 20 moves to a predetermined X-Y coordinate position.

[0025] A control system 10 (see FIGS. 1 and 7 ) executes commands related to the motion control of a control target 2. In this embodiment, as an example, the control system 10 is applied as a trajectory generation system 1 (see FIG. 1 ). That is, in this embodiment, as an example, the function of the control system 10 is used for trajectory generation. The trajectory generation system 1 generates trajectory data related to the motion control of the control target 2. Hereinafter, for convenience of explanation, the trajectory data will be described by exemplifying a case in which the stage 20 of the control target 2 moves along a two-dimensional L-shaped path (hereinafter, L-shaped path Q1) including positions P1, P2, and P3, as schematically shown in FIG. 1 , along the dashed arrow. In other words, the trajectory data will be described by exemplifying a case in which the stage 20 moves along a path parallel to the X-axis direction from position P1 to position P2, and then along a path parallel to the Y-axis direction from position P2 to position P3. In other words, the trajectory data will be described by exemplifying a case in which the stage 20 moves around a right-angle (90-degree) corner. However, the movement of the control target 2 is not limited to a movement at a right angle, but may also include a movement at an obtuse angle or an acute angle, or a movement in a curved shape (for example, a circular or elliptical shape).

[0026] The motion controller 100 executes motion control of the control target 2 (synchronous control of the X-axis 21 and Y-axis 22) based on the trajectory data etc. generated by the trajectory generation system 1. The motion controller 100 is communicably connected to the control target 2. More specifically, the motion controller 100 is communicably connected to each of the X-axis amplifier A1 and the Y-axis amplifier A2 individually. The motion controller 100 is also communicably connected to the upper controller 5.

[0027] The motion controller 100 obtains a control output from the control target 2. For example, the control target 2 is provided with encoders that measure the position and speed of the first motor M1 and the second motor M2, and a force sensor that measures thrust (or torque). The motion controller 100 obtains data such as the position, speed, and thrust of the first motor M1 and the second motor M2 as control variables from the control target 2. The control variables may also include disturbances such as vibrations that occur in the control target 2. Note that, although it is assumed below that the motion controller 100 obtains a control output from the control target 2 and performs feedback control on the motion controller 100 side, this is not a limitation. The motion controller 100 may execute only commands to the control target 2, and feedback control may be performed by the X-axis amplifier A1 and the Y-axis amplifier A2 of the control target 2. Furthermore, the functions of the control system 10 may be implemented in at least one of the X-axis amplifier A1 and the Y-axis amplifier A2 of the control target 2.

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

[0029] 1, the motion controller 100 includes a trajectory generation system 1 (control system 10), a motion control unit 3, and a state estimation unit 4. In other words, the motion controller 100 has the functions of the control system 10, the functions of the motion control unit 3, and the functions of the state estimation unit 4. It is assumed that these multiple functions of the motion controller 100 are housed in a single housing, but this is not limitative and they may be housed separately in multiple housings.

[0030] The state estimation unit 4 is electrically connected to an encoder, a force sensor, etc. on the side of the controlled object 2, and receives a signal including data on the control amount. The state estimation unit 4 estimates the state of the controlled object 2 based on the control amount, and outputs the estimation result to the trajectory generation system 1. As an example, the state estimation unit 4 estimates the position (specifically, the position of the X-Y coordinates of the stage 20) and velocity of the controlled object 2 based on the control amount.

[0031] The trajectory generation system 1 (control system 10) has an MPC function. As shown in FIG. 1 , the trajectory generation system 1 has a storage unit 14. The storage unit 14 includes an electrically rewritable non-volatile semiconductor memory such as a flash memory. The storage unit 14 stores a prediction model (predictor) related to the control target 2. For example, a transfer function model, a state space model, or the like can be used as the prediction model.

[0032] In the MPC, a control profile is optimized for a certain time period (prediction interval K1 in FIG. 2) from the current time (present) to a certain future time, based on the estimation result from the state estimation unit 4.

[0033] The trajectory generation system 1 (control system 10) further includes a control unit 11 (see FIGS. 1 and 7). The control unit 11 uses model predictive control to perform optimization calculations for a control input corresponding to a prediction horizon K1. The MPC in this embodiment performs receding horizon control (RH control), which is a control method that optimizes a response up to a finite future time interval at each time point (time points t0, t1, t2, ... in the first time series B1 in FIG. 2).

[0034] However, in this embodiment, the first value of the optimized control profile is not used for the actual control input profile, but rather n values ​​of the control profile (n prediction elements C0: see FIG. 2) are used for the actual control input profile. Here, "n" is a natural number greater than 1. Furthermore, in this embodiment, the number of receding horizons H1 (steps) is not one at a time, but the control unit 11 recedes the horizon H1 by n steps.

[0035] The trajectory generation system 1 (control system 10) further includes a command unit 12 (see FIGS. 1 and 7). The command unit 12 commands (determines) n prediction elements C0, each greater than 1, as actual control inputs for the control input obtained by the optimization calculation, each of which is a prediction element C0 for each control cycle. The trajectory generation system 1 (control system 10) further includes an output unit 13 (see FIG. 1). The output unit 13 outputs trajectory data related to the motion control of the controlled object 2 to the motion control unit 3 based on the actual control input.

[0036] The trajectory generation system 1 (control system 10) further includes a setting unit 15 (see FIG. 1). The setting unit 15 performs settings for n items based on an external operation input. Here, the trajectory generation system 1 (control system 10) further includes an operation unit 16 as a user interface (see FIG. 1). The operation unit 16 includes, for example, one or more of a mouse, a keyboard, a pointing device, and the like.

[0037] 1, for convenience, the operation unit 16 is illustrated inside the motion controller 100, but it may be provided in, for example, a terminal separate from the motion controller 100 and communicatively connected to the motion controller 100. The terminal may be, for example, a desktop PC, a notebook PC, or a tablet terminal. If the terminal is equipped with a display device (display unit) such as a touch panel display, the display device may also function as the operation unit 16.

[0038] For example, while viewing a setting screen displayed on the screen of the display device of the terminal, the user uses the operation unit 16 to input n numerical values, and the setting unit 15 stores (sets) the n numerical values ​​in the storage unit 14 based on the input operation. The user can change the n settings as needed via the setting unit 15 and the operation unit 16.

[0039] Here, one control period corresponds to one horizon H1 (one step) in Fig. 2. One control period corresponds to the period during which the operation of the controlled object 2 is controlled. The control period may be the same as or different from the data sampling period of the controlled variable acquired from the controlled object 2 side.

[0040] Now, let us turn to FIG. 2 . FIG. 2 is a conceptual diagram illustrating the “receding horizon control” of this embodiment. In FIG. 2 , n=3 as an example. FIG. 2 includes a first time series B1 showing an example of the execution result of the optimization calculation at the present time (time t0) and a second time series B2 showing an example of the execution result of the optimization calculation at the present time (time t3). In the second time series B2, three control periods (horizon H1) have passed since the first time series B1. In particular, the second time series B2 shows the execution result of the optimization calculation executed next after the execution of the optimization calculation corresponding to the first time series B1. In other words, in the second time series B2, the horizon H1 has been moved back by three (n) horizons relative to the first time series B1 showing the execution result of the previous optimization calculation. That is, the control unit 11 uses model predictive control to execute the optimization calculation for a control input corresponding to the next prediction interval K1, which is obtained by moving back the horizon H1 by n horizons (three in FIG. 2 ).

[0041] For each of the first time series B1 and the second time series B2, the horizontal axis represents time, and the vertical axis represents a control input to the controlled object 2 (plant). The control input is, for example, a speed command value for the controlled object 2. For each of the first time series B1 and the second time series B2, the black plots represent actual values ​​of the commanded control input, and the open plots represent prediction elements C0. Each of the first time series B1 and the second time series B2 also represents a prediction interval K1. The prediction interval K1 is composed of multiple horizons H1 (steps). The prediction interval K1 is also referred to as a prediction horizon. The prediction interval K1 includes multiple prediction elements C0 (e.g., 25 elements). Each prediction element C0 is a predicted value of the control input (e.g., a speed command value) predicted by the MPC for each control period in the prediction interval K1 from the present onward, including the present. In other words, each prediction element C0 is a predicted value of the control input at the corresponding time. 2 shows only a portion of the prediction interval K1, but the prediction interval K1 is a finite interval. In this embodiment, the number “n” of n prediction elements C0 is smaller than the number of horizons H1 corresponding to the prediction interval K1 (prediction horizon).

[0042] In addition, to the right of each of the first time series B1 and the second time series B2, the L-shaped path Q1, also shown in Figure 1, is illustrated to make it easier to understand the correspondence between the prediction element C0 and the actual position of the controlled object 2.

[0043] In the first time series B1, n=3 prediction elements C1 to C3 are commanded as actual control inputs. In the example of Fig. 2, as shown in the L-shaped path Q1 on the right side of the first time series B1, the prediction elements C1 to C3 may correspond to speed command values ​​between positions P1 and P2.

[0044] In the second time series B2, n=3 prediction elements C4 to C6 are commanded as actual control inputs. In the example of Fig. 2, as shown in the L-shaped path Q1 on the right side of the second time series B2, the prediction elements C4 to C6 may correspond to the speed command values ​​for the prediction element C3 and subsequent elements between positions P1 and P3.

[0045] In this embodiment, the L-shaped path Q1 including positions P1, P2, and P3 may be a path that is part of a predetermined motion range of the controlled object 2. The starting point and the destination point of the predetermined motion range may be positions P1 and P3.

[0046] The control unit 11 repeatedly executes the optimization calculation while, for example, moving the horizon H1 back by n units (n=3 in FIG. 2 ) from the starting point to the destination point of a predetermined operating range of the controlled object 2. That is, the control unit 11 repeatedly executes the optimization calculation for the control input corresponding to the prediction interval K1 by using model predictive control while moving the horizon H1 back by n units.

[0047] The storage unit 14 stores the n prediction elements C0 (C1 to C3 in the first time series B1, and C4 to C6 in the second time series B2) as actual control inputs. The output unit 13 generates trajectory data that associates the n prediction elements C0 stored in the storage unit 14 with position coordinates, for example, and outputs the trajectory data to the operation control unit 3.

[0048] In this embodiment, the command unit 12 may connect n prediction elements C0 stored in the memory unit 14 for a predetermined trajectory section and issue a trajectory command for the trajectory section. That is, the command unit 12 may execute an optimization calculation corresponding to the n prediction elements C0 multiple times and issue a trajectory command for the n prediction elements C0 from the multiple optimization calculations all at once. The number of optimization calculations to be combined may be determined based on the predetermined trajectory section. For example, in the case of the L-shaped path Q1 shown in FIG. 2 , if the predetermined trajectory section is the section from position P1 to the position of the prediction element C6, the command unit 12 may issue a trajectory command for a total of six prediction elements C0 (two optimization calculations), including three prediction elements C1 to C3 and three prediction elements C4 to C6 stored in the memory unit 14, all at once. Furthermore, if the predetermined trajectory section is the section from positions P1 to P3, the command unit 12 may issue a trajectory command for n prediction elements C0 from the optimization calculations corresponding to the section from positions P1 to P3 all at once. For example, the output unit 13 generates trajectory data that associates n prediction elements C0 of multiple optimization calculations that are collectively instructed with the position coordinates of the trajectory sections, and outputs the generated trajectory data to the operation control unit 3.

[0049] The motion controller 100 of this embodiment controls, for example, data based on the control amount output from the controlled object 2 so that it matches a command value (target value) input from the host controller 5. The command value (target value) includes data specifying the position and speed of the controlled object 2 operating within a predetermined operating range. The motion controller 100 (trajectory generation system 1) defines state variables using, for example, a state space model of the controlled object 2, with the estimation results of the position, speed, etc. from the state estimation unit 4 as state quantities, and calculates, as the control input (e.g., a speed command value), an operation amount (required change amount) that optimizes (e.g., minimizes) the deviation of the position or speed (difference from the target value) at each time. The motion controller 100 may also include a disturbance observer that estimates disturbances such as vibrations that may be included in the control amount from the controlled object 2, and the trajectory generation system 1 may acquire the estimation results from the disturbance observer.

[0050] The manipulated variable (control input) is not limited to the required amount of change in the speed of the controlled object 2. Depending on the type of the controlled object 2, the manipulated variable (control input) may be the required amount of change in at least one of the position of the controlled object 2, and (in the case of a multi-joint robot) the joint angle, posture, acceleration (angular velocity), thrust, and torque.

[0051] The output unit 13 outputs a control signal (e.g., a digital signal) including trajectory data to which three prediction elements C0 (C1 to C3 in the first time series B1, and C4 to C6 in the second time series B2) have been applied to the operation control unit 3.

[0052] The host controller 5 is configured as, for example, a programmable logic controller (PLC). The host controller 5 is communicably connected to the motion controller 100 (trajectory generation system 1).

[0053] The upper controller 5 generates a command signal including an operation command (command value data) related to a predetermined work process, and transmits the command signal to the motion controller 100 for control. The operation command (command value data) may include target values ​​related to the position, speed, etc. of the control target 2 described above.

[0054] The operation control unit 3 controls the operation of the control target 2 based on the operation amounts in the trajectory data output from the trajectory generation system 1. Specifically, the operation control unit 3 determines the operation amounts for the X-axis 21 and the Y-axis 22 individually for each control period based on the n (here, three) operation amounts from the trajectory generation system 1, and inputs them to the X-axis amplifier A1 and the Y-axis amplifier A2 (control input). The operation amounts input to the X-axis amplifier A1 and the Y-axis amplifier A2, respectively, may be current command values ​​for the drive currents supplied to the first motor M1 and the second motor M2, or the like.

[0055] Each of the X-axis amplifier A1 and the Y-axis amplifier A2 has an inverter circuit that supplies power to the corresponding motor (first motor M1, second motor M2). That is, the operation control unit 3 individually determines the current value of the drive current to be supplied to the first motor M1 and the second motor M2 based on the speed command value, which is the manipulated variable for each control period, and controls the inverter circuits of the X-axis amplifier A1 and the Y-axis amplifier A2 to adjust the drive current to be supplied to the corresponding motor. Note that the determination of the current value of the drive current may be performed by each of the X-axis amplifier A1 and the Y-axis amplifier A2.

[0056] [Setting the Receding Horizon] As described above, the number "n" of n prediction elements C0 is smaller than the number of horizons H1 corresponding to the prediction interval K1 (prediction horizon). In the example of FIG. 2, n = 3, and the actual control inputs applied in one optimization calculation are three prediction elements C0, and the number of receding horizons H1 is also three. That is, if the current time is t0, three prediction elements C1 to C3 from time t0 to t2 are applied as the actual control inputs. At the current times t1 and t2, the optimization calculation is not performed (paused). At the current time, the optimization calculation is performed again at time t3, and three prediction elements C4 to C6 from time t3 to t5 are applied as the actual control inputs.

[0057] A preferred upper limit for "n", in other words, a preferred upper limit for the number of horizons H1 to be retracted in the retraction horizon control (hereinafter also referred to as the "number of retraction horizons"), will be described in detail below with reference to FIGS. 3 to 5D.

[0058] FIG. 4 shows a graph in which the horizontal axis represents the number of receding horizons, the left vertical axis represents the takt time, and the right vertical axis represents the trajectory calculation time. Characteristic E1 in FIG. 4 shows the change in takt time as the number of receding horizons increases, and characteristic F1 in FIG. 4 shows the change in trajectory calculation time as the number of receding horizons increases. Here, the time required for the controlled object 2 to move along the L-shaped path Q1 (positions P1 to P3) shown in FIG. 1 is set as the "takt time." As an example, the distance between positions P1 and P2 and the distance between positions P2 and P3 are both 10 mm.

[0059] The "trajectory calculation time" is the total time required for the control system 10 to process the optimization calculation for the L-shaped path Q1 (positions P1 to P3) of the control object 2 using the MPC.

[0060] The characteristic F1 in Fig. 4 shows that the trajectory calculation time is reduced as the number of receding horizons increases. In particular, the trajectory calculation time is significantly reduced when the number of receding horizons is greater than "1".

[0061] On the other hand, the characteristic E1 in Fig. 4 shows that the takt time gradually increases (deteriorates) as the number of receding horizons increases. In particular, the takt time increases significantly once the number of receding horizons exceeds 15. The reason for this will be explained with reference to Figs. 3 and 5A to 5D.

[0062] Generally, when optimizing plant operation control using MPC, if the plant output (control input) is "speed," the solution of the optimization calculation will not be stable unless some terminal condition is set for the end of the prediction horizon (prediction interval K1 in FIG. 2 ). However, since the set terminal condition does not necessarily match the solution of the optimization calculation, it is not always possible to apply the control input near the terminal. In this embodiment, an example is shown in which the optimization calculation is performed by applying a speed constraint (terminal condition) = 0 at the end of the prediction horizon, as shown in the predicted speed D1 in FIG. 3 . Note that the number of horizons (number of steps) in the prediction horizon shown in FIG. 3 is 25, as an example.

[0063] Here, reference is made to Figures 5A to 5D. Figures 5A to 5D are waveform diagrams relating to speed commands for each of the X-axis 21 and the Y-axis 22 in relation to the motion control of the L-shaped path Q1 of the controlled object 2 from position P1 to position P3. In Figures 5A to 5D, Vx is a speed command for the X-axis 21, and Vy is a speed command for the Y-axis 22. In Figures 5A to 5D, the speed command Vx increases from position P1 and decreases as the control object 2 approaches position P2, which is the corner, while the speed command Vy increases from position P2 and decreases as the control object 2 approaches position P3.

[0064] Fig. 5A is a waveform diagram of the speed commands Vx and Vy when the number of reversing horizons is "1". Fig. 5B is a waveform diagram of the speed commands Vx and Vy when the number of reversing horizons is "2". Fig. 5C is a waveform diagram of the speed commands Vx and Vy when the number of reversing horizons is "8". Fig. 5D is a waveform diagram of the speed commands Vx and Vy when the number of reversing horizons is "15".

[0065] 5A to 5D, the order of times T1 to T3 on the horizontal axis is T3>T2>T1. That is, in FIG. 5A to 5D, it is shown that the takt time increases (deteriorates) as the number of receding horizons increases.

[0066] 5A and 5B, the speed commands Vx and Vy remain constant at V1 (maximum speed) for a while after increasing, whereas in Fig. 5C and 5D, the speed commands in the constant speed portion oscillate without reaching the maximum speed. In particular, the oscillation of the speed command in the constant speed portion is remarkable in Fig. 5D.

[0067] The "vibration" in Figures 5C and 5D is largely related to the above-mentioned "speed constraint at end = 0." As shown in Figure 3, in the latter half of the prediction horizon, an optimization calculation is performed to ensure that the controlled object 2 is stopped. Therefore, if the number of receding horizons is set to be large, a control command may be generated that causes the controlled object 2 to stop at a position where it should not actually stop. This is thought to be the cause of the "vibration" in Figures 5C and 5D. In short, the more the number of receding horizons increases, the greater the vibration of the speed command may become.

[0068] Depending on the type of command (control input), such vibration may not occur, unlike in the case of a speed command. However, if such vibration does exist, the number of retraction horizons "n" is preferably set to a number equal to or less than the upper limit of the number of horizons corresponding to a range R1 half the predicted speed D1 (i.e., half the prediction horizon) as shown in FIG. 3, for example, in an example where the speed constraint (terminal condition) is 0. More preferably, for example, in an example where the speed constraint (terminal condition) is 0, the number of retraction horizons is equal to or less than the number of prediction horizons divided by 3. However, the number of retraction horizons can be set taking into consideration the type of command (control input), the takt time, and the trajectory calculation time.

[0069] (2) Operation of the Control System A series of processing flows related to the operation of the control system 10 (trajectory generation system 1) will be described below with reference to Fig. 6. The flowchart shown in Fig. 6 is merely an example of the operation flow related to the control system 10, and the order of processing may be changed as appropriate, and processing may be added or omitted as appropriate.

[0070] The control system 10 acquires data of command values ​​(target values) for a predetermined motion range (including the L-shaped path Q1) of the controlled object 2 from the starting point to the destination point from the upper controller 5 (step ST1). The control system 10 also acquires an estimation result (the state of the controlled object 2 estimated based on the control amount) from the state estimation unit 4 (step ST2).

[0071] The control system 10 uses the MPC to perform optimization calculations for the control input corresponding to the prediction interval K1 (prediction horizon) (step ST3: calculation step). At this time, the control system 10 moves back n horizons (here, three horizons) H1 from the previous prediction interval K1, and performs optimization calculations for the control input corresponding to the next prediction interval K1.

[0072] The control system 10 commands n (here, three) prediction elements C0 from among the control inputs obtained by the optimization calculation as actual control inputs (step ST4: command step), and outputs trajectory data based on the actual control inputs to the motion control unit 3 (step ST5: output step).

[0073] As a result, the operation control unit 3 determines the control inputs for each control period for each of the X-axis 21 and the Y-axis 22 based on the n (here, three) control inputs commanded at one time. Note that steps ST2 to ST5 can be repeatedly executed until the controlled object 2 reaches position P3.

[0074] (3) Advantages As described above, according to the control system 10 of this embodiment, n prediction elements C0 are commanded as actual control inputs and trajectory data is output. In other words, the timing of the next execution of the MPC optimization calculation can be easily delayed until n control cycles have elapsed, rather than after one control cycle (horizon H1) has elapsed. In other words, for example, if only the current prediction element C0 is commanded as the control input, the optimization calculation would be executed for each control cycle, which could increase the overall trajectory calculation time. However, by commanding n prediction elements C0 as actual control inputs as in the control system 10, the overall trajectory calculation time can be shortened. As a result, the control system 10 has the advantage of being able to reduce the calculation load.

[0075] In the control system 10 according to this embodiment, the control unit 11 uses the MPC to perform optimization calculations for the control input corresponding to the next prediction horizon K1, which is n horizons behind the horizon H1, thereby further shortening the overall trajectory calculation time and reducing the calculation load.

[0076] (4) Modifications Modifications of the above embodiment are listed below.

[0077] The same functions as those of the control system 10 according to the above embodiment may be realized as a control method, a computer program, or a non-transitory recording medium on which a computer program is recorded.

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

[0079] Furthermore, it is not essential that the multiple functions of the control system 10 be concentrated in one housing. For example, the components of the control system 10 may be distributed across multiple housings.

[0080] Conversely, multiple functions of the control system 10 may be integrated into one housing. Furthermore, at least some of the functions of the control system 10, for example, some of the functions of the control system 10 may be realized by the cloud (cloud computing) or the like.

[0081] In the above embodiment, all functions of the control system 10 are implemented in the motion controller 100. However, this is not limited to this, and at least some of the functions of the control system 10 may be implemented in a device other than the motion controller 100 (for example, the upper controller 5 shown in FIG. 1 ).

[0082] As described above, the control system 10 may be able to change the setting of "n" in response to an operational input from a user. The control system 10 may also include a user interface (such as a display unit) for receiving the operational input in addition to the operation unit 16.

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

[0084] A control system (10) according to a first aspect executes commands related to operational control of a controlled object (2). The control system (10) includes a control unit (11) and a command unit (12). The control unit (11) uses model predictive control to perform an optimization calculation on a control input corresponding to a prediction horizon (K1). The command unit (12) commands, as actual control inputs, n prediction elements (C0: C1 to C3, C4 to C6), each greater than 1, each of which is a prediction element (C0) for each control period (horizon H1), for the control input obtained by the optimization calculation.

[0085] According to the above aspect, the n prediction elements (C0) are commanded as actual control inputs, thereby shortening the overall trajectory calculation time, which results in an advantage of reducing the calculation load on the control system (10).

[0086] Regarding the control system (10) according to the second aspect, in the first aspect, the control unit (11) uses model predictive control to perform an optimization calculation for a control input corresponding to the next prediction interval (K1) obtained by moving the horizon (H1) back by n horizons.

[0087] According to the above aspect, the calculation load can be further reduced.

[0088] Regarding the control system (10) according to the third aspect, in the second aspect, the control unit (11) uses model predictive control to repeatedly perform optimization calculations on a control input corresponding to a prediction interval (K1) while moving back the horizon (H1) by n horizons.

[0089] According to the above aspect, the calculation load can be further reduced.

[0090] A control system (10) according to a fourth aspect is any one of the first to third aspects, further comprising a memory unit (14) that stores n prediction elements (C0) as actual control inputs.

[0091] According to the above aspect, the calculation load can be further reduced.

[0092] Regarding the control system (10) according to the fifth aspect, in the fourth aspect, the command unit (12) connects n prediction elements (C0) stored in the memory unit (14) for a predetermined trajectory section and issues a trajectory command for the trajectory section.

[0093] According to the above aspect, the calculation load can be further reduced.

[0094] Regarding the control system (10) according to the sixth aspect, in any one of the first to fifth aspects, the number n of the n prediction elements (C0) is smaller than the number of horizons (H1) corresponding to the prediction interval (K1).

[0095] According to the above aspect, the calculation load can be further reduced.

[0096] A control system (10) according to a seventh aspect is any one of the first to sixth aspects, further comprising an output unit (13) that outputs trajectory data relating to motion control based on an actual control input.

[0097] According to the above aspect, the control system (10) can be easily applied to the trajectory generation system (1).

[0098] The control system (10) according to an eighth aspect is any one of the first to seventh aspects, and further comprises a setting unit (15) that performs settings regarding n items based on an external operation input.

[0099] According to the above aspect, it is possible to reduce the calculation load while improving convenience.

[0100] A control method according to a ninth aspect is a control method for a control system (10) that executes commands related to operational control of a controlled object (2). The control method includes a calculation step and a command step. In the calculation step, an optimization calculation is performed on a control input corresponding to a prediction horizon (K1) using model predictive control. In the command step, n prediction elements (C0: C1 to C3, C4 to C6) greater than 1 are commanded as actual control inputs, each of which is a prediction element (C0) for each control period (horizon H1).

[0101] According to the above aspect, it is possible to provide a control method that can reduce the calculation load.

[0102] A program according to a tenth aspect is a program for causing one or more processors to execute the control method according to the ninth aspect.

[0103] According to the above aspect, it is possible to provide a function that can reduce the calculation load.

[0104] The configurations according to the second to eighth aspects are not essential for the control system (10) and can be omitted as appropriate.

[0105] REFERENCE SIGNS LIST 10 Control system 11 Control unit 12 Command unit 13 Output unit 14 Memory unit 15 Setting unit 2 Control object C0 (C1 to C6) Prediction element H1 Horizon (control period) K1 Prediction interval

Claims

1. A control system that executes commands related to operational control of a controlled object, comprising: a control unit that executes an optimization calculation for a control input corresponding to a prediction interval using model predictive control; and a command unit that commands, as actual control inputs, n prediction elements (greater than 1) that are each a prediction element for each control cycle, for the control input obtained by the optimization calculation.

2. The control system according to claim 1, wherein the control unit uses the model predictive control to execute an optimization calculation for the control input corresponding to the next prediction interval obtained by moving back the horizon by the n horizons.

3. The control system according to claim 2, wherein the control unit repeatedly performs an optimization calculation for the control input corresponding to the prediction interval while shifting the horizon back by the n horizons using the model predictive control.

4. The control system according to any one of claims 1 to 3, further comprising a storage unit that stores the n prediction elements as the actual control inputs.

5. The control system according to claim 4, wherein the command unit connects the n prediction elements stored in the memory unit for a predetermined trajectory section and issues a trajectory command for the trajectory section.

6. The control system according to claim 1, wherein the number n of the n prediction elements is smaller than the number of horizons corresponding to the prediction interval.

7. The control system according to claim 1, further comprising an output section that outputs trajectory data relating to said motion control based on said actual control input.

8. The control system according to claim 1, further comprising a setting unit which performs settings relating to the n items based on an external operation input.

9. A control method for a control system that executes commands related to operational control of a controlled object, comprising: a calculation step of executing an optimization calculation for a control input corresponding to a prediction interval using model predictive control; and a command step of commanding, as actual control inputs, n prediction elements greater than 1, each of which is a prediction element for each control period, for the control input obtained by the optimization calculation.

10. A program for causing one or more processors to execute the control method according to claim 9.

Citation Information

Patent Citations

  • Control system

    JP2019109598A

  • Control of a wind turbine based on operational trajectory validation

    US20170248124A1

  • Model-predictive control of a powertrain system using preview information

    US20200223423A1