Control method, program, and control system
By setting a trajectory generation region and reducing it to a target generation region for discrete control target point generation, the method ensures accurate control even with sudden trajectory changes, addressing deviations in existing control methods.
Patent Information
- Application Number
- PCT/JP2025/001833
- 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 control methods, such as model predictive control and PID control, face challenges in maintaining accuracy when a control trajectory includes sudden changes due to discretely generated control target points, leading to potential deviations in the control path.
A control method and system that involves setting a trajectory generation region and reducing it to a target generation region, discretely generating control target points within this region to ensure the control object passes through them, thereby minimizing deviations and maintaining accuracy even with sudden trajectory changes.
The method reduces the likelihood of decreased control accuracy by ensuring the control object adheres to the intended trajectory, even with sudden changes, by discretely generating control target points within a reduced target generation region.
Smart Images

Figure JP2025001833_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 a target path (control trajectory) includes a sudden change in trajectory, there is a possibility that control accuracy may not be ensured in the section between two consecutive control target points due to discretely generated control instructions (control target points). Note that this problem caused by discrete control target points may occur not only in model predictive control but also in PID control.
[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 first region setting step, a second region setting step, and a control step. In the first region setting step, a trajectory generation region is set in which a control trajectory for a control object can be generated. In the second region setting step, the trajectory generation region is reduced to set a target generation region in which a control target point that follows the control trajectory can be generated. In the control step, the control target point is discretely generated within the target generation region, and the control object is controlled so that the control object passes through the control target point.
[0007] A program according to one aspect of the present disclosure is a program for causing one or more processors to execute the above-described control method.
[0008] A control system according to one aspect of the present disclosure includes a first region setting unit, a second region setting unit, and a control unit. The first region setting unit sets a trajectory generation region in which a control trajectory for a control object can be generated. The second region setting unit reduces the trajectory generation region to set a target generation region in which a control target point that follows the control trajectory can be generated. The control unit discretely generates the control target point within the target generation region and controls the control object so that the control object passes through the control target point.
[0009] FIG. 1 is a block diagram of a motion controller including a control system (trajectory generation system) according to an embodiment, and its peripheral configuration. 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 problems caused by discrete control target points when the control trajectory includes cornering. FIG. 5 is a conceptual diagram illustrating reduction of a trajectory generation region in the control system. FIG. 6 is a conceptual diagram illustrating a method for calculating a reduction amount in the control system. FIG. 7 is a conceptual diagram illustrating a method for calculating a reduction amount using geometric constraints in the control system. FIG. 8 is a conceptual diagram illustrating a method for calculating a reduction amount when the control trajectory includes a curved trajectory in the control system. FIG. 9 is a conceptual diagram illustrating a method for calculating a reduction amount when the control trajectory includes a curved trajectory in the control system. FIG. 10 is a flowchart illustrating the operation of the control system.
[0010] (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.
[0011] A control method according to one embodiment executes commands related to operational control of a controlled object 2 (see FIG. 1 : plant) using a model predictive control (hereinafter sometimes abbreviated as MPC) function that performs optimization while predicting future responses at each time (each point in time). A control system 10 according to one embodiment (see FIGS. 1 and 2 ) executes the commands using prediction results from the MPC. However, the control method and control system 10 according to one embodiment do not necessarily require the use of the MPC function, and commands related to operational control of the plant may be executed using proportional-integral-differential (PID) control.
[0012] 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.
[0013] A control method according to one aspect includes a first region setting step, a second region setting step, and a control step. In the first region setting step, a trajectory generation region R1 (see FIGS. 4 and 5) is set in which a control trajectory T1 (see FIGS. 4 and 5) for a control object 2 can be generated. In the second region setting step, the trajectory generation region R1 is reduced to set a target generation region R2 (see FIG. 5) in which a control target point P1 (see FIGS. 4 and 5) that follows the control trajectory T1 can be generated. In the control step, control target points P1 are discretely generated within the target generation region R2, and the control object 2 is controlled so that the control object 2 passes through the control target points P1.
[0014] According to the above control method, the trajectory generation region R1 is reduced to set a target generation region R2, and the control target points P1 are discretely generated within the target generation region R2. Therefore, even if the control trajectory T1 includes a sudden trajectory change, the possibility that the section between two consecutive control target points P1 (section trajectory L1: see FIGS. 4 to 6 ) will deviate from the trajectory generation region R1 due to the discretely generated control target points P1 is reduced. As a result, the above control method has the advantage of reducing the possibility that the control accuracy will decrease due to trajectory changes in the control trajectory T1.
[0015] The above control method is used on a computer system (control system 10). That is, the above control method can also be embodied as a computer program. A program according to one aspect is a program for causing one or more processors to execute the above control method. The program may be recorded on a computer-readable non-transitory recording medium.
[0016] 1 and 2 , a control system 10 according to one embodiment includes a first region setting unit 11, a second region setting unit 12, and a control unit 13. The first region setting unit 11 sets a trajectory generation region R1 in which a control trajectory T1 for a control object 2 can be generated. The second region setting unit 12 reduces the trajectory generation region R1 to set a target generation region R2 in which a control target point P1 that follows the control trajectory T1 can be generated. The control unit 13 discretely generates control target points P1 within the target generation region R2 and controls the control object 2 so that the control object 2 passes through the control target points P1. The above-described control system 10 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.
[0017] 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.
[0018] 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.
[0019] (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 5. 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.
[0020] 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.
[0021] As shown in FIG. 1, the X-axis 21 includes a first motor M1 (servo motor) and an X-axis amplifier A1 that drives and controls the first motor M1. The first motor M1 is, for example, a rotary motor, but may also be a linear motor. As shown in FIG. 1, the Y-axis 22 includes a second motor M2 (servo motor) and a Y-axis amplifier A2 that drives and controls the second motor M2. The second motor M2 is, for example, a rotary motor, but may also be a linear motor. The X-axis 21 and Y-axis 22 are synchronously controlled so that the stage 20 moves to a predetermined X-Y coordinate position.
[0022] 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 an operation of moving at a right angle, but may also include an operation of moving at an obtuse angle or an acute angle, or an operation of moving in a curved shape (for example, a circular or elliptical shape).
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] The trajectory generation system 1 (control system 10) further includes a control unit 13, a first region setting unit 11, and a second region setting unit 12 (see FIGS. 1 and 2).
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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 P1 (FIGS. 4 and 5) based on a trajectory generation region R1 or a target generation region R2, which will be described later.
[0041] The trajectory generation region R1 (see FIGS. 4 and 5) is a region in which a control trajectory T1 for the control object 2 can be generated. The first region setting unit 11 sets the trajectory generation region R1. In other words, the control method according to this embodiment includes a first region setting step, in which the trajectory generation region R1 is set.
[0042] 4 is a conceptual diagram of a control trajectory T1 corresponding to position Pt2 of the L-shaped path Q1 shown in FIG. 1 and its surroundings (for convenience, FIG. 4 shows a corner with an angle slightly wider than 90 degrees). The control trajectory T1 is a trajectory related to the operation control of the plant, and corresponds to a reference trajectory that can be generated based on CAD (Computer Aided Design) data or CAM (Computer Aided Manufacturing) data related to the operation trajectory of the stage 20 of the controlled object 2. Alternatively, the control trajectory T1 can be set directly by manual input by the user. The reference point Pn in FIGS. 4 and 5 indicates the target position of the corner set on the control trajectory T1.
[0043] In short, it is basically assumed that the stage 20 of the control target 2 is controlled to move along the control trajectory T1 so as to pass through the reference point 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 an allowable error (margin) for the control trajectory T1 in consideration of shortening (reducing) the takt time, and the region including the allowable error corresponds to the trajectory generation region R1.
[0044] The first tolerance line R11 in FIG. 4 is the (maximum) tolerance e on the inside of the corner relative to the control trajectory T1. max The second tolerance line R12 is a line indicating the (maximum) tolerance error e max This is a line indicating
[0045] The MPC can basically perform optimization calculations so that the stage 20 follows a control trajectory T1 within a trajectory generation region R1 that includes a tolerance. Each of the multiple control target points P1 shown in Figure 4 is generated based on a prediction element C1 of a control profile optimized at the corresponding current time (see Figure 3). Specifically, the control target point P1 includes elements such as time, position (coordinate position), and velocity.
[0046] 4, the MPC may perform optimization calculations so that the stage 20 follows a trajectory that moves away from the reference point Pn and passes through the inside of the corner within a trajectory generation 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 a trajectory such as that shown in FIG. 4 so that the cornering operation of the stage 20 can be performed efficiently.
[0047] Suppose that the only constraint set in the trajectory generation system 1 is that the control target point P1 must always be generated within the trajectory generation region R1, regardless of changes in the control trajectory T1. In that case, as shown in Figure 4, even if the control target point P1 is generated within the trajectory generation region R1, the trajectory between two consecutive control target points P1 near a corner (section trajectory L1) may deviate from the trajectory generation region R1. As a result, the control accuracy of the control target 2 may be reduced.
[0048] To solve this problem, in this embodiment, a target generation region R2 (see FIG. 5) is further set. The target generation region R2 is a region obtained by reducing the trajectory generation region R1. The target generation region R2 is a region in which a control target point P1 that follows the control trajectory T1 can be generated. The second region setting unit 12 sets the target generation region R2 by reducing the trajectory generation region R1. In other words, the control method according to this embodiment includes a second region setting step, in which the target generation region R2 is set by reducing the trajectory generation region R1. Note that a detailed explanation of the reduction of the trajectory generation region R1 will be given later.
[0049] The control unit 13 discretely generates a control target point P1 within the target generation region R2 based on the results of an optimization calculation obtained using, for example, the MPC. For example, the MPC itself performs an optimization calculation to fit the prediction element C1 (control target point P1) within the target generation region R2, as in "Use Example 3" described below. However, if the trajectory change is relatively small, such as in a straight trajectory, the target generation region R2 may not be set. In that case, the control target point P1 may be generated within the trajectory generation region R1. The interval (time interval) between two consecutive discretely generated control target points P1 may correspond to one control period in the control of the control target 2.
[0050] The control unit 13 outputs information on the calculation results of the MPC, i.e., trajectory data including information on the control target point P1 generated to fall within the trajectory generation region R1 or the target generation region R2, to the operation control unit 3, and controls the control object 2 so that the control object 2 passes through the control target point P1. In other words, the control method according to this embodiment includes a control step, in which the control target point P1 is discretely generated within the target generation region R2, and the control object 2 is controlled so that the control object 2 passes through the control target point P1. In particular, in this embodiment, as an example, the control step discretely generates the control target point P1 by model predictive control.
[0051] 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.
[0052] The operation unit 16 can receive operation input from the user regarding the tolerance for reducing the trajectory generation region R1. The setting unit 15 sets the tolerance based on the operation input from the operation unit 16. The setting unit 15 stores (preserves) information about the tolerance in the storage unit 14, for example. The user can specify, via the user interface 6, the extent to which the reduction of the trajectory generation region R1 performed by the second region setting unit 12 is to be tolerated.
[0053] The operation unit 16 can also receive operation input from the user regarding whether or not to set the target generation region R2. The setting unit 15 sets whether or not to set the target generation region R2 based on the operation input from the operation unit 16. The setting unit 15 stores (saves) information regarding whether or not to set the target generation region R2 in the storage unit 14, for example. The user can specify, via the user interface 6, for example, that the target generation region R2 needs to be set for a specific portion (e.g., a corner) of the reference trajectory (control trajectory T1). The user can also specify, via the user interface 6, that the target generation region R2 does not need to be set for other portions (e.g., straight portions) of the reference trajectory (control trajectory T1). Note that if the user does not specify whether or not to set the target generation region R2, the control system 10 automatically selects whether or not to set the target generation region R2 depending on the value of the reduction amount (described below).
[0054] In short, the control system 10 further includes a setting unit 15, which sets at least one of the allowable amount for reducing the trajectory generation region R1 and whether or not to set the target generation region R2 in response to external operational input.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] The control unit 13 outputs a control signal (for example, a digital signal) indicating trajectory data including information on the control target point P1 to the operation control unit 3.
[0059] 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).
[0060] 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.
[0061] 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.
[0062] 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.
[0063] (2) Reducing the Trajectory Generation Region A method for reducing the trajectory generation region R1 will be described with reference to FIGS. 4 to 9. In this embodiment, the second region setting unit 12 has a function of calculating a reduction distance Δe (see FIG. 6) related to the width of the trajectory generation region R1 as the amount of reduction for the trajectory generation region R1. The reduction amount is calculated so that the section trajectory L1 between two consecutive control target points P1 does not deviate from the trajectory generation region R1. The second region setting unit 12 reduces the trajectory generation region R1 based on the reduction amount to set a target generation region R2.
[0064] In other words, the control method according to this embodiment further includes a reduction amount calculation step, in which a reduction amount (here, a reduction distance Δe) is calculated so that the section trajectory L1 between two consecutive control target points P1 does not deviate from the trajectory generation region R1. In the second region setting step, the trajectory generation region R1 is reduced based on the reduction amount to set a target generation region R2.
[0065] [Trajectory Including Corners] Hereinafter, a method for reducing the trajectory generation region R1 when the reference trajectory (control trajectory T1) includes a sudden trajectory change such as a corner will be described.
[0066] First, Fig. 5 will be described. The control trajectory T1 shown in Fig. 5 is the same as the control trajectory T1 shown in Fig. 4. However, unlike Fig. 4, Fig. 5 shows only a part of the trajectory generation region R1. In particular, Fig. 5 shows only the inside of the control trajectory T1 (the first tolerance line R11 side) of the trajectory generation region R1. The allowable error e in Fig. 5 max is the distance between the first permissible line R11 and the control trajectory T1.
[0067] 5 also shows a target generation region R2 obtained by a calculation formula described later. However, only a portion of the target generation region R2 is shown. In particular, FIG. 5 also shows only the inside of the control trajectory T1 (the inside of the corner) of the target generation region R2. The (maximum) corrected allowable error e' in FIG. 5 max is the tolerance e max is the allowable error after correcting (reducing) the allowable error e, and is the distance between the allowable line R21 of the target generation region R2 and the control trajectory T1. max and the corrected tolerance e' max The difference between these is a reduction distance Δe (reduction amount), and the width of the target generation region R2 is reduced by the reduction distance Δe with respect to the first allowable line R11 of the trajectory generation region R1. Although not shown in Fig. 5, it is assumed that the region outside the control trajectory T1 of the target generation region R2 (on the outside of the corner) is not reduced, but the width of the outer region may also be reduced by the reduction distance Δe with respect to the second allowable line R12 of the trajectory generation region R1 (see Fig. 4).
[0068] In FIG. 5, for two control target points P1 of interest (two consecutive control target points P1), k , X k+1 It is also written as X. k represents the state of the position and velocity at a certain time point k, and X k+1represents the state of the position, velocity, etc. at the time point k+1 following the time point k (in FIG. 3, if the time point k=t0, then the time point k+1=t1). k , X k+1 ) are two control target points P1 such that the section trajectory L1 between them deviates from the trajectory generation region R1 as shown in FIG. 4. In the following, a triangle with a vertex C is referred to as △CX k X k+1 Also written as:
[0069] Here, the corrected error tolerance e' max The "minimum condition" for is the minimum X k , X k+1 The section trajectory L1 between the first and second lines is in contact with the first allowable line R11 and is within the trajectory generation region R1, and △CX k X k+1 This is the case when the triangle is an isosceles triangle. k X k+1 does not have to be strictly an "isosceles triangle." The apex angle of the vertex C is equal to the angle of the corner, that is, the interior angle θ (0<θ<π) at the reference point Pn of the control trajectory T1.
[0070] FIG. 6 shows the isosceles triangle △CX from FIG. k X k+1 6 is a conceptual diagram in which only the angle θ′ in FIG. 6 is extracted. The reduction distance Δe that satisfies the above minimum condition can be calculated by the following formula (1), as can be seen from FIG. 6. The angle θ′ in FIG. 6 is θ / 2.
[0071]
[0072] Δlk in formula (1) is X k , X k+1 The discrete distance (dt) is the section distance of the section trajectory L1 between time t0 and time t1, and can be calculated by multiplying the cornering speed (v) of the control object 2 by a discrete distance (dt: discrete time). The discrete distance (dt) is the time interval between two consecutive control target points P1 that are discretely generated, and can correspond to, for example, one control period. In terms of FIG. 3, the discrete distance (dt) can be, for example, the time interval between time t0 and time t1.
[0073] In this way, the reduction distance Δe is calculated, the trajectory generation region R1 is reduced, and the target generation region R2 is set. As a result, the section trajectory L1 between two consecutive control target points P1 may deviate from the target generation region R2, but is less likely to deviate from the trajectory generation region R1 (see FIG. 5). This reduces the possibility of a decrease in control accuracy due to a change in the control trajectory T1.
[0074] The following three examples are examples of use of the reduction of the trajectory generation region R1 and the setting of the target generation region R2.
[0075] [Use Example 1] In use example 1, the control system 10 may calculate the reduction distance Δe based on real-time information and set the target generation region R2.
[0076] Specifically, the second region setting unit 12 determines the reduction amount (here, the reduction distance Δe) using system information obtained from the controlled object 2 while controlling the controlled object 2. The system information here refers to real-time information acquired by the control system 10 from the X-axis amplifier A1 and the Y-axis amplifier A2 while the control system 10 is actually driving and controlling the stage 20. The system information may be, for example, information at the start time of prediction by the MPC (for example, information at the current time t0 in the first time series B1 of FIG. 3 ). The system information may include the positions (angles), speeds, accelerations, and torques of the first motor M1 and the second motor M2 at the start time of prediction. The system information may also include the coordinate position, speed, acceleration, etc. of the stage 20 at the start time of prediction. The system information may also include information on the estimation results (the state of the controlled object 2 estimated based on the control amount) by the state estimation unit 4 at the start time of prediction.
[0077] In other words, in the reduction amount calculation step of the control method according to this embodiment, the reduction amount (here, the reduction distance Δe) is determined using system information obtained from the controlled object 2 while control of the controlled object 2 is being carried out, so that the section trajectory L1 does not deviate from the trajectory generation region R1.
[0078] In this use example 1, it becomes easy to determine the reduction amount (reduction distance Δe) and set the target generation region R2 in real time while the control of the control object 2 is being performed.
[0079] [Use Example 2] As a use example 2, the control system 10 may geometrically calculate the reduction distance Δe when determining the reference trajectory (control trajectory T1) and set the target generation region R2.
[0080] Specifically, before the control of the control object 2 is performed, the control system 10 generates (determines) a reference trajectory based on CAD data or CAM data related to the motion trajectory of the stage 20 of the control object 2. Alternatively, before the control of the control object 2 is performed, the reference trajectory can be directly set (determined) by manual input by the user, etc. At the timing when the reference trajectory is obtained, the second region setting unit 12 geometrically calculates the reduction distance Δe and sets the target generation region R2.
[0081] In other words, in the reduction amount calculation step of the control method according to this embodiment, the reduction amount (here, the reduction distance Δe) is determined using geometric constraints on the control trajectory T1 before control of the control object 2 is performed so that the section trajectory L1 does not deviate from the trajectory generation region R1.
[0082] A method for geometrically calculating the reduced distance Δe will be described below with reference to Fig. 7. Here again, an example is given in which the reference trajectory (control trajectory T1) includes a sudden trajectory change such as a corner.
[0083] As shown in FIG. 7, the cornering velocity (v) of the stage 20 is determined by the tolerance e on the outer side (the second tolerance line R12 side) of the control trajectory T1 after passing through the corner. max In other words, as shown in Figure 7, the trajectory indicated by the solid line "OK" is the maximum trajectory that is permissible after passing through a corner, and the trajectory indicated by the dashed line "NG" is not permissible.
[0084] 7, if the velocity of the stage 20 in the tangential direction of the trajectory at the corner point Pm on the first tolerance line R11 is v, then at a certain time t, in order for the velocity vcos(θ / 2) (0<θ<π) of the vertical component of the velocity v (the downward direction perpendicular to the control trajectory T1 after the corner) to become 0 (zero), the following must be satisfied: vcos(θ / 2)-at=0 ... equation (2). In equation (2), "a" is the maximum acceleration of the vertical component of the stage 20 (the downward direction perpendicular to the control trajectory T1 after the corner).
[0085] Also, at time t, the distance traveled downward from point Pm is 2e max Since it is sufficient if it is less than or equal to vcos(θ / 2)t-1 / 2at2≦2e max ...Equation (3) must be satisfied.
[0086] By modifying the above equation (2) to t={v cos(θ / 2)} / a and substituting this into the above equation (3), the following equation (4) is obtained.
[0087]
[0088] Therefore, by modifying equation (4), the following equation (5) is obtained.
[0089]
[0090] The reduced distance Δe refers to the maximum value of the velocity v, so the following equation (6) is obtained: dt in equation (6) is a discrete distance (time interval).
[0091]
[0092] In this way, the reduction amount (here, the reduction distance Δe) can be calculated geometrically, which makes it easier to determine the reduction amount in advance and set the target generation region R2.
[0093] [Use Example 3] In Use Example 3, the control system 10 may add a reduction condition including variables (for example, the above-mentioned minimum condition) to the constraint conditions of the MPC to set the target generation region R2. By using the MPC to which the reduction condition including variables has been added, the control system 10 sets a target generation region R2 in which the section trajectory L1 does not deviate from the trajectory generation region R1. In other words, the MPC itself performs optimization calculations to keep the prediction element C1 (control target point P1) within the target generation region R2. In this embodiment, as described above, it is assumed that Use Example 3 is applied.
[0094] In other words, in the second region setting step of the control method according to this embodiment, a constraint is added to the model predictive control so that the section trajectory L1 between two consecutive control target points P1 does not deviate from the trajectory generation region R1, thereby reducing the trajectory generation region R1 and setting the target generation region R2. In this case, setting the target generation region R2 becomes even easier.
[0095] The MPC itself may output a prediction element C1 (control target point P1) that causes the stage 20 to follow the trajectory shown in FIG. 4 as the calculation result of the optimization calculation, and the control unit 13 may generate (adjust) the control target point P1 based on the calculation result so that it falls within the target generation region R2.
[0096] [Trajectory Including Curves] The reference trajectory (control trajectory T1) may include curved trajectory changes in addition to sharp trajectory changes such as around corners. Below, a method for reducing the trajectory generation region R1 when the reference trajectory includes a curved trajectory change will be described with reference to Figures 8 and 9. The curved trajectory change may be, for example, a circular arc, an elliptical arc, an S-shape, or the like.
[0097] First, Fig. 8 will be described. Fig. 8 shows only a part of the trajectory generation region R1 in the control trajectory T1, which includes a trajectory change of a substantially arc-shaped curve. In particular, Fig. 8 shows only the inside (first tolerance line R11 side) of the trajectory generation region R1 from the control trajectory T1. The allowable error e in Fig. 8 max is the distance between the first permissible line R11 and the control trajectory T1.
[0098] 8 also shows a target generation region R2 obtained by a calculation formula described later. However, only a portion of the target generation region R2 is shown. In particular, FIG. 8 also shows only the portion of the target generation region R2 that is inside the control trajectory T1. The (maximum) corrective allowable error e' in FIG. 8 max is the tolerance e max is the allowable error after correcting (reducing) the allowable error e, and is the distance between the allowable line R21 of the target generation region R2 and the control trajectory T1. max and the corrected tolerance e' max The difference between these is a reduction distance Δe, and the width of the target generation region R2 is reduced by the reduction distance Δe with respect to the first allowable line R11 of the trajectory generation region R1. Although not shown in Fig. 8, it is assumed that the region outside the control trajectory T1 of the target generation region R2 is not reduced, but the width of the outer region may also be reduced by the reduction distance Δe with respect to the second allowable line R12 of the trajectory generation region R1.
[0099] In FIG. 8, for two control target points P1 of interest (two consecutive control target points P1), k , X k+1 It is also written as X. k represents the state of the position and velocity at a certain time point k, and X k+1 represents the state of the position, velocity, etc. at the time point k+1 following the time point k (in FIG. 3, if time point k=t0, then time point k+1=t1). Also, "r" in FIG. 8 is the radius of curvature of the arc-shaped trajectory change in the control trajectory T1.
[0100] Here, the corrected error tolerance e' max The "minimum condition" for is the minimum X k , X k+1 The section trajectory L1 between the first and second lines is in contact with the first allowable line R11 and is within the trajectory generation region R1, and k , X k+1 is on the allowable line R21 of the target generation region R2.
[0101] FIG. 9 is a cross-sectional view of FIG. k , X k+1The diagram shows only the section trajectory L1 and the allowable line R21 (arc) between the two sections, and also shows the center G1 of the circle. If the radius of curvature of the allowable line R21 is "r'", the reduction distance Δe (= e max -e' max 9, can be calculated by the following equation (7): "Δlk" in equation (7) is the section distance of the section trajectory L1.
[0102]
[0103] Also, r' = r - e max +Δe, and thus, when this is substituted into equation (7), the following equation (8) is obtained.
[0104]
[0105] Moreover, by modifying equation (8), the following equation (9) is obtained.
[0106]
[0107] The section distance Δlk of the section trajectory L1 can be calculated by multiplying the cornering speed (v) of the controlled object 2 by the discrete distance (dt).
[0108] In this way, when the trajectory changes to a curve, the reduction distance Δe is calculated, the trajectory generation region R1 is reduced, and the target generation region R2 is set. As a result, the section trajectory L1 between two consecutive control target points P1 may deviate from the target generation region R2, but is less likely to deviate from the trajectory generation region R1 (see FIG. 8). This reduces the possibility that the control accuracy will decrease due to the trajectory change of the control trajectory T1.
[0109] [Reduction Amount Adjustment Function] The control system 10 of this embodiment may have a function for adjusting the reduction amount described above. Specifically, the control system 10 may change the interval between two successive control target points P1, i.e., the discrete distance (dt), to change the interval distance Δlk and adjust the reduction amount (here, the reduction distance Δe). For example, the control system 10 may adjust the corrected allowable error e' during the execution of MPC. maxFor example, if the discrete distance (dt) is reduced, the width of the reduction of the trajectory generation region R1 (reduced distance Δe) can be further reduced.
[0110] In other words, the control method according to this embodiment further includes a reduction amount adjustment step, in which the reduction amount (here, the reduction distance Δe) is adjusted by changing the generation interval between two consecutive control target points P1. In this case, adjustment of the reduction amount becomes easier, and the accuracy of setting the target generation region R2 can be improved.
[0111] [Function for Determining Whether or Not to Set a Target Generation Area] The control system 10 of this embodiment may have a function for automatically selecting (determining) whether or not to set a target generation area R2 depending on the value of the reduction amount (here, the reduction distance Δe). Specifically, the control system 10 stores a determination threshold in the storage unit 14. If the reduction distance Δe is equal to or greater than the determination threshold, the control system 10 determines that the section trajectory L1 between two consecutive control target points P1 has changed to the extent that it may deviate from the trajectory generation area R1, and automatically selects (determines) that a target generation area R2 should be set. Conversely, if the reduction distance Δe is less than the determination threshold, the control system 10 determines that the trajectory is a trajectory with almost no trajectory change (such as a straight trajectory), and automatically selects (determines) that setting a target generation area R2 is unnecessary.
[0112] In other words, the control method according to this embodiment further includes a selection step, in which whether or not to set the target generation region R2 is automatically selected depending on the value of the reduction amount (here, the reduction distance Δe).
[0113] By providing such an automatic selection function, it is possible to automatically select not to set the target generation region R2 when the orbit change of the control trajectory T1 is relatively small. Note that instead of automatic selection by the control system 10, the user may be able to select via the user interface 6. In this case, it is preferable to notify the user of the value of the reduction amount (here, the reduction distance Δe) via the user interface 6.
[0114] [Function for Resetting the Target Generation Region] After the target generation region R2 is set, the control system 10 of this embodiment may monitor whether the section trajectory L1 between two consecutive control target points P1 deviates from the trajectory generation region R1. If the section trajectory L1 deviates from the trajectory generation region R1, the second region setting unit 12 may have a function for resetting the target generation region R2.
[0115] Specifically, when the section trajectory L1 deviates from the trajectory generation region R1, the second region setting unit 12 expands the reduction range of the trajectory generation region R1 and resets the target generation region R2. The "reduction range" here refers to, for example, a reduction distance Δe in the width direction of the trajectory generation region R1. When resetting the target generation region R2, the extent to which the reduction range is expanded relative to the current reduction distance Δe may be determined by a predetermined value such as a ratio, or may be specified by the user via the user interface 6. Furthermore, this resetting of the target generation region R2 may be performed in real time while the MPC is being performed, or may be performed before the next control operation is executed.
[0116] In other words, if the section trajectory L1 between two consecutive control target points P1 deviates from the trajectory generation region R1, the second region setting step of the control method according to this embodiment expands the reduction range of the trajectory generation region R1 to reset the target generation region R2. In the control step, the control target point P1 is regenerated within the reset target generation region R2.
[0117] By providing such a function for resetting the target generation region R2, 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.
[0118] (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.
[0119] As an example, the following describes a case where the control system 10 calculates the reduction amount (reduced distance Δe) based on real-time information and sets the target generation region R2, as in the above-mentioned "Use Example 1."
[0120] The control system 10 acquires data of command values (target values) for the predetermined motion range (including the L-shaped path Q1) of the controlled object 2 from the starting point to the destination point from the starting point (step ST1).
[0121] The control system 10 also acquires a reference trajectory (control trajectory T1) that can be generated based on CAD data or CAM data related to the motion trajectory of the stage 20 of the controlled object 2 (step ST2).
[0122] 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).
[0123] The control system 10 uses MPC to perform optimization calculations for control inputs corresponding to the prediction interval K1 (prediction horizon) (step ST4). During this MPC, the control system 10 acquires system information from the controlled object 2 in real time and sets the trajectory generation region R1 and the target generation region R2 (calculates the reduction amount). The system information may include information on the estimation results of the state estimation unit 4 in step ST3.
[0124] Furthermore, if the calculated reduction amount (reduction distance Δe) is less than the judgment threshold, the control system 10 considers it to be a trajectory with almost no trajectory change (such as a straight trajectory), and automatically selects (determines) that it is unnecessary to set the target generation area R2.
[0125] Then, the control system 10 generates discrete control target points P1 based on the prediction elements C1 within the set target generation region R2 through optimization calculation of the MPC (step ST5).
[0126] The control system 10 outputs trajectory data including information on the control target point P1 to the operation control unit 3 (step ST6).
[0127] As a result, the motion 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 P1. Note that steps ST3 to ST6 can be repeatedly executed until the control object 2 reaches the destination point.
[0128] (4) Advantages As described above, according to the control system 10 of this embodiment, the trajectory generation region R1 is reduced to set the target generation region R2, and the control target points P1 are discretely generated within the target generation region R2. Therefore, even if the control trajectory T1 includes a sudden trajectory change, such as a corner or a curve, the discretely generated control target points P1 are less likely to cause the section trajectory L1 between two consecutive control target points P1 to deviate from the trajectory generation region R1. As a result, the control system 10 has the advantage of being able to reduce the possibility of a decrease in control accuracy due to a trajectory change in the control trajectory T1.
[0129] In particular, the control system 10 calculates a reduction amount (reduction distance Δe) that prevents the section trajectory L1 from deviating from the trajectory generation region R1, and based on that reduction amount, the trajectory generation region R1 is reduced to set the target generation region R2, thereby improving the accuracy of setting the target generation region R2.
[0130] (5) Modifications Modifications of the above embodiment are listed below.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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.
[0135] 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 ).
[0136] 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.
[0137] 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.
[0138] 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.
[0139] 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.
[0140] 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.
[0141] (Summary) The above-described embodiments and the like disclose the following aspects.
[0142] The control method according to the first aspect includes a first region setting step, a second region setting step, and a control step. In the first region setting step, a trajectory generation region (R1) is set in which a control trajectory (T1) for a control object (2) can be generated. In the second region setting step, the trajectory generation region (R1) is reduced to set a target generation region (R2) in which a control target point (P1) that follows the control trajectory (T1) can be generated. In the control step, control target points (P1) are discretely generated within the target generation region (R2), and the control object (2) is controlled so that the control object (2) passes through the control target point (P1).
[0143] 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).
[0144] The control method according to the second aspect is the same as the first aspect, and further includes a reduction amount calculation step. In the reduction amount calculation step, a reduction amount (reduction distance Δe) is calculated so that a section trajectory (L1) between two consecutive control target points (P1) does not deviate from the trajectory generation region (R1). In the second region setting step, the trajectory generation region (R1) is reduced based on the reduction amount (reduction distance Δe) to set a target generation region (R2).
[0145] According to the above aspect, the accuracy of setting the target generation region (R2) can be improved.
[0146] Regarding the control method according to the third aspect, in the second aspect, in the reduction amount calculation step, the reduction amount (reduction distance Δe) is determined using system information obtained from the controlled object (2) during control of the controlled object (2) so that the section trajectory (L1) does not deviate from the trajectory generation region (R1).
[0147] According to the above aspect, it becomes easy to determine the reduction amount (reduction distance Δe) and set the target generation region (R2) in real time while controlling the control object (2).
[0148] Regarding the control method according to the fourth aspect, in the second aspect, in the reduction amount calculation step, the reduction amount (reduction distance Δe) is determined using geometric constraints on the control trajectory (T1) before control of the control object (2) is performed so that the section trajectory (L1) does not deviate from the trajectory generation region (R1).
[0149] According to the above aspect, it becomes easier to determine the reduction amount (reduction distance Δe) in advance and set the target generation region (R2).
[0150] In the second aspect of the control method according to the fifth aspect, the control step discretely generates control target points (P1) by model predictive control. In the second region setting step, the trajectory generation region (R1) is reduced to set a target generation region (R2) by adding a constraint to the model predictive control so that a section trajectory (L1) between two consecutive control target points (P1) does not deviate from the trajectory generation region (R1).
[0151] According to the above aspect, it becomes even easier to set the target generation region (R2).
[0152] A sixth aspect of the present invention is a control method according to any one of the second to fifth aspects, further comprising a reduction amount adjustment step of adjusting the reduction amount (reduction distance Δe) by changing the generation interval between two successive control target points (P1).
[0153] According to the above aspect, the reduction amount (reduction distance Δe) can be easily adjusted, and the accuracy of setting the target generation region (R2) can be improved.
[0154] A seventh aspect of the present invention is a control method according to any one of the second to sixth aspects, further comprising a selection step, in which whether or not to set a target generation area (R2) is automatically selected in accordance with the value of the reduction amount (reduction distance Δe).
[0155] According to the above aspect, for example, when the orbital change of the control orbit (T1) is relatively small, it can be automatically selected not to set the target generation region (R2).
[0156] Regarding the control method according to the eighth aspect, in any one of the first to seventh aspects, in the control step, the control target point (P1) is discretely generated by model predictive control.
[0157] According to the above aspect, in model predictive control, it is possible to reduce the possibility that control accuracy will be reduced due to a change in the control trajectory (T1).
[0158] In the control method according to the ninth aspect, in any one of the first to eighth aspects, if a section trajectory (L1) between two consecutive control target points (P1) deviates from a trajectory generation region (R1), a second region setting step expands the reduction range of the trajectory generation region (R1) to reset a target generation region (R2). In the control step, the control target point (P1) is regenerated within the reset target generation region (R2).
[0159] According to the above aspect, it is possible to further reduce the possibility that the control accuracy will be reduced due to a change in the control orbit (T1).
[0160] Regarding the control method according to the tenth aspect, in any one of the first to ninth aspects, the controlled object (2) is a plant. The control trajectory (T1) is a trajectory related to the operation control of the plant.
[0161] 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).
[0162] A program according to an eleventh aspect is a program for causing one or more processors to execute the control method according to any one of the first to tenth aspects.
[0163] 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).
[0164] A control system (10) according to a twelfth aspect includes a first region setting unit (11), a second region setting unit (12), and a control unit (13). The first region setting unit (11) sets a trajectory generation region (R1) in which a control trajectory (T1) for a control object (2) can be generated. The second region setting unit (12) reduces the trajectory generation region (R1) to set a target generation region (R2) in which a control target point (P1) that follows the control trajectory (T1) can be generated. The control unit (13) discretely generates control target points (P1) within the target generation region (R2) and controls the control object (2) so that the control object (2) passes through the control target points (P1).
[0165] 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).
[0166] The control system (10) according to a thirteenth aspect is the twelfth aspect, further including a setting unit (15). The setting unit (15) sets at least one of an allowable amount for reduction of the trajectory generation region (R1) and whether or not a target generation region (R2) needs to be set, in response to an external operation input.
[0167] According to the above aspect, the user's requests are more easily reflected in the control system (10), improving convenience.
[0168] The configurations according to the second to tenth aspects are not essential for the control method and can be omitted as appropriate.
[0169] 10 Control system 11 First region setting unit 12 Second region setting unit 13 Control unit 15 Setting unit 2 Control object L1 Section trajectory P1 Control target point R1 Trajectory generation region R2 Target generation region T1 Control trajectory Δe Reduction distance (reduction amount)
Claims
1. A control method comprising: a first area setting step of setting a trajectory generation area in which a control trajectory for a control object can be generated; a second area setting step of reducing the trajectory generation area to set a target generation area in which a control target point that follows the control trajectory can be generated; and a control step of discretely generating the control target points within the target generation area and controlling the control object so that the control object passes through the control target points.
2. A control method as described in claim 1, further comprising a reduction amount calculation step of calculating a reduction amount by which the section trajectory between two consecutive control target points does not deviate from the trajectory generation area, and in the second area setting step, the trajectory generation area is reduced based on the reduction amount to set the target generation area.
3. The control method according to claim 2, wherein in the reduction amount calculation step, the reduction amount is determined using system information obtained from the controlled object during control of the controlled object so that the section trajectory does not deviate from the trajectory generation region.
4. The control method according to claim 2, wherein in the reduction amount calculation step, the reduction amount is determined using geometric constraints on the control trajectory before control of the control object is performed so that the section trajectory does not deviate from the trajectory generation region.
5. A control method according to claim 2, wherein in the control step, the control target points are discretely generated by model predictive control, and in the second region setting step, the trajectory generation region is reduced and the target generation region is set by adding a constraint condition to the model predictive control so that a section trajectory between two consecutive control target points does not deviate from the trajectory generation region.
6. A control method according to any one of claims 2 to 5, further comprising a reduction amount adjustment step of adjusting the reduction amount by changing the generation interval between two successive control target points.
7. A control method according to any one of claims 2 to 6, further comprising a selection step of automatically selecting whether or not to set the target generation area in accordance with the value of the reduction amount.
8. A control method according to any one of claims 1 to 7, wherein in the control step, the control target point is generated discretely by model predictive control.
9. A control method according to any one of claims 1 to 8, wherein, when a section trajectory between two consecutive control target points deviates from the trajectory generation area, the second area setting step expands the reduction range of the trajectory generation area and resets the target generation area, and the control step regenerates the control target point within the reset target generation area.
10. A control method according to any one of claims 1 to 9, wherein the controlled object is a plant, and the control trajectory is a trajectory related to operation control of the plant.
11. A program for causing one or more processors to execute the control method according to any one of claims 1 to 10.
12. A control system comprising: a first area setting unit that sets a trajectory generation area in which a control trajectory for a control object can be generated; a second area setting unit that reduces the trajectory generation area to set a target generation area in which a control target point that follows the control trajectory can be generated; and a control unit that discretely generates the control target point within the target generation area and controls the control object so that the control object passes through the control target point.
13. The control system according to claim 12, further comprising a setting unit that sets at least one of the allowable amount for reduction of the trajectory generation area and whether or not the target generation area needs to be set, in response to an external operation input.
Citation Information
Patent Citations
Motion controller, motion planner, multi-shaft servo system and servo amplifier
JP2008204188A
Obstacle avoidance system
JP2016071566A
Control device, control method and program
JP2022142452A
Dividing method for working region of self-moving device, dividing apparatus, and electronic device
US20190346848A1