Control system, control method, and program

The control system iteratively optimizes and modifies reference data to enhance control precision and adherence to constraints, addressing discrepancies in weighting coefficient values and improving control accuracy.

JP2026014297APending Publication Date: 2026-01-29PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024115297
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-18
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing control systems face challenges in achieving desired control of controlled objects due to discrepancies in weighting coefficient values, leading to suboptimal control outcomes.

Method used

A control system that includes an acquisition unit, a generation unit, and a modification unit, which iteratively optimizes and modifies reference data to ensure alignment with initial data, enhancing the likelihood of satisfying constraint conditions.

Benefits of technology

The iterative process increases the possibility of achieving precise control by reducing discrepancies between generated data and initial reference data, thereby improving control accuracy and adherence to specified constraints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026014297000001_ABST
    Figure 2026014297000001_ABST
Patent Text Reader

Abstract

An object of the present disclosure is to increase a possibility that desired control can be realized for a control target.SOLUTION: The control system 1 includes an acquisition unit 21, a generation unit 22, and a change unit 23. The generator 22 performs a generation process of generating the k-th generated data obtained by optimizing the k-th reference data for the natural number k. The changer 23 performs a changing process of generating (k + 1) th reference data by changing the kth generated data such that the kth generated data is superimposed on the first reference data for the natural number k. The generating section 22 repeats the generation process twice or more while incrementing the value of the natural number k by 1 until the termination condition is satisfied.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[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 that perform optimization calculations. [Background technology]

[0002] The information processing device described in Patent Document 1 searches for solutions of a first objective function, a second objective function, and a third objective function, each having a different weighting coefficient value. The information processing device compares the differences in the weighting coefficient values, exchanges the solution of the first objective function with the solution of the second objective function, and performs further searches. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-191945 Summary of the Invention [Problem to be solved by the invention]

[0004] The present disclosure aims to provide a control system, a control method, and a program that can increase the possibility of achieving desired control of a controlled object. [Means for solving the problem]

[0005] A control system according to one aspect of the present disclosure includes an acquisition unit, a generation unit, and a modification unit. The acquisition unit acquires first reference data. The first reference data represents a predetermined change in at least one of a control input for a control object and a state variable of the control object in response to a change in a predetermined parameter. The generation unit performs a generation process to generate k-th generation data by optimizing the k-th reference data for a natural number k. The modification unit performs a modification process to generate the k+1 reference data for the natural number k by modifying the k-th generation data so that the k-th generation data overlaps with the first reference data. The generation unit increases the value of the natural number k by 1 and repeats the generation process two or more times until a termination condition is satisfied.

[0006] A control method according to one embodiment of the present disclosure includes an acquisition process, a generation process, and a change process. In the acquisition process, first reference data is acquired. The first reference data represents a predetermined change in at least one of a control input for a control object and a state variable of the control object in response to a change in a predetermined parameter. In the generation process, k-th generation data is generated by optimizing k-th reference data for a natural number k. In the change process, the k+1 reference data is generated by changing the k-th generation data for the natural number k so that the k-th generation data overlaps with the first reference data. The generation process is repeated two or more times, with the value of the natural number k being incremented by 1, until a termination condition is met.

[0007] A program according to one aspect of the present disclosure is a program readable by a computer system, causing one or more processors of the computer system to execute the control method. [Effects of the Invention]

[0008] The present disclosure has an advantage of being able to increase the possibility of achieving desired control of a controlled object. [Brief explanation of the drawings]

[0009] [Figure 1]FIG. 1 is an explanatory diagram illustrating the configuration of a control system according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing the control of the control system. [Figure 3] FIG. 3 is a graph showing data processed by the control system. [Figure 4] FIG. 4 is a graph showing data processed by the control system. [Figure 5] FIG. 5 is a graph showing data processed by the control system. [Figure 6] FIG. 6 is a graph showing data processed by the control system. [Figure 7] FIG. 7 is a graph showing data processed by the control system. [Figure 8] FIG. 8 is a graph showing data processed by the control system. [Figure 9] FIG. 9 is a block diagram showing the control of the control system according to the first modification. [Figure 10] FIG. 10 is a block diagram showing the control of the control system according to the second modification. DETAILED DESCRIPTION OF THE INVENTION

[0010] (Embodiment) A control system 1, a control method, and a program according to an embodiment will be described below with reference to the drawings. However, the embodiment described below is merely one of various embodiments of the present disclosure. The embodiment described below can be modified in various ways depending on the design, etc., as long as the object of the present disclosure can be achieved.

[0011] (overview) The control system 1 of this embodiment has a function of controlling the controlled object 3. By controlling the controlled object 3, the control system 1 causes the controlled object 3 to manufacture a product, for example.

[0012] As shown in FIG. 1 , the control target 3 includes, for example, two servo amplifiers 31, two servo motors 32 corresponding one-to-one to the two servo amplifiers 31, and a load 33. The load 33 includes, for example, a stage holding a workpiece. When the control system 1 inputs control parameters (at least one of a control input and a state variable) to each servo amplifier 31, each servo amplifier 31 controls the corresponding servo motor 32 based on the control parameters. Each servo motor 32 drives the load 33 according to the control of the corresponding servo amplifier 31. For example, the two servo motors 32 move the stage of the load 33 vertically and horizontally. In this embodiment, the stage is a two-axis stage (processing 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" for horizontal movement and a "Y axis" for vertical movement. The two-axis stage positions a workpiece on the stage for, for example, a processing machine (such as a laser processing machine, a cutting machine, or a coating device) separate from the two-axis stage. A set of one of the two servo amplifiers 31 and a servo amplifier 32 corresponding to this one servo amplifier 31 corresponds to the X-axis, and a set of the remaining one of the two servo amplifiers 31 and a servo amplifier 32 corresponding to this remaining one servo amplifier 31 corresponds to the Y-axis.

[0013] As shown in FIG. 1, the control system 1 includes an acquisition unit 21, a generation unit 22, and a modification unit 23. The acquisition unit 21 acquires first reference data. The first reference data represents a predetermined change in at least one of a control input to the controlled object 3 and a state variable of the controlled object 3 in response to a change in a predetermined parameter. The generation unit 22 performs a generation process to generate k-th generation data by optimizing the k-th reference data for the natural number k (see FIG. 2). The modification unit 23 performs a modification process to generate k+1-th reference data by modifying the k-th generation data for the natural number k so that the k-th generation data overlaps with the first reference data (see FIG. 2). Until a termination condition is satisfied, the generation unit 22 increases the value of the natural number k by 1 and repeats the generation process two or more times.

[0014] More specifically, after the generation process, it is preferable that the change unit 23 performs the change process (only) if the termination condition is not satisfied. In this case, if the number of times the generation process is repeated is N, the number of times the change process is repeated is N-1. Finally, the control system 1 outputs the Nth generated data. The controlled object 3 is controlled based on the Nth generated data.

[0015] According to the above configuration, since the generation process is repeated two or more times, the difference between the k-th generated data (i.e., the N-th generated data) corresponding to the value of the natural number k when the termination condition is satisfied and the first reference data can be made smaller compared to when the generation process is performed only once. Therefore, for example, there is an advantage that the N-th generated data is more likely to satisfy the constraint condition. In this way, the above configuration has an advantage that there is an increased possibility that desired control of the control target 3 can be achieved. For example, when moving a movable part (stage) of the control target 3 based on the N-th generated data, there is an increased possibility that movement control of the movable part can be achieved such that the error between the trajectory of the movable part and the trajectory represented by the first reference data is kept within the range specified by the constraint condition.

[0016] Furthermore, functions similar to those of the control system 1 can be realized by a control method. The control method of this embodiment includes an acquisition process, a generation process, and a change process. In the acquisition process, first reference data is acquired. The first reference data represents a predetermined change in at least one of a control input to the controlled object 3 and a state variable of the controlled object 3 in response to a change in a predetermined parameter. In the generation process, k-th generation data is generated by optimizing the k-th reference data for the natural number k. In the change process, k+1-th reference data is generated by changing the k-th generation data for the natural number k so that the k-th generation data overlaps with the first reference data. The generation process is repeated two or more times, incrementing the value of the natural number k by one, until a termination condition is met.

[0017] The control method can be realized as a program. The program of this embodiment is a program readable by a computer system and causes one or more processors of the computer system to execute the control method. The program may be recorded on a non-transitory recording medium readable by the computer system.

[0018] (detail) (1) Overall structure The control system 1 and the configuration related to the control system 1 will be described in more detail below.

[0019] As shown in FIG. 1, a control system 1 is used together with a control target 3 and an operation terminal 4, for example.

[0020] In this embodiment, as described above, the control target 3 will be described as including two servo amplifiers 31, two servo motors 32, and a load 33. The load 33 (stage) is driven by the two servo motors 32 to move in the x-axis direction and the y-axis direction perpendicular to the x-axis direction.

[0021] (2) Control system As shown in FIG. 1, the control system 1 includes, for example, a processing unit 2, a storage unit 11, a communication unit 12, an input interface unit 13, and an output interface unit 14.

[0022] The control system 1 includes a computer system having one or more processors and a memory. At least some of the functions of the control system 1 are realized by the processor of the computer system executing a program recorded in the memory of the computer system. The program may be recorded in the memory, or may be provided via a telecommunications line such as the Internet, or may be provided by being recorded on a non-transitory recording medium (such as a memory card) that can be read by the computer system.

[0023] The storage unit 11 includes a memory of the computer system. The processing unit 2 includes one or more processors of the computer system. The processing unit 2 executes a program to realize a predetermined function.

[0024] The storage unit 11 is a storage device configured with a hard disk drive (HDD), a solid state drive (SSD), or the like. The storage unit 11 stores information. For example, the storage unit 11 stores setting parameters related to the generation process and the change process. Also, for example, the storage unit 11 stores an end condition, which is a condition for ending the repetition of the generation process and the change process.

[0025] The communication unit 12 includes a communication interface device. The control system 1 is capable of communicating with external devices such as the controlled object 3 and the operation terminal 4 via the communication unit 12. In the present disclosure, "capable of communication" means that signals can be exchanged directly or indirectly via a network or a repeater, using an appropriate communication method such as wired communication or wireless communication.

[0026] The input interface unit 13 accepts user input. For example, the input interface unit 13 accepts manual input operations. For example, the input interface unit 13 has at least one of a button, a key switch, a touch panel, and a touch panel display that accepts manual input operations.

[0027] Alternatively, the input interface unit 13 may accept a voice operation. The input interface unit 13 has, for example, a microphone that accepts a voice operation.

[0028] The input interface unit 13 receives user input for setting, for example, at least one of the maximum number of iterations of the generation process and a termination condition. When the number of iterations of the generation process reaches the maximum number of iterations, the generation unit 22 terminates the repetition of the generation process. Furthermore, when the termination condition is satisfied, the generation unit 22 terminates the repetition of the generation process. Note that the maximum number of iterations of the generation process may be included in the termination condition.

[0029] The output interface unit 14 outputs information to the user. The output interface unit 14 includes, for example, a display that displays information. The information output by the output interface unit 14 includes, for example, the Nth generated data generated by the generation unit 22, a notification of the progress of processing, and an error notification. The output interface unit 14 may also include a speaker that notifies the user of information by voice.

[0030] The processing unit 2 has an acquisition unit 21, a generation unit 22, a change unit 23, and an output unit 24. However, the acquisition unit 21, the generation unit 22, the change unit 23, and the output unit 24 merely indicate functions realized by the processing unit 2, and do not necessarily indicate actual configurations.

[0031] The acquisition unit 21 acquires the first reference data. More specifically, the acquisition unit 21 acquires, for example, the first reference data stored in the storage unit 11 from the storage unit 11. Alternatively, the acquisition unit 21 acquires, for example, the first reference data transmitted from an external device such as the operation terminal 4 or a non-transitory recording medium via the communication unit 12.

[0032] The first reference data represents a predetermined change in at least one of a control input to the controlled object 3 and a state variable of the controlled object 3 in response to a change in a predetermined parameter. The predetermined parameter is, for example, time or a moving distance of the load 33 of the controlled object 3. The control input to the controlled object 3 includes, for example, an acceleration of the load 33 in the x-axis direction and an acceleration of the load 33 in the y-axis direction. The state variable of the controlled object 3 includes, for example, an x-coordinate of the load 33, a y-coordinate of the load 33, a velocity of the load 33 in the x-axis direction, and a velocity of the load 33 in the y-axis direction.

[0033] An example of the first reference data is shown in Fig. 3. The first reference data in Fig. 3 represents a predetermined change in the x-coordinate and the y-coordinate of the load 33 over time. The multiple points shown in Fig. 3 represent the x- and y-coordinates of the load 33 at each of multiple time points. For example, r(t1), r(t2), r(t3), and r(t4) represent the x- and y-coordinates of the load 33 at time points t1, t2, t3, and t4, respectively.

[0034] In this way, the first reference data in Fig. 3 represents the trajectory of the load 33. More specifically, the first reference data in Fig. 3 represents a trajectory in which the load 33 moves with a positive velocity in the x-axis direction and a zero velocity in the y-axis direction for a while from time t1, and then the velocity in the y-axis direction changes to a positive value.

[0035] The first reference data may be created by a person or a computer system.

[0036] Like the first reference data, the second, third, ..., Nth reference data also include parameters (coordinates, speed, etc.) related to the trajectory of the controlled object 3 (load 33). That is, the kth reference data includes parameters related to the trajectory of the controlled object 3. The kth generated data also includes parameters related to the trajectory of the controlled object 3. That is, the parameters included in the kth reference data and the parameters included in the kth generated data are common.

[0037] The generation unit 22 performs a generation process to generate the k-th generated data by optimizing the k-th reference data. An example of the first generated data and the first reference data is shown in Fig. 4. The first generated data is shown as a black circle, and the first reference data is shown as a white circle.

[0038] The generation unit 22 performs the generation process by a model predictive control (MPC) technique. More specifically, the generation unit 22 performs the generation process by a model predictive contouring control (MPCC) technique, which is a type of model predictive control.

[0039] As described above, the generation unit 22 performs the generation process using the MPC method. Therefore, the generation unit 22 optimizes the reference data to calculate predicted values ​​(Nth generated data) of the state variables of the controlled object 3 for the period from the current time to a future time using an internal model of the controlled object 3. At time t, the control system 1 generates Nth generated data representing the state variables for the period from time t to time t+H. Furthermore, at the next time t+Δt, the control system 1 generates Nth generated data representing the state variables for the period from time t+Δt to time t+Δt+H. In this way, the control system 1 generates Nth generated data every time Δt.

[0040] The generation unit 22 generates k-th generated data by optimizing the k-th reference data using an optimization algorithm based on constraints. The constraints include a requirement that the k-th reference data be within a certain range. The range specified by the constraints is, for example, a range within which the distance from the trajectory represented by the first reference data (approximation function L of the first reference data) is within a predetermined distance.

[0041] In Figure 4, the constraints are represented by two dashed dotted lines. If certain data is within the range between the two dashed dotted lines, the certain data satisfies the constraints. As shown in Figure 4, the first reference data satisfies the constraints. For example, the generation unit 22 generates the k-th generation data by optimizing the k-th reference data using an optimization algorithm so that the k-th generation data falls within the range between the two dashed dotted lines.

[0042] As described above, generation unit 22 performs the generation process using the MPCC method. Therefore, generation unit 22 generates the k-th generated data based on an approximation error, which is the distance of the k-th reference data from the approximation function L of the first reference data. Specifically, generation unit 22 determines whether the k-th generated data satisfies the constraint condition based on the approximation error, and generates the k-th generated data that satisfies the constraint condition.

[0043] 8 shows an example of the kth reference data R, the kth generated data G, the true errors e1 and e2, and the approximate errors e3 and e4. Coordinate r1 is a point on the kth reference data R, and coordinate g1 is a point on the kth generated data G, and the coordinates r1 and g1 are coincident in time.

[0044] The true errors e1 and e2 and the approximate errors e3 and e4 represent the difference between the coordinate r1 and the coordinate g1.

[0045] The true error e1 and the approximate error e3 are errors in the direction of travel of the load 33. The true error e2 and the approximate error e4 are errors in a direction perpendicular to the direction of travel of the load 33.

[0046] The true errors e1 and e2 are different from the approximated errors e3 and e4. In Figure 8, the true error e2 is about twice as large as the approximated error e4.

[0047] When the k-th reference data R and the k-th generated data G differ significantly, as shown in FIG. 8, the difference between the true error and the approximation error becomes large. Due to the difference between the true error and the approximation error, MPCC may generate the k-th generated data G that does not satisfy the constraint conditions. In FIG. 4, the first generated data (represented by a black circle) also deviates from the constraint conditions in the range between the two dashed dotted lines. In other words, when determining whether the k-th generated data satisfies the constraint conditions based on the approximation error, the k-th generated data satisfies the constraint conditions, but when determining whether the k-th generated data satisfies the constraint conditions based on the true error, the k-th generated data may not satisfy the constraint conditions.

[0048] Therefore, the control system 1 of the present disclosure repeats the generation process two or more times to increase the possibility that the Nth generation data that is finally output will satisfy the constraint conditions. A change process is performed between one generation process and the next generation process.

[0049] 5 shows an example of first generated data and second reference data generated by performing a modification process on the first generated data. The first generated data is shown as a black circle, and the second reference data is shown as a white circle.

[0050] The change unit 23 calculates an approximation function L of the first reference data. The approximation function L has the movement distance from the starting point as a parameter. The approximation function L does not have time as a parameter.

[0051] The change unit 23 sets the data obtained by projecting the first generated data onto the approximation function L as second reference data.

[0052] Focusing on the coordinates of any one of the multiple time points included in the first generated data, this time point is called the target time point, and these coordinates are called the target coordinates. The change unit 23 calculates the movement distance of the load 33 from a reference point (hereinafter referred to as the starting point) of the movement of the load 33 to the target coordinates. The change unit 23 sets the coordinates obtained by substituting the movement distance from the starting point to the target coordinates into the approximation function L as the value (coordinate) of the second reference data at the target time point. The process of substituting the movement distance into the approximation function L corresponds to the above-mentioned "projection."

[0053] For example, in the first generated data, the coordinate of the load 33 when the time is time t10 and the movement distance from the starting point is s1 is expressed as r(s1, t10). In this case, the coordinate L(s1, t10) obtained by substituting the movement distance s1 into the approximation function L is data (part of the second reference data) in which the coordinate r(s1, t10) is projected onto the approximation function L. In the second reference data, the coordinate at time t10 is the coordinate L(s1, t10).

[0054] Similarly, in the first generated data, the coordinate of the load 33 when the time is time t11 and the movement distance from the starting point is s2 is represented by r(s2, t11). In this case, the coordinate L(s2, t11) obtained by substituting the movement distance s2 into the approximation function L is data (part of the second reference data) in which the coordinate r(s2, t11) is projected onto the approximation function L. In the second reference data, the coordinate at time t11 is the coordinate L(s2, t11).

[0055] The process of generating second reference data by projecting first generated data onto the approximation function L of the first reference data has been described above. The process of generating k+1-th reference data by projecting k-th generated data onto the approximation function L of the first reference data is similar to the process described above. That is, focusing on the coordinates of any one of the multiple time points included in the k-th generated data, this time point is referred to as the target time point, and these coordinates are referred to as target coordinates. The change unit 23 assigns the coordinates obtained by substituting the travel distance from the starting point to the target coordinates into the approximation function L as the value (coordinate) of the k+1-th reference data at the target time point.

[0056] 6 shows an example of the second reference data and the second generated data generated by the generation process based on the second reference data. The second reference data is shown as a white circle, and the second generated data is shown as a black circle.

[0057] 7 shows an example of the second generated data and the first reference data. The second generated data is shown as a black circle, and the first reference data is shown as a white circle. As in FIG. 4, the constraints are represented by two dashed lines.

[0058] 7, the second generated data satisfies the constraint conditions. In this way, by performing the generation process twice, the control system 1 can generate second generated data that is more likely to satisfy the constraint conditions than the first generated data.

[0059] Furthermore, the control system 1 may perform the generation process three or more times.

[0060] The generation unit 22 repeats the generation process until the termination condition is satisfied. If the value of the number of repetitions k when the termination condition is satisfied is N, then the Nth generated data has been generated when the termination condition is satisfied.

[0061] In the control system 1, by generating predicted data (Nth generated data) of the trajectory of the controlled object 3 (load 33), the controlled object 3 can be quickly moved to the target position. Moreover, by performing the generation process multiple times, it is possible to generate predicted data (Nth generated data) that is highly likely to satisfy the constraint conditions.

[0062] As an example, the termination condition includes that the number of repetitions of the generation process reaches a predetermined number of times equal to or greater than 2. When the termination condition is that the number of repetitions of the generation process reaches a predetermined number of times equal to or greater than 2, the predetermined number is N. The predetermined number is, for example, 10 times.

[0063] For example, the termination condition includes that the k-th generation data satisfies a constraint condition for a certain natural number k. In other words, for example, the termination condition includes that the k-th generation data generated in the most recent generation process satisfies a constraint condition (being within the range between the two dashed dotted lines in FIG. 7).

[0064] For example, the termination condition may be that the computation time for the computation, including the generation process and the modification process, reaches a predetermined time. For example, the start point of the computation time is the start point of the generation process that generates the first generated data based on the first reference data. The predetermined time may be, for example, 3 milliseconds.

[0065] As an example, the termination condition includes a condition that, for a certain natural number k, the difference between the k-th generated data and the k-1-th generated data is within a predetermined range.

[0066] As an example, the termination condition includes that the k-th generated data satisfies a constraint on the approximation error for a certain natural number k. For example, the constraint on the approximation error includes that the average value of the approximation error calculated for the k-th generated data is equal to or less than a predetermined value.

[0067] For example, the termination condition may be that the number of repetitions of the generation process reaches a maximum number of repetitions or that another condition is satisfied. The maximum number of repetitions is set to, for example, the number of times a user inputs data to the input interface unit 13 of the control system 1 or the input interface unit 41 of the operation terminal 4.

[0068] As described above, the generation unit 22 generates the k-th generation data based on the approximation error, which is the distance of the k-th reference data from the approximation function L of the first reference data. More specifically, in the generation process, the generation unit 22 generates the k-th generation data that minimizes or maximizes a cost function that includes the approximation error as a variable. Whether to minimize or maximize the cost function is determined based on the sign of the weighting coefficient of the cost function and design requirements. For example, if there is a requirement to maximize the cost function as much as possible within the range of constraints, the cost function will be maximized.

[0069] Cost function J m (x m ,u m ) is expressed, for example, by the following formula (1):

[0070]

number

[0071] In equation (1), x is a state variable, u is a control input, and Q, R, S, fx, and fu are weighting coefficients. The state variable, control input, and weighting coefficients are vector quantities. The approximation error is included in the state variable, for example.

[0072] In the generation process, the generation unit 22 generates the k-th generation data that minimizes or maximizes the cost function, for example, by quadratic programming.

[0073] The parameters of the cost function for a certain natural number k may be different from the parameters of the cost function for another natural number k. For example, the parameters of the cost function when k=1 may be different from the parameters of the cost function when k=2. The parameters of the cost function are, for example, weighting coefficients. The parameters of the cost function when k=1, the parameters of the cost function when k=2, ..., the parameters of the cost function when k=N may be different from each other, or only the parameters of the cost function when k is some values ​​may be different from the parameters of the cost function when k is other values.

[0074] In the generation process, the generation unit 22 generates k-th generation data by optimizing the k-th reference data using the k-th optimization algorithm. Here, it is preferable that the k-th optimization algorithm is the same for all natural numbers k. In other words, it is preferable to use a common optimization algorithm when generating the first, second, third, ..., N-th generation data. This simplifies the process.

[0075] In the generation process, the generation unit 22 generates the kth generation data by optimizing the kth reference data based on the kth constraint. Here, it is preferable that the kth constraint is the same for all natural numbers k. In other words, it is preferable to use a common constraint when generating the first, second, third, ..., Nth generation data. This simplifies the process.

[0076] The output unit 24 outputs information related to the generation process. The output unit 24 displays the information related to the generation process or outputs it as sound, for example, via the output interface unit 14. Alternatively, the output unit 24 transmits the information related to the generation process to an external device, for example, via the communication unit 12. Alternatively, the output unit 24 outputs the information related to the generation process to the storage unit 11, for example, to store it in the storage unit 11.

[0077] The information about the generation process includes, for example, the Nth generation data. The information about the generation process may also include, for example, information about the progress of the process, error information, and the like.

[0078] (3) Operation terminal The operation terminal 4 is, for example, a personal computer, an industrial computer, a tablet computer, or a remote controller.

[0079] As shown in FIG. 1, the operation terminal 4 includes an input interface unit 41 and a communication unit .

[0080] The input interface unit 41 accepts user input. For example, the input interface unit 41 accepts manual input operations. For example, the input interface unit 41 has at least one of a button, a key switch, a touch panel, and a touch panel display that accepts manual input operations.

[0081] Alternatively, the input interface unit 41 may accept voice operations. The input interface unit 41 has, for example, a microphone that accepts voice operations.

[0082] The input interface unit 41 receives user input for setting at least one of the maximum number of iterations of the generation process and the termination condition, for example.

[0083] The communication unit 42 includes a communication interface device. The operation terminal 4 is capable of communicating with the control system 1 via the communication unit 42. Information input to the input interface unit 41 is transmitted to the control system 1 by the communication unit 42.

[0084] (Modification of the embodiment) Modifications of the embodiment are listed below. The following modifications may be implemented in appropriate combination. Hereinafter, the configuration of the above-described embodiment will be referred to as a basic example.

[0085] (Variation 1) The first modification will be described below with reference to FIG.

[0086] In this modification, if the generation unit 22 fails to optimize the kth reference data in the generation process, it changes the optimization conditions used to optimize the kth reference data, and changes the kth reference data according to the change in the optimization conditions.

[0087] Changing the optimization conditions includes, for example, increasing or decreasing the number of horizons. If A is a constant and B is the number of horizons, the generation unit 22 optimizes the k-th reference data at time t to generate the k-th generation data representing the state variables at each of times t, t+A, t+2A, t+3A, ..., t+B×A.

[0088] Furthermore, changing the optimization conditions includes, for example, relaxing the constraints. For example, if the constraints include that the k-th reference data must fall within a certain range, widening the certain range corresponds to relaxing the constraints.

[0089] Changing the k-th reference data involves deleting data from time t + (B2 + 1) × A to time t + B1 × A, for example, when reducing the number of horizons from B1 to B2. Conversely, when increasing the number of horizons from B2 to B1, reference data from time t + (B2 + 1) × A onward is generated, assuming that the velocity (vx, vy) at time t + B2 × A is maintained. For example, if the reference data is expressed as [x, y, vx, vy], the reference data at time t + B2 × A is [1, 1, 1, 0], the reference data at time t + (B2 + 1) × A is [1 + A, 1, 1, 0], the reference data at time t + (B2 + 2) × A is [1 + 2A, 1, 1, 0], and the reference data at time t + B1 × A is [1 + (B1 - B2)A, 1, 1, 0]. x, y, vx, and vy correspond to the x coordinate of the load 33, the y coordinate of the load 33, the velocity of the load 33 in the x-axis direction, and the velocity of the load 33 in the y-axis direction, respectively.

[0090] (Variation 2) The second modification will be described below with reference to FIG.

[0091] In this modification, in the generation process, the generation unit 22 differentiates the optimization conditions used to optimize the k-th reference data for a certain natural number k from the optimization conditions used to optimize the k-th reference data for another natural number k. The optimization conditions used for the first reference data, the second reference data, ..., the N-th reference data may be different, or only the optimization conditions used to optimize some of the reference data may be different from the optimization conditions used to optimize the other reference data.

[0092] As in Modification 1, changing the optimization conditions includes, for example, increasing or decreasing the number of horizons. Also, changing the optimization conditions includes, for example, relaxing the constraint conditions.

[0093] (Other Modifications of the Embodiments) Other variations of the embodiment are listed below.

[0094] In the basic example, the k-th reference data and the k-th generated data are data representing a two-dimensional trajectory of the controlled object 3 (load 33). In contrast, the k-th reference data and the k-th generated data may be data representing a one-dimensional trajectory or a three-dimensional trajectory of the controlled object 3 (load 33).

[0095] The k-th reference data and the k-th generated data are not limited to data representing the trajectory of the control object 3 (load 33). The k-th reference data and the k-th generated data may be data representing any controllable physical quantity, such as a predetermined electrical variable of the control object 3, speed, acceleration, angular velocity, angular acceleration, temperature, humidity, or brightness.

[0096] In the basic example, the modification unit 23 projects the k-th generated data onto the approximation function L to generate the k+1-th reference data by substituting the travel distance of the load 33 indicated in the k-th generated data into the approximation function L of the first reference data. However, the modification unit 23 may perform the projection using another method. For example, focusing on the coordinates of any one of the multiple time points included in the k-th generated data, this time point may be referred to as the target time point, and these coordinates may be referred to as the target coordinates. The modification unit 23 may drop a perpendicular line from the target coordinates onto the approximation function L, and set the coordinates of the foot of the perpendicular line as the value (coordinate) of the k+1-th reference data at the target time point.

[0097] In the basic example, the generating unit 22 generates the k-th generation data by quadratic programming. Alternatively, the generating unit 22 may generate the k-th generation data by, for example, experimental design.

[0098] The control system 1 may include an operation terminal 4.

[0099] The control system 1 or the control method according to the present disclosure includes a computer system. The computer system is primarily composed of a processor and memory as hardware. At least a portion of the functions of the control system 1 or the control method according to the present disclosure are realized by the processor executing a program stored in the memory of the computer system. The program may be pre-stored 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 and LSIs, are referred to by different names depending on the degree of integration, and include integrated circuits called system LSIs, very large-scale integrations (VLSIs), or ultra-large-scale integrations (ULSIs). Furthermore, field-programmable gate arrays (FPGAs), which are programmable after the LSI is manufactured, or logic devices that allow the reconfiguration of internal connections or circuit partitions within 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.

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

[0101] Conversely, in the basic example, multiple functions that are distributed across multiple housings may be consolidated into a single housing. For example, the control system 1 and the controlled object 3 may share at least a portion of their configuration.

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

[0103] A control system (1) according to a first aspect includes an acquisition unit (21), a generation unit (22), and a change unit (23). The acquisition unit (21) acquires first reference data. The first reference data represents a predetermined change in at least one of a control input for a control target (3) and a state variable of the control target (3) in response to a change in a predetermined parameter. The generation unit (22) performs a generation process to generate k-th generation data by optimizing the k-th reference data for the natural number k. The change unit (23) performs a change process to generate k+1-th reference data by changing the k-th generation data for the natural number k so that the k-th generation data overlaps with the first reference data. Until a termination condition is satisfied, the generation unit (22) increases the value of the natural number k by 1 and repeats the generation process two or more times.

[0104] According to the above configuration, since the generation process is repeated two or more times, the difference between the kth generated data corresponding to the value of the natural number k when the termination condition is satisfied and the first reference data can be reduced compared to when the generation process is performed only once. Therefore, for example, there is an advantage that the kth generated data is more likely to satisfy the constraint condition. In this way, the above configuration has an advantage that there is an increased possibility that the desired control of the control object (3) can be achieved.

[0105] In the control system (1) according to the second aspect, in the first aspect, the termination condition includes that the number of repetitions of the generation process reaches a predetermined number of times, which is equal to or greater than two.

[0106] According to the above configuration, the generation process can be repeated a predetermined number of times or more.

[0107] In the control system (1) according to the third aspect, in the first or second aspect, the termination condition includes that the k-th generated data satisfies a constraint condition for a certain natural number k.

[0108] According to the above configuration, it is possible to generate the kth generation data that satisfies the constraint conditions.

[0109] In addition, in the control system (1) according to a fourth aspect, in any one of the first to third aspects, the termination condition includes that the calculation time of the calculation including the generation process and the change process reaches a predetermined time.

[0110] According to the above configuration, the calculation time can be limited to within a predetermined time.

[0111] In addition, in the control system (1) according to a fifth aspect, in any one of the first to fourth aspects, the termination condition includes that, for a certain natural number k, the difference between the k-th generated data and the first reference data is within a predetermined range.

[0112] According to the above configuration, it is possible to generate the kth generated data whose difference from the first reference data is relatively small.

[0113] In addition, the control system (1) according to a sixth aspect is any one of the first to fifth aspects, and further includes an input interface unit (13; 41). The input interface unit (13; 41) receives a user input for setting at least one of the maximum number of iterations of the generation process and a termination condition.

[0114] According to the above configuration, the generation process can be controlled in accordance with the user's input.

[0115] In addition, in the control system (1) according to the seventh aspect, in any one of the first to sixth aspects, in the generation process, the generation unit (22) generates the kth generation data based on an approximation error, which is the distance of the kth reference data from the approximation function L of the first reference data.

[0116] According to the above configuration, the generation process can be performed using the MPCC method.

[0117] In addition, in the control system (1) according to the eighth aspect, in the seventh aspect, the generation unit (22) in the generation process generates the kth generation data that minimizes or maximizes a cost function that includes an approximation error as a variable.

[0118] According to the above configuration, it is possible to generate the kth generation data that satisfies a desired condition regarding the cost function.

[0119] In the control system (1) according to a ninth aspect, in the seventh or eighth aspect, the termination condition includes that the kth generation data satisfies a constraint on an approximation error for a certain natural number k.

[0120] According to the above configuration, it is possible to generate the kth generation data that satisfies the constraint conditions.

[0121] In addition, in the control system (1) according to a tenth aspect, in any one of the first to ninth aspects, in the generation process, the generation unit (22) generates k-th generation data by optimizing the k-th reference data using a k-th optimization algorithm. The k-th optimization algorithm is the same for all natural numbers k.

[0122] According to the above configuration, the processing can be simplified.

[0123] In addition, in the control system (1) according to an eleventh aspect, in any one of the first to tenth aspects, the generation unit (22) in the generation process generates k-th generation data by optimizing the k-th reference data based on the k-th constraint condition. The k-th constraint condition is the same for all natural numbers k.

[0124] According to the above configuration, the processing can be simplified.

[0125] In addition, in the control system (1) according to a twelfth aspect, in any one of the first to eleventh aspects, the generation unit (22) in the generation process generates the k-th generation data that minimizes or maximizes the cost function by quadratic programming.

[0126] According to the above configuration, it is possible to generate the kth generation data that satisfies a desired condition regarding the cost function.

[0127] In addition, in the control system (1) according to the thirteenth aspect, in the twelfth aspect, the parameters of the cost function for a certain natural number k are different from the parameters of the cost function for another natural number k.

[0128] According to the above configuration, a cost function according to the value of k can be used.

[0129] In addition, in the control system (1) according to the 14th aspect, in any one of the 1st to 13th aspects, in the generation process, if the generation unit (22) fails to optimize the kth reference data, it changes the optimization conditions used to optimize the kth reference data, and changes the kth reference data according to the change in the optimization conditions.

[0130] According to the above configuration, the optimization calculation can be retried.

[0131] In addition, in the control system (1) according to the 15th aspect, in any one of the first to fourteenth aspects, in the generation process, the generation unit (22) makes the optimization conditions used to optimize the kth reference data for a certain natural number k different from the optimization conditions used to optimize the kth reference data for another natural number k.

[0132] According to the above configuration, optimization conditions according to the value of k can be used.

[0133] In the control system (1) according to a sixteenth aspect, in any one of the first to fifteenth aspects, the k-th reference data includes a parameter relating to the trajectory of the controlled object (3).

[0134] According to the above configuration, the trajectory of the controlled object (3) can be controlled.

[0135] The configurations other than the first aspect are not essential for the control system (1) and can be omitted as appropriate.

[0136] Furthermore, a control method according to a seventeenth aspect includes an acquisition process, a generation process, and a change process. In the acquisition process, first reference data is acquired. The first reference data represents a predetermined change in at least one of a control input for the controlled object (3) and a state variable of the controlled object (3) in response to a change in a predetermined parameter. In the generation process, k-th generation data is generated by optimizing the k-th reference data for the natural number k. In the change process, k+1-th reference data is generated by changing the k-th generation data for the natural number k so that the k-th generation data overlaps with the first reference data. The generation process is repeated two or more times by incrementing the value of the natural number k by one until a termination condition is met.

[0137] The above configuration has the advantage of increasing the possibility of realizing desired control of the controlled object (3).

[0138] A program according to an eighteenth aspect is a program readable by a computer system, and is a program for causing one or more processors of the computer system to execute the control method according to the seventeenth aspect.

[0139] The above configuration has the advantage of increasing the possibility of realizing desired control of the controlled object (3).

[0140] Not limited to the above-described aspects, various configurations (including modified examples) of the control system (1) according to the embodiment can be embodied as a control method, a (computer) program, or a non-transitory recording medium on which a program is recorded. [Explanation of symbols]

[0141] 1. Control System 3. Control Objects 13;41 Input interface section 21 Acquisition Department 22 Generation part 23 Changes

Claims

1. an acquisition unit that acquires first reference data representing a predetermined change in at least one of a control input for a controlled object and a state variable of the controlled object in response to a change in a predetermined parameter; a generation unit that performs a generation process to generate k-th generation data by optimizing the k-th reference data for a natural number k; a modification unit that performs modification processing to generate the (k+1) reference data by modifying the k-th generation data so that the k-th generation data overlaps with the first reference data, for the natural number k; the generation unit repeats the generation process two or more times by incrementing the value of the natural number k by one until a termination condition is satisfied; Control system.

2. the termination condition includes that the number of repetitions of the generation process reaches a predetermined number of times that is equal to or greater than two; The control system of claim 1 .

3. the termination condition includes that the k-th generated data satisfies a constraint condition for a certain natural number k; The control system of claim 1 .

4. the termination condition includes that a calculation time of a calculation including the generation process and the change process reaches a predetermined time. The control system of claim 1 .

5. the termination condition includes that, for a certain natural number k, a difference between the k-th generated data and the first reference data is within a predetermined range; The control system of claim 1 .

6. an input interface unit that receives a user's input for setting at least one of the maximum number of iterations of the generation process and the termination condition; The control system of claim 1 .

7. In the generation process, the generation unit generates the kth generation data based on an approximation error, which is a distance of the kth reference data from an approximation function of the first reference data. The control system of claim 1 .

8. In the generation process, the generation unit generates the kth generation data that minimizes or maximizes a cost function that includes the approximation error as a variable. The control system of claim 7.

9. the termination condition includes that the k-th generation data satisfies a constraint on the approximation error for a certain natural number k. The control system of claim 7.

10. In the generation process, the generation unit generates the kth generated data by optimizing the kth reference data using a kth optimization algorithm; For all natural numbers k, the k optimization algorithm is the same algorithm. The control system of claim 1 .

11. In the generation process, the generation unit generates the kth generated data by optimizing the kth reference data based on a kth constraint condition; For all the natural numbers k, the k constraint is the same condition. The control system of claim 1 .

12. In the generation process, the generation unit generates the kth generation data that minimizes or maximizes a cost function by quadratic programming. The control system of claim 1 .

13. the parameters of the cost function for one natural number k are different from the parameters of the cost function for another natural number k; 13. The control system of claim 12.

14. If optimization of the kth reference data fails in the generation process, the generation unit changes an optimization condition used for optimizing the kth reference data, and changes the kth reference data in accordance with the change of the optimization condition. The control system of claim 1 .

15. In the generation process, the generation unit differentiates an optimization condition used to optimize the k-th reference data for a certain natural number k from an optimization condition used to optimize the k-th reference data for another natural number k. The control system of claim 1 .

16. the kth reference data includes parameters related to a trajectory of the control object; The control system of claim 1 .

17. an acquisition process for acquiring first reference data representing a predetermined change in at least one of a control input for a controlled object and a state variable of the controlled object in response to a change in a predetermined parameter; a generation process for generating k-th generation data by optimizing the k-th reference data for a natural number k; a modification process for modifying the k-th generation data so that the k-th generation data overlaps with the first reference data, for the natural number k, to generate the k+1-th reference data; repeating the generation process two or more times by increasing the value of the natural number k by one until a termination condition is met; Control method.

18. A computer system readable program, 18. A method for causing one or more processors of the computer system to execute the control method of claim 17, program.

Citation Information

Patent Citations

  • Information processing device, information processing method and information processing program

    JP2022191945A