Control method, program, and control system
By adding a passing target point to the control trajectory and using model predictive control to generate a corresponding control target point, the method stabilizes the trajectory, maintaining control accuracy during sudden changes.
Patent Information
- Application Number
- PCT/JP2025/001834
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-28
- Filing Date
- 2025-01-22
- Publication Date
- 2025-09-04
AI Technical Summary
Existing model predictive control methods fail to maintain control accuracy when the target path includes sudden trajectory changes, leading to errors exceeding predetermined values.
Incorporating a passing target point into the control trajectory and using model predictive control to generate a control target point that the controlled object must pass through, thereby stabilizing the trajectory.
This approach reduces the likelihood of control accuracy degradation due to sudden trajectory changes, ensuring precise control even in complex path scenarios.
Smart Images

Figure JP2025001834_04092025_PF_FP_ABST
Abstract
Description
Control method, program, and control system
[0001] The present disclosure generally relates to a control method, a program, and a control system, and more particularly to a control method, a program, and a control system relating to a control trajectory of a control target.
[0002] Patent Literature 1 discloses a technology relating to a mobile body control method for controlling the movement of a mobile body, such as a self-propelled vacuum cleaner, by model predictive control in order to move the mobile body accurately and efficiently along a target path. In this mobile body control method, at a control timing, the first control instruction in a time series of future control inputs 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 a sensor, and the optimization problem is solved again, thereby inputting a control instruction to the mobile body that corrects the deviation between the target path and the actual travel path.
[0003] International Publication No. 2022 / 044470
[0004] However, when using model predictive control, if the target path (control trajectory) includes a sudden change in trajectory, the error from the target position may exceed a predetermined value, and control accuracy may not be guaranteed.
[0005] The present disclosure has been made in consideration of the above-mentioned circumstances, and aims to provide a control method, a program, and a control system that can reduce the possibility of a decrease in control accuracy due to a change in the control trajectory.
[0006] A control method according to one aspect of the present disclosure includes a passing target adding step, an applying step, a control target generating step, and a controlling step. In the passing target adding step, a passing target point that is a passing target of the controlled object is added to a control trajectory for the controlled object. In the applying step, the control trajectory to which the passing target point has been added is applied to model predictive control. In the control target generating step, a control target point that follows the passing target point is generated by the model predictive control. In the controlling step, the controlled object is controlled so that the controlled object passes through the control target point.
[0007] A control method according to another aspect of the present disclosure includes a trajectory generation step, an application step, a control target generation step, and a control step. In the trajectory generation step, a control trajectory for the controlled object is generated so as to include a passing target point that is a passing target of the controlled object. In the application step, the control trajectory including the passing target point is applied to model predictive control. In the control target generation step, a control target point that follows the passing target point is generated by the model predictive control. In the control step, the controlled object is controlled so that the controlled object passes through the control target point.
[0008] A program according to one aspect of the present disclosure is a program for causing one or more processors to execute any one of the control methods described above.
[0009] A control system according to one aspect of the present disclosure includes a passing target adding unit and a control unit. The passing target adding unit adds a passing target point that is a passing target of a controlled object to a control trajectory for the controlled object. The control unit applies the control trajectory with the passing target point added to model predictive control. The control unit generates a control target point that follows the passing target point by the model predictive control. The control unit controls the controlled object so that the controlled object passes through the control target point.
[0010] A control system according to another aspect of the present disclosure includes a trajectory generation unit and a control unit. The trajectory generation unit generates a control trajectory for a controlled object so as to include a passing target point that is a passing target of the controlled object. The control unit applies the control trajectory including the passing target point to model predictive control. The control unit generates a control target point that follows the passing target point by the model predictive control. The control unit controls the controlled object so that the controlled object passes through the control target point.
[0011] FIG. 1 is a block diagram of a motion controller and its peripheral components including a control system (trajectory generation system) according to an embodiment. FIG. 2 is a block diagram of the control system. FIG. 3 is a conceptual diagram illustrating a prediction horizon in the control system. FIG. 4 is a conceptual diagram illustrating a problem 1 that may occur when the control trajectory includes an abrupt trajectory change. FIG. 5 is a conceptual diagram illustrating a problem 2 that may occur when the control trajectory includes an abrupt trajectory change. FIG. 6 is a conceptual diagram illustrating an optimal trajectory generated by model predictive control in the control system. FIG. 7 is a conceptual diagram illustrating an optimal trajectory (NG predicted trajectory) generated by model predictive control in the control system when there is no "passing target point." FIG. 8 is a conceptual diagram illustrating an optimal trajectory (OK predicted trajectory) generated by model predictive control in the control system when there is a "passing target point." FIG. 9 is a conceptual diagram illustrating an optimal trajectory (OK predicted trajectory) after passing through a corner in the control system when there is a "passing target point." FIG. 10 is a flowchart illustrating the operation of the control system.
[0012] (Summary) Below, a control method, a program, and a control system according to embodiments and modifications will be described with reference to the drawings. Note that the following embodiments and modifications are merely examples of various embodiments of the present disclosure. Furthermore, the following embodiments and modifications can be modified in various ways depending on the design, etc., as long as the object of the present disclosure can be achieved. Furthermore, the configuration of each of the modifications can be appropriately combined with the following embodiments or other modifications.
[0013] A control method according to one embodiment executes commands related to operational control of a controlled object 2 (a plant, see FIG. 1 ) using a function of model predictive control (hereinafter sometimes abbreviated as MPC), which performs optimization while predicting future responses at each time (each point in time). Also, a control system 10 according to one embodiment (see FIGS. 1 and 2 ) executes the commands by utilizing the prediction results by MPC.
[0014] In the following description, it is assumed that the control target 2 (plant) is, as an example, a two-axis stage (machine) that is a two-axis machine (multi-axis machine) with an X axis and a Y axis. The two-axis stage is a positioning stage with two axes: an "X axis" that moves left and right, and a "Y axis" that moves back and forth. The two-axis stage positions a workpiece on the stage that is to be processed by, for example, a machine (laser processing machine, cutting machine, etc.) or a coating device, which is separate from the two-axis stage.
[0015] A control method according to one aspect includes a passing target adding step, an applying step, a control target generating step, and a controlling step. In the passing target adding step, a passing target point Px (see FIGS. 8 and 9) that serves as a passing target of the control object 2 is added to a control trajectory T1 (see FIGS. 4 to 9) related to the control object 2. In the applying step, the control trajectory T1 to which the passing target point Px has been added is applied to model predictive control. In the control target generating step, a control target point S1 (see FIGS. 6 to 9) that follows the passing target point Px is generated by model predictive control. In the controlling step, the control object 2 is controlled so that the control object 2 passes through the control target point S1.
[0016] According to the control method of the above aspect, a passing target point Px is added to the control trajectory T1, and a control target point S1 that follows the passing target point Px is generated by model predictive control. Therefore, when model predictive control is used, even if the control trajectory T1 includes a sudden trajectory change, the possibility that the error from the target position will exceed a predetermined value is reduced. As a result, the above control method has the advantage of reducing the possibility that the trajectory change of the control trajectory T1 will cause a decrease in control accuracy.
[0017] The control method according to the above-described embodiment is used on a computer system (control system 10). That is, the control method according to the above-described embodiment can also be embodied as a computer program. The program according to the embodiment is a program for causing one or more processors to execute the control method according to the above-described embodiment. The program may be recorded on a computer-readable non-transitory recording medium.
[0018] As shown in FIGS. 1 and 2 , a control system 10 according to one aspect includes a passing target adding unit 12 and a control unit 13. The passing target adding unit 12 adds a passing target point Px, which is a passing target of the control object 2, to a control trajectory T1 for the control object 2. The control unit 13 applies the control trajectory T1, to which the passing target point Px has been added, to model predictive control. The control unit 13 generates a control target point S1 that follows the passing target point Px by model predictive control. The control unit 13 controls the control object 2 so that the control object 2 passes through the control target point S1. The control system 10 according to the above aspect also has the advantage of reducing the possibility of a decrease in control accuracy due to a change in the trajectory of the control trajectory T1.
[0019] Furthermore, a control method according to another aspect includes a trajectory generation step, an application step, a control target generation step, and a control step. In the trajectory generation step, a control trajectory T1 for the control object 2 is generated so as to include a passing target point Px that is a passing target of the control object 2. In the application step, the control trajectory T1 including the passing target point Px is applied to model predictive control. In the control target generation step, a control target point S1 that follows the passing target point Px is generated by model predictive control. In the control step, control of the control object 2 is performed so that the control object 2 passes through the control target point S1.
[0020] According to the control method of another aspect described above, a control trajectory T1 is generated so as to include the passing target point Px, and a control target point S1 that follows the passing target point Px is generated by model predictive control. Therefore, when model predictive control is used, even if the control trajectory T1 includes a sudden trajectory change, the possibility that the error from the target position will exceed a predetermined value is reduced. As a result, the control method of another aspect described above has the advantage of reducing the possibility that the trajectory change of the control trajectory T1 will cause a decrease in control accuracy.
[0021] The control method according to the above-described another aspect is used on a computer system (control system 10). That is, the control method according to the above-described another aspect can also be embodied as a computer program. The program according to the one aspect is a program for causing one or more processors to execute the control method according to the above-described another aspect. The program may be recorded on a computer-readable non-transitory recording medium.
[0022] A control system 10 according to another aspect includes a trajectory generation unit 11 and a control unit 13. The trajectory generation unit 11 generates a control trajectory T1 for the control object 2 so as to include a passing target point Px that is a passing target of the control object 2. The control unit 13 applies the control trajectory T1 that includes the passing target point Px to model predictive control. The control unit 13 generates a control target point S1 that follows the passing target point Px by model predictive control. The control unit 13 controls the control object 2 so that the control object 2 passes through the control target point S1. The control system 10 according to the above-described another aspect also has the advantage of being able to reduce the possibility of a decrease in control accuracy due to a change in the trajectory of the control trajectory T1.
[0023] In the following, it is assumed that a motion controller 100 (see FIG. 1) includes a trajectory generation system 1 (see FIG. 1) to which a control system 10 is applied. In other words, as an example, it is assumed that all of the functions of the control system 10 are implemented within the motion controller 100.
[0024] The MPC then solves an optimization problem for a prediction interval K1 (see FIG. 3 : a finite interval) based on a model of the controlled object 2 (here, a two-axis stage), and the trajectory generation system 1 (control system 10) uses the results to generate trajectory data. The motion controller 100 performs feedback control on the movement of the controlled object 2 based on the trajectory data from the trajectory generation system 1. That is, the motion controller 100 (trajectory generation system 1) uses the prediction results from the MPC to provide control input to the controlled object 2. Note that feedback control does not necessarily have to be performed on the motion controller 100 side; it may also be performed by the X-axis amplifier A1 and Y-axis amplifier A2 of the controlled object 2.
[0025] (Details) (1) Overall Configuration The entire system including the control system 10, motion controller 100, and their peripheral configuration according to this embodiment will be described in detail below with reference to Figs. 1 to 9. As described above, the control target 2 will be a plant as an example below. In particular, the trajectory generation system 1 will be described assuming that the control target 2 is a two-axis stage.
[0026] 1, the control target 2 includes a stage 20 (base), an X-axis 21 that can move the stage 20 in the X-axis direction, and a Y-axis 22 that can move the stage 20 in the Y-axis direction. A workpiece to be processed by a laser processing machine, a cutting machine, a coating device, or the like can be placed on the stage 20.
[0027] As shown in FIG. 1, the X-axis 21 includes a first motor M1 (servo motor) and an X-axis amplifier A1 that drives and controls the first motor M1. The first motor M1 is, for example, a rotary motor, but may also be a linear motor. As shown in FIG. 1, the Y-axis 22 includes a second motor M2 (servo motor) and a Y-axis amplifier A2 that drives and controls the second motor M2. The second motor M2 is, for example, a rotary motor, but may also be a linear motor. The X-axis 21 and Y-axis 22 are synchronously controlled so that the stage 20 moves to a predetermined X-Y coordinate position.
[0028] A control system 10 (see FIGS. 1 and 2 ) executes commands related to the motion control of a control target 2. In this embodiment, as an example, the control system 10 is applied as a trajectory generation system 1 (see FIG. 1 ). That is, in this embodiment, as an example, the function of the control system 10 is used to generate a trajectory of a stage 20. The trajectory generation system 1 generates trajectory data related to the motion control of the control target 2. Hereinafter, the trajectory data will be described as an example, focusing on a case where the stage 20 of the control target 2 moves along a two-dimensional L-shaped path (hereinafter, L-shaped path Q1) including positions Pt1, Pt2, and Pt3, as schematically shown in FIG. 1 , along the dashed arrow. In other words, the trajectory data will be described as an example, focusing on a case where the stage 20 moves along a path parallel to the X-axis direction from position Pt1 to position Pt2, and then along a path parallel to the Y-axis direction from position Pt2 to position Pt3. In other words, attention is focused on the case where the stage 20 performs a cornering operation such as turning a corner at a substantially right angle (approximately 90 degrees). However, the operation of the control target 2 is not limited to a movement at a right angle, but may also include a movement at an obtuse angle or an acute angle, or a movement in a curved shape (for example, a circular or elliptical shape). Note that Figs. 4 and 6 to 9 show schematic examples of acute-angle corners.
[0029] The motion controller 100 executes motion control of the control target 2 (synchronous control of the X-axis 21 and Y-axis 22) based on the trajectory data etc. generated by the trajectory generation system 1. The motion controller 100 is communicably connected to the control target 2. More specifically, the motion controller 100 is communicably connected to each of the X-axis amplifier A1 and the Y-axis amplifier A2 individually. The motion controller 100 is also communicably connected to the upper controller 5.
[0030] The motion controller 100 obtains a control output (control amount) from the control target 2. For example, the control target 2 is provided with encoders that measure the positions, speeds, etc. of the first motor M1 and the second motor M2, and force sensors that measure thrust (or torque). The control target 2 may also be provided with an external sensor that measures the position, speed, etc. of the stage 20. The measurement results of the external sensor can be output to the X-axis amplifier A1 and the Y-axis amplifier A2.
[0031] The motion controller 100 acquires data such as the position, speed, and thrust of the first motor M1, the second motor M2, and the stage 20 as control variables from the control target 2. Note that the control variables may also include disturbances such as vibrations that occur in the control target 2.
[0032] In the following, it is assumed that the motion controller 100 acquires a control output (control amount) from the control object 2 and performs feedback control on the motion controller 100 side, but this is not a limitation. The motion controller 100 may execute only commands to the control object 2, and feedback control may be performed by the X-axis amplifier A1 and Y-axis amplifier A2 of the control object 2. Furthermore, the functions of the control system 10 may be implemented in at least one of the X-axis amplifier A1 and Y-axis amplifier A2 of the control object 2.
[0033] The motion controller 100 includes a computer system having one or more processors and a memory. At least some of the functions of the motion controller 100 are realized by the processor of the computer system executing a program recorded in the memory of the computer system. The program may be recorded in the memory, or may be provided via a telecommunications line such as the Internet, or may be provided by recording it on a non-transitory recording medium such as a memory card.
[0034] 1, the motion controller 100 includes a trajectory generation system 1 (control system 10), a motion control unit 3, and a state estimation unit 4. In other words, the motion controller 100 has the functions of the control system 10, the functions of the motion control unit 3, and the functions of the state estimation unit 4. It is assumed that these multiple functions of the motion controller 100 are housed in a single housing, but this is not limitative and they may be housed separately in multiple housings.
[0035] The state estimation unit 4 receives signals including control variable data based on measurement results from an encoder, a force sensor, an external sensor, etc. from the X-axis amplifier A1 and the Y-axis amplifier A2 of the control object 2. The state estimation unit 4 estimates the state of the control object 2 based on the control variable data and outputs the estimation result to the trajectory generation system 1. As an example, the state estimation unit 4 estimates the position (specifically, the position of the X-Y coordinates of the stage 20) and speed of the control object 2 based on the control variable.
[0036] The trajectory generation system 1 (control system 10) has an MPC function. As shown in FIG. 1 , the trajectory generation system 1 includes a storage unit 14. The storage unit 14 includes an electrically rewritable nonvolatile semiconductor memory such as a flash memory. The storage unit 14 stores a prediction model (predictor) related to the control target 2. For example, a transfer function model, a state space model, or the like can be used as the prediction model.
[0037] In the MPC, a control profile is optimized for a certain time period (prediction interval K1 in FIG. 3) from the current time (present) to a certain future time, based on the estimation result from the state estimation unit 4.
[0038] The trajectory generation system 1 (control system 10) further includes a trajectory generation unit 11, a passing target addition unit 12, and a control unit 13 (see FIGS. 1 and 2).
[0039] The control unit 13 uses model predictive control to perform an optimization calculation for a control input corresponding to a prediction interval K1. The MPC in this embodiment uses receding horizon control (RH control), also known as receding horizon control, which is a control method for optimizing a response up to a finite future time interval at each time point (time points t0, t1, t2, ... in the first time series B1 in FIG. 3 ). The first value of the optimized control profile (first prediction element C1) is then used for the actual control input profile. The control unit 13 regresses one horizon H1 and performs an optimization calculation for a control input corresponding to the next prediction interval K1.
[0040] Here, one control period corresponds to one horizon H1 (one step) in Fig. 3. One control period corresponds to the period during which the operation of the controlled object 2 is controlled. The control period may be the same as or different from the data sampling period of the controlled variable acquired from the controlled object 2 side.
[0041] Now, FIG. 3 will be described. FIG. 3 is a conceptual diagram for explaining the "receding horizon control" according to this embodiment. FIG. 3 includes a first time series B1 showing an example of the execution result of the optimization calculation at the present time (time t0) and a second time series B2 showing an example of the execution result of the optimization calculation at the present time (time t1). In the second time series B2, one control period (horizon H1) has elapsed since the first time series B1. In particular, the second time series B2 shows the execution result of the optimization calculation executed next after the execution of the optimization calculation corresponding to the first time series B1. In other words, in the second time series B2, the horizon H1 has been regressed by one horizon relative to the first time series B1 showing the execution result of the previous optimization calculation. That is, the control unit 13 uses model predictive control to execute the optimization calculation for a control input corresponding to the next prediction interval K1, which is regressed by one horizon H1.
[0042] For each of the first time series B1 and the second time series B2, the horizontal axis represents time, and the vertical axis represents a control input to the controlled object 2 (plant). The control input is, for example, a command value for the position (coordinate position) and speed of the controlled object 2. For each of the first time series B1 and the second time series B2, the plotted black circles represent actual values of the commanded control input, and the plotted white circles represent prediction elements. Each of the first time series B1 and the second time series B2 also represents a prediction interval K1. The prediction interval K1 is composed of a plurality of horizons H1 (steps). The prediction interval K1 is also referred to as a prediction horizon. The prediction interval K1 includes a plurality of prediction elements (e.g., 25 elements). Each prediction element is a predicted value of the control input (e.g., command values for position and speed) predicted by the MPC for each control cycle in the prediction interval K1 from the present onward, including the present. In other words, each prediction element is a predicted value of the control input at a corresponding time. Although FIG. 3 shows only a part of the prediction interval K1, the prediction interval K1 is a finite interval.
[0043] In the first time series B1, a prediction element C1 at time t0 (present) among the multiple prediction elements is designated as the actual control input. In the second time series B2, a prediction element C1 at time t1 (present) among the multiple prediction elements is designated as the actual control input.
[0044] In this embodiment, the L-shaped path Q1 including positions Pt1, Pt2, and Pt3 shown in Fig. 1 may be a path that is part of a predetermined motion range of the controlled object 2. The starting point and destination point of the predetermined motion range may be positions Pt1 and Pt3.
[0045] The control unit 13 repeatedly executes an optimization calculation while, for example, moving the horizon H1 back by one unit from the start point to the destination point of a predetermined operating range of the controlled object 2. That is, the control unit 13 repeatedly executes an optimization calculation for a control input corresponding to a prediction interval K1 while moving the horizon H1 back by one unit using model predictive control. The storage unit 14 stores the prediction element C1 as an actual control input.
[0046] Furthermore, based on the actual control input, the control unit 13 outputs trajectory data relating to the motion control of the control target 2 to the motion control unit 3. The trajectory data includes information on a control target point S1 (see FIGS. 6 to 9) described later.
[0047] The trajectory generation unit 11 generates a control trajectory T1 (reference trajectory) for the control object 2. Here, the control trajectory T1 is a trajectory related to the operation control of the plant. Specifically, the trajectory generation unit 11 generates the control trajectory T1 based on CAD (Computer Aided Design) data or CAM (Computer Aided Manufacturing) data related to the operation trajectory of the stage 20 of the control object 2. Alternatively, the trajectory generation unit 11 may generate the control trajectory T1 based on data related to a reference trajectory that is directly set by manual input by the user.
[0048] The trajectory region R1 shown in FIGS. 4 to 9 is a region in which the control trajectory T1 can be generated. Furthermore, the reference points Pn shown in FIGS. 4 to 9 indicate target positions at abrupt trajectory changes, such as corners, set on the control trajectory T1. Essentially, it is assumed that the stage 20 of the controlled object 2 is controlled to move along the control trajectory T1 so as to pass through the reference points Pn. In particular, if the control trajectory T1 is a linear trajectory along the X-axis, for example, the stage 20 can be controlled to move along the control trajectory T1. However, in order to improve productivity, it is necessary to set a tolerance (margin) for the control trajectory T1 in consideration of shortening (reducing) the takt time, and the region including the tolerance corresponds to the trajectory region R1.
[0049] 4 to 9 is a line that indicates the allowable error Δe1 on the inside of the corner with respect to the control trajectory T1, and the second allowable line R12 is a line that indicates the allowable error Δe1 on the outside of the corner with respect to the control trajectory T1. In other words, the trajectory region R1 is the region between the first allowable line R11 and the second allowable line R12. The trajectory generating unit 11 can generate the control trajectory T1 including the trajectory region R1 and the reference point Pn.
[0050] Furthermore, in consideration of shortening (reducing) the takt time, an allowable error Δe2 (margin) of approximately the same magnitude as the allowable error Δe1 is set for the reference point Pn (target position), and a reference point region R2 of a predetermined radius (allowable error Δe2) centered on the reference point Pn is a region that includes the allowable error related to the reference point Pn.
[0051] The trajectory generating unit 11 can generate a control trajectory T1 including a trajectory region R1, a reference point Pn (target position), and a reference point region R2.
[0052] The MPC can determine a control target point by performing an optimization calculation so that the stage 20 basically follows a control trajectory T1 within a trajectory region R1 that includes a tolerance. For example, a control target point (control target point Sa in FIG. 5 and control target point S1 in FIG. 6) is generated based on a prediction element C1 of a control profile optimized at the corresponding current time (see FIG. 3). Specifically, the control target point includes elements such as time, position (coordinate position), and velocity.
[0053] Incidentally, the controlled trajectory T1 may include trajectory changes at acute corners as shown in FIG. 4 in addition to the nearly right-angle corner (L-shaped path Q1) shown in FIG. 1 . FIG. 4 is a conceptual diagram for explaining Problem 1 below. At the corner shown in FIG. 4 , the MPC may perform optimization calculations so that the stage 20 follows a predicted trajectory T2 that moves away from the reference point Pn and passes on the inside of the corner within a trajectory region R1 that includes an allowable error. In other words, in order to reduce takt time, the MPC may perform optimization calculations so that the stage 20 follows an out-in-out predicted trajectory T2 as shown in FIG. 4 so that the cornering operation of the stage 20 can be performed efficiently. As a result, as shown in FIG. 4 , even if the predicted trajectory T2 is within the trajectory region R1 without deviating, the error from the target position (the corner reference point Pn) may exceed a predetermined value (allowable error Δe2) (Problem 1). This may result in insufficient control accuracy.
[0054] Furthermore, the control trajectory T1 may include a trajectory change at a substantially right-angle corner as shown in FIG. 5 . FIG. 5 is a conceptual diagram for explaining Problem 2 below. FIG. 5 shows how four control target points Sa are discretely generated by the MPC for a trajectory change at a substantially right-angle corner. The interval (time interval) between two consecutive (discretely generated) control target points Sa shown in FIG. 5 (and two consecutive control target points S1 shown in FIG. 6 ) may correspond to one control period in the control of the controlled object 2. Even for the corner shown in FIG. 5 , the MPC may perform optimization calculations to reduce takt time by causing the stage 20 to follow a predicted trajectory that moves away from the reference point Pn and passes through the inside of the corner within a trajectory region R1 that includes a tolerance. As a result, even if all four discretely generated control target points Sa fall within the trajectory region R1 without deviating, the section trajectory L1 (see FIG. 5 ) between two consecutive control target points Sa may deviate from the trajectory region R1. In other words, because the MPC calculates the control target point discretely, as shown in Figure 5, the section trajectory L1 may deviate from the trajectory region R1, and the error from the target position (corner reference point Pn) may exceed a predetermined value (allowable error Δe2) (Problem 2). As a result, there is a possibility that control accuracy may not be guaranteed.
[0055] In order to solve such problems 1 and 2, in this embodiment, a passing target point Px (see FIGS. 8 and 9 ) is further set. Specifically, the passing target adding unit 12 adds the passing target point Px, which is the passing target of the control object 2, to the control trajectory T1 for the control object 2. In other words, the control method according to this embodiment includes a passing target adding step, in which the passing target point Px, which is the passing target of the control object 2, is added to the control trajectory T1 for the control object 2. The passing target point Px is preferably added within the reference point region R2, and in the following, it is assumed, as an example, that it is added at the same position as the reference point Pn.
[0056] Then, the control unit 13 applies the control trajectory T1, to which the passing target point Px has been added, to model predictive control. The control unit 13 generates a control target point S1 (see FIG. 8 ) that follows the passing target point Px by model predictive control. The control unit 13 outputs trajectory data including information on the control target point S1 to the operation control unit 3, thereby controlling the control object 2 so that the control object 2 passes through the control target point S1. In other words, the control method according to this embodiment further includes an application step, a control target generation step, and a control step. In the application step, the control trajectory T1, to which the passing target point Px has been added, is applied to model predictive control. In the control target generation step, a control target point S1 that follows the passing target point Px is generated by model predictive control. In the control step, the control object 2 is controlled so that the control object 2 passes through the control target point S1.
[0057] The control unit 13 has a function of monitoring the predicted trajectory (optimum trajectory) of the controlled object 2 predicted by MPC, and judging whether or not the controlled object 2 has passed the passing target point Px based on the predicted trajectory and the passing target point Px. In other words, the control method further includes a judging step, in which it is judged whether or not the controlled object 2 has passed the passing target point Px based on the predicted trajectory (optimum trajectory) of the controlled object 2 predicted by model predictive control and the passing target point Px.
[0058] In this embodiment, a tolerance is set for the passing target point Px. In the examples shown in Figures 8 and 9, for convenience, the passing target point Px is added at the same position as the reference point Pn (target position), and the tolerance for the passing target point Px is also set to the same as the tolerance Δe2 for the reference point Pn. In other words, in Figures 8 and 9, as an example, it is assumed that the range of the tolerance centered on the passing target point Px is the same as the reference point region R2 centered on the reference point Pn.
[0059] However, the passing target point Px is not limited to being added at the same position as the reference point Pn, and may be added at a position different from the reference point Pn as long as it is within the reference point region R2.
[0060] Furthermore, the allowable error of the passing target point Px may be different from the allowable error Δe2 of the reference point Pn. For example, the allowable error of the passing target point Px may be smaller than the allowable error Δe2. As will be described later, the allowable error of the passing target point Px can be changed by the setting unit 15 in response to an operational input from the user.
[0061] Then, when the current point P1 (actual value), which is the control input corresponding to the current position, falls within a range including the allowable error of the passing target point Px (overlapping on the boundary line of the reference point region R2 in the example of FIG. 9), the control unit 13 determines that "the controlled object 2 has passed the passing target point Px." In other words, in the determination step of the control method according to this embodiment, when the controlled object 2 at its current position on the predicted trajectory falls within a range including the allowable error of the passing target point Px, it is determined that the controlled object 2 has passed the passing target point Px. As will be described in detail later, the control unit 13 performs an update process for the passing target point Px in accordance with the result of this determination.
[0062] The trajectory generation system 1 further includes a setting unit 15 (see FIG. 1). The setting unit 15 performs various settings based on operational input from outside. The trajectory generation system 1 further includes an operation unit 16 as a user interface 6 (see FIG. 1). The operation unit 16 includes one or more of a mouse, a keyboard, a pointing device, etc. The trajectory generation system 1 further includes a display unit 17 (display device) as the user interface 6 (see FIG. 1). The display unit 17 displays, for example, information related to the settings of the setting unit 15 on a screen. The user operates the operation unit 16 to perform operational input while looking at the screen of the display unit 17.
[0063] The operation unit 16 can receive operation input from the user regarding the setting of the passing target point Px. For example, the display unit 17 can display information about a reference trajectory (control trajectory T1) including reference points Pn at one or more trajectory change locations (e.g., corners, curved locations, etc.) in response to the operation input from the user. For example, while viewing the reference trajectory information displayed on the display unit 17, the user operates the operation unit 16 to set (specify) whether or not the control object 2 needs to pass through the reference points Pn individually or collectively.
[0064] The setting unit 15 sets whether or not the control object 2 needs to pass through each reference point Pn based on an operation input by the operation unit 16. The setting unit 15 stores (saves) setting information on whether or not the control object 2 needs to pass through in the storage unit 14, for example.
[0065] Specifically, the user may collectively specify one or more reference points Pn such that "the control object 2 is required to pass through the passing target point Px (passing target point Px is enabled)" or "the control object 2 is not required to pass through the passing target point Px (passing target point Px is disabled)" for all of the reference points Pn. Furthermore, the user may individually specify a specific reference point Pn among the one or more reference points Pn such that "the control object 2 is required to pass through the passing target point Px (passing target point Px is enabled)" or "the control object 2 is not required to pass through the passing target point Px (passing target point Px is disabled)." For example, for a location with a relatively gradual trajectory change, the user may specify that the control object 2 is not required to pass through the passing target point Px (passing target point Px is disabled). In other words, the user can enable / disable the passing target point Px using the passing target adding unit 12. If no user specification is made, the default setting may be "passing target point Px is enabled" for all reference points Pn. If the passing target point Px is valid, the passing target adding unit 12 adds the passing target point Px to the reference point Pn. If the passing target point Px is invalid, the passing target adding unit 12 does not add the passing target point Px to the reference point Pn.
[0066] In short, the control system 10 further includes a setting unit 15, which sets whether or not the control object 2 needs to pass through one or more passing target points Px individually or collectively in response to an external operation input. This makes it easier for the user's requests regarding the setting of one or more passing target points Px to be reflected in the control system 10, improving convenience.
[0067] Furthermore, the operation unit 16 can receive operation input from the user regarding the setting of an allowable error for the passing target point Px. For example, the display unit 17 can display information about a reference trajectory (control trajectory T1) including reference points Pn at one or more trajectory change locations (e.g., corners, curved locations, etc.) in response to the operation input from the user. For example, while viewing the reference trajectory information displayed on the display unit 17, the user operates the operation unit 16 to set (specify) an allowable error for a passing target point Px that can be added for each reference point Pn on the reference trajectory.
[0068] The setting unit 15 sets the allowable error for each passing target point Px based on an operation input by the operation unit 16. The setting unit 15 stores (preserves), for example, setting information of the allowable error in the storage unit 14. If there is no designation from the user, the allowable error Δe2 of the reference point Pn can be automatically set as the allowable error of the passing target point Px.
[0069] In other words, the setting unit 15 sets the allowable error for the passing target point Px in response to an external operation input, which makes it easier for the user's request regarding the allowable error for the passing target point Px to be reflected in the control system 10, thereby improving convenience.
[0070] 1, for convenience, the operation unit 16 and the display unit 17 are illustrated inside the motion controller 100, but they may be provided, for example, in a terminal separate from the motion controller 100 and communicatively connected to the motion controller 100. The terminal may be, for example, a desktop PC, a notebook PC, or a tablet terminal. If the terminal is equipped with a touch panel display device (display unit 17), the display device may also function as the operation unit 16.
[0071] The motion controller 100 of this embodiment controls, for example, data based on the control amount output from the controlled object 2 so that it matches a command value (target value) input from the host controller 5. The command value (target value) includes data specifying the position and velocity of the controlled object 2 operating within a predetermined operating range. For example, the motion controller 100 defines state variables using a state space model of the controlled object 2, with the estimation results of the position, velocity, etc. from the state estimation unit 4 as state quantities. The motion controller 100 then calculates, as the control input (e.g., command values for position and velocity), an operation amount (required change amount) that optimizes (e.g., minimizes) the deviation of the position and velocity (difference from the target value) at each time. The motion controller 100 may also include a disturbance observer that estimates disturbances, such as vibrations, that may be included in the controlled amount from the controlled object 2, and the trajectory generation system 1 may acquire the estimation results from the disturbance observer.
[0072] The manipulated variable (control input) is not limited to the required amount of change in the speed of the controlled object 2. Depending on the type of the controlled object 2, the manipulated variable (control input) may be the required amount of change in at least one of the position of the controlled object 2, and (in the case of a multi-joint robot) the joint angle, posture, acceleration (angular acceleration), thrust, and torque.
[0073] The control unit 13 outputs a control signal (for example, a digital signal) indicating trajectory data including information on the control target point S1 to the operation control unit 3.
[0074] The host controller 5 is configured as, for example, a programmable logic controller (PLC). The host controller 5 is communicably connected to the motion controller 100 (trajectory generation system 1). The host controller 5 may be configured as a host PC (personal computer).
[0075] The upper controller 5 generates a command signal including an operation command (command value data) related to a predetermined work process, and transmits the command signal to the motion controller 100 for control. The operation command (command value data) may include target values related to the position, speed, etc. of the control target 2 described above.
[0076] The operation control unit 3 controls the operation of the control target 2 based on the operation amounts in the trajectory data output from the trajectory generation system 1. Specifically, the operation control unit 3 determines the operation amounts for each of the X-axis 21 and the Y-axis 22 individually for each control period based on the operation amounts from the trajectory generation system 1, and inputs them to the X-axis amplifier A1 and the Y-axis amplifier A2 (control input). The operation amounts input to the X-axis amplifier A1 and the Y-axis amplifier A2, respectively, may be current command values for the drive currents supplied to the first motor M1 and the second motor M2, or the like.
[0077] Each of the X-axis amplifier A1 and the Y-axis amplifier A2 has an inverter circuit that supplies power to the corresponding motor (first motor M1, second motor M2). That is, the operation control unit 3 individually determines the current value of the drive current to be supplied to the first motor M1 and the second motor M2 based on the speed command value, which is the manipulated variable for each control period. The operation control unit 3 then controls the inverter circuit of each of the X-axis amplifier A1 and the Y-axis amplifier A2 to adjust the drive current to be supplied to the corresponding motor. Note that the drive current value may be determined individually by the X-axis amplifier A1 and the Y-axis amplifier A2.
[0078] (2) Application of Passing Target Points The difference between the predicted trajectory by MPC when there is a passing target point Px and when there is no passing target point Px will be described below with reference to FIGS.
[0079] FIG. 6 is a conceptual diagram illustrating an optimal trajectory V1 (predicted trajectory) of the controlled object 2 by MPC before a corner. The upper part of FIG. 6 conceptually illustrates a control trajectory T1 (reference trajectory) applied by the control unit 13 to MPC. The current point P1 on the control trajectory T1 in the upper part of FIG. 6 is a control input corresponding to the current position. The current point P1 is assumed to be an actual value generated based on the prediction element C1 of the control profile at time t0 (present) of the first time series B1 in FIG. 3 and applied as a control input. Furthermore, the prediction points P2, P3, P4, and P5 on the control trajectory T1 in the upper part of FIG. 6 are prediction elements at times t1, t2, t3, and t4 of the first time series B1 in FIG. 3, and are prediction elements that have not been applied as control inputs at time t0 (present). In the upper part of FIG. 6, the current point P1 and the prediction points P2 to P5 are arranged before the corner (reference point Pn).
[0080] The optimal trajectory V1 predicted by applying the control trajectory T1, including the current point P1 and the predicted points P2 to P5 in the upper part of FIG. 6, to the MPC is shown in the lower part of FIG. 6. The optimal trajectory V1 generally coincides with the control trajectory T1. The control target point S1 in the lower part of FIG. 6 indicates the target position for the next movement destination of the controlled object 2. The control target point S1 is generated based on the prediction element C1 of the control profile at time t1 (present) of the second time series B2 in FIG. 3, and is applied as a control input. The control target point S0 in the lower part of FIG. 6 corresponds to the current point P1. The control target points S2, S3, S4, and S5 in the lower part of FIG. 6 are prediction elements at times t2, t3, t4, and t5 of the second time series B2 in FIG. 3, and are prediction elements that are not applied as control inputs at time t1 (present).
[0081] Next, FIG. 7 is a conceptual diagram illustrating an optimal trajectory V2 (NG predicted trajectory) predicted by MPC after the optimal trajectory V1 in FIG. 6 , but without the passing target point Px. The upper part of FIG. 7 conceptually illustrates the control trajectory T1 (reference trajectory) applied to MPC by the control unit 13. The current point P1 on the control trajectory T1 in the upper part of FIG. 7 is the actual value when the control target point S1 in the lower part of FIG. 6 is applied as the control input. Because the controlled object 2 is closer to the reference point Pn than in the situation in FIG. 6 , the predicted points P2, P3, P4, and P5 on the control trajectory T1 are arranged as if turning a corner. Note that the symbol P5' in FIG. 7 corresponds to the control target point S5 in FIG. 6 , and the prediction has been corrected to the predicted point P5 because the controlled object 2 has approached the reference point Pn.
[0082] The optimal trajectory V2 predicted by applying the control trajectory T1, including the current point P1 and predicted points P2 to P5 shown in the upper part of FIG. 7 , to the MPC is shown in the lower part of FIG. 7 . The control target point S1 in the lower part of FIG. 7 indicates the target position for the next movement destination of the controlled object 2. In the example of FIG. 7 , because there is no passing target point Px, the MPC can generate the optimal trajectory V2 for the controlled object 2 based on constraints to reduce the takt time, such that the control target points S1 to S5 are within the trajectory region R1 including the allowable error Δe1 and are the shortest route. Therefore, as shown in FIG. 7 , the optimal trajectory V2 may end up having an error from the reference point Pn (target position) that is greater than the criterion (allowable error Δe2).
[0083] On the other hand, FIG. 8 is a conceptual diagram illustrating an optimal trajectory V3 (OK predicted trajectory) predicted by MPC after the optimal trajectory V1 of FIG. 6 , but in the presence of a passing target point Px. The upper part of FIG. 8 conceptually illustrates a control trajectory T1 (reference trajectory) applied by the control unit 13 to the MPC. The current point P1 on the control trajectory T1 in the upper part of FIG. 8 is an actual value obtained by applying the control target point S1 in the lower part of FIG. 6 as a control input. Because the controlled object 2 is closer to the reference point Pn than in the situation of FIG. 6 , the predicted points P2, P3, P4, and P5 on the control trajectory T1 are arranged as if turning a corner. Furthermore, the passing target point Px is added to the control trajectory T1 by the passing target adding unit 12. In other words, the control unit 13 applies the control trajectory T1 including the current point P1, the predicted points P2 to P5, and the passing target point Px to the MPC. In the example of FIG. 8 , as described above, the passing target point Px is added at the same position as the reference point Pn. 8, the passing target point Px is added between the predicted point P4 and the predicted point P5. For example, the passing target point Px can be added to the control trajectory T1 at the timing when the distance from the current point P1 to the reference point Pn becomes less than a predetermined distance.
[0084] The optimal trajectory V3 predicted by applying the control trajectory T1, including the current point P1, predicted points P2-P5, and passing target point Px shown in the upper part of FIG. 8 , to the MPC is shown in the lower part of FIG. 8 . The control target point S1 in the lower part of FIG. 8 indicates the target position for the next movement of the controlled object 2. In the example of FIG. 8 , because the passing target point Px is present, the MPC can generate the optimal trajectory V3 based on constraints to reduce the takt time, such that the control target points S1-S5 are within a trajectory region R1 including the allowable error Δe1, and the optimal trajectory V3 is within a range including the allowable error of the passing target point Px (here, within the reference point region R2), while remaining the shortest route. In the example of FIG. 8 , the control target points S3 and S4 are within the allowable error of the passing target point Px (here, located on the boundary line of the reference point region R2). Therefore, as shown in FIG. 8 , the optimal trajectory V3 may end up having an error from the reference point Pn (target position) of less than the standard (allowable error Δe2). In FIG. 8, for reference, the predicted points P2 to P5 in the upper row are also shown in the lower row.
[0085] Figure 9 is a conceptual diagram for explaining an optimal trajectory V4 (OK predicted trajectory) obtained by MPC several hours after the optimal trajectory V3 in Figure 8. The upper part of Figure 9 conceptually shows a control trajectory T1 (reference trajectory) applied to MPC by the control unit 13. The current point P1 in the upper part of Figure 9 is the actual value of the control input several hours after the current point P1 in Figure 8.
[0086] Here, the current point P1 in the upper part of FIG. 9 is within the range including the allowable error of the passing target point Px (here, it is on the boundary line of the reference point region R2). Therefore, the control unit 13 determines that "the controlled object 2 has passed the passing target point Px." In response to this determination result that "the controlled object 2 has passed the passing target point Px," the control unit 13 performs an update process for the passing target point Px, cancels the current passing target point Px, and sets the next passing target point Px. In other words, the control unit 13 applies to the MPC a control trajectory T1 that includes the current point P1 and predicted points P2 to P5 in the upper part of FIG. 9 but does not include the passing target point Px shown in FIG. 8. In FIG. 9, the cancellation of the passing target point Px is indicated by a dashed circle. Here, "setting the next passing target point Px" means setting (adding) a passing target point Px at a point of a sudden trajectory change, such as the next corner. The timing for setting the next passing target point Px may be immediately after the current passing target point Px is released, or may be when the distance from the current point P1 to the reference point Pn, such as the next corner, becomes less than a predetermined distance.
[0087] In short, the control method according to this embodiment further includes an update step, in which, when it is determined in the judgment step that the controlled object 2 has passed the passing target point Px, the current passing target point Px is cancelled and the next passing target point Px is set.
[0088] The optimal trajectory V4 predicted by applying the control trajectory T1 including the current point P1 and predicted points P2 to P5 shown in the upper part of Fig. 9 to the MPC is shown in the lower part of Fig. 9. The control target point S1 in the lower part of Fig. 9 indicates the target position for the next movement destination of the controlled object 2. As shown in Fig. 9, the optimal trajectory V3 indicates the optimal predicted trajectory after passing through the corner. For reference, the predicted points P2 to P5 shown in the upper part are also shown in the lower part of Fig. 9.
[0089] (3) Operation of the Control System A series of processing flows related to the operation of the control system 10 (trajectory generation system 1) will be described below with reference to Fig. 10. The flowchart shown in Fig. 10 is merely an example of the operation flow related to the control system 10, and the order of processing may be changed as appropriate, and processing may be added or omitted as appropriate.
[0090] The control system 10 acquires data of command values (target values) from the upper controller 5 for the control target 2 from the start point to the destination point of a predetermined motion range (including the L-shaped path Q1) (step ST1).
[0091] The control system 10 generates a reference trajectory (control trajectory T1) based on CAD data or CAM data relating to the motion trajectory of the stage 20 of the controlled object 2 (step ST2).
[0092] The control system 10 acquires the estimation result (the state of the controlled object 2 estimated based on the control amount) from the state estimation unit 4 (step ST3).
[0093] For example, if the distance from the current point P1 to the next reference point Pn is less than a predetermined distance (step ST4: Yes), the control system 10 adds a passing target point Px for the reference point Pn to the control trajectory T1 (step ST5: passing target adding step). Note that if the distance from the current point P1 to the next reference point Pn is equal to or greater than the predetermined distance (step ST4: No), the control system 10 skips step ST5 and proceeds to step ST6. Note that even if the distance from the current point P1 to the next reference point Pn is less than the predetermined distance, step ST5 can also be skipped for a reference point Pn whose passing target point Px has been set as invalid by user settings.
[0094] The control system 10 applies the control trajectory T1 to the MPC (step ST6: application step). The control system 10 uses the MPC to perform optimization calculations on the control input corresponding to the prediction interval K1 (prediction horizon) to generate a control target point S1 (step ST7). At that time, if the passing target point Px is on the control trajectory T1, the control system 10 uses the MPC to generate a control target point S1 that follows the passing target point Px (control target generation step).
[0095] The control system 10 outputs trajectory data including information on the control target point S1 to the operation control unit 3 (step ST8).
[0096] As a result, the operation control unit 3 performs synchronous control of the X-axis 21 and the Y-axis 22 based on the trajectory data including information on the control target point S1. Steps ST3 to ST8 can be repeatedly executed until the control object 2 reaches the destination point. After adding the passing target point Px, if the control system 10 determines that the control object 2 has passed the passing target point Px, for example, at the timing between the next steps ST3 and ST4, it can perform an update process such as canceling the passing target point Px.
[0097] (4) Advantages As described above, according to the control system 10 of this embodiment, a passing target point Px is added to the control trajectory T1, and a control target point S1 that follows the passing target point Px is generated by model predictive control. Therefore, when model predictive control is used, even if the control trajectory T1 includes a sudden trajectory change, the possibility that the error from the target position will exceed a predetermined value is reduced. In other words, the above-mentioned problems 1 and 2 are easily resolved. As a result, the control system 10 has the advantage of being able to reduce the possibility that the control accuracy will be reduced due to a trajectory change of the control trajectory T1.
[0098] In particular, the control system 10 determines whether the controlled object 2 has passed the passing target point Px based on the predicted trajectory (optimal trajectory) of the controlled object 2 predicted by model predictive control and the passing target point Px. In the example described above, the determination result is used to perform the process of updating the passing target point Px. By using the determination result in this way, it is possible to further reduce the possibility that the control accuracy will be reduced due to a change in the trajectory of the control trajectory T1. The determination result may be presented to the user via the user interface 6.
[0099] (5) Modifications Modifications of the above embodiment are listed below.
[0100] The same functions as those of the control system 10 according to the above embodiment may be realized as a control method, a computer program, or a non-transitory recording medium on which a computer program is recorded.
[0101] The control system 10 of the present disclosure includes a computer system. The computer system is primarily composed of a processor and memory as hardware. The processor executes a program stored in the memory of the computer system to realize the functions of the control system 10 of the present disclosure. The program may be pre-recorded in the memory of the computer system, provided via a telecommunications line, or provided on a non-transitory recording medium readable by the computer system, such as a memory card, optical disk, or hard disk drive. The processor of the computer system is composed of one or more electronic circuits including a semiconductor integrated circuit (IC) or a large-scale integrated circuit (LSI). The integrated circuits, such as ICs and LSIs, are referred to by different names depending on the degree of integration, and include integrated circuits called system LSIs, very large-scale integrations (VLSIs), or ultra-large-scale integrations (ULSIs). Furthermore, field-programmable gate arrays (FPGAs), which are programmed after the LSI is manufactured, or logic devices that allow the reconfiguration of internal connections or internal circuit partitions of the LSI, can also be used as processors. The electronic circuits may be integrated into one chip or distributed across multiple chips. The chips may be integrated into one device or distributed across multiple devices. The computer system referred to here includes a microcontroller having one or more processors and one or more memories. Therefore, the microcontroller is also composed of one or more electronic circuits including a semiconductor integrated circuit or a large-scale integrated circuit.
[0102] Furthermore, it is not essential that the multiple functions of the control system 10 be concentrated in one housing. For example, the components of the control system 10 may be distributed across multiple housings.
[0103] Conversely, multiple functions of the control system 10 may be integrated into one housing. Furthermore, at least some of the functions of the control system 10, for example, some of the functions of the control system 10 may be realized by the cloud (cloud computing) or the like.
[0104] In the above embodiment, all functions of the control system 10 are implemented in the motion controller 100. However, this is not limited to this, and at least some of the functions of the control system 10 may be implemented in a device other than the motion controller 100 (for example, the upper controller 5, the X-axis amplifier A1, or the Y-axis amplifier A2 shown in FIG. 1 ).
[0105] Specifically, in the above embodiment, as shown in Fig. 1, the control system 10 is implemented in a motion controller 100 between the host controller 5 and the control target 2. However, for example, the control system 10 may be implemented in a host controller 5 (e.g., a host PC) that also has the functions of the motion controller 100, and the host controller 5 may be connected to communicate with the control target 2. The host controller 5 may acquire information on the control amount from the control target 2, estimate the state of the control target 2, and perform optimization calculations using an MPC. The host controller 5 may generate trajectory data and perform synchronous control of the X-axis 21 and the Y-axis 22.
[0106] Alternatively, the control system 10 may be implemented in, for example, the X-axis amplifier A1 of the controlled object 2. The X-axis amplifier A1 may also have the functions of the motion controller 100. The host controller 5 may be connected to communicate with the X-axis amplifier A1 of the controlled object 2. The X-axis amplifier A1 may acquire command value (target value) data for a predetermined motion range (including the L-shaped path Q1) of the controlled object 2 from the host controller 5. The X-axis amplifier A1 may acquire information on the control amount of the first motor M1 and also acquire information on the control amount of the second motor M2 via the Y-axis amplifier A2, estimate the state of the controlled object 2, and perform optimization calculations using an MPC. The X-axis amplifier A1 may generate trajectory data and output a manipulated variable for the X-axis 21 to the first motor M1 and a manipulated variable for the Y-axis 22 to the Y-axis amplifier A2 so as to perform synchronous control of the X-axis 21 and the Y-axis 22.
[0107] In the above embodiment, as shown in FIG. 1 , the motion controller 100 implemented in the control system 10 includes a motion control unit 3 and a state estimation unit 4. However, this is not limited to this, and each of the X-axis amplifier A1 and the Y-axis amplifier A2 of the controlled object 2 may include a motion control unit 3 and a state estimation unit 4. The state estimation unit 4 of each of the X-axis amplifier A1 and the Y-axis amplifier A2 may estimate the state of its corresponding axis, and each amplifier may use the estimation result for feedback control. Each amplifier may also transmit the estimation result by the state estimation unit 4 to the control system 10. The control system 10 may receive the estimation result of the state of the corresponding axis from each of the X-axis amplifier A1 and the Y-axis amplifier A2 and perform optimization calculations using the MPC. The control system 10 may generate trajectory data and output it to each of the X-axis amplifier A1 and the Y-axis amplifier A2. The operation control units 3 of the X-axis amplifier A1 and the Y-axis amplifier A2 may each perform feedback control based on the received trajectory data and the estimated results for the state of the corresponding axis, resulting in synchronous control of the X-axis amplifier A1 and the Y-axis amplifier A2.
[0108] In the above embodiment, the control object 2 is a two-axis machining tool with an X-axis and a Y-axis. However, the control object 2 is not limited to "two axes" and may be, for example, a three-axis machining tool with an X-axis, a Y-axis, and a Z-axis, or a four-axis or five-axis machining tool. Furthermore, the machining tool is not limited to a "stage." For example, the control object 2 may be a multi-joint robot. Specifically, the control object 2 may be an arm-type vertical multi-joint robot. Furthermore, the control object 2 may be a control object with another drive system. The control object 2 may be, for example, equipment such as a conveyance device, or a mobile object such as an automobile, an airplane, a drone, or a self-propelled vacuum cleaner.
[0109] In the above embodiment, the control object 2 is a plant. However, the control object 2 is not limited to being a plant, nor is it limited to being a mobile object. For example, the control object 2 may be an air conditioner, and the control method and control system 10 may execute commands related to temperature control and air volume control of the air conditioner. In other words, the "control trajectory" referred to in the present disclosure is not limited to a control trajectory related to the operation of a processing machine or a mobile object, etc., but may also be a control trajectory related to changes in environmental factors such as temperature or air volume.
[0110] In the control system 10 of the above embodiment, the passing target point Px is added to the control trajectory T1. That is, as shown in Fig. 8, another passing target point Px is added to the current point P1 and the predicted points P2 to P5.
[0111] Alternatively, one of a plurality of prediction points (e.g., prediction points P2 to P5) may be slid to the same position as the reference point Pn, and the prediction point may be set as the passing target point Px. In other words, instead of adding a new passing target point Px, a prediction point that is closer to and closer to the reference point Pn (prediction point P4 in the example of FIG. 8) may be slid to the same position as the reference point Pn, and set as the passing target point Px. A tolerance may also be set for the prediction point that becomes the passing target point Px through sliding. The prediction point that becomes the passing target point Px through sliding does not have to be at the same position as the reference point Pn, but is preferably at a position close to the reference point Pn.
[0112] That is, the trajectory generation unit 11 may generate a control trajectory T1 that includes the predicted point P4 as the passing target point Px. The control unit 13 may apply the control trajectory T1 that includes the predicted point P4, which is the passing target point Px, to model predictive control. In this case, for example, the control unit 13 may generate a control target point S1 that follows the predicted point P4, which is the passing target point Px, by model predictive control.
[0113] In other words, in the control method according to the modification of the above embodiment, the trajectory generation step may generate a control trajectory T1 for the control object 2 so as to include the passing target point Px, and the application step may apply the control trajectory T1 including the passing target point Px to model predictive control. The control target generation step may generate a control target point S1 that follows the passing target point Px by model predictive control. The control step may control the control object 2 so that the control object 2 passes through the control target point S1.
[0114] In this configuration, one of the multiple predicted points is slid and moved and that predicted point is set as the passing target point Px, as in the configuration in which the passing target point Px is added in the above embodiment, the possibility of a decrease in control accuracy due to a change in the trajectory of the control trajectory T1 can be reduced.
[0115] (Summary) The above-described embodiments and the like disclose the following aspects.
[0116] The control method according to the first aspect includes a passing target adding step, an applying step, a control target generating step, and a control step. In the passing target adding step, a passing target point (Px) that is a passing target of the controlled object (2) is added to a control trajectory (T1) related to the controlled object (2). In the applying step, the control trajectory (T1) to which the passing target point (Px) has been added is applied to model predictive control. In the control target generating step, a control target point (S1) that follows the passing target point (Px) is generated by model predictive control. In the control step, the controlled object (2) is controlled so that the controlled object (2) passes through the control target point (S1).
[0117] According to the above aspect, it is possible to reduce the possibility that the control accuracy will be reduced due to a change in the control orbit (T1).
[0118] The control method according to the second aspect includes a trajectory generation step, an application step, a control target generation step, and a control step. In the trajectory generation step, a control trajectory (T1) for the control object (2) is generated so as to include a passing target point (Px) that is a passing target of the control object (2). In the application step, the control trajectory (T1) including the passing target point (Px) is applied to model predictive control. In the control target generation step, a control target point (S1) that follows the passing target point (Px) is generated by model predictive control. In the control step, control of the control object (2) is performed so that the control object (2) passes through the control target point (S1).
[0119] According to the above aspect, it is possible to reduce the possibility that the control accuracy will be reduced due to a change in the control orbit (T1).
[0120] The control method according to the third aspect is the control method according to the first or second aspect, further including a determination step, in which it is determined whether the controlled object (2) has passed through the passing target point (Px) based on a predicted trajectory (optimal trajectory) of the controlled object (2) predicted by model predictive control and the passing target point (Px).
[0121] According to the above aspect, for example, by using the determination result of the determination step, it is possible to further reduce the possibility that the control accuracy will be reduced due to a change in the control trajectory (T1).
[0122] The control method according to the fourth aspect is the same as the third aspect, and further includes an updating step in which, when it is determined in the determining step that the control object (2) has passed the passing target point (Px), the current passing target point (Px) is cancelled and a next passing target point (Px) is set.
[0123] According to the above aspect, the current passing target point (Px) can be appropriately released and the next passing target point (Px) can be appropriately set, which results in further reducing the possibility of a decrease in control accuracy due to a change in the trajectory of the control trajectory (T1).
[0124] In the control method according to the fifth aspect, in the third or fourth aspect, a tolerance is set for the passing target point (Px). In the determination step, it is determined that the controlled object (2) has passed the passing target point (Px) when the controlled object (2) at its current position on the predicted trajectory (optimal trajectory) falls within a range including the tolerance for the passing target point (Px).
[0125] According to the above aspect, it is possible to reduce the possibility that the control accuracy will be reduced due to a change in the control trajectory (T1) while shortening the tact time.
[0126] Regarding the control method according to the sixth aspect, in any one of the first to fifth aspects, the controlled object (2) is a plant, and the control trajectory (T1) is a trajectory related to the operation control of the plant.
[0127] According to the above aspect, it is possible to reduce the possibility that the accuracy of the plant operation control will be reduced due to a change in the control trajectory (T1).
[0128] A program according to a seventh aspect is a program for causing one or more processors to execute the control method according to any one of the first to sixth aspects.
[0129] According to the above aspect, it is possible to provide a function for reducing the possibility that the control accuracy will be reduced due to a change in the control orbit (T1).
[0130] A control system (10) according to an eighth aspect includes a passing target adding unit (12) and a control unit (13). The passing target adding unit (12) adds a passing target point (Px) that is a passing target of the controlled object (2) to a control trajectory (T1) related to the controlled object (2). The control unit (13) applies the control trajectory (T1) to which the passing target point (Px) has been added to model predictive control. The control unit (13) generates a control target point (S1) that follows the passing target point (Px) by model predictive control. The control unit (13) controls the controlled object (2) so that the controlled object (2) passes through the control target point (S1).
[0131] According to the above aspect, it is possible to provide a control system (10) that reduces the possibility that the control accuracy will be reduced due to a change in the control orbit (T1).
[0132] A control system (10) according to a ninth aspect includes a trajectory generation unit (11) and a control unit (13). The trajectory generation unit (11) generates a control trajectory (T1) for the control object (2) so as to include a passing target point (Px) that is a passing target of the control object (2). The control unit (13) applies the control trajectory (T1) including the passing target point (Px) to model predictive control. The control unit (13) generates a control target point (S1) that follows the passing target point (Px) by model predictive control. The control unit (13) controls the control object (2) so that the control object (2) passes through the control target point (S1).
[0133] According to the above aspect, it is possible to provide a control system (10) that reduces the possibility that the control accuracy will be reduced due to a change in the control orbit (T1).
[0134] The control system (10) according to a tenth aspect is the eighth or ninth aspect, further including a setting unit (15). The setting unit (15) sets whether or not the control object (2) needs to pass through one or more passing target points (Px) individually or collectively in response to an external operation input.
[0135] According to the above aspect, the user's request for setting one or more passing target points (Px) is more easily reflected in the control system (10), improving convenience.
[0136] The control system (10) according to an eleventh aspect is the control system (10) of any one of the eighth to tenth aspects, further including a setting unit (15). The setting unit (15) sets a tolerance for the passing target point (Px) in response to an external operation input.
[0137] According to the above aspect, the user's requests regarding the allowable error of the passing target point (Px) are more easily reflected in the control system (10), improving convenience.
[0138] The configurations according to the third to sixth aspects are not essential for the control method of the first or second aspect and can be omitted as appropriate. The configurations according to the tenth and eleventh aspects are not essential for the control system (10) of the eighth or ninth aspect and can be omitted as appropriate.
[0139] 10 Control system 11 Trajectory generation unit 12 Passing target addition unit 13 Control unit 15 Setting unit 2 Control target Px Passing target point S1 Control target point T1 Control trajectory
Claims
1. A control method comprising: a passing target adding step of adding a passing target point that is a passing target of a controlled object to a control trajectory for the controlled object; an application step of applying the control trajectory with the passing target point added to model predictive control; a control target generating step of generating a control target point that follows the passing target point by the model predictive control; and a control step of controlling the controlled object so that the controlled object passes through the control target point.
2. A control method comprising: a trajectory generation step of generating a control trajectory for a control object so as to include a passing target point that is a passing target of the control object; an application step of applying the control trajectory including the passing target point to model predictive control; a control target generation step of generating a control target point that follows the passing target point by the model predictive control; and a control step of controlling the control object so that the control object passes through the control target point.
3. The control method according to claim 1 or 2, further comprising a determination step of determining whether the controlled object has passed the passing target point based on the predicted trajectory of the controlled object predicted by the model predictive control and the passing target point.
4. The control method according to claim 3, further comprising an update step of canceling the current passing target point and setting the next passing target point when it is determined in the determination step that the controlled object has passed the passing target point.
5. A control method according to claim 3 or 4, wherein an allowable error is set for the passing target point, and in the determination step, it is determined that the controlled object has passed the passing target point when the controlled object at its current position on the predicted trajectory falls within a range including the allowable error of the passing target point.
6. The control method according to any one of claims 1 to 5, wherein the controlled object is a plant, and the control trajectory is a trajectory related to operation control of the plant.
7. A program for causing one or more processors to execute the control method according to any one of claims 1 to 6.
8. A control system comprising: a passing target adding unit that adds a passing target point that is a passing target of a controlled object to a control trajectory for the controlled object; and a control unit, wherein the control unit applies model predictive control to the control trajectory with the passing target point added, generates a control target point that follows the passing target point by the model predictive control, and controls the controlled object so that the controlled object passes through the control target point.
9. A control system comprising: a trajectory generation unit that generates a control trajectory for a control object so as to include a passing target point that is a passing target of the control object; and a control unit, wherein the control unit applies the control trajectory including the passing target point to model predictive control, generates a control target point that follows the passing target point by the model predictive control, and controls the control object so that the control object passes through the control target point.
10. A control system according to claim 8 or 9, further comprising a setting unit that sets whether or not the controlled object needs to pass through one or more of the passing target points individually or collectively in response to an external operation input.
11. The control system according to any one of claims 8 to 10, further comprising a setting unit that sets an allowable error for the passing target point in response to an external operation input.
Citation Information
Patent Citations
Method and device for generating track
JP1996123547A
Route generation method of autonomous mobile device, and route generation program
JP2020160831A
Control device, control method and program
JP2022142452A
Collision-avoidance motion planning method for industrial robots
JP2023513841A