Control method, program, and control system
Patent Information
- Application Number
- CN202580018676.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-13
- Filing Date
- 2025-03-10
- Publication Date
- 2026-09-29
AI Technical Summary
计算时间的这种变化有可能导致无法确保足够的控制精度
Smart Images

Figure CN122847684A_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to control methods, procedures, and control systems, and more particularly to control methods, procedures, and control systems applied to the control trajectory of a controlled object. Background Technology
[0002] Patent Document 1 discloses a technique applicable to a mobile body control method for controlling the movement of a mobile body, such as an autonomous robotic vacuum cleaner (i.e., a so-called "robotic vacuum cleaner"), using model predictive control technology, so that the mobile body travels along a target path with high precision and efficiency. According to this mobile body control method, at one control timing, the first of a group of control commands belonging to a future control input set arranged along a time sequence, obtained by solving an optimization problem, is input to the mobile body. At the next control timing, the actual state of the mobile body is acquired from sensors to solve the optimization problem again, thereby inputting a control command to the mobile body that corrects for deviations between the actual travel path and the target path. Existing technical documents Patent documents
[0003] Patent Document 1: WO 2022 / 044470 A1 Summary of the Invention
[0004] When using model predictive control, the prediction calculation time may vary over time during the model predictive control process. This variation in calculation time may result in insufficient control accuracy.
[0005] In view of the foregoing background, the purpose of this disclosure is to provide a control method, procedure, and control system, all of which allow for a reduction in the possibility of decreased control accuracy due to variations in computation time during model predictive control.
[0006] The control method according to one aspect of this disclosure includes a generation step, an accumulation step, and a control input step. The generation step includes generating multiple predictive elements for the control trajectory of a controlled object using model predictive control. The multiple predictive elements are predicted using various time points as references. The accumulation step includes accumulating the generated multiple predictive elements. The control input step includes controlling the controlled object by applying control inputs while the multiple predictive elements to be predicted using a time point later than a certain time point as a reference are being generated in the generation step. The control inputs are based on two or more predictive elements belonging to the multiple predictive elements already generated and accumulated using the certain time point as a reference.
[0007] The control method according to another aspect of this disclosure includes a generation step, an accumulation step, and a control input step. The generation step includes generating multiple predictive elements for the control trajectory of a controlled object using model predictive control. The multiple predictive elements are predicted using various time points as references. The accumulation step includes accumulating the multiple predictive elements thus generated. The control input step includes controlling the controlled object by applying control inputs based on the generation time of the multiple predictive elements being generated, while the multiple predictive elements to be predicted using a time point later than a certain time point are being generated in the generation step. The control inputs are based on one or more predictive elements belonging to the multiple predictive elements already generated and accumulated using the certain time point as a reference.
[0008] The program according to another aspect of this disclosure is designed to cause one or more processors to perform any of the above control methods.
[0009] According to another aspect of this disclosure, the control system includes a generation unit, an accumulation unit, and a control input unit. The generation unit generates multiple predictive elements for the control trajectory of a controlled object using model predictive control. The multiple predictive elements are predicted using various time points as references. The accumulation unit accumulates the multiple predictive elements thus generated. The control input unit controls the controlled object by applying control inputs while the generation unit is generating the multiple predictive elements to be predicted using a time point later than a certain time point as a reference. The control inputs are based on two or more predictive elements belonging to the multiple predictive elements already generated and accumulated using the certain time point as a reference.
[0010] According to another aspect of this disclosure, a control system includes a generation unit, an accumulation unit, and a control input unit. The generation unit generates multiple predictive elements for the control trajectory of a controlled object using model predictive control. These multiple predictive elements are predicted using various time points as references. The accumulation unit accumulates the multiple predictive elements generated thereby. While the generation unit is generating the multiple predictive elements to be predicted using a time point later than a certain time point as a reference, the control input unit controls the controlled object by applying control inputs based on the generation time of the multiple predictive elements being generated. The control inputs are based on one or more of the multiple predictive elements that have been generated and accumulated using the certain time point as a reference. Attached Figure Description
[0011] Figure 1 This is a block diagram illustrating the configuration of a motion controller and its peripheral devices, including a control system (trajectory generation system) according to a typical embodiment; Figure 2 This is a block diagram illustrating the configuration of the control system; Figure 3 This is a conceptual diagram illustrating how the system of the comparison example processes control commands, which is to be compared with the control system of this example. Figure 4 This is a graph showing the prediction time domain curves in the system based on the comparative example; Figure 5 This is a conceptual diagram illustrating how the control system processes control commands; Figure 6 This is a graph showing the prediction time domain in this control system; Figure 7 This is a graph in the predictive time domain used to illustrate how the control system performs synthetic processing; Figure 8 This is a graph showing the prediction time domain curves used to illustrate how the control system performs correction processing; and Figure 9 This is a flowchart illustrating the operation of the control system. Detailed Implementation
[0012] (summary) Control methods, procedures, and control systems according to exemplary embodiments and variations thereof will now be described with reference to the accompanying drawings. Note that the embodiments and variations thereof described below are merely exemplary embodiments among the various embodiments and variations thereof of this disclosure and should not be construed as limiting. Rather, these exemplary embodiments and variations thereof can be readily modified in various ways according to design choices or any other factors without departing from the scope of this disclosure. Optionally, the configuration of any variation thereof described later may be suitably combined with the configuration of the exemplary embodiment or (one or more) other variations.
[0013] According to one aspect of the control method, the function of using model predictive control (hereinafter referred to as "MPC") is used to execute the control of the controlled object 2 (controlled device (plant), reference) Figure 1 The command related to the operation control of the model predictive control is used to optimize the future response while predicting it at each time point (based on a reference). Furthermore, according to another aspect of the control system 10 (reference...), Figure 1 and Figure 2 The command is executed based on the results of predictions made using MPC.
[0014] In the following description, a typical embodiment will be described assuming that the controlled object 2 (the controlled device) is, for example, a two-axis platform (machine tool) (which is a two-axis machine (multi-axis machine) with an X-axis and a Y-axis). A two-axis platform is a positioning platform with two physical axes (i.e., the X-axis and the Y-axis), wherein a workpiece moves along the X-axis in a right / left direction and along the Y-axis in a forward / backward direction. The two-axis platform positions a workpiece on the platform that is the object of operation of another machine tool (such as a laser processing machine or a cutting machine) or a coater, different from the two-axis platform itself.
[0015] The control method, according to one aspect, includes a generation step, an accumulation step, and a control input step. The generation step includes: using model predictive control, determining the control trajectory T1 (reference) for the controlled object 2. Figure 1 Generate multiple prediction elements C0 (reference) Figure 6 (Predicted values). These multiple predicted elements C0 are predicted using each time point as a reference. The accumulation step includes: accumulating the multiple predicted elements C0 thus generated. The control input step includes: controlling the controlled object 2 by applying control inputs while the multiple predicted elements C0 to be predicted using a time point later than a certain time point as a reference are being generated in the generation step. This control input is based on two or more predicted elements C0 belonging to the multiple predicted elements C0 that have been generated and accumulated using that time point as a reference. As used herein, the phrase "multiple predicted elements C0 predicted using each time point as a reference" is, for example, in Figure 6 The examples shown correspond to the eight prediction elements C0 to be predicted for times t1-t8 using the current time t0 as the reference, or the eight prediction elements C0 to be predicted for times t2-t9 using the current time t1 as the reference.
[0016] The control method according to this aspect includes applying control inputs while generating multiple prediction elements C0 that are to be predicted using a time point later than a certain time point as a reference. This control input is based on two or more prediction elements C0 that have already been generated and accumulated using that time point as a reference. This allows for continuous control of the controlled object 2 without delay, based on two or more prediction elements C0 that have already been generated and accumulated using that time point as a reference, even if the computation time required to generate multiple prediction elements C0 using a time point later than the expected computation time (i.e., even with computation time delay). In other words, this reduces the possibility that the controlled object 2 cannot be controlled in a timely manner due to computation time delay. Therefore, this control method advantageously reduces the possibility of a decrease in control accuracy due to variations in computation time during model predictive control.
[0017] The control method according to one aspect is used on a computer system (i.e., control system 10). That is, the control method according to one aspect can also be implemented as a computer program. The program according to another aspect is designed to cause one or more processors to perform the control method according to that aspect. Optionally, the program can be stored on a computer-readable non-transitory storage medium.
[0018] like Figure 1 and Figure 2 As shown, a control system 10 according to one aspect includes a generation unit 11, an accumulation unit 12, and a control input unit 13. The generation unit 11 generates multiple predictive elements C0 for the control trajectory T1 of the controlled object 2 using model predictive control. These multiple predictive elements C0 are predicted using various time points as references. The accumulation unit 12 accumulates the multiple predictive elements C0 generated thereby. The control input unit 13 controls the controlled object 2 by applying control inputs while the generation unit 11 is generating multiple predictive elements C0 to be predicted using a time point later than a certain time point as a reference. These control inputs are based on two or more predictive elements C0 belonging to the multiple predictive elements C0 that have been generated and accumulated using that certain time point as a reference. The control system 10 according to this aspect also advantageously reduces the possibility of a decrease in control accuracy due to variations in computation time during model predictive control.
[0019] According to another control method, a generation step, an accumulation step, and a control input step are included. The generation step includes generating multiple predictive elements C0 for the control trajectory T1 of the controlled object 2 using model predictive control. These multiple predictive elements C0 are predicted using various time points as references. The accumulation step includes accumulating the multiple predictive elements C0 generated thereby. The control input step includes, during the generation step, while generating multiple predictive elements C0 using time points later than a certain time point as references, calculating the generation time (TA1, TA2, TA3; reference) of the multiple predictive elements C0 being generated. Figure 5 The controlled object 2 is controlled by applying control inputs. These control inputs are based on one or more prediction elements C0 that have been generated and accumulated using a certain point in time as a reference.
[0020] The control method according to this aspect includes applying control input based on the generation time (computation time) while generating multiple prediction elements C0 to be predicted using a time point later than a certain time point as a reference. This control input is based on one or more prediction elements C0 that have been generated and accumulated using that time point as a reference. This allows for continuous control of the controlled object 2 without delay, based on one or more prediction elements C0 that have been generated and accumulated using that time point as a reference, even if the computation time required to generate multiple prediction elements C0 using a time point later than the expected computation time (i.e., even with computation time delay). In other words, this reduces the possibility that the controlled object 2 cannot be controlled in a timely manner due to computation time delay. Therefore, this control method advantageously reduces the possibility of a decrease in control accuracy due to variations in computation time during model predictive control.
[0021] The control method according to this aspect is used on a computer system (i.e., control system 10). That is, the control method according to this aspect can also be implemented as a computer program. The program according to this aspect is designed to cause one or more processors to perform the control method according to this aspect. Optionally, the program can be stored on a computer-readable non-transitory storage medium.
[0022] According to another aspect, the control system 10 includes a generation unit 11, an accumulation unit 12, and a control input unit 13. The generation unit 11 generates multiple predictive elements C0 for the control trajectory T1 of the controlled object 2 using model predictive control. These multiple predictive elements C0 are predicted using various time points as references. The accumulation unit 12 accumulates the multiple predictive elements C0 generated thereby. While the generation unit 11 is generating multiple predictive elements C0 to be predicted using a time point later than a certain time point as a reference, the control input unit 13 controls the controlled object 2 by applying control inputs based on the generation times (TA1, TA2, TA3) of the multiple predictive elements C0 being generated. This control input is based on one or more predictive elements C0 that have been generated and accumulated using that certain time point as a reference. The control system 10 according to this aspect also advantageously reduces the possibility of a decrease in control accuracy due to variations in computation time during model predictive control.
[0023] In the following description, motion controller 100 (reference) is assumed. Figure 1 The system includes a control system 10 applied to a trajectory generation system 1 (reference). Figure 1 In other words, as an example, it is assumed that each function of the control system 10 is installed within the motion controller 100.
[0024] MPC is based on the model of controlled object 2 (e.g., a dual-axis platform in this example) for the prediction interval K1 (a finite interval; reference). Figure 6 The system solves the optimization problem, and the trajectory generation system 1 (control system 10) generates trajectory data based on the result. The motion controller 100 provides feedback control to the operation of the controlled object 2 based on the trajectory data provided by the trajectory generation system 1. That is, the motion controller 100 (trajectory generation system 1) provides control input to the controlled object 2 using the prediction results using MPC. Note that the feedback control does not necessarily have to be performed at the motion controller 100 end, but can also be performed by the X-axis amplifier A1 and Y-axis amplifier A2 of the controlled object 2.
[0025] Furthermore, as used in this article, "a time point later than a certain time point" can be the next time point after that time point, or a time point later than that time point (one or more time points lie between these two time points), either way is appropriate.
[0026] (Details) (1) Overall configuration Next, we will refer to Figures 1 to 8 The detailed description includes the overall system comprising the control system 10, motion controller 100, and peripheral devices according to this embodiment. In the following example, as described above, the controlled object 2 is the controlled device. In particular, the trajectory generation system 1 will be described assuming that the controlled object 2 is a dual-axis platform.
[0027] like Figure 1 As shown, the controlled object 2 includes, for example, a platform 20 (base), an X-axis 21 which serves as the physical axis along which the platform 20 can move in the X-axis direction, and a Y-axis 22 which serves as the physical axis along which the platform 20 can move in the Y-axis direction. A workpiece, which will be the object of operation for, for example, a laser processing machine, a cutting machine, or a coating machine, can be placed on the platform 20.
[0028] like Figure 1 As shown, the X-axis 21 includes a first motor M1 (servo motor) and an X-axis amplifier A1 for driving and controlling the first motor M1. The first motor M1 is, for example, a rotary motor, but it can also be a linear motor. Figure 1 As shown, the Y-axis 22 includes a second motor M2 (servo motor) and a Y-axis amplifier A2 for driving and controlling the second motor M2. The second motor M2 is, for example, a rotary motor, but it can also be a linear motor. The X-axis 21 and Y-axis 22 are synchronized, causing the platform 20 to move to a position with predetermined X and Y coordinates.
[0029] Control System 10 (Reference) Figure 1 and Figure 2The system executes commands related to the operation control of the controlled object 2. In this embodiment, the control system 10 is applied, for example, as a trajectory generation system 1 (see reference 1). Figure 1 In other words, in this embodiment, as an example, the function of the control system 10 is to generate the trajectory of the platform 20. The trajectory generation system 1 generates trajectory data related to the operation control of the controlled object 2. In the following description, the trajectory data will be described, for example, as being applied to the situation where the platform 20 of the controlled object 2 follows the path indicated by the dashed arrow and in Figure 1 The diagram schematically illustrates a two-dimensional L-path (hereinafter referred to as "L-path Q1") including points Pt1, Pt2, and Pt3. In other words, the trajectory data will be described, for example, as being applied to a scenario where platform 20 moves from point Pt1 to point Pt2 along a path parallel to the X-axis, and then moves from point Pt2 to point Pt3 along a path parallel to the Y-axis. However, this is merely an example. The operation of the controlled object 2 does not necessarily have to be a vertical movement, but can also move in a manner that forms an obtuse or acute angle, or in a manner that leaves a curved (e.g., circular or elliptical) trail.
[0030] The motion controller 100 performs operational control on the controlled object 2 based on trajectory data generated, for example, by the trajectory generation system 1 (i.e., synchronous control of the X-axis 21 and Y-axis 22). The motion controller 100 is communicatively connected to the controlled object 2. Specifically, the motion controller 100 is individually communicatively connected to each of the amplifiers in the X-axis amplifier A1 and the Y-axis amplifier A2. In addition, the motion controller 100 is also communicatively connected to the host controller 5.
[0031] The motion controller 100 obtains control outputs (controlled variables) from the controlled object 2. The controlled object 2 may be equipped with, for example, encoders for measuring the position, speed, and other parameters of the first motor M1 and the second motor M2, and force sensors for measuring the thrust (or torque) of the controlled object 2. Optionally, the controlled object 2 may also be equipped with external sensors for measuring the position, speed, and other parameters of the platform 20. The measurement results obtained from the external sensors can be output to the X-axis amplifier A1 and the Y-axis amplifier A2.
[0032] The motion controller 100 acquires data related to the position, speed, thrust, and other parameters of the first motor M1, the second motor M2, and the platform 20 from the controlled object 2 as controlled variables. Note that the controlled variables may include disturbances such as vibrations generated on the controlled object 2.
[0033] In the following example, it is assumed that motion controller 100 obtains control output (controlled variable) from controlled object 2 and performs feedback control independently. However, this is merely an example and should not be construed as limiting. Alternatively, motion controller 100 may execute commands only for controlled object 2, and feedback control may be performed by X-axis amplifier A1 and Y-axis amplifier A2 of controlled object 2. Alternatively, the functionality of control system 10 may be implemented in at least one of X-axis amplifier A1 and Y-axis amplifier A2 of controlled object 2.
[0034] The motion controller 100 includes a computer system comprising one or more processors and memory. At least a portion of the functions of the motion controller 100 are performed by causing the processor of the computer system to execute a program stored in the memory of the computer system. The program may be pre-stored in the memory. Alternatively, the program may be downloaded via a telecommunications line such as the Internet, or distributed after being stored on a non-transitory storage medium such as a memory card.
[0035] like Figure 1 As shown, the motion controller 100 includes a trajectory generation system 1 (control system 10), an operation controller 3, and a state estimation unit 4. In other words, the motion controller 100 performs the functions of the control system 10, the operation controller 3, and the state estimation unit 4. It is assumed that these functions of the motion controller 100 are housed in a single housing. However, this is merely an example and should not be construed as limiting. Alternatively, these functions of the motion controller 100 may be distributed across multiple different housings.
[0036] The state estimation unit 4 receives signals from the X-axis amplifier A1 and Y-axis amplifier A2 of the controlled object 2, including data related to controlled variables based on measurements taken by encoders, force sensors, external sensors, and other components. The state estimation unit 4 estimates the state of the controlled object 2 based on the data related to the controlled variables and outputs the estimation results to the trajectory generation system 1. For example, the state estimation unit 4 estimates the position of the controlled object 2 (specifically, the position of the platform 20 represented by X and Y coordinates) and the velocity of the controlled object 2 based on the controlled variables.
[0037] The trajectory generation system 1 (control system 10) has MPC functionality. For example... Figure 1 As shown, the trajectory generation system 1 includes a storage device 14. The storage device 14 includes an electrically programmable non-volatile semiconductor memory, such as a flash memory. The storage device 14 stores a prediction model (predictor) related to the controlled object 2. As the prediction model, for example, a transfer function model or a state-space model can be used.
[0038] MPC optimizes a certain time interval (corresponding to) from the current time (now) to a future point in time based on the estimation results provided by the state estimation unit 4. Figure 6 The control distribution within the prediction interval K1 shown.
[0039] The trajectory generation system 1 (control system 10) also includes a control unit 10A (reference). Figure 1 ).
[0040] The control unit 10A uses model predictive control to optimize the control input corresponding to the prediction interval K1. In this embodiment, MPC is a control technique used at each time point (e.g., Figure 6 The responses at each time point (t0, t1, t2, etc.) in the first time series B1 shown are optimized up to a future time point that is a finite amount of time later than the current time. As an MPC, so-called "rolling time domain control (RH control)" is performed. Then, the optimized control distribution is used in the actual control input distribution. Specifically, in this embodiment, as described later, two or more prediction elements C0 are used in the actual control input distribution, and these two or more prediction elements C0 may or may not include the initial prediction element C0. Additionally, as described later, the control unit 10A performs optimization calculations on the control input corresponding to the next prediction interval K1 by causing a time domain H1 or more time domains H1 to be rolled.
[0041] In this example, a single control cycle corresponds to Figure 6 The single time domain H1 (one step) is shown. A single control cycle corresponds to the period during which the controlled object 2 undergoes operational control. That is, the length from each moment (each time point) to the next moment (i.e., the time point after that moment) (e.g., the length from time t0 to time t1) corresponds to a single control cycle. The control cycle may be the same as or different from the data sampling period of the controlled variables obtained from the controlled object 2.
[0042] In this embodiment, including Figure 1 The L-path Q1 of points Pt1, Pt2, and Pt3 shown can be a route that forms part of a predetermined operating range of the controlled object 2. The starting point and the target point of the predetermined operating range can be points Pt1 and Pt3, respectively.
[0043] Control unit 10A performs optimization calculations, for example, from the starting point to the target point of a predetermined operating range of the controlled object 2, by repeatedly rolling one or more time domains H1 each time. That is, control unit 10A uses model predictive control to repeatedly perform optimization calculations on the control input corresponding to the prediction interval K1 while rolling one or more time domains H1. Storage device 14 stores (as storage objects as described later) two or more prediction elements C0.
[0044] Next, we will refer to Figure 3 and Figure 4 . Figure 3 This is a conceptual diagram illustrating how a system according to a comparative example processes control commands, to be compared with a control system 10 according to this embodiment. Figure 4 This is a conceptual diagram illustrating how the system performs rolling time-domain control based on the comparative example, and also showing the prediction time domain.
[0045] Figure 4 Includes a first time series D1, which shows an exemplary property E1 of the result of the optimization operation performed at the present time t0 (hereinafter also referred to as "Prediction 1"). Property E1 of "Prediction 1" shows the measured element P1 (measured value) at time t0 (the current time point) and the predicted element C0 (predicted value) at each time point t1-t8 (each time point).
[0046] in addition, Figure 4 It also includes a second time series D2, which shows an exemplary property E1 of the result of the optimization operation performed at the present time t1 (hereinafter also referred to as "Prediction 2"). Property E1 of "Prediction 2" shows the measured element P1 at time t1 (the current time point) and the predicted element C0 at each time t2-t9.
[0047] also, Figure 4 It also includes a third time series D3, which shows an exemplary property E1 of the result of the optimization operation performed at the present time t2 (hereinafter also referred to as "prediction 3"). Property E1 of "prediction 3" shows the measured element P1 at time t2 (the current time point) and the predicted element C0 at each time point t3-t10.
[0048] also, Figure 4The prediction interval K1 is shown. Prediction interval K1 consists of multiple time domains H1 (steps). Prediction interval K1 will also be referred to below as the "prediction time domain". Prediction interval K1 includes multiple (e.g., twenty-five) prediction elements C0. Each prediction element C0 is a predicted value that has been predicted using MPC in units of control cycles during the prediction interval K1 from now. That is, each prediction element C0 is the predicted value at the corresponding time. Each prediction element C0 can, for example, be a predicted value of the position (coordinate position), velocity, or any other parameter of the controlled object 2. Figure 4 Only a portion of the prediction interval K1 is shown, but the prediction interval K1 is a finite interval.
[0049] In the second time series D2, one control cycle (time domain H1) has elapsed since the first time series D1. Specifically, the second time series B2 shows the result of the next optimization operation performed after the optimization operation for the first time series D1 has already been performed. In other words, in the second time series D2, a time domain H1 is rolled over for the first time series D1, which shows the result of the previous optimization operation. Similarly, in the third time series D3, a time domain H1 is rolled over for the second time series D2, which shows the result of the previous optimization operation. That is, the control unit of the system according to the comparative example uses model predictive control to optimize the control input corresponding to the next prediction interval K1, in which a time domain H1 is rolled over.
[0050] Furthermore, each of the first time series D1 to the third time series D3 also shows a characteristic E2 used to indicate the control input (control command) corresponding to each prediction element C0. Each control input (control command) is a manipulated variable actually input to the controlled object 2 (controlled device) and is calculated based on the predicted value. For the first time series D1, for example, based on the first prediction element C0 of "prediction 1" (i.e., the prediction element at time t1) that has been predicted using the present = time t0 as a reference, the control command "1-1" to be actually input to the controlled object 2 between time t0 and t1 can be calculated. For the second time series D2, for example, based on the first prediction element C0 of "prediction 2" (i.e., the prediction element at time t2) that has been predicted using the present = time t1 as a reference, the control command "2-1" to be actually input to the controlled object 2 between time t1 and t2 can be calculated. For the third time series D3, for example, based on the first prediction element C0 of "prediction 3" that has been predicted using the present time t2 as a baseline (i.e., the prediction element at time t3), the control command "3-1" to be actually input to the control object 2 between time t2 and t3 can be calculated.
[0051] In this case, such as Figure 3As shown, in the control command processing performed by the system according to the comparative example, after "Prediction 1" has been generated using MPC, the next "Prediction 2" is generated starting at time t0, and (also in Figure 4 The control command "1-1" shown is actually input to the controlled object 2 during the interval between times t0 and t1. The generation of "Prediction 2" can be completed during the interval between times t0 and t1 while the control command "1-1" is being input and executed. After "Prediction 2" has been generated, the generation of the next "Prediction 3" begins at time t1, and (also...) Figure 4 The control command "2-1" shown is actually input to controlled object 2 during the interval between times t1 and t2. The generation of "Prediction 3" can be completed during the interval between times t1 and t2 while control command "2-1" is being input and executed. After "Prediction 3" has been generated, the generation of the next "Prediction 4" begins at time t2, and (also...) Figure 4 The control command "3-1" shown is actually input to controlled object 2 during the interval between times t2 and t3. The generation of "Prediction 4" can be completed during the interval between times t2 and t3 while control command "3-1" is being input and executed. After "Prediction 4" has been generated, generation begins at time t3. Figure 4 (Not shown in the image) the next "prediction 5", and ( Figure 4 The control command “4-1” (not shown) is actually input to the controlled object 2 in the interval between time t3 and t4.
[0052] In short, in the system according to the comparative example, the input (command) is based on the control input of the first prediction element C0 among multiple prediction elements C0, and... Figure 3 In the example shown, the generation of the next "prediction" is completed while the various control commands are being entered and executed.
[0053] However, if the control trajectory T1 of the controlled object 2 includes, for example, sudden trajectory changes (such as...) Figure 1In the case of an L-shaped route Q1 (corner, etc.), control command processing (such as control command processing performed by the system according to the comparative example) may result in the following situation: the generation of the next "prediction" cannot be completed while a control command is being input and executed. For example, the following situation may occur: even if the control command "1-1" has been input and executed, the next "prediction 2" has not yet been generated. If the control trajectory T1 includes sudden trajectory changes such as corners, the predictive operation load of the operation control for the controlled object 2 on the MPC increases so much in the system according to the comparative example that the computation processing may not be completed in time, and the computation time required to generate the next "prediction" may increase significantly. In other words, in the system according to the comparative example, the computation time can vary depending on the increase or decrease of the predictive operation load on the MPC, which may lead to a decrease in control accuracy due to the variation in the computation time of the MPC.
[0054] Therefore, the control unit 10A of the control system 10 according to this embodiment includes a generation unit 11, an accumulation unit 12, and a control input unit 13. The control unit 10A causes the control input unit 13 to perform control command processing.
[0055] Control unit 10A generates a control trajectory T1 (reference trajectory) for the controlled object 2. In this example, the control trajectory T1 is a trajectory used to control the operation of the controlled device. Specifically, control unit 10A generates control trajectory T1 based on computer-aided design (CAD) or computer-aided manufacturing (CAM) data related to the operation trajectory of platform 20 of the controlled object 2. Alternatively, control unit 10A may also generate control trajectory T1 based on data related to a reference trajectory that has been directly set by manual input from the user.
[0056] The generation unit 11 of the control unit 10A generates multiple prediction elements C0 for the control trajectory T1 of the controlled object 2 using model predictive control. These multiple prediction elements C0 are predicted using each time point as a reference. In other words, the control method according to this embodiment includes a generation step. The generation step includes: generating multiple prediction elements C0 for the control trajectory T1 of the controlled object 2 using model predictive control. These multiple prediction elements C0 are predicted using each time point as a reference. As used herein, "multiple prediction elements C0 predicted using each time point as a reference" is, for example, in... Figure 6 The example shown could refer to eight prediction elements C0 for times t1-t8, using the present time t0 as a baseline, or eight prediction elements C0 for times t2-t9, using the present time t1 as a baseline. Figure 4 and Figure 6As described above, only a portion of the entire prediction interval K1 (prediction time domain) is shown to include the current time point, and for example, the number of prediction elements C0 actually generated by the generation unit 11 can be 25. That is, the number of "multiple prediction elements C0 predicted using each time point as a reference" does not necessarily have to be 8.
[0057] The accumulation unit 12 of the control unit 10A accumulates (stores) a plurality of prediction elements C0 generated using each time point as a reference. In other words, the control method according to this embodiment includes an accumulation step. The accumulation step includes: accumulating the plurality of prediction elements C0 thus generated (storing those prediction elements C0). Figure 6 In the illustrated example, the accumulator 12 may, for example, store eight prediction elements C0 for times t1-t8, which have been predicted (generated) using the present time t0 as a reference. In this embodiment, it is assumed that all prediction elements C0 already generated by the generator 11 are stored (e.g., 25 prediction elements C0). However, this is merely an example and should not be construed as limiting. Instead, it is necessary to store two or more prediction elements C0. For example, it may store... Figure 6 The eight prediction elements C0 are shown. The accumulator 12 stores information related to two or more prediction elements C0 to be stored in the storage device 14.
[0058] The control input unit 13 of the control unit 10A processes control commands. Specifically, while the generation unit 11 is generating multiple prediction elements C0 to be predicted using a time point later than a certain time point as a reference, the control input unit 13 controls the controlled object 2 by applying control inputs. This control input is based on two or more prediction elements C0 that have been generated and accumulated using that certain time point as a reference. In other words, the control method according to this embodiment further includes a control input step. The control input step includes: controlling the controlled object 2 by applying control inputs while the generation step is generating multiple prediction elements C0 to be predicted using a time point later than a certain time point as a reference. This control input is based on two or more prediction elements C0 that have been generated and accumulated using that certain time point as a reference.
[0059] [Processing control commands using the control input unit] Next, we will refer to Figure 5 and Figure 6 The control command processing performed by the control input unit 13 is described. Figure 5 This is a conceptual diagram illustrating how the control input unit 13 processes control commands. Figure 6This is a conceptual diagram illustrating how the control system 10 performs rolling time-domain control, and it shows the predictive time domain.
[0060] Figure 6 Includes a first time series B1, which shows an exemplary characteristic F1 (hereinafter also referred to as "Prediction 1" as described in the comparative example) of the result of an optimization operation performed at a time point earlier than the present time t0. The first time series B1 shows the measured element P1 (measured value) at time t0 (the current time point) and the predicted element C0 (predicted value) at each time point t1-t8 (each time point) of "Prediction 1". The "Prediction 1" thus generated is stored by the accumulation unit 12.
[0061] Figure 6 It also includes a second time series B2, which shows an exemplary characteristic F1 of the result of the optimization operation performed at the present time t0 (hereinafter also referred to as "Prediction 2" as described in the comparative example). The second time series B2 shows the measured element P1 at time t1 (the current time point) and the predicted element C0 at each time t2-t9 of "Prediction 2". The "Prediction 2" thus generated is stored by the accumulation unit 12.
[0062] Figure 6 It also includes a third time series B3, which shows an exemplary characteristic F1 of the result of the optimization operation performed at the present time t4 (hereinafter also referred to as "Prediction 3" as described in the comparative example). The third time series B3 shows the measured element P1 at time t4 (the current time point) and the predicted element C0 at each time point t5–t12 of "Prediction 3". The "Prediction 3" thus generated is stored by the accumulation unit 12.
[0063] Note that in the following description, if it is not necessary to distinguish between "Prediction 1", "Prediction 2", and "Prediction 3", they will be simply referred to as "prediction". Regarding the timing of storing prediction elements C0, it is assumed that the accumulator 12 stores multiple prediction elements C0 at a time when each "prediction" has been generated. Alternatively, prediction elements C0 may be stored sequentially in units of prediction element C0 during the generation of each "prediction".
[0064] also, Figure 6The prediction interval K1 is shown. Prediction interval K1 consists of multiple time domains H1 (steps). Prediction interval K1 will also be referred to below as the "prediction time domain". Prediction interval K1 includes multiple (e.g., twenty-five) prediction elements C0. Each prediction element C0 is a predicted value that has been predicted using MPC in units of control cycles during the prediction interval K1 from now. That is, each prediction element C0 is the predicted value at the corresponding time. Each prediction element C0 can, for example, be a predicted value of the position (coordinate position), velocity, or any other parameter of the controlled object 2. Figure 6 Only a portion of the prediction interval K1 is shown, but the prediction interval K1 is a finite interval.
[0065] The second time series B2 shows the case where the current time is one unit ahead of the first time series B1. The third time series B3 shows the case where the current time is three units ahead of the second time series B2.
[0066] The control unit 10A of the control system 10 performs optimization calculations on the control input corresponding to the next prediction interval K1 using model predictive control, in which one or more time domains H1 have been rolled. Specifically, unlike the comparative example, the number of time domains H1 to be rolled can be determined based on the "prediction" generation time (TA1, TA2, TA3: reference). Figure 5 The time varies depending on the length of the curve. Note that it is assumed that the "generation time" is approximately the same as the MPC prediction calculation time.
[0067] Furthermore, each of the first time series B1 to the third time series B3 also shows the characteristics F2 of the control inputs (control commands) corresponding to each prediction element C0. Each control input (control command) is a manipulated variable actually input to the controlled object 2 (controlled device) and is calculated based on the predicted value. For the first time series B1, for example, based on multiple prediction elements C0 (including the first prediction element C0 at time t1) that have been generated and stored using a time point earlier than the present time t0 as a reference for "prediction 1", control commands "1-1", "1-2", etc., for the controlled object 2 can be calculated from time t0. For the second time series B2, for example, based on multiple prediction elements C0 (including the first prediction element C0 at time t2) that have been generated and stored using the present time t0 as a reference for "prediction 2", control commands "2-1", "2-2", etc., for the controlled object 2 can be calculated from time t1. For the third time series B3, for example, based on multiple prediction elements C0 of "Prediction 3" (including the first prediction element C0 at time t5) that have been generated and stored using the present time t4 as a baseline, control commands "3-1", "3-2", etc., for controlled object 2 can be calculated from time t4. Note that not every control command calculated based on each "prediction" is actually applied to controlled object 2.
[0068] In this case, such as Figure 5 and Figure 6 As shown, in the control command processing performed by the control system 10, after "Prediction 1" has been generated and stored using MPC, the control command "1-1" based on "Prediction 1," which has been generated and stored using a time point earlier than the present time t0 as a reference, is actually input to the controlled object 2 in the interval between time t0 and t1. Furthermore, at time t0 when the control command "1-1" is first input and executed, the next "Prediction 2" begins to be generated. Additionally, the control command "1-2" is actually input to the controlled object 2 in the interval between time t1 and t2.
[0069] In addition, while “Prediction 2” is being generated, input and execute control commands “1-1” to “1-4” based on “Prediction 1”, which has already been generated and stored using a time point earlier than the present time t0 as a reference.
[0070] exist Figure 5 and Figure 6In the illustrated example, the generation of "Prediction 2" is completed between times t3 and t4, during which time control commands "1-4" based on the stored "Prediction 1" are being input and executed. That is, until the generation of "Prediction 2" is complete, the controlled object 2 is continuously controlled by inputting four control commands "1-1" to "1-4" based on the four prediction elements C0 at times t1-t4 of the stored "Prediction 1". In other words, the control input unit 13 controls the controlled object 2 by applying four control inputs based on the four prediction elements C0 of "Prediction 1" that have been generated and accumulated using a time point later than a certain time point (time t0) as a reference while generating "Prediction 2" that is to be predicted using a time point later than a certain time point (time t0) as a reference. Note that "Prediction 2" generated in this way is stored. Figure 6 The dashed box in the first time series B1 shown indicates the control input (control command) applied during the generation of "Prediction 2".
[0071] After "Prediction 2" has been generated and stored, the next "Prediction 3" is generated starting at time t4, and the control command "2-4" based on "Prediction 2" which has already been generated and stored using the present time t0 as a reference is actually input to the controlled object 2 in the interval between time t4 and t5. That is, since the control commands "1-2" to "1-4" based on "Prediction 1" have already been applied during the generation of "Prediction 2", the control commands "2-1" to "2-3" based on "Prediction 2" are not applied.
[0072] Subsequently, while “Prediction 3” is being generated, input and execute control commands “2-4” to “2-7” based on “Prediction 2” that has already been generated and stored using the present time t0 as a reference.
[0073] exist Figure 5 and Figure 6In the illustrated example, the generation of "Prediction 3" is completed between times t7 and t8, during which time control commands "2-7" based on the stored "Prediction 2" are being input and executed. That is, until the generation of "Prediction 3" is complete, the controlled object 2 is continuously controlled by inputting four control commands "2-4" to "2-7" based on the four prediction elements C0 at times t5–t8 of the stored "Prediction 2". In other words, the control input unit 13 controls the controlled object 2 by applying four control inputs based on the four prediction elements C0 of "Prediction 2" that have been generated and accumulated using a time point later than a certain time point (time t1) as a reference while generating "Prediction 3". Note that the "Prediction 3" thus generated is stored. Figure 6 The dashed box in the second time series B2 shown indicates the control input (control command) applied during the generation of "Prediction 3".
[0074] After "Prediction 3" has been generated and stored, the next "Prediction 4" is generated starting at time t8, and the control command "3-5" based on "Prediction 3" which has already been generated and stored using the present time t4 as a reference is actually input to the controlled object 2 in the interval between time t8 and t9. That is, since the control commands "2-4" to "2-7" based on "Prediction 2" have already been applied during the generation of "Prediction 3", the control commands "3-1" to "3-4" based on "Prediction 3" are not applied.
[0075] In addition, while “Prediction 4” is being generated, input and execute control commands “3-5” to “3-7” based on “Prediction 3” that has already been generated and stored using the present time t4 as a reference.
[0076] exist Figure 5 and Figure 6In the illustrated example, the generation of "Prediction 4" is completed between times t10 and t11, during which time control commands "3-7" based on the stored "Prediction 3" are being input and executed. That is, until the generation of "Prediction 4" is complete, the controlled object 2 is continuously controlled by inputting three control commands "3-5" to "3-7" based on the three prediction elements C0 at times t9–t11 of the stored "Prediction 3". In other words, the control input unit 13 controls the controlled object 2 by applying three control inputs based on the three prediction elements C0 of "Prediction 3" that have been generated and stored using a time point (t8) later than a certain time point (t4) as a reference while generating "Prediction 4". Note that the "Prediction 4" thus generated is stored. Figure 6 The dashed box in the third time series B3 shown indicates the control input (control command) applied during the generation of "Prediction 4".
[0077] Figure 5 The generation time TA1 shown is the amount of time required to generate "Prediction 2" (i.e., the time required from the start of generating "Prediction 2" until the generation of "Prediction 2" is completed). Figure 5 The generation time TA2 shown is the amount of time required to generate “Prediction 3” (i.e., the time required from the start of generating “Prediction 3” until the generation of “Prediction 3” is completed). Figure 5 The generation time TA3 shown is the amount of time required to generate "Prediction 4" (i.e., the time required from the start of generating "Prediction 4" until the generation of "Prediction 4" is completed). For example, the generation time TA1 can be 25ms, the generation time TA2 can be 32ms, and the generation time TA3 can be 28ms.
[0078] It can be seen that the generation time (computation time) of each "prediction" can vary. Even if the generation time varies, the control command processing performed by the control input unit 13 includes controlling the controlled object 2 by applying control inputs based on two or more pre-stored prediction elements C0.
[0079] Note that in Figure 5 and Figure 6 In the illustrated example, the number of prediction elements C0 applied to the multiple stored prediction elements C0 is automatically adjusted (set) by the control input unit 13 according to the generation time of the "prediction" being generated. Specifically, for example, if the generation of "prediction 3" is completed in the interval between time t7 and t8, the application of prediction element C0 of "prediction 2" automatically ends at time t8, and the application of prediction element C0 of the next new "prediction 3" starts from time t8.
[0080] However, as will be described later, the number of prediction elements C0 to be applied can also be set to a fixed value based on the operation command input from an external source. For example, in the case of a fixed value of 5, even if the generation of "Prediction 3" is completed between time t7 and t8, but the number of prediction elements C0 of "Prediction 2" already applied up to time t8 is less than 5, the prediction elements C0 of "Prediction 2" will continue to be applied. When the number of prediction elements C0 of "Prediction 2" already applied reaches 5, the application of the next prediction element C0 of "Prediction 3" will begin.
[0081] The control unit 10A outputs trajectory data related to the operation control of the controlled object 2 to the operation controller 3 based on the control input to be applied.
[0082] The trajectory generation system 1 also includes a setting unit 15 (reference). Figure 1 The setting unit 15 performs various types of settings based on operation commands input from the outside. Additionally, the trajectory generation system 1 also includes an operation component 16 as a user interface 6 (see reference). Figure 1 The operating component 16 includes one or more devices selected from the group consisting of, for example, a mouse, a keyboard, and a pointing device. The trajectory generation system 1 also includes a display unit 17 (display device) as another user interface 6 (see reference). Figure 1 The display unit 17 displays, for example, information related to the settings made by the setting unit 15 on a screen. The user inputs operation commands by operating the operation member 16 while viewing the information displayed on the screen of the display unit 17.
[0083] The operation component 16 can receive operation commands from the user relating to the setting of the number of prediction elements C0 to be applied as control input from among a plurality of prediction elements C0. The display unit 17 can display an input screen according to the operation commands entered by the user, through which the setting of the number of prediction elements C0 can be entered. For example, the user can set (specify) the number of prediction elements C0 to be applied by operating the operation component 16 while viewing the input screen displayed on the display unit 17.
[0084] The setting unit 15 sets the number of prediction elements C0 to be applied during the "prediction" generation process based on the operation command input via the operation member 16. The setting unit 15 may, for example, store (save) setting information related to the number of prediction elements C0 to be applied in the storage device 14. In the control system 10, the setting unit 15 can determine whether the setting of the number of prediction elements C0 is a "fixed value" determined by the user or "automatically adjusted" by the control system 10, based on the user's selection. If the number is a fixed value, it is preferable that the number of prediction elements C0 is relatively large. For example, if the total number of time domain (steps) in the prediction time domain is 25, the number of prediction elements C0 is preferably about half of that number.
[0085] In short, the control system 10 also includes a setting unit 15. The setting unit 15 sets the number of predictive elements C0 to be used as control inputs based on operation commands input from an external source. This makes it easier to reflect user requests related to the setting of the number of predictive elements C0 to be used as control inputs on the control system (10), thereby improving user-friendliness.
[0086] The control system 10 can present information such as... to the user via the display unit 17. Figure 5 and Figure 6 The information shown is information such as...
[0087] exist Figure 1 For convenience, the operating element 16 and the display unit 17 are shown within the motion controller 100. Alternatively, the operating element 16 and the display unit 17 may also be provided for, for example, a terminal device that is separate from and communicatively connected to the motion controller 100. The terminal device may be, for example, a desktop PC, a laptop PC, or a tablet computer. If the terminal device includes a touchscreen panel display device (as the display unit 17), the display device may also be used as the operating element 16.
[0088] According to this embodiment, the motion controller 100 performs control such that data based on the controlled variables output by the controlled object 2 is consistent with the command value (target value) provided by the upper controller 5. The command value (target value) includes data specifying the position and velocity of the controlled object 2 operating within a predetermined operating range. The motion controller 100, for example, uses a state-space model of the controlled object 2 to define state variables, treating the position, velocity, and other parameters already estimated by the state estimation unit 4 as state quantities. Then, the motion controller 100 calculates such a manipulated variable (the desired amount of change) as a control input to optimize (e.g., minimize) the deviation of the position and velocity (from the target value) at each time point. The motion controller 100 may include a disturbance observer for estimating disturbances such as vibrations that may be included in the controlled variables provided by the controlled object 2. The trajectory generation system 1 can obtain the estimation results from the disturbance observer.
[0089] Note that the manipulated variable (control input) does not necessarily have to be the desired change related to the velocity of the controlled object 2. Alternatively, depending on the type of the controlled object 2, the manipulated variable (control input) can also be the desired change related to at least one of the controlled object 2's position, (for a multi-joint robot) joint angles, posture, acceleration (angular acceleration), thrust, and torque.
[0090] The control unit 10A outputs control signals (such as digital signals) representing trajectory data to the operation controller 3 based on the control input to be applied.
[0091] The host controller 5 is implemented, for example, as a programmable logic controller (PLC). The host controller 5 is communicatively connected to the motion controller 100 (track generation system 1). Alternatively, the host controller 5 can be implemented as a host personal computer (PC).
[0092] The host controller 5 generates a command signal that includes operation commands (command value data) related to a predetermined task procedure, and sends the command signal to the motion controller 100 to control the motion controller 100. The operation commands (command value data) may include target values related to the position, speed, and other parameters of the controlled object 2.
[0093] The operation controller 3 controls the operation of the controlled object 2 based on the manipulated variables of the trajectory data provided by the trajectory generation system 1. Specifically, the operation controller 3 determines the individual manipulated variables of the X-axis 21 and Y-axis 22 separately for each control cycle based on the manipulated variables provided by the trajectory generation system 1, and inputs each manipulated variable into the X-axis amplifier A1 and Y-axis amplifier A2 (i.e., inputs control inputs into the X-axis amplifier A1 and Y-axis amplifier A2). The manipulated variables input into the X-axis amplifier A1 and Y-axis amplifier A2 respectively can be, for example, current command values of the drive currents supplied to the first motor M1 and the second motor M2 respectively.
[0094] X-axis amplifier A1 and Y-axis amplifier A2 each include an inverter circuit for supplying power to their respective motors (i.e., the first motor M1 or the second motor M2). That is, the operation controller 3 individually determines the drive current value to be supplied to the first motor M1 and the second motor M2 based on, for example, a speed command value as a manipulated variable in control cycles. The operation controller 3 then controls the respective inverter circuits of X-axis amplifier A1 and Y-axis amplifier A2 to adjust the drive current supplied to their respective motors. Optionally, the drive current value can be determined by X-axis amplifier A1 and Y-axis amplifier A2 respectively.
[0095] (2) Auxiliary processing for predicted elements Next, we will refer to Figure 7 and 8 The description will be the auxiliary processing performed on the predicted element C0 by the control system 10.
[0096] The control system 10 according to this embodiment has the function of performing auxiliary processing on the prediction element C0 to be applied as a control input (i.e., already stored). The auxiliary processing may be such as Figure 7 Synthetic processes such as those shown, or such as Figure 8 The correction processing shown is a correction processing, etc. That is, the control method according to this embodiment also includes an auxiliary processing step. The auxiliary processing step includes: performing synthesis processing or correction processing on the prediction elements C0 that are to be applied as control inputs, which belong to a plurality of prediction elements C0 that have been generated and accumulated using a certain point in time as a reference. In this embodiment, as an example, it is assumed that the control input unit 13 of the control unit 10A is provided with a function for performing auxiliary processing.
[0097] [Synthesis Processing] Figure 7 This is a graph illustrating the prediction time domain used to demonstrate how the synthesis process is performed. Figure 7 For ease of description, the image shown is related to... Figure 6The first time series B1 to the third time series B3 shown are the same as the first time series B1 to the third time series B3. Therefore, the description of the first time series B1 to the third time series B3 will be appropriately omitted in this paper.
[0098] like Figure 7 As shown, for example, in the interval between times t7 and t8, there are three control commands (control inputs) enclosed in a box with a single dotted line. Specifically, there are three control commands: a first control command "u18" based on the prediction element C0 at time t8 in the previously stored "Prediction 1"; a second control command "u27" based on the prediction element C0 at time t8 in the previously stored "Prediction 2"; and a third control command "u34" based on the prediction element C0 at time t8 in the previously stored "Prediction 3".
[0099] For example, assume that "Prediction 4" is generated starting at time t7. During the interval between times t7 and t8 while "Prediction 4" is being generated, a third control command "u34" based on the prediction element C0 at time t8 of the latest stored "Prediction 3" can be applied as is. In this case, the control command is applied as a synthesis result obtained through synthesis processing. That is, the control input unit 13 performs synthesis processing to synthesize multiple control commands (control inputs) falling within the same time slot as potential candidates for synthesis, thereby generating the control command to be applied. Figure 7 In the example shown, the multiple control commands falling within the same time slot are the first control command "u18", the second control command "u27" and the third control command "u34" mentioned above.
[0100] For example, as represented by the following equation (1), the control input unit 13 synthesizes the first control command "u18", the second control command "u27" and the third control command "u34" by weighting (i.e., calculating the weighted average of the first control command "u18", the second control command "u27" and the third control command "u34") so that the more recent the prediction result on which the control command is based, the more significant its influence.
[0101] [Mathematical Expression 1]
[0102] During the interval between times t7 and t8 when "prediction 4" is being generated, the control input unit 13 controls the controlled object 2 by, for example, applying the synthesized control command "u" calculated by equation (1). Applying the synthesized control command (control input) in this way makes it easier to reduce errors caused by, for example, "changes" in the control input during each optimization operation, thereby improving control accuracy.
[0103] [Correction Processing] Figure 8 This is a graph illustrating the prediction time domain for demonstrating how the correction process is performed. In this example, for simplicity, a fourth time series B4 is shown, which is a time series using time t20 as a reference. Note that descriptions of features of the fourth time series B4 that are identical to those of the first time series B1 through the third time series B3 will be appropriately omitted herein.
[0104] exist Figure 8 The upper part shows the fourth time series B4, which includes the uncorrected characteristic F2. Figure 8 The lower part shows the fourth time series B4, which includes characteristic F3 defined by correction characteristic F2.
[0105] First, the description Figure 8 The upper part (showing characteristic F2 that has not yet been corrected). In Figure 8 The diagram shows four measured elements P1 (measured values) for easy comparison with characteristic F1. These four measured elements P1 are obtained by applying control commands (control inputs) based on the results of optimization calculations for a time point earlier than time t20 (hereinafter also referred to as "prediction 1A") to times t20-t23 respectively.
[0106] exist Figure 8 In the example shown above, it is assumed that the generation of "Prediction 1B" following "Prediction 1A" begins at time t20, and that this generation is completed during the interval between times t22 and t23. As used herein, "Prediction 1B following Prediction 1A" can be the next Prediction 1B after Prediction 1A or a Prediction 1B that is later than Prediction 1A (with one or more other "predictions" between Prediction 1A and Prediction 1B), either way is appropriate. Figure 8 The fourth time series B4 in the upper part shows an exemplary characteristic F1 of "Prediction 1B" as the result of the optimization operation performed at the present time t20. Characteristic F1 of "Prediction 1B" indicates the measured element P1 (measured value) at time t20 (the current time point) and the predicted element C0 (predicted value) at each time point (each moment) t21-t28. Additionally, Figure 8 The fourth time series B4 in the upper part also shows the (uncorrected) characteristics F2 of the control commands corresponding to the various prediction elements C0 of "Prediction 1B". The "Prediction 1B" thus generated is stored in the accumulator 12.
[0107] Figure 8The upper part shows that during the generation of "Prediction 1B", control commands based on "Prediction 1A" are applied to times t20-t23 respectively, which results in an error X1 between the measured element P1 and the predicted element C0 of "Prediction 1B", for example, at time t23. Assume that the value of error X1 is, for example, "3".
[0108] Therefore, the control input unit 13 performs correction processing to correct the control command (control input) and thus compensate for the error X1. For example... Figure 8 As shown in the lower part, for example, the control input unit 13 performs correction by adding the correction values "-2" and "-1" to the two control commands corresponding to the two prediction elements C0 at times t24 and t25 of "Prediction 1B", thereby canceling the error X1 ("3") (reference characteristic F3). Note that it is assumed that the correction values for the three control commands corresponding to the three prediction elements C0 at times t26-t28 are "±0".
[0109] For example, when generating the next "Prediction 1C" after "Prediction 1B" begins at time t23, the control input unit 13 controls the controlled object 2 by applying a corrected control command. As a result, as... Figure 8 As shown in the lower part, the measured element P1 (measured value) from time t24 is corrected to be closer to "Prediction 1B". It can be seen that applying the corrected control command (control input) makes it easier to cancel the error X1 between the prediction result when "Prediction 1B" is generated and the state at the current time point, thereby improving control accuracy.
[0110] Optionally, the control system 10 can present information such as... to the user via the display unit 17. Figure 7 and Figure 8 The information shown is information such as...
[0111] (3) Adjustment of prediction time domain length Next, we will describe how the control system 10 performs the process of adjusting the length of the prediction time domain.
[0112] According to this embodiment, the control system 10 has a function to perform an adjustment process for automatically adjusting the length of the prediction time domain of the MPC based on the generation time of the prediction element C0. Then, the generation unit 11 generates multiple prediction elements C0 by performing the MPC with the prediction time domain length adjusted.
[0113] That is, the control method according to this embodiment further includes an adjustment step. The adjustment step includes: predicting the generation time (such as...) for generating multiple prediction elements C0 in the generation step. Figure 5The generation times (TA1, TA2, TA3, etc.) shown are used to adjust the length of the prediction time domain based on the predicted generation times. The generation step includes generating multiple prediction elements C0 by adjusting the length of the prediction time domain through model prediction control. In this embodiment, as an example, it is assumed that the function of performing the adjustment processing is set for the generation unit 11 of the control unit 10A.
[0114] When generating multiple prediction elements C0 for the current time using MPC, the generation unit 11 references the previous generation time used to generate these prediction elements C0 to estimate the generation time required to generate the multiple prediction elements C0 for the time in question based on that previous generation time. Regarding Figure 5 In the illustrated example, when generating "Prediction 3", generation unit 11 refers to the generation time TA1 of the previous "Prediction 2" and estimates the generation time TA2 required to generate "Prediction 3" based on that generation time TA1. For example, if the previous generation time TA1 = 25ms, generation unit 11 also estimates the next generation time TA2 as 25ms. Note that the generation time referenced for estimation purposes does not necessarily have to be the previous generation time, but can also be two or more past generation times that include the previous generation time. For example, if two or more past generation times tend to increase or decrease, generation unit 11 can estimate the next generation time, for example, based on their rate of change.
[0115] Alternatively, the generation time can be estimated, for example, through machine learning or by referencing a lookup table, instead of estimating by referring to past generation times.
[0116] The generation unit 11 automatically adjusts the length of the prediction time domain based on the estimated generation time. That is, the generation unit 11 increases or decreases the number of time domains H1 (steps). In this example, if the estimated generation time is greater than half the length of the previous prediction time domain, it is assumed that the generation time is adjusted by shortening the length of the next prediction time domain (i.e., reducing the number of steps). For example, data representing the correspondence between the generation time and the length of the prediction time domain can be pre-stored in the storage device 14, allowing the generation unit 11 to determine the length of the prediction time domain corresponding to the estimated generation time by referring to the data representing this correspondence.
[0117] Making such adjustments can reduce the possibility that, for example, the prediction time domain is too long, the model predictive control cannot make predictions in time, thereby improving control accuracy.
[0118] (4) Operation of the control system Next, we will refer to Figure 9 Describe a series of operational processing steps of the control system 10 (trajectory generation system 1). Note that... Figure 9The flowchart shown is merely an exemplary flow illustrating the operation of the control system 10 and should not be construed as restrictive. Optionally, Figure 9 The processing steps shown can be performed in a different order than those illustrated, or can be omitted as appropriate. Figure 9 The processing steps shown are a subset of the processing steps, and / or additional processing steps may be added as needed.
[0119] The control system 10 obtains data from the host controller 5 related to the command value (target value) from the starting point to the target point for the predetermined operating range (including the L-shaped route Q1) of the controlled object 2 (in step ST1).
[0120] In addition, the control system 10 also acquires a reference trajectory (control trajectory T1) (in step ST2), which can be generated based on CAD or CAM data related to the operation trajectory of the platform 20 of the controlled object 2.
[0121] The control system 10 obtains the estimation result (i.e., the state of the controlled object 2 that has been estimated based on the controlled variable) from the state estimation unit 4 (in step ST3).
[0122] The control system 10 begins generating a “prediction” using MPC (in step ST4). Optionally, when the control system 10 begins generating the “prediction”, it can adjust the length of the prediction time domain using MPC by performing an adjustment process as described above.
[0123] Additionally, during the generation of the "prediction," the control system 10 applies a control input based on the prediction element C0 of the latest stored "prediction" (in step ST5) to output trajectory data including information related to that control input. As a result, the operation controller 3 performs synchronous control of the X-axis 21 and Y-axis 22 based on the trajectory data including information related to the control input. Optionally, when applying the control input, the control system 10 may perform synthesis or correction processing as described above to apply the already synthesized or corrected control input.
[0124] Then, if the generation of the "prediction" has been completed (if the answer in step ST6 is "yes"), the control system 10 stores the "prediction" thus generated (in step ST7). On the other hand, if the generation of the "prediction" has not been completed (if the answer in step ST6 is "no"), the process returns to step ST5, in which the control system 10 applies control inputs based on the already stored prediction element C0 to output trajectory data including information related to the control inputs.
[0125] This series of steps ST3-ST7 can be repeated until the controlled object 2 reaches the target point.
[0126] (5) Advantages As can be seen from the preceding description, the control system 10 of this aspect applies control inputs while generating multiple predictive elements C0 to be predicted using a time point later than a certain time point as a reference. These control inputs are based on two or more predictive elements C0 that have already been generated and accumulated using that time point as a reference. This allows for continuous, delay-free control of the controlled object 2 based on two or more predictive elements C0 that have already been generated and accumulated using that time point as a reference, even if the computation time required to generate the multiple predictive elements C0 using a time point later than the expected computation time (i.e., even with a computation time delay). In other words, this reduces the possibility that the controlled object 2 cannot be controlled in a timely manner due to computation time delays. Therefore, this control method advantageously reduces the possibility of decreased control accuracy due to variations in computation time during model predictive control.
[0127] Furthermore, the control system 10 according to this embodiment eliminates the need to complete the "prediction" within a time amount corresponding to a single control cycle, thereby enabling the generation of the "prediction" by setting the interval of the prediction time domain (i.e., one step: time domain H1) to a length shorter than the actual control cycle. For example, if the actual control cycle is 10 ms, the control system 10 according to this embodiment can set the prediction time domain interval to 1 ms. Therefore, the control system 10 also enables higher precision control.
[0128] In particular, the control system 10 allows for the use of time equal to or longer than the control period for predictive calculations, thereby enabling even complex control trajectories T1 (such as nonlinear control trajectories) to be controlled. Furthermore, the control system 10 is applicable not only to discrete systems but also to continuous systems.
[0129] (6) Variations Next, variations of the typical embodiments will be listed one by one.
[0130] Alternatively, the functions of the control system 10 according to the above-described typical embodiments may also be implemented as a control method, a computer program, or a non-transitory storage medium storing a computer program.
[0131] The control system 10 according to this disclosure includes a computer system. The computer system includes a processor and memory as its main hardware components. The computer system performs the functions of the control system 10 according to this disclosure by causing the processor to execute a program stored in the computer system's memory. This program may be pre-stored in the computer system's memory. Alternatively, the program may be downloaded via a telecommunications line or distributed after being stored on a non-transitory storage medium (such as a memory card, optical disc, or hard disk drive, any of which is readable by the computer system). The processor of the computer system may consist of one or more electronic circuits including semiconductor integrated circuits (ICs) or large-scale integrated circuits (LSIs). As used herein, "integrated circuit," such as ICs or LSIs, is referred to by different names depending on its degree of integration. Examples of integrated circuits such as ICs and LSIs include integrated circuits referred to as "system LSIs," "very large-scale integrated circuits (VLSIs)," and "extreme large-scale integrated circuits (ULSIs)." Alternatively, a field-programmable gate array (FPGA) that is programmed after the LSI is manufactured, or a reconfigurable logic device that allows reconfiguration of connections or circuit sections within the LSI, may also be used as the processor. These electronic circuits can be integrated together on a single chip or distributed across multiple chips, whichever is appropriate. These multiple chips can be aggregated together in a single device or distributed across multiple devices, without limitation. As used herein, a "computer system" includes a microcontroller comprising one or more processors and one or more memories. Thus, a microcontroller can also be implemented as a single or multiple electronic circuits comprising semiconductor integrated circuits or large-scale integrated circuits.
[0132] In the above embodiment, multiple functions of the control system 10 are integrated together in a single housing. However, this is not a necessary configuration for the control system 10. Alternatively, the components of the control system 10 can be distributed in multiple different housings.
[0133] Conversely, multiple functions of the control system 10 can also be aggregated together in a single housing. Alternatively, at least a portion of the functions of the control system 10 (e.g., a subset of the functions of the control system 10) can also be implemented as a cloud computing system, for example.
[0134] In the above embodiment, all functions of the control system 10 are housed within the motion controller 100. However, this is merely an example and should not be construed as limiting. Alternatively, at least some functions of the control system 10 may also be housed in any device other than the motion controller 100 (such as...). Figure 1 The upper controller 5, X-axis amplifier A1 or Y-axis amplifier A2, etc. are shown.
[0135] Specifically, in the above embodiments, such as Figure 1 As shown, the control system 10 is installed in the motion controller 100 between the host controller 5 and the controlled object 2. Alternatively, the control system 10 can be installed in the host controller 5 (such as a host PC) which has the functions of the motion controller 100, and the host controller 5 can be communicatively connected to the controlled object 2. In this case, the host controller 5 can obtain information about the controlled variables from the controlled object 2 to estimate the state of the controlled object 2 and perform optimization calculations using MPC. In addition, the host controller 5 can generate trajectory data to perform synchronous control of the X-axis 21 and Y-axis 22.
[0136] Alternatively, the control system 10 can also be installed in the X-axis amplifier A1 of the controlled object 2, for example. In this case, the X-axis amplifier A1 can also function as the motion controller 100. The host controller 5 can be communicatively connected to the X-axis amplifier A1 of the controlled object 2. The X-axis amplifier A1 can obtain data from the host controller 5 related to the command value (target value) from the starting point to the target point of the predetermined operating range (including L-path Q1) of the controlled object 2. The X-axis amplifier A1 can obtain information related to the controlled variables of the first motor M1, and can obtain information related to the controlled variables of the second motor M2 via the Y-axis amplifier A2 to estimate the state of the controlled object 2 and perform optimization calculations using MPC. The X-axis amplifier A1 can generate trajectory data and output the manipulated variables related to the X-axis 21 to the first motor M1 and the manipulated variables related to the Y-axis 22 to the Y-axis amplifier A2 to perform synchronous control of the X-axis 21 and Y-axis 22.
[0137] Furthermore, in the above embodiments, such as Figure 1As shown, the motion controller 100 equipped with the control system 10 includes an operation controller 3 and a state estimation unit 4. However, this is merely an example and should not be construed as limiting. Alternatively, the X-axis amplifier A1 and Y-axis amplifier A2 of the controlled object 2 may each include an operation controller 3 and a state estimation unit 4. In this case, the state estimation units 4 of each of the X-axis amplifiers A1 and Y-axis amplifiers A2 can estimate the state of their respective axes, and each amplifier A1, A2 can use the estimation results for feedback control purposes. Furthermore, each amplifier A1, A2 can send the estimation results obtained by the state estimation unit 4 to the control system 10. The control system 10 can receive estimation results related to the state of their respective axes from each of the X-axis amplifiers A1 and Y-axis amplifiers A2 and perform optimization calculations using MPC. The control system 10 can generate trajectory data and output this trajectory data to each amplifier in the X-axis amplifiers A1 and Y-axis amplifiers A2. The respective operation controllers 3 of the X-axis amplifier A1 and the Y-axis amplifier A2 can perform feedback control based on the trajectory data received therefrom and the estimation results related to the state of their corresponding axes, so that the X-axis amplifier A1 and the Y-axis amplifier A2 are synchronously controlled as a result.
[0138] In the above embodiments, the controlled object 2 is a two-axis machine tool with X and Y axes. However, the controlled object 2 does not necessarily have to be a two-axis machine tool, but can also be a three-axis machine tool with X, Y, and Z axes, or even a four- or five-axis machine tool. The machine tool also does not necessarily have to be a platform. Alternatively, the controlled object 2 can also be, for example, a multi-joint robot. Specifically, the controlled object 2 can also be a vertical multi-joint robot in the shape of an arm. Furthermore, the controlled object 2 can also be the controlled object of any other drive system. For example, the controlled object 2 can also be equipment such as a conveyor, a car, an airplane, a drone, or an autonomous robotic vacuum cleaner (i.e., a so-called "robotic vacuum cleaner").
[0139] In the above embodiments, the controlled object 2 is a controlled device. However, the controlled object 2 does not necessarily have to be a controlled device or a moving body. For example, the controlled object 2 can also be an air conditioner. In this case, commands related to the temperature and airflow control of the air conditioner can be executed in the control method and control system 10. That is, the "control trajectory" as used herein does not necessarily have to be a control trajectory for controlling the operation of a machine tool or a moving body, but can also be a control trajectory for responding to changes in environmental factors such as temperature or airflow.
[0140] [First Variation] The control system 10 according to the above embodiment is configured to apply control inputs based on "two or more" prediction elements C0 belonging to a plurality of previously stored prediction elements C0 during the generation of a "prediction".
[0141] In contrast, according to the first modification (this modification), the control system 10 controls the controlled object 2 by applying control input based on the generation time of the multiple prediction elements C0 being generated, while the generation unit 11 is generating multiple prediction elements C0 to be predicted using a time point later than a certain time point as a reference. This control input is based on "one or more" prediction elements C0 belonging to the multiple prediction elements C0 that have been generated and accumulated using that certain time point as a reference. In other words, the control method according to this modification includes a control input step. The control input step includes: during the generation step, while multiple prediction elements C0 to be predicted using a time point later than a certain time point as a reference are being generated, controlling the controlled object 2 by applying control input based on the generation time of the multiple prediction elements C0 being generated. This control input is based on "one or more" prediction elements C0 belonging to the multiple prediction elements C0 that have been generated and accumulated using that certain time point as a reference.
[0142] In short, the control system 10 according to this variation can apply control input based on a single prediction element C0 only, depending on the length of the generation time of the "prediction" being generated, and continue to generate the next "prediction".
[0143] exist Figure 6 In the illustrated example, in the above embodiment, for example, in the second time series B2, the generation of “prediction 3” begins at time t4, and the generation is completed in the interval between times t7 and t8 while the control command “2-7” based on the already stored “prediction 2” is being input and executed.
[0144] According to this variation, for example, in the second time series B2, the generation of "Prediction 3" can begin at time t4, and this generation can be completed within the interval between times t4 and t5 while the control command "2-4" based on the already stored "Prediction 2" is being input and executed. In other words, according to this variation, the generation of "Prediction 3" can be completed within a time period shorter than the control cycle. In this case, only the control input (control command "2-4") based on a "single" prediction element C0 is applied.
[0145] The control system 10 according to this modification can also reduce the possibility of decreased control accuracy due to variations in computation time during model predictive control. Furthermore, the control system 10 according to this modification eliminates the need to complete the "prediction" within a time period corresponding to a control cycle, thereby enabling the generation of the "prediction" by setting the interval in the prediction time domain (i.e., one step: time domain H1) to a length shorter than the actual control cycle. For example, if the actual control cycle is 10 ms, the control system 10 according to this modification can set the prediction time domain interval to 1 ms. Therefore, the control system 10 can perform control with even higher accuracy.
[0146] [Second variation] According to the above-described typical embodiment, the control system 10 does not start generating the next "prediction" until the generation of the previous "prediction" has been completed.
[0147] In contrast, the control system 10 according to the second variation is configured to begin generating the next "prediction" while one "prediction" is being generated. In other words, the control system 10 according to this variation is configured to compute "prediction" in parallel.
[0148] exist Figure 5 and Figure 6 In the example shown, in the above typical embodiment, the generation of "Prediction 3" is completed at time t8, and the generation of "Prediction 4" begins at time t8. That is, in the above typical embodiment, the generation time of "Prediction 3" does not overlap with the generation time of "Prediction 4".
[0149] According to this variation, the control system 10 begins generating "Prediction 4" within the interval between the start time t4 of "Prediction 3" and the completion time t8 of "Prediction 3". For example, the control system 10 can begin generating "Prediction 4" at the current time t7, while "Prediction 3" is still being generated. That is, the generation period of "Prediction 3" partially overlaps with the generation period of "Prediction 4".
[0150] Furthermore, the control system 10 according to this modification compares the prediction element C0 stored at time t8 of "prediction 3" with the prediction element C0 stored at the same time t8 of "prediction 4", and uses the newer reference as the prediction element C0 to select for "prediction 4". Therefore, the control system 10 according to this modification makes it easier to apply control input based on the later-stored prediction element of the two prediction elements C0 stored at the same time.
[0151] (Summary) The above-described typical embodiments and their variations provide specific implementations of the following aspects of this disclosure.
[0152] The control method according to the first aspect includes a generation step, an accumulation step, and a control input step. The generation step includes generating multiple predictive elements (C0) for the control trajectory (T1) of the controlled object (2) through model predictive control. These multiple predictive elements (C0) are predicted using each time point as a reference. The accumulation step includes accumulating the multiple predictive elements (C0) generated thereby. The control input step includes controlling the controlled object (2) by applying control input while the multiple predictive elements (C0) to be predicted using a time point later than a certain time point as a reference are being generated in the generation step. The control input is based on two or more predictive elements (C0) belonging to the multiple predictive elements (C0) that have been generated and accumulated using that certain time point as a reference.
[0153] This can reduce the likelihood of decreased control accuracy due to variations in computation time during model predictive control.
[0154] The control method according to the second aspect includes a generation step, an accumulation step, and a control input step. The generation step includes generating multiple predictive elements (C0) for the control trajectory (T1) of the controlled object (2) through model predictive control. These multiple predictive elements (C0) are predicted using each time point as a reference. The accumulation step includes accumulating the multiple predictive elements (C0) generated thereby. The control input step includes controlling the controlled object (2) by applying control input based on the generation time of the multiple predictive elements (C0) being generated, while the multiple predictive elements (C0) to be predicted using a time point later than a certain time point are being generated in the generation step. The control input is based on one or more predictive elements (C0) belonging to the multiple predictive elements (C0) that have been generated and accumulated using a certain time point as a reference.
[0155] This can reduce the likelihood of decreased control accuracy due to variations in computation time during model predictive control.
[0156] The control method based on the third aspect, which can be implemented in conjunction with the first or second aspect, also includes auxiliary processing steps. These auxiliary processing steps include: performing synthesis or correction processing on the prediction elements (C0) to be applied as control inputs, which belong to multiple prediction elements (C0) that have been generated and accumulated using a certain point in time as a reference.
[0157] This makes it easier to significantly reduce, for example, the error between the prediction result at the point in time when the prediction is completed and the state at the current point in time, thereby improving control accuracy.
[0158] The control method according to the fourth aspect, which can be implemented by combining any of the first to third aspects, also includes an adjustment step. The adjustment step includes: predicting the generation times (TA1, TA2, TA3) for generating multiple prediction elements (C0) in the generation step, so as to adjust the length of the prediction time domain according to the thus predicted generation times (TA1, TA2, TA3). The generation step includes: generating multiple prediction elements (C0) through model prediction control with the length of the prediction time domain adjusted.
[0159] This aspect, for example, can reduce the possibility that model predictive control cannot make timely predictions, thereby improving control accuracy.
[0160] In the control method according to the fifth aspect, which can be implemented by combining any of the first to fourth aspects, the controlled object (2) is the controlled device, and the control trajectory (T1) is the trajectory for controlling the operation of the controlled device.
[0161] This can reduce the possibility of a decrease in control accuracy related to the operation and control of the controlled device due to variations in computation time during model predictive control.
[0162] The procedure according to the sixth aspect is designed to cause one or more processors to perform control methods according to any one of the first to fifth aspects.
[0163] This aspect can provide features to reduce the possibility of decreased control accuracy due to variations in computation time during model predictive control.
[0164] The control system (10) according to the seventh aspect includes a generation unit (11), an accumulation unit (12), and a control input unit (13). The generation unit (11) generates multiple predictive elements (C0) for the control trajectory (T1) of the controlled object (2) through model predictive control. These multiple predictive elements (C0) are predicted using each time point as a reference. The accumulation unit (12) accumulates the multiple predictive elements (C0) generated thereby. The control input unit (13) controls the controlled object (2) by applying control input while the generation unit (11) is generating multiple predictive elements (C0) to be predicted using a time point later than a certain time point as a reference. This control input is based on two or more predictive elements (C0) belonging to the multiple predictive elements (C0) that have been generated and accumulated using that certain time point as a reference.
[0165] This aspect can provide a control system (10) that reduces the possibility of decreased control accuracy due to variations in computation time during model predictive control.
[0166] The control system (10) according to the eighth aspect includes a generation unit (11), an accumulation unit (12), and a control input unit (13). The generation unit (11) generates multiple predictive elements (C0) for the control trajectory (T1) of the controlled object (2) through model predictive control. These multiple predictive elements (C0) are predicted using each time point as a reference. The accumulation unit (12) accumulates the multiple predictive elements (C0) generated thereby. While the generation unit (11) is generating multiple predictive elements (C0) to be predicted using a time point later than a certain time point as a reference, the control input unit (13) controls the controlled object (2) by applying control input based on the generation time (TA1, TA2, TA3) of the multiple predictive elements (C0) being generated. This control input is based on one or more predictive elements (C0) belonging to the multiple predictive elements (C0) that have been generated and accumulated using a certain time point as a reference.
[0167] This aspect can provide a control system (10) that reduces the possibility of decreased control accuracy due to variations in computation time during model predictive control.
[0168] The control system (10) according to the ninth aspect, which can be implemented in conjunction with the seventh or eighth aspect, also includes a setting unit (15). The setting unit (15) sets the number of predictive elements (C0) to be applied as control inputs based on the operation commands input from the outside.
[0169] This aspect makes it easier to reflect user requests related to the setting of the number of predictive elements (C0) to be applied as control inputs on the control system (10), thereby improving user-friendliness.
[0170] Note that the features according to the third to fifth aspects are not essential features of the control method according to the first or second aspects, and may be appropriately omitted. It should also be noted that the constituent elements according to the ninth aspect are not essential constituent elements of the control system (10) according to the seventh or eighth aspects, and may be appropriately omitted. Explanation of reference numerals in the attached figures
[0171] 10 Control System 11 Generation Department 12 Cumulative Division 13 Control Input Section 15. Setting Department 2 Controlled Objects C0 Predicted Element T1 control trajectory Generation time of TA1, TA2, and TA3
Claims
1. A control method, comprising: The generation step is used to generate multiple prediction elements for the control trajectory of the controlled object through model predictive control, wherein the multiple prediction elements are predicted using each time point as a reference. An accumulation step, used to accumulate the plurality of prediction elements thus generated; as well as A control input step is used to control the controlled object by applying control inputs during the generation step, while the multiple prediction elements to be predicted are being generated using a time point later than a certain time point as a reference. The control inputs are based on control inputs belonging to two or more prediction elements that have been generated and accumulated using the certain time point as a reference.
2. A control method, comprising: The generation step is used to generate multiple prediction elements for the control trajectory of the controlled object through model predictive control, wherein the multiple prediction elements are predicted using each time point as a reference. An accumulation step, used to accumulate the plurality of prediction elements thus generated; as well as A control input step is used to control the controlled object by applying control inputs based on the generation time of the multiple prediction elements being generated during the generation step, using a time point later than a certain time point as a reference. The control inputs are based on control inputs belonging to one or more prediction elements that have been generated and accumulated using the certain time point as a reference.
3. The control method according to claim 1 or 2 further includes an auxiliary processing step, the auxiliary processing step being used to perform synthesis processing or correction processing on the prediction elements to be applied as the control input, which belong to the plurality of prediction elements that have been generated and accumulated using the certain time point as a reference.
4. The control method according to any one of claims 1 to 3, further comprising an adjustment step, the adjustment step being used to predict the generation time for generating the plurality of prediction elements in the generation step, so as to adjust the length of the prediction time domain according to the thus predicted generation time. in, The generation step is used to generate the plurality of prediction elements by means of the model prediction control whose length of the prediction time domain is adjusted.
5. The control method according to any one of claims 1 to 4, wherein, The controlled object is the controlled device, and The control trajectory is a trajectory used to control the operation of the controlled device.
6. A program designed to cause one or more processors to perform the control method according to any one of claims 1 to 5.
7. A control system, comprising: The generation unit is configured to generate multiple prediction elements for the control trajectory of the controlled object through model predictive control, wherein the multiple prediction elements are predicted using each time point as a reference. An accumulation unit, which is configured to accumulate the plurality of prediction elements thus generated; as well as A control input unit is configured to control the controlled object by applying control inputs while the generation unit is generating the plurality of prediction elements to be predicted using a time point later than a certain time point as a reference. The control inputs are based on control inputs belonging to two or more prediction elements that have been generated and accumulated using the certain time point as a reference.
8. A control system, comprising: The generation unit is configured to generate multiple prediction elements for the control trajectory of the controlled object through model predictive control, wherein the multiple prediction elements are predicted using each time point as a reference. An accumulation unit, which is configured to accumulate the plurality of prediction elements thus generated; as well as A control input unit is configured to control the controlled object by applying control inputs based on the generation time of the multiple prediction elements being generated, while the generation unit is generating the multiple prediction elements to be predicted using a time point later than a certain time point as a reference. The control inputs are based on control inputs belonging to one or more prediction elements that have been generated and accumulated using the certain time point as a reference.
9. The control system according to claim 7 or 8 further includes a setting unit configured to set the number of the prediction elements to be applied as the control input based on an operation command input from an external source.
Citation Information
Patent Citations
Mobile body control method, mobile body control device, and mobile body
WO2022044470A1