Control system, control method, and program

The control system simplifies the setting of weighting coefficients in predictive control by using a priority setting unit and determination unit, enhancing control performance by prioritizing objectives like trajectory error reduction and movement speed.

WO2026018534A1PCT designated stage Publication Date: 2026-01-22PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/016941
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-18
Filing Date
2025-05-08
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Existing methods for determining weighting coefficients in predictive control of controlled objects are not user-friendly, making it difficult to easily set and adjust these coefficients for optimal control performance.

Method used

A control system and method that includes a priority setting unit to set priorities for multiple control performances and a determination unit to determine weighting coefficients based on these priorities, enabling easy adjustment of coefficients for predictive control.

Benefits of technology

Facilitates easy determination of weighting coefficients for predictive control, allowing for improved control performance by prioritizing specific control objectives such as trajectory error reduction and movement speed improvement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025016941_22012026_PF_FP_ABST
    Figure JP2025016941_22012026_PF_FP_ABST
Patent Text Reader

Abstract

The present invention easily determines a weighting coefficient for use in prediction control for controlling movement of a control object. A control system (1) comprises a priority setting unit (111) and a determination unit (112). The priority setting unit (111) sets priorities for a plurality of control performances that have different types from each other, and that are related to movement control of a control object (2). The determination unit (112) determines, on the basis of the priorities for the plurality of control performances, a weighting coefficient for each of the plurality of control performances for use in prediction control related to movement of the control object (2).
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 determining a weighting coefficient used in predictive control of the movement of a controlled object.

[0002] 2. Description of the Related Art Conventionally, a method for determining a weighting factor used in predictive control of the movement of a controlled object is known (for example, see Patent Document 1).

[0003] Patent Document 1 describes a setting method that enables a user to intuitively set weighting coefficients for predictive control based on the time response of a controlled object.

[0004] Japanese Patent Application Laid-Open No. 2019-125367

[0005] It is desirable to be able to easily determine, from a user's perspective, weighting coefficients used in predictive control for controlling the movement of a controlled object.

[0006] The present disclosure has been made in consideration of the above-mentioned problems, and aims to provide a control system, a control method, and a program that can easily determine weighting coefficients to be used in predictive control for controlling the movement of a control object.

[0007] A control system according to an aspect of the present disclosure includes a priority setting unit and a determination unit. The priority setting unit sets priorities for multiple control performances related to movement control of a control object, each of which is of a different type. The determination unit determines a weighting coefficient for each of the multiple control performances to be used for predictive control of the movement of the control object, based on the priority for each of the multiple control performances.

[0008] A control method according to one aspect of the present disclosure includes a priority setting step and a determination step. In the priority setting step, priorities are set for a plurality of control performances related to movement control of a control object, each of which is of a different type. In the determination step, a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object is determined based on the priority for each of the plurality of control performances.

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

[0010] According to the present disclosure, it is possible to easily determine weighting coefficients to be used in predictive control for controlling the movement of a control target.

[0011] FIG. 1 is a block diagram showing the configuration of a control system according to a first embodiment and the configuration of an integrated system including the control system. FIG. 2 is a screen diagram showing an example of a priority setting screen displayed by the control system according to the first embodiment. FIG. 3 is a simulation diagram showing a simulation result of the control system according to the first embodiment. FIG. 4 is a simulation diagram showing another simulation result of the control system according to the first embodiment. FIG. 5 is a simulation diagram showing yet another simulation result of the control system according to the first embodiment. FIG. 6 is a flowchart illustrating the operation of the control system according to the first embodiment. FIG. 7 is a screen diagram showing an example of a priority setting screen displayed by the control system according to the first modification. FIG. 8 is a flowchart illustrating the operation of the control system according to the fourth modification. FIG. 9 is a screen diagram showing an example of a priority setting screen displayed by the control system according to the fifth modification. FIG. 10 is a screen diagram showing an example of a priority setting screen displayed by the control system according to the sixth modification. FIG. 11 is a screen diagram showing an example of a priority setting screen displayed by the control system according to the seventh modification. FIG. 12 is a diagram showing an example of a result of priority setting in the control system according to the seventh modification. FIG. 13 is a block diagram showing the configuration of a control system according to the second embodiment. FIG. 14 is a screen diagram showing an example of a priority setting screen displayed by the control system according to the second embodiment. FIG. 15 is a flowchart illustrating the operation of the control system according to the second embodiment.

[0012] The embodiments and modifications described below are merely examples of the present disclosure, and the present disclosure is not limited to these embodiments and modifications. Various modifications other than these embodiments and modifications are possible depending on the design, etc., as long as they do not deviate from the technical concept of the present disclosure.

[0013] First Embodiment A control system 1 according to this embodiment will be described below with reference to FIGS.

[0014] (1) Overview Fig. 1 is a block diagram showing the configuration of a control system 1 according to a first embodiment and the configuration of an integrated system 1000 including the control system 1. As shown in Fig. 1, the control system 1 according to the first embodiment includes a priority setting unit 111 and a determination unit 112. The priority setting unit 111 sets priorities for a plurality of control performances that are different from one another and that are related to movement control of a control object 2. The determination unit 112 determines a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object 2, based on the priority for each of the plurality of control performances.

[0015] According to this configuration, priorities are set and weighting coefficients are determined based on the set priorities, so that the control system 1 can easily determine weighting coefficients to be used for predictive control to control the movement of the control object 2.

[0016] The control system 1 according to the first embodiment uses a model predictive control (hereinafter sometimes abbreviated as MPC) function that performs optimization while predicting future responses at each time (each point in time) to execute commands related to operational control of the controlled object 2. Furthermore, the control system 1 executes the commands by utilizing the prediction results by MPC.

[0017] In the first embodiment, the description will be given assuming that the controlled object 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 controlled object 2 may be, for example, a coating device other than a machine.

[0018] 1 , the integrated system 1000 includes a motion controller 100 having a control device 10 as a control system 1, and a controlled object 2. In the first embodiment, it is assumed that the motion controller 100 includes the control system 1 (control device 10). In other words, as an example, it is assumed that all of the functions of the control device 10 are implemented within the motion controller 100.

[0019] The MPC then solves an optimization problem for the prediction horizon based on a model of the controlled object 2 (here, a two-axis stage), and the control device 10 uses the results to generate trajectory data. The motion controller 100 performs feedback control of the operation of the controlled object 2 based on the trajectory data from the control device 10. In other words, the motion controller 100 (control device 10) uses the prediction results from the MPC to provide control input to the controlled object 2.

[0020] 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 processing machine (such as a laser processing machine or a cutting machine) is installed on the stage 20.

[0021] 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.

[0022] 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 trajectory data determined by the control device 10 (control 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.

[0023] (2) Configuration (2.1) Motion Controller As shown in FIG. 1 , the motion controller 100 includes a control device 10 as a control system 1, an operation control unit 3, and a state estimation unit 4.

[0024] The control device 10 sets priorities for a plurality of control performances that are different from one another and that are related to the movement control of the control object 2. The control device 10 determines a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object 2, based on the priority for each of the plurality of control performances. The control device 10 executes MPC using the determined weighting coefficient. The control device 10 generates trajectory data using the execution results of MPC.

[0025] When controlling the movement of the control object 2, the control device 10 needs to consider the trajectory error, movement speed, smoothness (acceleration), and the like of the trajectory along which the control object 2 moves through movement control relative to a target trajectory. For example, when moving the control object 2, the control device 10 needs to consider reducing the trajectory error relative to the target trajectory and further improving the movement speed and smoothness to increase productivity. Herein, the multiple control performances are different types of information considered during movement control, such as trajectory error, movement speed, and smoothness, and indicate information related to the movement control of the control object 2. That is, the multiple control performances may include a reduction in trajectory error, an improvement in movement speed, and an improvement in smoothness (acceleration) as information related to the movement control of the control object 2. Herein, the multiple control performances include at least two of a reduction in trajectory error, an improvement in movement speed, and an improvement in acceleration during movement when controlling the movement of the control object 2. In the first embodiment, the multiple control performances include a reduction in trajectory error and an improvement in movement speed. Hereinafter, a control performance that reduces trajectory error may be referred to as a first control performance, and a control performance that improves movement speed may be referred to as a second control performance.

[0026] The operation control unit 3 controls the operation of the controlled object 2 based on the operation amount in the trajectory data output from the control device 10. Specifically, the operation control unit 3 determines the operation amount for each of the X-axis 21 and the Y-axis 22 individually for each control period based on the operation amount from the control device 10, and inputs them to the X-axis amplifier A1 and the Y-axis amplifier A2. 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.

[0027] 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. The operation control unit 3 then controls the inverter circuit of each 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 drive current value may be determined individually by the X-axis amplifier A1 and the Y-axis amplifier A2.

[0028] The state estimation unit 4 receives signals including control variable data based on measurement results from an encoder, a force sensor, an external sensor, etc. from the X-axis amplifier A1 and the Y-axis amplifier A2 of the controlled object 2. The state estimation unit 4 estimates the state of the controlled object 2 based on the control variable data and outputs the estimation result to the control device 10. As an example, the state estimation unit 4 estimates the position (specifically, the position of the X-Y coordinates of the stage 20) and speed of the controlled object 2 based on the control variable.

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

[0030] (2.2) Control Device Here, the configuration of the control device 10 as part of the control system 1 will be described in detail.

[0031] As shown in FIG. 1, the control device 10 as the control system 1 includes an operation unit 11, a display unit 12, a storage unit 13, and a control unit 14.

[0032] The control device 10 has, for example, a computer system having one or more processors and a memory. The processor executes a program stored in the memory, causing the computer system to function as the control unit 14. The program executed by the processor is pre-recorded in the memory of the computer system here, but may also be provided by being recorded on a non-transitory recording medium such as a memory card, or via a telecommunications line such as the Internet.

[0033] The operation unit 11 includes, for example, one or more of a mouse, a keyboard, a pointing device, etc. The operation unit 11 accepts operation input from the user.

[0034] The display unit 12 is a thin display device such as a liquid crystal display or an organic EL (electroluminescence) display. Fig. 2 is a screen diagram showing an example of a priority setting screen displayed by the control system 1 according to the first embodiment. As shown in Fig. 2, the display unit 12 displays a priority setting screen G1 for setting priorities for a plurality of control performances.

[0035] 2, the priority setting screen G1 has a plurality of display areas R1, R2 (two in the illustrated example). Each of the plurality of display areas R1, R2 displays a name of a different type, representing control performance related to movement control of the control target 2. The display area R1 displays "Error Reduction," which represents a reduction in trajectory error, and the display area R2 displays "Speed ​​Improvement," which represents an improvement in movement speed. Furthermore, the plurality of display areas R1, R2 display a plurality of check boxes B1, B2 in one-to-one correspondence.

[0036] The user operates the operation unit 11 to select the control performance to be prioritized when controlling the movement of the control target 2, that is, the control performance to be set with a higher priority, from the two control performances (reducing trajectory error and increasing movement speed) displayed on the priority setting screen G1. For example, FIG. 2 shows a display example in which error reduction is selected as the control performance to be set with a higher priority from reducing trajectory error and increasing movement speed. Note that if it is desired to set equal priorities for the two control performances displayed on the priority setting screen G1, it is also possible to select both of the two control performances by operating the operation unit 11.

[0037] The control device 10 may include a touch panel display. In this case, the touch panel display functions as the operation unit 11 and the display unit 12.

[0038] The storage unit 13 includes an electrically rewritable non-volatile semiconductor memory such as a flash memory. The storage unit 13 stores a prediction model (predictor) for the control target 2. As the prediction model, for example, a transfer function model, a state space model, or the like may be used.

[0039] As shown in FIG. 1 , the control unit 14 includes a priority setting unit 111 , a determination unit 112 , a prediction control unit 113 , and a display processing unit 114 .

[0040] The priority setting unit 111 sets priorities for a plurality of control performances that are different from one another and that are related to the movement control of the control target 2. Here, the priority setting unit 111 sets either "high" or "low" as the priority for each of two control performances (reducing trajectory error and improving movement speed).

[0041] The priority setting unit 111 identifies a control performance selected by the user's operation of the operation unit 11 on the priority setting screen G1. If the selected control performance is identified as the first control performance, the priority setting unit 111 sets the priority of the first control performance to "high" and the priority of the second control performance to "low." If the selected control performance is identified as the second control performance, the priority setting unit 111 sets the priority of the first control performance to "low" and the priority of the second control performance to "high." Furthermore, if both the first control performance and the second control performance are selected, the priority setting unit 111 sets the priority of the first control performance to "high" and the priority of the second control performance to "high." Note that if both the first control performance and the second control performance are selected, the priority setting unit 111 may set the priority of the first control performance to "low" and the priority of the second control performance to "low."

[0042] The determination unit 112 determines a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control target 2, based on the priority for each of the plurality of control performances.

[0043] A plurality of combinations of weighting factors for each of the plurality of control performances are set in advance in a one-to-one correspondence according to a plurality of combinations of priorities for each of the plurality of control performances. For example, the storage unit 13 stores in advance Table 1 shown below. Specifically, the storage unit 13 stores a data structure representing the table shown in Table 1. The first weighting factor shown in Table 1 is a weighting factor for the first control performance. The second weighting factor is a weighting factor for the second control performance.

[0044]

[0045] The determiner 112 determines a weighting factor for each of the plurality of control performances by obtaining, from among a plurality of combinations of weighting factors for each of the plurality of control performances, a combination of weighting factors for each of the plurality of control performances that corresponds to the combination of priorities for each of the plurality of control performances set by the priority setter 111. Specifically, the determiner 112 determines a weighting factor for each of the two control performances based on the combination of priorities for the two control performances set by the priority setter 111 and the above-mentioned correspondence data (see Table 1). For example, when the priority of the first control performance is set to "high" and the priority of the second control performance is set to "low," the determiner 112 determines the weighting factor for the first control performance to "0.9" and the weighting factor for the second control performance to "0.1." When the priority of the first control performance is set to "low" and the priority of the second control performance is set to "high", the determiner 112 determines the weighting coefficient for the first control performance to be "0.1" and the weighting coefficient for the second control performance to be "0.9". When the priorities of both the first control performance and the second control performance are set to "high", the determiner 112 determines the weighting coefficient for the first control performance to be "0.5" and the weighting coefficient for the second control performance to be "0.5". When the priorities of both the first control performance and the second control performance are set to "low", the determiner 112 determines the weighting coefficient for the first control performance to be "0.5" and the weighting coefficient for the second control performance to be "0.5".

[0046] The predictive control unit 113 performs predictive control regarding the movement of the control object 2. The predictive control unit 113 performs model predictive control processing as the predictive control, using weighting coefficients for each of the plurality of control performances determined by the determination unit 112. The predictive control unit 113 performs model predictive control processing by MPC, using a cost function including weighting coefficients for each of the plurality of control performances, and generates trajectory data for the control object 2.

[0047] An example of the cost function is shown in the following equation (1).

[0048]

[0049] Here, the variable x is expressed as x = [a x , b x , a y , b y , d, e t , e c ] T It is expressed as: x represents the X coordinate. x is a x represents the result of first time differentiation of a velocity in the X-axis direction. y represents the Y coordinate. y is a y represents the result of first time differentiation of the velocity in the Y-axis direction. d represents the traveled distance. t represents the trajectory error in the direction of travel. c represents the vertical trajectory error relative to the direction of travel.

[0050] The variable u is defined as u=[c x , c y , u s ] T It is expressed as: x is a x represents the result of twice time differentiation, i.e., the acceleration in the X-axis direction. y is a y represents the result of twice time differentiation, i.e., the acceleration in the Y-axis direction. s represents the velocity in the direction of travel.

[0051] Furthermore, Q, R, S, and f in the formula (1) x , f u represents a weighting coefficient. The weighting coefficient Q is a weighting coefficient for the orbit error, and is expressed as Q = diag([0,0,0,0,0,γ1,γ2]). γ1 is e t γ2 is a weighting coefficient for e c The weighting coefficient R is a weighting coefficient for acceleration, and is expressed as R=diag([γ3, γ4, 0]). γ3 is a weighting coefficient for c x γ4 is a weighting coefficient for c y The weighting coefficient S is a weighting coefficient for the amount of change in the speed in the direction of travel, and is expressed as S = diag([0, 0, γ5]). γ5 is the weighting coefficient for u s The weighting coefficient fx is a weighting factor for the traveled distance, and f x =[0,0,0,0,γ6,0 t , 0] T where γ6 is a weighting coefficient for d. The weighting coefficient f u is a weighting factor for the direction of travel, and f u = [0, 0, γ7, ] T γ7 is expressed as u s is the weighting factor for

[0052] The prediction control unit 113 obtains an optimal solution that minimizes (or maximizes) the calculation result of the cost function in the model predictive control process using MPC. That is, the prediction control unit 113 obtains the variables x and u that minimize (or maximize) the calculation result of the cost function in the model predictive control process using MPC.

[0053] When determining the optimal solution, the prediction control unit 113 applies the weighting coefficients γ1 and γ2 corresponding to the first control performance determined by the determination unit 112, and applies the weighting coefficient γ7 corresponding to the second control performance determined by the determination unit 112. Predetermined values ​​are applied to the other weighting coefficients.

[0054] The prediction control unit 113 generates trajectory data based on the obtained optimal solution. The prediction control unit 113 outputs the generated trajectory data to the operation control unit 3. The prediction control unit 113 also performs a simulation regarding movement control of the control target 2 based on the generated trajectory data.

[0055] The display processing unit 114 displays the priority setting screen G1 on the display unit 12. In other words, the display unit 12 displays the priority setting screen G1.

[0056] Furthermore, the display processing unit 114 causes the display unit 12 to display the result of the simulation performed by the prediction control unit 113 of the trajectory of the control object 2 when the weighting coefficients of the plurality of control performances determined by the determination unit 112 are applied. In other words, the display unit 12 displays the result of the simulation performed by the prediction control unit 113 of the trajectory of the control object 2 when the weighting coefficients of the plurality of control performances determined by the determination unit 112 are applied. Here, the display processing unit 114 causes the display unit 12 to display the result of the simulation performed by the prediction control unit 113 of the trajectory of the control object 2 when the weighting coefficients of the first control performance and the second control performance are applied. In other words, the display unit 12 displays the result of the simulation performed by the prediction control unit 113 of the trajectory of the control object 2 when the weighting coefficients of the first control performance and the second control performance determined by the determination unit 112 are applied.

[0057] 3 is a simulation diagram showing the results of a simulation of the control system 1 according to the first embodiment. For example, FIG. 3 shows the results of simulating the trajectory of the controlled object 2 when the priority of the first control performance is set to "high" and the priority of the second control performance is set to "low," i.e., when the weighting coefficient of the first control performance is set to "0.9" and the weighting coefficient of the second control performance is set to "0.1." As shown in FIG. 3 , when the priority of the first control performance is set to "high" and the priority of the second control performance is set to "low," reducing the trajectory error takes priority over improving the movement speed, so the trajectory L21 of the controlled object 2, which is the simulation result, is close to the target trajectory L11.

[0058] 4 is a simulation diagram showing another simulation result of the control system 1 according to the first embodiment. Fig. 4 shows the result of simulating the trajectory of the controlled object 2 when the priority of the first control performance is set to "low" and the priority of the second control performance is set to "high," i.e., when the weighting coefficient of the first control performance is set to "0.1" and the weighting coefficient of the second control performance is set to "0.9." As shown in Fig. 4 , when the priority of the first control performance is set to "low" and the priority of the second control performance is set to "high," improving the movement speed takes priority over reducing the trajectory error, so the trajectory L22 of the controlled object 2, which is the simulation result, appears to bulge out (become out-in-out) just before the corner compared to the target trajectory L11.

[0059] 5 is a simulation diagram showing another simulation result of the control system 1 according to the first embodiment. FIG. 5 shows the result of simulating the trajectory of the controlled object 2 when the priority of the first control performance is set to "high" and the priority of the second control performance is set to "high," i.e., when the weighting coefficient of the first control performance is set to "0.5" and the weighting coefficient of the second control performance is set to "0.5." As shown in FIG. 5 , when the priority of the first control performance is set to "high" and the priority of the second control performance is set to "high," equal priorities are assigned to reducing the trajectory error and improving the movement speed. Therefore, the trajectory L23 of the controlled object 2, which is the simulation result, lies between the trajectory L21 of the controlled object 2 and the trajectory L22 of the controlled object 2 described above.

[0060] For example, after checking the simulation results, the user may input a start instruction to start movement control of the control target 2 by operating the operation unit 11. In this case, the prediction control unit 113 outputs trajectory data to the operation control unit 3 after the start instruction is input.

[0061] The trajectory data may be output to the motion control unit 3 before the start command is input. In this case, the motion control unit 3 starts controlling the movement of the control target 2 based on the trajectory data after the start command is input.

[0062] (3) Operation Here, the operation of the control device 10 will be described with reference to the flowchart of Fig. 6. Fig. 6 is a flowchart illustrating the operation of the control system 1 according to the first embodiment.

[0063] The priority setting unit 111 performs a priority setting process (step S1). The priority setting unit 111 sets priorities for multiple control performances that are different from one another and that are related to the movement control of the control target 2. Specifically, the priority setting unit 111 identifies a control performance selected by the user's operation of the operation unit 11 on the priority setting screen G1. The priority setting unit 111 sets the priority of one selected control performance out of two control performances to "high" and the priority of the remaining unselected control performance to "low." When both of the two control performances are selected, the priority setting unit 111 sets the priority of each control performance to "high."

[0064] The determination unit 112 performs a determination process (step S2). The determination unit 112 determines a weighting factor for each of the plurality of control performances to be used for predictive control, based on the priority of each of the plurality of control performances. Specifically, the determination unit 112 determines a weighting factor for each of the two control performances, based on the combination of the priorities of the two control performances set by the priority setting unit 111 and the above-mentioned correspondence data (see Table 1).

[0065] The prediction control unit 113 performs prediction processing (step S3). Model predictive control processing is performed using weighting coefficients for each of the plurality of control performances determined by the determination unit 112. The prediction control unit 113 performs model predictive control processing by MPC using a cost function including weighting coefficients for each of the plurality of control performances, and generates trajectory data for the controlled object 2. When performing model predictive control processing, i.e., when obtaining an optimal solution, the prediction control unit 113 uses the weighting coefficients for the first control performance and the weighting coefficients for the second control performance determined by the determination unit 112.

[0066] The display processing unit 114 performs a display process (step S4). The display processing unit 114 displays, on the display unit 12, the results of simulating the trajectory of the control target 2 when the weighting coefficients for the first control performance and the second control performance determined by the determination unit 112 are applied.

[0067] When a start command is input by the user, the prediction control unit 113 outputs the trajectory data to the operation control unit 3 and causes the operation control unit 3 to perform control processing (step S5). The operation control unit 3 controls the operation of the controlled object 2 based on the trajectory data. Specifically, the operation control unit 3 determines the operation amounts for the X-axis 21 and the Y-axis 22 individually for each control cycle based on the operation amounts from the control device 10, and inputs them to the X-axis amplifier A1 and the Y-axis amplifier A2.

[0068] (4) Advantages As described above, the control system 1 of the first embodiment includes the priority setting unit 111 and the determination unit 112. The priority setting unit 111 sets priorities for a plurality of control performances that are different from one another and that are related to movement control of the control object 2. The determination unit 112 determines a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object 2, based on the priority for each of the plurality of control performances.

[0069] According to this configuration, priorities are set and weighting factors are determined based on the set priorities, so that the weighting factors to be used for predictive control for controlling the movement of the control object 2 can be easily determined.

[0070] (5) Modifications Modifications are listed below. The modifications described below can be applied in appropriate combination with the first embodiment.

[0071] (5.1) Modification 1 In the first embodiment, the priority setting unit 111 is configured to set the priority by selecting one or two of the two control performances. However, the present invention is not limited to this configuration.

[0072] The priority setting unit 111 may set a numerical value for each of the two control performances as a priority. Fig. 7 is a screen diagram showing an example of a priority setting screen displayed by the control system 1 according to Modification 1. For example, the priority setting unit 111 may set a numerical value for each of the two control performances using the priority setting screen G2 shown in Fig. 7.

[0073] 7, the priority setting screen G2 has a plurality of display areas R21, R22 (two in the illustrated example). Each of the plurality of display areas R21, R22 displays a name of a different type that indicates control performance related to movement control of the control target 2. The display area R21 displays "Error Reduction," which indicates a reduction in trajectory error, and the display area R22 displays "Speed ​​Improvement," which indicates an improvement in movement speed. The plurality of display areas R21, R22 also have a plurality of input areas R23, R24, each of which corresponds one-to-one to the other, for inputting numerical values.

[0074] The user inputs numerical values ​​into two input areas R23 and R24 that correspond one-to-one to the two control performances (reducing trajectory error and improving movement speed) displayed on the priority setting screen G1.

[0075] The priority setting unit 111 sets the numerical values ​​input for each of the two control performances (reducing trajectory error, improving moving speed) as the priorities of the two control performances.

[0076] The determination unit 112 calculates a weighting factor for each of the two control performances (reducing trajectory error, improving movement speed) based on a numerical value (priority) set for each of the two control performances (reducing trajectory error, improving movement speed). More specifically, the determination unit 112 determines a weighting factor for each of the multiple control performances by calculating a weighting factor for each of the multiple control performances based on the priority for each of the multiple control performances.

[0077] Specifically, the determination unit 112 determines whether "K i = m i / (m 1 +m 2 )" to calculate the weighting coefficients of the first control performance and the second control performance. 1 is the priority set for the first control performance. 2 is the priority set for the second control performance. i is the value "1" or the value "2". K 1 is a weighting coefficient for the first control performance. 2 is a weighting coefficient for the second control performance. For example, if the priority set for the first control performance is a value of "30" and the priority set for the second control performance is a value of "70," then using formula (2) the weighting coefficient for the first control performance is a value of "0.3" and the weighting coefficient for the second control performance is a value of "0.7."

[0078] In the example of Figure 7, the total value of the numerical values ​​input for each of the two control performances (reduced trajectory error, increased movement speed) is a predetermined value (e.g., 100), but this configuration is not limited to this, and the total value of the numerical values ​​input for each of the two control performances (reduced trajectory error, increased movement speed) may be a predetermined value other than 100.

[0079] (5.2) Modification 2 In the first embodiment, the control device 10 is configured to set priorities for two control performances (reducing trajectory error and improving travel speed) and to set weighting coefficients for each of the two control performances according to the set priorities. However, the present invention is not limited to this configuration.

[0080] The control device 10 may set priorities for three or more control performances, and set weighting coefficients for each of the three or more control performances according to the set priorities.

[0081] For example, the control device 10 may set priorities for three control performances (e.g., reduction of trajectory error, improvement of movement speed, and improvement of smoothness) and set weighting coefficients for each of the three control performances according to the set priorities.

[0082] In this case, the display unit 12 displays three control performances (reduced trajectory error, improved movement speed, and improved smoothness). The user assigns priorities to the three control performances by operating the operation unit 11. For example, the user inputs a value of "1" to the control performance with the highest priority among the three control performances. The user inputs a value of "3" to the control performance with the lowest priority among the three control performances. The user inputs a value of "2" to the control performance with an intermediate priority among the three control performances. The priority setting unit 111 sets the input value for each control performance as a priority. Here, the value "1" represents the highest priority, and the value "3" represents the lowest priority. The value "2" represents an intermediate priority.

[0083] The determiner 112 determines a weighting factor for each of the plurality of control performances by obtaining, from among a plurality of combinations of weighting factors for each of the plurality of control performances, a combination of weighting factors for each of the plurality of control performances that corresponds to the combination of priorities for each of the plurality of control performances set by the priority setter 111. Specifically, the determiner 112 determines a weighting factor for each of the two control performances based on the combination of priorities for the two control performances set by the priority setter 111 and the following Table 2 (correspondence data). Here, the first weighting factor is a weighting factor for the first control performance. The second weighting factor is a weighting factor for the second control performance. The third weighting factor is a weighting factor for the control performance that improves smoothness (third control performance).

[0084]

[0085] Note that Modification 1 may be applied to Modification 2. That is, the priority setting unit 111 may set a numerical value for each of three or more control performances as a priority. The following describes a case where a numerical value for each of three control performances is set as a priority.

[0086] The user operates the operation unit 11 to input numerical values ​​for each of the three control performances as priorities.

[0087] The determination unit 112 calculates a weighting factor for each of the three control performances (reducing trajectory error, improving movement speed, and improving smoothness) based on a numerical value (priority) set for each of the three control performances (reducing trajectory error, improving movement speed, and improving smoothness). More specifically, the determination unit 112 determines a weighting factor for each of the plurality of control performances by calculating a weighting factor for each of the plurality of control performances based on the priority for each of the plurality of control performances. Specifically, the determination unit 112 calculates a weighting factor for each of the plurality of control performances using the formula (2) "K i = m i / (m 1 +m 2 +m 3 )" to calculate the weighting coefficients of the first control performance, the second control performance, and the third control performance. 1is the priority set for the first control performance. 2 is the priority set for the second control performance. 3 is the priority set for the second control performance. i is an integer between 1 and 3. K 1 is a weighting coefficient for the first control performance. 2 is a weighting coefficient for the second control performance. 3 is a weighting coefficient for the third control performance.

[0088] The priority setting unit 111 may set numerical values ​​for each of the three control performances, the total of which is set to a predetermined value (for example, 100), as the priorities of the three control performances.

[0089] (5.3) Modification 3 In the first embodiment, the two control performances are exemplified as a reduction in trajectory error and an improvement in movement speed, while in the second modification, the three control performances are exemplified as a reduction in trajectory error, an improvement in movement speed, and an improvement in smoothness. However, the combinations of the multiple control performances are not limited to these combinations.

[0090] The combination of the functions of the control performance is determined by the weighting factors Q, R, S, and f x , f u It is sufficient if the control performance corresponds to variables corresponding to at least two or more weighting factors among the above.

[0091] (5.4) Modification 4 In the above embodiment, when solving an optimization problem for a prediction interval (control interval) using MPC based on a model of the controlled object 2, there is a possibility that an optimal solution cannot be obtained, i.e., it may be determined that control is not possible.

[0092] Therefore, when it is determined that control of the control target 2 is not possible in the model predictive control process in the predictive control unit 113, the determination unit 112 may change the weighting coefficients for each of the plurality of control performances.

[0093] The operation of the control device 10 according to the fourth modification will be described with reference to the flowchart shown in Fig. 8. Fig. 8 is a flowchart illustrating the operation of the control system 1 according to the fourth modification.

[0094] Steps S11 to S13 shown in FIG. 8 are similar to steps S1 to S3 shown in FIG. 6, and therefore will not be described here.

[0095] The prediction control unit 113 determines whether or not the generation of trajectory data by the model predictive control process has been successful, that is, whether or not an optimal solution has been obtained by the model predictive control process (step S14).

[0096] If the prediction control unit 113 determines that the generation of the trajectory data has been successful ("Yes" in step S14), the display processing unit 114 performs display processing (step S15). The display processing unit 114 displays, on the display unit 12, the results of simulating the trajectory of the control target 2 when the weighting coefficients for the first control performance and the second control performance determined by the determination unit 112 are applied.

[0097] When a start instruction is input by the user, the prediction control unit 113 outputs the trajectory data to the movement control unit 3 and causes the movement control unit 3 to perform control processing (step S16). The movement control unit 3 controls the movement of the control target 2 based on the trajectory data.

[0098] If the prediction control unit 113 determines that the generation of trajectory data has not been successful, i.e., that control of the control target 2 is not possible ("No" in step S14), the determination unit 112 performs a change process (step S17). The determination unit 112 changes the weighting coefficients corresponding to each of the multiple control performances. For example, if the weighting coefficient for the first control performance is set to "0.9" and the weighting coefficient for the second control performance is set to "0.1", the determination unit 112 changes the weighting coefficient for the first control performance to "0.8" and the weighting coefficient for the second control performance to "0.2".

[0099] After the change process is performed, the process returns to step S13. When the process moves from step S17 to step S13, the prediction control unit 113 performs model predictive control process using the weighting coefficients (changed weighting coefficients) for each of the multiple control performances determined in the change process.

[0100] (5.5) Modification 5 When controlling the movement of the control object 2, the section in which movement control is performed may be divided into multiple control sections. Therefore, the priority setting unit 111 may set priorities for multiple control performances for each control section for the control object 2.

[0101] In this case, the display processing unit 114 causes the display unit 12 to display a priority setting screen G3 shown in Fig. 9. Fig. 9 is a screen diagram showing an example of a priority setting screen displayed by the control system 1 according to Modification 5. The priority setting screen G3 is a screen showing a section C1 including a plurality of (two in the illustrated example) control sections C2 and C3, in which movement control of the control target 2 is performed. The control section C2 is a section having a start point of point P1 and an end point of point P3, and the movement direction changes at point P2. The control section C3 is a section having a start point of point P3 and an end point of point P5, and the movement direction changes at point P4.

[0102] The user operates the operation unit 11 to specify a control section for which the user wants to set priorities for each of the two control performances (reducing trajectory error and improving travel speed).

[0103] When the user specifies a control section for which a priority is to be set, the display processing unit 114 displays an input area on the display unit 12. For example, when the user specifies control section C2, input area R31 is displayed, and when the user specifies control section C3, input area R32 is displayed (see FIG. 9 ).

[0104] The user inputs the priority of each of the plurality of control performances for each of the plurality of control sections by operating the operation unit 11. In other words, the priority setting unit 111 accepts, via the operation unit 11, an input (input information) regarding the priority of each of the plurality of control performances for each of the plurality of control sections (e.g., control sections C2 and C3). Here, the user inputs numerical values ​​for each of the two control performances (trajectory error reduction, movement speed improvement) in the displayed input areas (e.g., input areas R31 and R32) by operating the operation unit 11. In other words, the priority setting unit 111 accepts, via the operation unit 11, the numerical values ​​for each of the two control performances (trajectory error reduction, movement speed improvement) in the displayed input areas as input regarding the priority of each of the plurality of control performances.

[0105] The priority setting unit 111 sets priorities for a plurality of control performances based on corresponding input information for each control section (e.g., control sections C2 and C3) for the control target 2. Here, the priority setting unit 111 sets numerical values ​​input for each of the two control performances (reducing trajectory error, improving movement speed) as the priorities for each of the two control performances.

[0106] The determiner 112 determines a weighting factor for each control interval (e.g., control intervals C2 and C3) for the control target 2, using the priorities of the two control performances set for the corresponding control interval. Note that the determination of the weighting factor has been explained in Modification 1, and therefore will not be explained here.

[0107] Furthermore, as described in the first embodiment, the user may select one or two of the two control performances for which the user desires to assign a "high" priority. In this case, the priority setting unit 111 sets the priority to either "high" or "low" for each of the two control performances (reducing trajectory error, improving travel speed) according to the user's selection.

[0108] Furthermore, Modification 2 may be applied to Modification 5, and priorities may be set for each of three or more control performances.

[0109] (5.6) Modification 6 The priority setting unit 111 may set different priorities for a control section (designated control section) included in an area designated by the user in the section for controlling the movement of the control object 2 and a control section (non-designated control section) included in another area.

[0110] In this case, the display processing unit 114 displays a priority setting screen G4 shown in FIG. 10 on the display unit 12. FIG. 10 is a screen diagram showing an example of a priority setting screen displayed by the control system 1 according to Modification 6. The priority setting screen G4 is a screen representing a section C11 for which movement control of the control target 2 is performed. The user operates the operation unit 11 to specify a control section in the section C11 for which priorities are to be set for each of two control performances (reduced trajectory error and increased movement speed). For example, the user specifies a control section included in a circle centered at a certain point as a designated control section. In FIG. 10, the control section C13 included in a circle R43 centered at point P14 is specified as a designated control section. Furthermore, the control sections C12 and C14 shown in FIG. 10 are non-designated control sections. The control section C12 is a section whose starting point is point P11 and whose ending point is point P13, and the movement direction changes at point P12. The control section C13 is a section whose starting point is point P13 and whose end point is point P15, and the movement direction changes at point P14. The control section C14 is a section whose starting point is point P15 and whose end point is point P16. In other words, the section C11 includes the control sections C12 to C14.

[0111] The user sets the priority of each of the two control performances (reducing trajectory error and improving movement speed) for each control section (designated control section, non-designated control section) by operating the operation unit 11. In other words, the priority setting unit 111 receives the priority of each of the two control performances (reducing trajectory error and improving movement speed) for each control section (designated control section, non-designated control section) via the operation unit 11.

[0112] When setting a priority for the control section C13, which is a designated control section, the display processing unit 114 displays an input area R41 on the display unit 12 (see FIG. 10 ). When setting a priority for the control sections C12 and C14, which are non-designated control sections, the display processing unit 114 displays an input area R42 on the display unit 12 (see FIG. 10 ). When setting a priority for the non-designated control sections, the combination of priorities for the two control performances (reducing trajectory error and increasing travel speed) is the same for all control sections that are non-designated control sections.

[0113] The user inputs numerical values ​​for each of the two control performances (reduced trajectory error, improved movement speed) in the displayed input areas by operating the operation unit 11. That is, the priority setting unit 111 receives the numerical values ​​for each of the two control performances (reduced trajectory error, improved movement speed) in the displayed input areas as operational inputs from the user via the operation unit 11.

[0114] That is, the priority setting unit 111 accepts the designation of an area (e.g., circle R43) including a part of the section C11 via the operation unit 11. The priority setting unit 111 accepts, via the operation unit 11, input (input information) regarding the priority of each of a plurality of control performances for each of a designated control section (e.g., control section C13) that is part of the section C11 included in the designated area, and a non-designated control section (e.g., control sections C12, C14) that is the remaining section of the section C11 excluding the designated control section.

[0115] The priority setting unit 111 sets priorities for a plurality of control performances for each of the designated control section and the non-designated control section based on the corresponding input information.

[0116] The priority setting unit 111 sets the numerical values ​​input for the two control performances (reducing trajectory error, improving movement speed) as the priorities of the two control performances for each of the designated control section and the non-designated control section.

[0117] The determination unit 112 determines a weighting factor for each of the designated control section and the non-designated control section, using the priorities of the two control performances set for the corresponding control section. Note that the determination of the weighting factor has been explained in Modification 1, and therefore will not be explained here.

[0118] Furthermore, as described in the first embodiment, the user may select one or two of the two control performances for which the user desires to assign a "high" priority. In this case, the priority setting unit 111 sets the priority to either "high" or "low" for each of the two control performances (reducing trajectory error, improving travel speed) according to the user's selection.

[0119] Furthermore, Modification 2 may be applied to Modification 6, and priorities may be set for each of three or more control performances.

[0120] (5.7) Modification 7 The priority setting unit 111 may be configured to set priorities according to the shape of the trajectory.

[0121] In this case, the display processing unit 114 displays a priority setting screen G5 shown in Fig. 11 on the display unit 12. Fig. 11 is a screen diagram showing an example of a priority setting screen displayed by the control system 1 according to Modification 7. The priority setting screen G5 includes a first priority input area R51 and a second priority input area R52. The first priority input area R51 is an area where first set information, which is a combination of priorities of multiple control performances, is input. The second priority input area R52 is an area where second set information, which is a combination of multiple control performances, and conditions related to the shape of the trajectory to which the second set information is applied as the priorities of the multiple control performances are input.

[0122] The first priority input area R51 includes a first input area R53 and a second input area R54. The first input area R53 is an area for receiving input regarding the priority for the first control performance. The first input area R53 receives a numerical value (first value) as input regarding the priority for the first control performance. The second input area R54 is an area for receiving input regarding the priority for the second control performance. The second input area R54 receives a numerical value (second value) as input regarding the priority for the second control performance. A combination of the first value and the second value corresponds to the first set information.

[0123] The second priority input area R52 includes a third input area R55 and a fourth input area R56. The third input area R55 is an area for receiving input regarding the priority for the first control performance. The third input area R55 receives a numerical value (third value) as input regarding the priority for the first control performance. The fourth input area R56 is an area for receiving input regarding the priority for the second control performance. The fourth input area R56 receives a numerical value (fourth value) as input regarding the priority for the second control performance. The combination of the third value and the fourth value corresponds to the second set information.

[0124] Furthermore, the second priority input area R52 includes a fifth input area R57 and a sixth input area R58 in which conditions related to the shape of the track are input. The fifth input area R57 is an area in which the turning angle (hereinafter simply referred to as "angle") when the track changes direction is input. The sixth input area R58 is an area in which the range of the control section including the point where the track changes direction is specified.

[0125] The control unit 14 (reception unit) receives input of the first set of information in the first priority input area R51 via the operation unit 11. Specifically, the control unit 14 (reception unit) receives a first value and a second value via the operation unit 11. The pair of the first value and the second value is stored in the storage unit 13 as the first set of information.

[0126] Furthermore, the control unit 14 (receiving unit) receives input of second set information and conditions in the second priority input area R52 via the operation unit 11. Specifically, the control unit 14 (receiving unit) receives a third value and a fourth value via the operation unit 11. The pair of the third value and the fourth value is stored in the storage unit 13 as second set information. Furthermore, the control unit 14 (receiving unit) receives, as input of conditions in the fifth input area R57 and the sixth input area R58, a designation of an angle and a range of a control section to which the second set information is applied via the operation unit 11. The input conditions are associated with the second set information and stored in the storage unit 13.

[0127] 11, a value of "10" is input as the first value, and a value of "90" is input as the second value. Also, in FIG. 11, a value of "90" is input as the third value, a value of "10" is input as the fourth value, and a value of "45" is input as the angle and a value of "2" is input as the range specification. According to the example of FIG. 11, among the sections in which the movement of the control object 2 is controlled, the second set of information is applied to the control section in which the turning angle is less than 45 degrees and which is 2 mm before and after the turning point, and the first set of information is applied to the remaining control sections.

[0128] The priority setting unit 111 sets the priority of each of the plurality of control performances in the first control section by applying the first set information to the first control section, which is a control section included in the section where movement control of the control object 2 is performed and does not satisfy the condition. The priority setting unit 111 sets the priority of each of the plurality of control performances in the second control section by applying the second set information to the second control section, which is a control section included in the section where movement control of the control object 2 is performed and satisfies the condition.

[0129] Fig. 12 is a diagram showing an example of the results of setting priorities in the control system 1 according to Modification 7. Fig. 12 shows an example in which the first set information and the second set information are applied using the example of Fig. 11. Section C21 shown in Fig. 12 includes control sections C22 to C24.

[0130] 12 , the turning angle at point P25 is less than 45 degrees, and the specified range of the control section is 2 mm. Therefore, control section C23, which is the section from point P24 to point P26 that includes point P25 and is represented by a range of 2 mm before and 2 mm after point P25, satisfies the input condition. Therefore, the priority setting unit 111 designates control section C23 as the second control section and applies the second set of information to control section C23. The priority setting unit 111 applies the first set of information to the remaining control sections (control sections C22 and C24) of section C21 excluding control section C23.

[0131] Hereinafter, the control section to which the first setting information is applied will be referred to as the first control section, and the control section to which the second setting information is applied will be referred to as the second control section. Section C21, in which movement control of the control object 2 is performed, includes multiple control sections C22, C23, and C24. Control section C22 is a control section having point P21 as its starting point, passing through points P22 and P23, and ending at point P24, and corresponds to the first control section. Control section C23 is a control section having point P24 as its starting point, passing through point P25, and ending at point P26, and corresponds to the second control section. Control section C24 is a control section having point P26 as its starting point and point P27 as its ending point, and corresponds to the first control section.

[0132] The determiner 112 determines a weighting factor for each of the first and second control intervals using the priorities of the two control performances set for the corresponding control intervals. Note that the determination of the weighting factor has been explained in Modification 1, and therefore will not be explained here.

[0133] Furthermore, as described in the first embodiment, the user may select one or two of the two control performances for which the user desires to assign a "high" priority. In this case, the priority setting unit 111 sets the priority to either "high" or "low" for each of the two control performances (reducing trajectory error, improving travel speed) according to the user's selection.

[0134] Furthermore, Modification 2 may be applied to Modification 7, and priorities may be set for each of three or more control performances.

[0135] (Embodiment 2) Embodiment 2 differs from embodiment 1 in that a target value is set for at least one of a plurality of control performances. The following description will focus on the differences from embodiment 1. Note that components similar to those in embodiment 1 are given the same reference numerals, and descriptions thereof will be omitted as appropriate.

[0136] (1) Configuration Fig. 13 is a block diagram showing the configuration of a control system 1 according to embodiment 2. As shown in Fig. 13, a control device 10A as the control system 1 according to embodiment 2 includes an operation unit 11, a display unit 12, a storage unit 13, and a control unit 14A.

[0137] The control device 10A includes, for example, a computer system having one or more processors and a memory. The processor executes a program stored in the memory, causing the computer system to function as the control unit 14A. The program executed by the processor is pre-recorded in the memory of the computer system here, but may also be provided by being recorded on a non-transitory recording medium such as a memory card, or via a telecommunications line such as the Internet.

[0138] 14 is a screen diagram showing an example of a priority setting screen displayed by the control system 1 according to embodiment 2. As shown in FIG. 14, the display unit 12 displays a priority setting screen G6 for setting priorities for a plurality of control performances.

[0139] 14, the priority setting screen G6 has a plurality of display areas R61, R62 (two in the illustrated example). Each of the plurality of display areas R61, R62 displays a name of a different type that represents a control performance related to movement control of the control target 2. The display area R61 displays "error reduction" that represents the first control performance, and the display area R62 displays "speed improvement" that represents the second control performance.

[0140] The display area R61 includes a priority input area R63 for inputting a numerical value as a priority for the first control performance, and a target value input area R64 for inputting a target value for the first control performance. The display area R62 includes a priority input area R65 for inputting a numerical value as a priority for the second control performance, and a target value input area R66 for inputting a numerical value as a target value for the second control performance.

[0141] The user inputs a numerical value into the corresponding priority input area of ​​the priority input areas R63 and R65 for each of the two control performances (reduced trajectory error and increased movement speed) displayed on the priority setting screen G6. Furthermore, the user inputs a numerical value into the corresponding target value input area of ​​the target value input areas R64 and R66 for at least one of the two control performances for which the user wants to set a target value. In the example of FIG. 14 , a target value is input for the first control performance.

[0142] As shown in FIG. 13, the control unit 14A includes a priority setting unit 111, a determination unit 112, a prediction control unit 113, a display processing unit 114, and a target value setting unit 115.

[0143] The target value setting unit 115 sets a target value for at least one of the plurality of control performances. The target value setting unit 115 sets the numerical value input into the target value input field R64 as the target value for the first control performance. The target value setting unit 115 sets the numerical value input into the target value input field R66 as the target value for the second control performance.

[0144] The determiner 112 determines a weighting factor for each of the plurality of control performances based on the priority for each of the plurality of control performances set by the priority setting unit 111. The determination of the weighting factor for each of the plurality of control performances using the priority for each of the plurality of control performances has been described in Modification 1 of the first embodiment, and therefore will not be described here.

[0145] Furthermore, the determiner 112 changes the weighting coefficient for each of the plurality of control performances when the numerical value of at least one control performance, for which a target value has been set in the model predictive control process by the predictive control unit 113, exceeds the target value. For example, when the weighting coefficient for the first control performance is set to "0.9" and the weighting coefficient for the second control performance is set to "0.1", the determiner 112 changes the weighting coefficient for the first control performance to "0.8" and the weighting coefficient for the second control performance to "0.2".

[0146] The predictive control unit 113 performs predictive control regarding the movement of the control object 2 (see FIG. 1 ). The predictive control unit 113 performs model predictive control processing as the predictive control, using weighting coefficients for each of the plurality of control performances determined by the determination unit 112. The predictive control unit 113 performs model predictive control processing by MPC, using a cost function including weighting coefficients for each of the plurality of control performances, and generates trajectory data for the control object 2.

[0147] The prediction control unit 113 performs a simulation of movement control of the control target 2 based on the generated trajectory data. The prediction control unit 113 determines whether a predicted value of the control performance for which a target value is set, obtained from the simulation result, exceeds the set target value. For example, when a target value is set for the first control performance, the prediction control unit 113 determines whether the predicted value (trajectory error) of the first control performance exceeds the target value.

[0148] When the prediction control unit 113 determines that the predicted value of a control performance for which a target value has been set has exceeded the set target value, the prediction control unit 113 outputs a change instruction to change the weighting coefficient for each of the plurality of control performances to the determination unit 112. Upon receiving the change instruction from the prediction control unit 113, the determination unit 112 changes the weighting coefficient for each of the plurality of control performances.

[0149] When the prediction control unit 113 determines that the predicted value of the control performance for which a target value is set does not exceed the set target value, it outputs a display instruction to the display processing unit 114 to display the simulation results on the display unit 12. Upon receiving the display instruction from the prediction control unit 113, the display processing unit 114 displays the simulation results on the display unit 12.

[0150] In the case where a target value is set for each of the plurality of control performances, when all of the predicted values ​​of the plurality of control performances do not exceed the corresponding target value, the prediction control unit 113 outputs a display instruction to the display processing unit 114. Furthermore, when at least one predicted value of the plurality of control performances exceeds the corresponding target value, the prediction control unit 113 outputs a change instruction to the determination unit 112.

[0151] When a start instruction is input by the user, the prediction control unit 113 outputs the trajectory data to the movement control unit 3 and causes the movement control unit 3 to perform control processing.

[0152] The display processing unit 114 displays the priority setting screen G6 on the display unit 12. The display processing unit 114 displays on the display unit 12 the result of the simulation performed by the prediction control unit 113 of the trajectory of the control target 2 when the weighting coefficients of each of the plurality of control performances determined by the determination unit 112 are applied.

[0153] (2) Operation Here, the operation of the control device 10A and the operation control unit 3 will be described with reference to the flowchart in Fig. 15. Fig. 15 is a flowchart illustrating the operation of the control system 1 according to the second embodiment.

[0154] The priority setting unit 111 performs a priority setting process (step S101). The priority setting unit 111 sets priorities for a plurality of control performances that are different from one another and that are related to the movement control of the control target 2.

[0155] The target value setting unit 115 performs a target value setting process (step S102). The target value setting unit 115 sets the numerical value input into the target value input area R64 as the target value for the first control performance. The target value setting unit 115 sets the numerical value input into the target value input area R66 as the target value for the second control performance.

[0156] The determination unit 112 performs a determination process (step S103). Based on the priority of each of the plurality of control performances, the determination unit 112 determines a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control target 2. Specifically, the determination unit 112 determines a weighting coefficient for each of the two control performances based on the combination of the priorities of the two control performances set by the priority setting unit 111 and the above-mentioned correspondence data (see Table 1).

[0157] The prediction control unit 113 performs prediction processing (step S104). The prediction control unit 113 performs model predictive control processing using weighting coefficients for each of the plurality of control performances determined by the determination unit 112. The prediction control unit 113 performs model predictive control processing by MPC using a cost function including weighting coefficients for each of the plurality of control performances, and generates trajectory data for the control target 2.

[0158] The prediction control unit 113 determines whether or not the predicted value of the control performance for which the target value has been set exceeds the target value (step S105).

[0159] If the prediction control unit 113 determines that the predicted value does not exceed the target value ("No" in step S105), the display processing unit 114 performs display processing (step S106). The display processing unit 114 causes the display unit 12 to display the simulation results of the trajectory of the controlled object 2.

[0160] When a start instruction is input by the user, the prediction control unit 113 outputs the trajectory data to the movement control unit 3 and causes the movement control unit 3 to perform control processing (step S107). The movement control unit 3 controls the movement of the control target 2 based on the trajectory data.

[0161] When the prediction control unit 113 determines that the predicted value exceeds the target value ("Yes" in step S105), the determination unit 112 performs a change process (step S108). The determination unit 112 changes the weight coefficients corresponding to the respective control performances.

[0162] After the change process is performed, the process returns to step S104. When the process moves from step S108 to step S104, the prediction control unit 113 performs model predictive control process using the weighting coefficients (changed weighting coefficients) for each of the multiple control performances determined in the change process.

[0163] (3) Modifications Modifications will be listed below. The modifications described below can be applied in appropriate combination with the second embodiment.

[0164] The control device 10A according to the second embodiment may accept from the user one or two of the two control performances for which the user desires to assign a "high" priority, as in the first embodiment. In this case, the priority setting unit 111 sets the priority to either "high" or "low" for each of the two control performances (reducing trajectory error, improving travel speed) according to the user's selection result.

[0165] At least one of the second to seventh modifications of the first embodiment may be applied to the control device 10A according to the second embodiment.

[0166] (4) Advantages As described above, the control system 1 of the second embodiment includes the priority setting unit 111 and the determination unit 112, similar to the first embodiment. The priority setting unit 111 sets priorities for a plurality of control performances that are different from one another and that are related to movement control of the control object 2. The determination unit 112 determines a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object 2, based on the priority for each of the plurality of control performances.

[0167] According to this configuration, priorities are set and weighting factors are determined based on the set priorities, so that the weighting factors to be used for predictive control for controlling the movement of the control object 2 can be easily determined.

[0168] Furthermore, the control system 1 of the second embodiment includes a target value setting unit 115. The target value setting unit 115 sets a target value for at least one of the plurality of control performances. The determination unit 112 changes the weighting coefficient for each of the plurality of control performances when the numerical value of at least one control performance, for which a target value has been set in the model predictive control process by the prediction control unit 113, exceeds the target value.

[0169] With this configuration, it is possible to determine the weighting coefficient according to the target value.

[0170] (Other Modifications) The above embodiment is merely one of various embodiments of the present disclosure. The above embodiment can be modified in various ways depending on the design and the like as long as the object of the present disclosure can be achieved.

[0171] Furthermore, functions similar to those of the control system 1 may be embodied as a control method, a computer program, or a non-transitory recording medium on which a program is recorded. A control method according to one aspect includes a priority setting step and a determination step. In the priority setting step, priorities are set for multiple control performances that are different from each other and that are related to movement control of the control object 2. In the determination step, a weighting coefficient for each of the multiple control performances to be used for predictive control of the movement of the control object 2 is determined based on the priority for each of the multiple control performances. A program according to one aspect is a program for causing a computer system to function as the above-described control method.

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

[0173] Furthermore, it is not essential for the control system 1 that multiple functions of the control system 1 are concentrated in one housing, and the components of the control system 1 may be distributed across multiple housings. Furthermore, at least some of the functions of the control system 1 may be realized by the cloud (cloud computing) or the like.

[0174] (Summary) As described above, the control system (1) of the first aspect includes a priority setting unit (111) and a determination unit (112). The priority setting unit (111) sets priorities for multiple control performances that are different from one another and related to movement control of a control object (2). The determination unit (112) determines a weighting coefficient for each of the multiple control performances to be used for predictive control of the movement of the control object (2) based on the priority for each of the multiple control performances.

[0175] According to this aspect, a priority is set and a weighting factor is determined based on the set priority, so that the weighting factor to be used for predictive control for controlling the movement of the control object (2) can be easily determined.

[0176] In the control system (1) of the second aspect, in the first aspect, a plurality of combinations of weighting factors for each of the plurality of control performances are set in advance in a one-to-one correspondence according to a plurality of combinations of priorities for each of the plurality of control performances. The determination unit (112) determines a weighting factor for each of the plurality of control performances by acquiring, from the plurality of combinations of weighting factors for each of the plurality of control performances, a combination of weighting factors for each of the plurality of control performances that corresponds to the combination of priorities for each of the plurality of control performances set by the priority setting unit (111).

[0177] According to this aspect, by using a plurality of combinations of weighting factors for each of a plurality of control performances that are set in advance, it is possible to easily determine the weighting factor to be used for predictive control for controlling the movement of the control object (2).

[0178] In the control system (1) of the third aspect, in the first aspect, the determination unit (112) determines a weighting coefficient for each of the plurality of control performances by calculating a weighting coefficient for each of the plurality of control performances based on the priority for each of the plurality of control performances.

[0179] According to this embodiment, it is possible to easily determine the weighting coefficients used in predictive control for controlling the movement of the controlled object (2).

[0180] In the control system (1) of the fourth aspect, in any of the first to third aspects, the plurality of control performances include at least two of a reduction in trajectory error when controlling the movement of the control object (2), an improvement in the movement speed, and an improvement in the acceleration during movement.

[0181] According to this aspect, it is possible to easily determine weighting coefficients for at least two of the control performances of reducing trajectory error when controlling the movement of the control object (2), improving the movement speed, and improving the acceleration during movement.

[0182] The control system (1) of a fifth aspect is the control system (1) of any one of the first to fourth aspects, further comprising a predictive control unit (113). The predictive control unit (113) performs model predictive control processing as predictive control using weighting coefficients for each of the plurality of control performances determined by the determination unit (112).

[0183] According to this aspect, it is possible to perform model predictive control processing using the weighting coefficients for each of the plurality of control performances that have been determined.

[0184] In the control system (1) of the sixth aspect, in the fifth aspect, the determination unit (112) changes the weighting coefficients for each of the plurality of control performances when it is determined that control of the control target (2) is impossible in the model predictive control processing in the predictive control unit (113).

[0185] According to this embodiment, it is possible to determine an appropriate weighting coefficient that enables control of the movement of the control object (2).

[0186] The control system (1) of a seventh aspect is the fifth aspect, further comprising a target value setting unit (115). The target value setting unit (115) sets a target value for at least one of the plurality of control performances. The determination unit (112) changes a weighting coefficient for each of the plurality of control performances when a numerical value of the at least one control performance, for which a target value has been set in a model predictive control process by the predictive control unit (113), exceeds the target value.

[0187] According to this embodiment, the weighting coefficient can be determined according to the target value.

[0188] The control system (1) of an eighth aspect is any one of the first to seventh aspects, further including a display processing unit (114). The display processing unit (114) displays, on the display unit (12), a priority setting screen (G1) representing a section (C1) including a plurality of control sections (C2, C3) in which movement control of a control object (2) is performed. The priority setting unit (111) accepts, via the operation unit (11), an input regarding the priority of each of a plurality of control performances for each of the plurality of control sections (C2, C3). The priority setting unit (111) sets priorities for the plurality of control performances for each control section (C2, C3) for the control object (2) based on the corresponding input.

[0189] According to this embodiment, the weighting coefficient can be easily determined for each control section (C2, C3).

[0190] The control system (1) of a ninth aspect is any one of the first to eighth aspects, further including a display processing unit (114). The display processing unit (114) displays a priority setting screen (G4) representing a section (C11) in which movement control of a control object (2) is performed on the display unit (12). The priority setting unit (111) accepts, via the operation unit (11), input regarding the priority of each of a plurality of control performances for a designated control section (e.g., control section C13) that is part of the section (C11) and is included in an area (e.g., circle R43) designated by a user. The designated control section and non-designated control sections (e.g., control sections C12, C14) are the remaining sections of the section (C11) excluding the designated control section. The priority setting unit (111) sets priorities for the plurality of control performances for each of the designated control section and the non-designated control section based on the corresponding input.

[0191] According to this aspect, it is possible to easily set priorities between control sections designated by the user (designated control sections) and control sections not designated by the user (non-designated control sections).

[0192] A tenth aspect of the control system (1) is the first to ninth aspects, further comprising a display processing unit (114) and a receiving unit (e.g., a control unit 14, 14A). The display processing unit (114) displays a priority setting screen including a first priority input area (R51) and a second priority input area (R52) on the display unit (12). The first priority input area (R51) is an area where first set information, which is a combination of priorities of multiple control performances, is input. The second priority input area (R52) is an area where second set information, which is a combination of multiple control performances, and conditions related to the shape of a trajectory to which the second set information is applied as the priorities of the multiple control performances are input. The receiving unit receives input of the first set information in the first priority input area via the operation unit (11), and receives input of the second set information and conditions in the second priority input area via the operation unit (11). The priority setting unit (111) applies first set information to a first control section (e.g., control sections C22, C24) that is a control section included in a section (C21) where movement control of the control object (2) is performed and that does not satisfy a condition, thereby setting a priority for each of the multiple control performances in the first control section. The priority setting unit (111) applies second set information to a second control section (e.g., control section C23) that is a control section included in a section where movement control of the control object (2) is performed and that satisfies a condition, thereby setting a priority for each of the multiple control performances in the second control section.

[0193] According to this embodiment, it is possible to easily set priorities between a control section (first control section) that does not satisfy the condition and a control section (second control section) that satisfies the condition.

[0194] The control system (1) of an eleventh aspect is the control system (1) of any one of the first to tenth aspects, further including a display processing unit (114). The display processing unit (114) causes the display unit (12) to display a result of simulating the trajectory of the control target (2) when each weighting coefficient of the plurality of control performances determined by the determination unit (112) is applied.

[0195] According to this embodiment, the user can know the results of a simulation performed according to weighting factors based on the set priorities, thereby enabling the user to determine whether the set priorities are appropriate.

[0196] The control method of the twelfth aspect includes a priority setting step and a determination step. In the priority setting step, priorities are set for a plurality of control performances that are different from one another and that are related to movement control of the control object (2). In the determination step, a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object (2) is determined based on the priority for each of the plurality of control performances.

[0197] According to this embodiment, it is possible to easily determine the weighting coefficients used in predictive control for controlling the movement of the controlled object (2).

[0198] A program according to a thirteenth aspect is a program for causing one or more processors to execute the control method according to the twelfth aspect.

[0199] According to this embodiment, it is possible to easily determine the weighting coefficients used in predictive control for controlling the movement of the controlled object (2).

[0200] According to the control system, control method, and program of the present disclosure, it is possible to easily determine weighting coefficients used in predictive control for controlling the movement of a control target such as a processing device, a coating device, etc. In this way, the control system, control method, and program of the present disclosure are industrially useful.

[0201] REFERENCE SIGNS LIST 1 control system 2 controlled object 10, 10A control device 11 operation unit 12 display unit 111 priority setting unit 112 determination unit 113 prediction control unit 115 target value setting unit C1, C11, C21 interval C2, C3, C12, C13, C14, C22, C23, C24 control interval G1, G2, G3, G4, G5, G6 priority setting screen R43 circle R51 first priority input area R52 second priority input area

Claims

1. A control system comprising: a priority setting unit that sets priorities for a plurality of control performances that are different from each other and related to movement control of a control object; and a determination unit that determines a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object based on the priority for each of the plurality of control performances.

2. The control system of claim 1, wherein a plurality of combinations of weighting factors for each of the plurality of control performances are set in advance in a one-to-one correspondence according to a plurality of combinations of priorities for each of the plurality of control performances, and the determination unit determines the weighting factor for each of the plurality of control performances by obtaining, from the plurality of combinations of weighting factors for each of the plurality of control performances, the combination of weighting factors for each of the plurality of control performances that corresponds to the combination of priorities for each of the plurality of control performances set by the priority setting unit.

3. The control system according to claim 1, wherein the determination unit determines the weighting coefficient for each of the plurality of control performances by calculating the weighting coefficient for each of the plurality of control performances based on the priority for each of the plurality of control performances.

4. A control system according to any one of claims 1 to 3, wherein the plurality of control performances include at least two of reducing trajectory error when controlling the movement of the controlled object, improving movement speed, and improving acceleration during movement.

5. The control system according to any one of claims 1 to 4, further comprising a predictive control unit that performs model predictive control processing as the predictive control using the weighting coefficients for each of the plurality of control performances determined by the determination unit.

6. The control system according to claim 5, wherein the determination unit changes the weighting coefficient for each of the plurality of control performances when it is determined that control of the control object is impossible in the model predictive control processing in the predictive control unit.

7. The control system of claim 5, further comprising a target value setting unit that sets a target value for at least one of the plurality of control performances, wherein the determination unit changes the weighting coefficient for each of the plurality of control performances when the numerical value of the at least one control performance for which the target value has been set in the model predictive control processing by the predictive control unit exceeds the target value.

8. A control system as described in any one of claims 1 to 7, further comprising a display processing unit, wherein the display processing unit displays a priority setting screen on the display unit, the priority setting screen representing a section including a plurality of control sections and in which movement control of the control object is performed, and the priority setting unit receives input regarding the priority of each of the plurality of control performances for each of the plurality of control sections via an operation unit, and sets the priority for the plurality of control performances for each control section for the control object based on the corresponding input.

9. A control system as described in any one of claims 1 to 8, further comprising a display processing unit, wherein the display processing unit displays a priority setting screen on the display unit indicating a section in which movement control of the control object is performed, and the priority setting unit receives input regarding the priority of each of the plurality of control performances for a designated control section that is a part of the section included in an area designated by a user and that includes a part of the section, and for a non-designated control section that is the remaining section of the section excluding the designated control section, via an operation unit, and sets the priority for the plurality of control performances for each of the designated control section and the non-designated control section based on the corresponding input.

10. A device further comprising a display processing unit and a receiving unit, wherein the display processing unit displays a priority setting screen including a first priority input area and a second priority input area on the display unit, the first priority input area being an area where first set information which is a combination of the priorities of the plurality of control performances is input, the second priority input area being an area where second set information which is a combination of the plurality of control performances and conditions related to the shape of a trajectory to which the second set information is applied as the priority of the plurality of control performances are input, the receiving unit receiving input of the first set information in the first priority input area via an operation unit, and receiving input of the second set information and the conditions in the second priority input area via the operation unit, the priority setting unit setting the priority of each of the plurality of control performances in the first control section by applying the first set information to a first control section which is a control section included in a section where movement control of the control object is performed and which does not satisfy the conditions, The control system according to any one of claims 1 to 9, wherein the priority of each of the plurality of control performances in the second control section is set by applying the second set information to a second control section that is a control section included in a section in which movement control of the control object is performed and that satisfies the condition.

11. A control system according to any one of claims 1 to 10, further comprising a display processing unit, which causes the display unit to display the results of a simulation of the trajectory of the controlled object when the weighting coefficients for each of the multiple control performances determined by the determination unit are applied.

12. A control method comprising: a priority setting step of setting priorities for a plurality of control performances that are different from each other in type and that are related to movement control of a control object; and a determination step of determining a weighting coefficient for each of the plurality of control performances to be used for predictive control of the movement of the control object based on the priority for each of the plurality of control performances.

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

Citation Information

Patent Citations

  • Working machine

    JP1999149317A

  • Control input determination means of control object

    JP2010134863A

  • Systems and methods for superior performance with respect to peak performance values ​​in model predictive control applications

    JP2018516413A

  • Trajectory measurement device, numerical control device, and trajectory measurement method

    WO2015083275A1