Information processing method, information processing device, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2024-10-08
- Publication Date
- 2025-05-30
AI Technical Summary
In pick-and-place devices driven by servo motors, the optimal control parameters for processing one object cannot be unconditionally applied to other objects due to differences in object attributes, leading to decreased operation accuracy.
An information processing method and apparatus that acquire a database correlating reference condition values with optimal control parameters, allowing derivation of appropriate optimal control parameters based on required condition values specific to each object.
Enables setting of appropriate optimal control parameters according to required condition values, thereby maintaining or improving the operation accuracy of servo motors for diverse objects.
Abstract
Description
Information processing method, information processing device, and program
[0001] The present disclosure relates to an information processing method, an information processing device, and a program.
[0002] A control parameter control device according to the background art is disclosed in, for example, Japanese Patent Application Laid-Open No. 2003-222999.
[0003] In a pick-and-place device driven by a servo motor, required condition values (settling width, etc.) differ depending on the attributes (size, etc.) of the object to be processed, and the optimal control parameters differ depending on the required condition values.
[0004] Therefore, if the optimum control parameters for one processing object are unconditionally applied to another processing object, the operating accuracy of the servo motor for the other processing object may be reduced.
[0005] Patent No. 7301701
[0006] An object of the present disclosure is to provide an information processing method, an information processing device, and a program that are capable of setting appropriate optimal control parameters according to required condition values.
[0007] An information processing method according to one aspect of the present disclosure is an information processing method for controlling a device that performs an operation based on control parameters, wherein an information processing device acquires a first database and required condition values, the first database including a correspondence between a plurality of reference condition values that serve as a basis for the device to perform the operation and a plurality of optimal control parameters related to the control parameters, derives reference condition values corresponding to the required condition values based on the first database, derives optimal control parameters corresponding to the reference condition values based on the first database, and sets the optimal control parameters as the control parameters when the device performs the operation.
[0008] According to the present disclosure, it is possible to set appropriate optimal control parameters according to required condition values.
[0009] 1 is a diagram showing a simplified configuration of an adjustment device according to an embodiment of the present disclosure; FIG. 2 is a diagram showing a simplified functional configuration of a processing unit; FIG. 3 is a flowchart showing a flow of processing executed by a processing unit; FIG. 4 is a diagram for explaining settling time and settling width; FIG. 5 is a diagram showing a simplified example of a scatter diagram; FIG. 6 is a diagram showing a simplified first example of a database; FIG. 7 is a diagram showing a simplified second example of a database; FIG. 8 is a diagram showing a simplified functional configuration of a processing unit; FIG. 9 is a diagram showing a simplified example of a scatter diagram; FIG. 10 is a diagram showing a simplified functional configuration of a processing unit; FIG. 11 is a diagram showing a simplified example of attribute information; FIG. 12 is a diagram showing a simplified functional configuration of a processing unit; FIG. 13 is a diagram showing a simplified example of count information; FIG. 14 is a diagram showing a simplified functional configuration of a processing unit; FIG. 15 is a diagram showing a simplified example of a scatter diagram; FIG. 16 is a diagram showing a simplified functional configuration of a processing unit; FIG. 1 is a simplified diagram showing an example of a database; FIG. 2 is a simplified diagram showing the functional configuration of a processing unit; FIG. 3 is a flowchart showing the flow of processing executed by a processing unit; FIG. 4 is a simplified diagram showing the configuration of a control device; FIG. 5 is a simplified diagram showing the functional configuration of a processing unit; FIG. 6 is a simplified diagram showing the configuration of a control device; FIG. 7 is a simplified diagram showing the functional configuration of a processing unit; FIG. 8 is a simplified diagram showing an example of a database.
[0010] (Findings that form the basis of the present disclosure) In pick-and-place machines and the like driven by servo motors, parts and the like of various sizes are processed, and the settling width required varies depending on the size. In other words, the required condition values (settlement width, etc.) vary depending on the attributes (size, etc.) of the processed objects, and the optimal control parameters vary depending on the required condition values.
[0011] Therefore, if the optimum control parameters for one processing object are unconditionally applied to another processing object, the operating accuracy of the servo motor for the other processing object may be reduced.
[0012] In order to solve this problem, the present inventors have come up with the idea that by deriving optimal control parameters corresponding to required condition values based on the correspondence between multiple reference condition values and multiple optimal control parameters and the required condition values, it is possible to set appropriate optimal control parameters in accordance with the required condition values, and have come up with the present disclosure.
[0013] Next, each aspect of the present disclosure will be described.
[0014] An information processing method according to a first aspect of the present disclosure is an information processing method for controlling a device that performs an operation based on control parameters, wherein an information processing device acquires a first database and required condition values, the first database including correspondences between a plurality of reference condition values that serve as standards when the device performs the operation and a plurality of optimal control parameters related to the control parameters, derives reference condition values corresponding to the required condition values based on the first database, derives optimal control parameters corresponding to the reference condition values based on the first database, and sets the optimal control parameters as the control parameters when the device performs the operation.
[0015] According to the first aspect, it is possible to set appropriate optimum control parameters in accordance with the required condition values.
[0016] An information processing method according to a second aspect of the present disclosure is, in the first aspect, further comprising acquiring a second database, the second database including correspondences between a plurality of processing objects that the device can process and a plurality of required condition values that are required when the device executes the operation, and deriving the required condition values corresponding to the processing objects to be processed by the device based on the second database.
[0017] According to the second aspect, the required condition value corresponding to the processing object can be easily derived.
[0018] In the information processing method according to the third aspect of the present disclosure, in the second aspect, the plurality of required condition values may be set by a user in the second database.
[0019] According to the third aspect, the user can arbitrarily set a plurality of required condition values.
[0020] An information processing method according to a fourth aspect of the present disclosure is the third aspect, wherein in the second database, the plurality of required condition values may be set to any one of the plurality of reference condition values.
[0021] According to the fourth aspect, the process of deriving the reference condition value corresponding to the required condition value can be simplified.
[0022] In the information processing method according to a fifth aspect of the present disclosure, in the third aspect, the plurality of required condition values may be set to arbitrary setting values in the second database.
[0023] According to the fifth aspect, the user can set a plurality of required condition values to any desired setting values.
[0024] In an information processing method according to a sixth aspect of the present disclosure, in the fifth aspect, when deriving the reference condition value, it is preferable to derive the reference condition value that is closest to the setting value of the required condition value among the multiple reference condition values.
[0025] According to the sixth aspect, an appropriate reference condition value can be derived in accordance with the required condition value.
[0026] In the information processing method according to the seventh aspect of the present disclosure, in any one of the second to sixth aspects, the second database further includes external shape information of the plurality of processing objects, and in deriving the required condition values, the required condition values are derived based on the external shape information of the processing objects.
[0027] According to the seventh aspect, an appropriate required condition value can be derived based on the external shape information of the processing object.
[0028] An information processing method according to an eighth aspect of the present disclosure is, in the seventh aspect, further comprising acquiring a trained estimation model for estimating an optimal value of a required condition value based on external shape information of the object to be processed, and deriving the required condition value by inputting the external shape information of the object to be processed into the estimation model.
[0029] According to the eighth aspect, it is possible to derive the optimum required condition value according to the external shape information of the processing object with high accuracy.
[0030] An information processing method according to a ninth aspect of the present disclosure may further include, in the eighth aspect, acquiring quality information indicating the quality of the operation when the device performs the operation on the object to be processed based on the control parameters, and additionally learning the estimation model based on the quality information.
[0031] According to the ninth aspect, the estimation accuracy of the estimation model can be improved by additional learning based on the quality information.
[0032] In the information processing method according to the tenth aspect of the present disclosure, in any one of the second to ninth aspects, the second database further includes a correspondence between a plurality of operation commands and the plurality of required condition values, and in deriving the required condition values, the required condition values are derived based on the object to be processed and the operation commands input to the device to cause the device to perform the operation.
[0033] According to the tenth aspect, it is possible to set appropriate optimum control parameters in accordance with the object to be processed and the operation command.
[0034] An information processing method according to an eleventh aspect of the present disclosure, in any one of the first to tenth aspects, may further include acquiring quality information indicating the quality of the operation when the device performs the operation on the object to be processed based on the control parameters, and correcting the reference condition value for the object to be processed based on the quality information.
[0035] According to the eleventh aspect, more appropriate optimum control parameters can be set by correcting the reference condition values based on the quality information.
[0036] In an information processing method according to a twelfth aspect of the present disclosure, in any one of the first to eleventh aspects, the first database may further include a correspondence between the plurality of reference condition values and a plurality of pieces of operation instruction information for the device, and may further output operation instruction information from the plurality of pieces of operation instruction information that corresponds to the reference condition value.
[0037] According to the twelfth aspect, the operation instruction information can cause the device to perform an appropriate operation according to the reference condition value.
[0038] An information processing method according to a thirteenth aspect of the present disclosure is, in any one of the first to twelfth aspects, preferably wherein the control parameters include control parameters to be set in a motor control device that controls a servo motor, and the plurality of reference condition values and the required condition values are condition values related to waveform data that indicate the operating waveform of the servo motor.
[0039] According to the thirteenth aspect, appropriate optimum control parameters can be set for a servo motor.
[0040] According to a fourteenth aspect of the present disclosure, in the information processing method of the thirteenth aspect, the condition value related to the waveform data may be a settling width.
[0041] According to the fourteenth aspect, it is possible to derive a reference settling width corresponding to the required settling width of the object to be processed, and to derive an optimal control parameter corresponding to the reference settling width.
[0042] An information processing device according to a fifteenth aspect of the present disclosure is an information processing device for controlling a device that performs an operation based on control parameters, and includes an acquisition unit that acquires a first database and required condition values, the first database including a plurality of reference condition values that serve as a reference when the device performs the operation and a correspondence between a plurality of optimal control parameters related to the control parameters, a reference condition derivation unit that derives a reference condition value corresponding to the required condition value based on the first database, an optimal control parameter derivation unit that derives an optimal control parameter corresponding to the reference condition value based on the first database, and a control parameter setting unit that sets the optimal control parameter as the control parameter when the device performs the operation.
[0043] According to the fifteenth aspect, it is possible to set appropriate optimum control parameters in accordance with the required condition values.
[0044] A program according to a sixteenth aspect of the present disclosure is a program that causes an information processing device to execute a process for controlling a device that performs an operation based on a control parameter, the process acquiring a first database and a required condition value, the first database including a correspondence between a plurality of reference condition values that serve as a basis for the device to perform the operation and a plurality of optimal control parameters related to the control parameters, deriving a reference condition value corresponding to the required condition value based on the first database, deriving an optimal control parameter corresponding to the reference condition value based on the first database, and setting the optimal control parameter as the control parameter when the device performs the operation.
[0045] According to the sixteenth aspect, it is possible to set appropriate optimum control parameters in accordance with the required condition values.
[0046] The present disclosure can also be realized as a program that causes a computer to execute each characteristic configuration included in such a method or apparatus, or as a system operated by this program. Needless to say, such a computer program can be distributed on a computer-readable non-transitory recording medium such as a CD-ROM or via a communication network such as the Internet.
[0047] (Embodiments of the Present Disclosure) Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. Elements with the same reference numerals in different drawings indicate the same or corresponding elements. Furthermore, the components, the arrangement positions of the components, the connection forms, the order of operations, etc. shown in the following embodiments are merely examples and are not intended to limit the present disclosure. The present disclosure is limited only by the claims. Therefore, among the components in the following embodiments, components that are not described in the independent claims that represent the highest concept of the present disclosure are not necessarily required to achieve the objectives of the present disclosure, but are described as constituting more preferred forms.
[0048] (1) Learning Phase Fig. 1 is a simplified diagram showing the configuration of an adjustment device 1 according to an embodiment of the present disclosure. In the learning phase before the utilization phase, the adjustment device 1 searches for optimal control parameters by automatic adjustment processing (optimization processing) of the control parameters of the servo motor 3. In the optimization processing, the adjustment device 1 sets, for example, a condition value of a settling width with respect to the settling time, which is an objective function, and causes the servo motor 3 to perform repeated operations while automatically adjusting the control parameters using an estimation model. In this way, optimal control parameters that minimize the settling time are searched for.
[0049] The adjustment device 1 includes a processing unit 11, a display unit 12, a storage unit 13, an input unit 14, and a communication unit 15. The processing unit 11 includes a processor (information processing device) such as a CPU. The display unit 12 includes any display device such as a liquid crystal display or an organic EL display. The storage unit 13 includes any storage device such as a HDD, SSD, or semiconductor memory. The input unit 14 includes any input device such as a mouse, keyboard, or touch panel. The communication unit 15 includes a communication module compatible with any communication standard such as IP.
[0050] The storage unit 13 stores a program 21, evaluation value data 22, and a database 23. The storage unit 13 includes a computer-readable non-volatile storage medium. The program 21 is stored in the storage medium.
[0051] The communication unit 15 communicates with the motor control device 2. The motor control device 2 is configured with a servo amplifier. The motor control device 2 controls the operation of the servo motor 3 based on operation commands such as position commands or speed commands. Specifically, control parameters for the servo motor 3 are set in the motor control device 2, and the motor control device 2 generates operation commands through circuit operation based on the set control parameters. The device to be driven by the servo motor 3 is a production device or the like. The production device is a pick-and-place device or the like that transports components such as semiconductor ICs, which are objects to be processed, to a desired position. The servo motor 3 inputs measurement data to the motor control device 2. The measurement data is data measured regarding the servo motor 3 or the device to be driven when the servo motor 3 operates based on the operation commands. The measurement data includes position data of the object to be driven measured by a position sensor. The object to be driven is, for example, a suction nozzle of a pick-and-place device.
[0052] Fig. 2 is a simplified diagram showing the functional configuration of the processing unit 11. The functional configuration shown in Fig. 2 is realized by the processing unit 11 executing the program 21 read out from the storage unit 13. The processing unit 11 has an execution control unit 31, a measurement data acquisition unit 32, a first evaluation value calculation unit 33, a second evaluation value calculation unit 34, a first optimum control parameter derivation unit 35, a second optimum control parameter derivation unit 36, a database creation unit 37, a storage control unit 38, and a display control unit 39. Details of the processing content in each of these units will be described later.
[0053] FIG. 3 is a flowchart showing the flow of the processing executed by the processing unit 11.
[0054] First, in step S11, the execution control unit 31 sets the operating conditions of the servo motor 3. The operating conditions include the content of a predetermined operation to be performed by the servo motor 3 and initial values of control parameters to be set for the servo motor 3. The operating conditions also include an objective function and a first condition value related to the objective function. In this embodiment, the execution control unit 31 sets the settling time as the objective function and sets the first settling width as the first condition value. In this embodiment, the first settling width is 3 mm, but is not limited to this example.
[0055] FIG. 4 is a diagram for explaining the settling time and settling width. The horizontal axis represents time, and the vertical axis represents the position deviation from the target position. The processing unit 11 creates the waveform data shown in FIG. 4 based on the measurement data input from the servo motor 3 via the motor control device 2 and the communication unit 15. The waveform data corresponds to waveform data showing the operating waveform of the servo motor 3. The settling width corresponds to a condition value related to the waveform data. The driven object reaches the target position while repeating gradually converging overshoots and undershoots.
[0056] As shown in Figure 4, the settling time refers to the time elapsed from the time when a stop signal to stop the drive of the driven object is output to the time when the driven object reaches an allowable range within which it can be evaluated that it has reached the target position. The allowable range is defined by the settling width.
[0057] In this embodiment, the first settling width is set to 3 mm, so optimization processing is performed to minimize the settling time required for the position deviation from the target position to fall within 3 mm. That is, the optimization processing searches for a first optimal control parameter corresponding to the first settling width (3 mm), which is the first condition value.
[0058] The operating conditions set in step S11 also include a second condition value related to the objective function. In this embodiment, the execution control unit 31 sets one or more second settling widths different from the first settling width as the second condition value. In this embodiment, the second settling widths are 1 mm and 5 mm, but are not limited to this example. The first settling width and the second settling width are manually set by a user such as an operator, and the setting information is input to the processing unit 11 from the input unit 14.
[0059] Next, in step S12, the execution control unit 31 outputs an operation command to cause the servo motor 3 to perform a predetermined operation. The communication unit 15 transmits the operation command to the motor control device 2. The motor control device 2 drives the servo motor 3 based on the received operation command, causing the servo motor 3 to perform the predetermined operation. The servo motor 3 inputs measurement data, including position data of the object to be driven measured by a position sensor, to the motor control device 2. The motor control device 2 transmits the measurement data to the adjustment device 1, and the communication unit 15 receives the measurement data.
[0060] Next, in step S13 , the measurement data acquisition unit 32 acquires the measurement data from the communication unit 15 .
[0061] Next, in step S14, the first evaluation value calculation unit 33 creates waveform data based on the measurement data acquired by the measurement data acquisition unit 32 in step S13, and calculates a first evaluation value based on the waveform data. In this embodiment, the first evaluation value is a first settling time corresponding to a first settling width of 3 mm. The memory control unit 38 stores the first evaluation value calculated by the first evaluation value calculation unit 33 in the memory unit 13, including it in the evaluation value data 22. Note that the first settling time may be the settling time for one operation, or may be a representative value of multiple settling times for multiple operations. The representative value may be an average value, a median value, or a worst-case value.
[0062] Next, in step S15, the second evaluation value calculation unit 34 calculates a second evaluation value based on the waveform data created in step S13. In the example of this embodiment, the second evaluation value is a second settling time corresponding to a second settling width of 1 mm and a second settling time corresponding to a second settling width of 5 mm. The memory control unit 38 stores the second evaluation value calculated by the second evaluation value calculation unit 34 in the memory unit 13 as part of the evaluation value data 22.
[0063] Next, in step S16, the execution control unit 31 determines whether a termination condition for the optimization process is satisfied. The termination condition may be a target value for the first settling time, an upper limit for the number of times an operation is performed, or an upper limit for the execution time of the optimization process.
[0064] If the termination condition is not satisfied (step S16: NO), the execution control unit 31 updates the control parameters of the servo motor 3 so as to shorten the first settling time, and then repeatedly executes the processes from step S12 onward. As a result, the execution control unit 31 causes the servo motor 3 to perform multiple operations using the first settling width related to the settling time, which is the objective function. The measurement data acquisition unit 32 also acquires multiple pieces of measurement data measured during the execution of the multiple operations. The first evaluation value calculation unit 33 also calculates multiple first settling times corresponding to the first settling widths based on the multiple pieces of measurement data. The second evaluation value calculation unit 34 also calculates multiple second settling times corresponding to the second settling widths based on the multiple pieces of measurement data. The multiple first settling times and multiple second settling times are stored in the storage unit 13 as evaluation value data 22.
[0065] The control parameters may be updated using a machine-learned estimation model for optimizing the control parameters, and known algorithms such as a Bayesian optimization algorithm, a CMA-ES (Contact Manager-Evolutionary Strategy) algorithm, or a genetic algorithm (GA) may be used as the optimization algorithm.
[0066] If the termination condition is satisfied (step S16: YES), then in step S17, the first optimal control parameter derivation unit 35 identifies the best settling time among the multiple first settling times included in the evaluation value data 22 as the first best settling time, and derives the control parameter corresponding to the first best settling time as the first optimal control parameter.
[0067] Next, in step S18, the second optimal control parameter derivation unit 36 identifies the best settling time among the multiple second settling times included in the evaluation value data 22 as the second best settling time, and derives the control parameter corresponding to the second best settling time as the second optimal control parameter.
[0068] Next, in step S19 , the display control unit 39 creates a scatter diagram 40 including the first and second optimal control parameters, and causes the display unit 12 to display the scatter diagram 40 .
[0069] FIG. 5 is a simplified diagram showing an example of a scatter diagram 40. The horizontal axis represents the settling width, and the vertical axis represents the best settling time. Point X1 indicates the first best settling time T2 corresponding to a first settling width of 3 mm. The control parameter corresponding to the first best settling time T2 is the first optimal control parameter P2. Point X2 indicates the second best settling time T1 corresponding to a second settling width of 1 mm. The control parameter corresponding to the second best settling time T1 is the second optimal control parameter P1. Point X3 indicates the second best settling time T3 corresponding to a second settling width of 5 mm. The control parameter corresponding to the second best settling time T3 is the second optimal control parameter P3.
[0070] Furthermore, the display control unit 39 calculates a second settling time corresponding to a second settling width of 1 mm based on the measurement data obtained when the servo motor 3 operates based on the first optimal control parameter P2 from among the plurality of measurement data. Point X4 indicates the second settling time corresponding to the second settling width of 1 mm for the operation of the servo motor 3 based on the first optimal control parameter P2.
[0071] Similarly, the display control unit 39 calculates a second settling time corresponding to a second settling width of 5 mm based on the measurement data obtained when the servo motor 3 operates based on the first optimal control parameter P2 from among the plurality of measurement data. Point X5 indicates the second settling time corresponding to the second settling width of 5 mm for the operation of the servo motor 3 based on the first optimal control parameter P2.
[0072] Next, in step S20, the database creation unit 20 creates the database 23. The storage control unit 38 causes the storage unit 13 to store the database 23 created by the database creation unit 20.
[0073] 6 is a simplified diagram showing a first example of the database 23. The database 23 has a first record including a reference settling width corresponding to a first settling width of 3 mm and a first optimal control parameter P2 corresponding to the first settling width. The database 23 also has a second record including a reference settling width corresponding to a second settling width of 1 mm and a second optimal control parameter P1 corresponding to the second settling width. The database 23 also has a second record including a reference settling width corresponding to a second settling width of 5 mm and a second optimal control parameter P3 corresponding to the second settling width.
[0074] 7 is a simplified diagram showing a second example of the database 23. The database 23 has a first record including a reference settling width corresponding to a first settling width of 3 mm, a first optimal control parameter P2 corresponding to the first settling width, and a first best settling time T2 corresponding to the first optimal control parameter P2. The database 23 also has a second record including a reference settling width corresponding to a second settling width of 1 mm, a second optimal control parameter P1 corresponding to the second settling width, and a second best settling time T1 corresponding to the second optimal control parameter P1. The database 23 also has a second record including a reference settling width corresponding to a second settling width of 5 mm, a second optimal control parameter P3 corresponding to the second settling width, and a second best settling time T3 corresponding to the second optimal control parameter P3.
[0075] According to this embodiment, second optimal control parameters P1, P3 corresponding to a second condition value different from the first condition value can be efficiently derived based on multiple measurement data measured in an optimization process using a first condition value related to the objective function.
[0076] Furthermore, according to this embodiment, the database 23 stored in the memory unit 13 includes the correspondence between the first condition value and the first optimal control parameter P2, and the correspondence between the second condition value and the second optimal control parameters P1 and P3, so that this information can be effectively utilized in the utilization phase.
[0077] Furthermore, according to this embodiment, the database 23 includes the correspondence between the first condition value and the first best evaluation value, and the correspondence between the second condition value and the second best evaluation value, so that the database 23 can be utilized even more effectively in the utilization phase.
[0078] Furthermore, according to this embodiment, by displaying a scatter diagram 40 including the first best evaluation value and the second best evaluation value on the display unit 12, the operator can effectively use the scatter diagram 40 as a basis for determining whether or not to perform the optimization process using the second condition value.
[0079] Furthermore, according to this embodiment, the scatter diagram 40 can be used more effectively by including the second evaluation value when the first optimal control parameter P2 is used in the scatter diagram 40.
[0080] Furthermore, according to this embodiment, second optimal control parameters P1, P3 corresponding to a second settling width different from the first settling width can be efficiently derived based on multiple measurement data measured in the optimization process using the first settling width.
[0081] (1-1) First Modification in the Learning Phase Fig. 8 is a diagram showing a simplified functional configuration of the processing unit 11. The processing unit 11 further includes a relationship characteristic calculation unit 51 in addition to the functional configuration shown in Fig. 2.
[0082] 9 is a simplified diagram showing an example of the scatter diagram 41. Point X6 indicates the second best settling time corresponding to the second settling width of 7 mm.
[0083] The relationship characteristic calculation unit 51 calculates a relationship characteristic K that indicates the relationship between the settling range and the best settling time based on the first best settling time (point X1) and the plurality of second best settling times (points X2, X3, X6). Any algorithm for obtaining an approximate curve can be used as the calculation algorithm for the relationship characteristic K. The display control unit 39 displays the relationship characteristic K calculated by the relationship characteristic calculation unit 51 in a scatter diagram 41.
[0084] According to this modification, the scatter diagram 41 can be used more effectively by including the relationship characteristic K, which indicates the relationship between the condition value and the best evaluation value, in the scatter diagram 41 .
[0085] (1-2) Second Modification in the Learning Phase FIG. 10 is a simplified diagram showing the functional configuration of the processing unit 11. The processing unit 11 further includes a dissociation value calculation unit 52 in addition to the functional configuration shown in FIG. 8. The dissociation value calculation unit 52 calculates a dissociation value between the relationship characteristic K and the first best settling time or the second best settling time for each of the points X1 to X3 and X6. The dissociation value is the difference in the vertical axis direction between the relationship characteristic K and the value of each point on the vertical axis. The display control unit 39 displays the dissociation values calculated by the dissociation value calculation unit 52 in a scatter diagram 42.
[0086] 11 is a simplified diagram showing an example of the scatter diagram 42. The scatter diagram 42 includes, for example, a dissociation value E6 between the relationship characteristic K and the second best settling time for the point X6.
[0087] If there is a second settling width among the plurality of second settling widths whose deviation value is equal to or greater than a predetermined threshold value, the executive control unit 31 may use the second settling width as a condition value for the objective function to cause the servo motor 3 to operate, thereby optimizing the second optimal control parameter corresponding to the second settling width. For example, if the deviation value E6 for point X6 is equal to or greater than the threshold value, the executive control unit 31 optimizes the control parameter P4 by executing an optimization process using a settling width of 7 mm as the condition value.
[0088] According to this modification, the scatter diagram 42 can be used more effectively by including the dissociation value between the relationship characteristic K and the second best evaluation value in the scatter diagram 42 .
[0089] Furthermore, according to this modification, for a second condition value for which the dissociation value between the relation characteristic K and the second best evaluation value is equal to or greater than a threshold value, optimization processing can be automatically performed using the second condition value.
[0090] (1-3) Third Modification in the Learning Phase Fig. 12 is a simplified diagram showing the functional configuration of the processing unit 11. The processing unit 11 further includes an attribute information acquisition unit 53 and a condition value setting unit 54 in addition to the functional configuration shown in Fig. 2.
[0091] 13 is a simplified diagram showing an example of attribute information 61. The attribute information 61 includes the part names B1 to B3 of the parts to be processed, the part shapes C1 to C3, and the part sizes W1 to W3. If the part shape is rectangular, the part size includes the vertical length and horizontal length of the outer shape of the part.
[0092] The condition value setting unit 54 sets the first settling width and the second settling width based on the attribute information 61 acquired by the attribute information acquisition unit 53. For example, the condition value setting unit 54 sets the first settling width by multiplying the horizontal length of the part of the processing object by a first coefficient value, and sets the second settling width by multiplying the horizontal length of the part of the processing object by a second coefficient value. The first coefficient value and the second coefficient value may be preset to predetermined values depending on the part, or may be manually set by an operator.
[0093] Furthermore, if a required settling width corresponding to a component is included in the attribute information 61, the condition value setting unit 54 may set the required settling width as the first settling width. If the attribute information 61 includes the electrode width of the component mounting destination instead of the required settling width, the condition value setting unit 54 may set the first settling width by multiplying the electrode width by a predetermined coefficient value.
[0094] When the attribute information 61 includes a large number of component names and a large number of required settling ranges, the condition value setting unit 54 may classify the large number of required settling ranges into a plurality of classes by clustering, and set a representative value (e.g., average value or mode) of the required settling ranges included in each class as the first settling range for that class. Alternatively, the condition value setting unit 54 may set a representative value of the required settling ranges included in a class to which the largest number of components belongs as the first settling range, and set a representative value of the required settling ranges included in the other classes as the second settling range.
[0095] 14 is a simplified diagram showing the functional configuration of the processing unit 11. The processing unit 11 further includes a count information acquisition unit 55 in addition to the functional configuration shown in FIG.
[0096] 15 is a simplified diagram showing an example of the number of times information 62. The number of times information 62 includes the component names B1 to B3 of the components to be processed and the number of times of mounting G1 to G3. The number of times of mounting G1 to G3 is either the actual number of times of mounting of each component in a predetermined period in the past, or the planned number of times of mounting of each component in a predetermined period in the future.
[0097] The condition value setting unit 54 sets the first settling width and the second settling width based on the attribute information 61 acquired by the attribute information acquisition unit 53 and the number of times information 62 acquired by the number of times information acquisition unit 55 .
[0098] When the attribute information 61 includes a large number of component names and a large number of required settling ranges, the condition value setting unit 54 classifies the large number of required settling ranges into a plurality of classes by clustering. Then, among the plurality of classes, a representative value of the plurality of required settling ranges included in the class with the largest total number of mounting counts may be set as the first settling range, and a representative value of the plurality of required settling ranges included in the other classes may be set as the second settling range.
[0099] According to this modification, appropriate first and second condition values can be automatically set based on the attribute information 61 .
[0100] Furthermore, according to this modification, appropriate first and second condition values can be automatically set based on the attribute information 61 and the number information 62 .
[0101] (1-4) Fourth Modification in the Learning Phase Fig. 16 is a simplified diagram showing the functional configuration of the processing unit 11. The processing unit 11 further includes a common optimal control parameter calculation unit 56 and a common evaluation value calculation unit 57 in addition to the functional configuration shown in Fig. 2.
[0102] 17 is a simplified diagram showing an example of the scatter diagram 43. The scatter diagram 43 includes points X7 to X9.
[0103] The common optimal control parameter calculation unit 56 calculates a common optimal control parameter P0 common to the first settling width and the second settling width based on the plurality of first settling times and the plurality of second settling times. For example, the common optimal control parameter calculation unit 56 calculates a total settling time, which is the sum of the first settling time and the second settling time, for each of the plurality of control parameters. Then, the control parameter that minimizes the total settling time among the plurality of control parameters is derived as the common optimal control parameter P0. Note that in calculating the total settling time, the first settling time and the second settling time may be weighted using a weighting coefficient. The weighting coefficient may be manually set by an operator.
[0104] Based on the evaluation value data 22, the common evaluation value calculation unit 57 calculates the first settling time corresponding to the common optimal control parameter P0 as a common evaluation value (point X8) corresponding to a first settling width of 3 mm. Based on the evaluation value data 22, the common evaluation value calculation unit 57 also calculates the second settling time corresponding to the common optimal control parameter P0 as a common evaluation value (point X7) corresponding to a second settling width of 1 mm. Based on the evaluation value data 22, the common evaluation value calculation unit 57 also calculates the second settling time corresponding to the common optimal control parameter P0 as a common evaluation value (point X9) corresponding to a second settling width of 5 mm. The display control unit 39 displays points X7 to X9 in the scatter diagram 43.
[0105] 18 is a simplified diagram showing the functional configuration of the processing unit 11. The processing unit 11 further includes a count information acquisition unit 58 in addition to the functional configuration shown in FIG.
[0106] 19 is a simplified diagram showing an example of the number of times information 63. The number of times information 63 includes mounting numbers G4 to G6 corresponding to settling widths of 1 mm, 3 mm, and 5 mm. The mounting numbers G4 to G6 are either actual values of the number of times of mounting corresponding to each settling width during a predetermined period in the past, or planned values of the number of times of mounting corresponding to each settling width during a predetermined period in the future.
[0107] The common optimal control parameter calculation unit 56 calculates a common optimal control parameter P0 based on the multiple first settling times and multiple second settling times, and the number information 63. For example, for each of the multiple control parameters, the common optimal control parameter calculation unit 56 calculates a total settling time, which is the sum of the product of a first settling time of 3 mm and the number of mountings G5, the product of a second settling time of 1 mm and the number of mountings G4, and the product of a second settling time of 5 mm and the number of mountings G6. The common optimal control parameter calculation unit 56 then derives the control parameter among the multiple control parameters that provides the shortest total settling time as the common optimal control parameter P0.
[0108] According to this modification, by calculating the common optimal control parameter P0 based on the first evaluation value and the second evaluation value, the operation of the servo motor 3 can be easily controlled based on the common optimal control parameter P0 in the utilization phase.
[0109] Furthermore, according to this modified example, by calculating the common optimal control parameter P0 based on the first evaluation value, the second evaluation value and the number information 63, the operation of the servo motor 3 can be easily controlled based on the common optimal control parameter P0 in the utilization phase.
[0110] Furthermore, according to this modification, by calculating the common evaluation value (points X7 to X9) corresponding to the common optimal control parameter P0, it is possible to evaluate the performance of the servo motor 3 when the common optimal control parameter P0 is adopted.
[0111] (1-5) Fifth Modification in the Learning Phase In the above explanation, the execution control unit 31 sets the settling time as the objective function and the settling width as the condition value related to the objective function, but is not limited to this example.
[0112] The execution control unit 31 may set a first frequency of the waveform data as a first condition value, set a second frequency lower than the first frequency as a second condition value, and set the amplitude of the waveform data as an objective function.
[0113] Alternatively, the execution control unit 31 may set the total value of the overshoot and undershoot amounts in the waveform data (i.e., the total area of the region defined by the horizontal axis and the waveform data in FIG. 4 ) and the settling time as the objective function. In this case, the execution control unit 31 may set the total area or the settling time as the second evaluation value.
[0114] Alternatively, the executive control unit 31 may set the sum of the first settling time corresponding to the first settling width and the second settling time corresponding to the second settling width as the objective function. In this case, the executive control unit 31 may set the first settling width and the second settling width as the first condition value, and set the first settling width or the second settling width as the second condition value. Furthermore, the executive control unit 31 may set the sum of the first settling time corresponding to the first settling width and the second settling time corresponding to the second settling width as the first evaluation value, and set the first settling time or the second settling time as the second evaluation value. This makes it possible to efficiently derive the second optimal control parameter corresponding to the first settling width or the second settling width based on multiple pieces of measurement data measured in the optimization process using the first settling width and the second settling width.
[0115] (2) Use Phase Fig. 20 is a diagram showing a simplified configuration of the control device 5 according to an embodiment of the present disclosure. In the use phase after the learning phase, the control device 5 controls the servo motor 3 to perform operations based on the control parameters.
[0116] The control device 5 includes a processing unit 71, a storage unit 73, an input unit 74, and a communication unit 75. The processing unit 71 includes a processor (information processing device) such as a CPU. The storage unit 73 includes any storage device such as a HDD, SSD, or semiconductor memory. The input unit 74 includes any input device such as a mouse, keyboard, or touch panel. The communication unit 75 includes a communication module compatible with any communication standard such as IP. The control device 5 and the adjustment device 1 may share the same hardware.
[0117] The storage unit 73 stores the program 25, the database 23 (first database) generated in the learning phase, and the database 24 (second database). The storage unit 73 includes a computer-readable non-volatile storage medium. The program 25 is stored in the storage medium.
[0118] As in the learning phase, the communication unit 75 transmits operation commands to the motor control device 2 and receives measurement data from the motor control device 2 .
[0119] 21 is a simplified diagram showing an example of the database 24. The database 24 includes the part names B1 to B3 of the parts to be processed, the part shapes C1 to C3, the part sizes W1 to W3, and a plurality of required settling widths. For example, for a part with the part name B2, the shape is C2, the size is W2, and the required settling width is 1 mm.
[0120] The database 24 may be created by the processing unit 71. In the example of this embodiment, the multiple required settling ranges are manually set by a user such as an operator, and the setting information is input to the processing unit 71 from the input unit 74. Also, in the example of this embodiment, the multiple required settling ranges are set to any of the multiple reference settling ranges included in the database 23.
[0121] Fig. 22 is a simplified diagram showing the functional configuration of the processing unit 71. The functional configuration shown in Fig. 22 is realized by the processing unit 71 executing the program 25 read out from the storage unit 73. The processing unit 71 has an execution control unit 81, an acquisition unit 82, a required condition value derivation unit 83, a reference condition value derivation unit 84, an optimal control parameter derivation unit 85, a control parameter setting unit 86, and a storage control unit 87. Details of the processing content in each of these units will be described later.
[0122] FIG. 23 is a flowchart showing the flow of the processing executed by the processing unit 71.
[0123] First, in step S31, the storage control unit 87 reads out the databases 23 and 24 from the storage unit 73, and the acquisition unit 82 acquires the databases 23 and 24 read out by the storage control unit 87.
[0124] Next, in step S32, the required condition value derivation unit 83 derives a required settling width as a required condition value corresponding to the processing object, based on the database 24. For example, if the processing object this time is a part with part name B2, the required condition value derivation unit 83 derives a required settling width of 1 mm corresponding to part name B2 in the database 24. Note that instead of deriving the required settling width from the database 24, the acquisition unit 82 may acquire setting information for the required settling width input from the input unit 74, and the required condition value derivation unit 83 may derive the required settling width based on the setting information.
[0125] Next, in step S33, the reference condition value derivation unit 84 derives, as a reference condition value, a reference settling width corresponding to the required settling width derived in step S32, based on the database 23. For example, if a required settling width of 1 mm is derived in step S32, the reference condition value derivation unit 84 derives a reference settling width of 1 mm that is the same as the required settling width of 1 mm in the database 23.
[0126] Next, in step S34, the optimal control parameter derivation unit 85 derives an optimal control parameter corresponding to the reference settling width derived in step S33, based on the database 23. For example, if a reference settling width of 1 mm is derived in step S33, the optimal control parameter derivation unit 85 derives an optimal control parameter P1 corresponding to the reference settling width of 1 mm in the database 23. Note that if a required settling width is not set in the database 24, the optimal control parameter derivation unit 85 may derive the above-mentioned common optimal control parameter P0 as the optimal control parameter.
[0127] Next, in step S35, the control parameter setting unit 86 sets the optimal control parameters derived in step S34 as the control parameters when the servo motor 3 performs the operation on the current processing object.
[0128] According to this embodiment, by effectively utilizing the database 23 generated in the learning phase in the utilization phase, it is possible to set optimal control parameters appropriate for the object to be processed.
[0129] Furthermore, according to this embodiment, a plurality of required condition values can be set arbitrarily by the user.
[0130] Furthermore, according to this embodiment, since a plurality of required condition values are set to any of a plurality of reference condition values, the process of deriving the reference condition value corresponding to the required condition value can be simplified.
[0131] Furthermore, according to this embodiment, it is possible to derive a reference settling width corresponding to the required settling width of the object to be processed, and to derive optimal control parameters corresponding to the reference settling width.
[0132] (2-1) First Modification in the Utilization Phase FIG. 24 is a simplified diagram showing the configuration of the control device 5. The storage unit 73 further stores quality data 26 in addition to the configuration shown in FIG. 20. The quality data 26 is data indicating operation quality information, such as an error rate, measured within the most recent predetermined period for the servo motor 3 or the driven device. For example, if the driven device is a pick-and-place device with a suction nozzle, the quality information includes a suction error rate or an average value of the suction deviation amount. The quality data 26 may be generated by the execution control unit 81 based on measurement data accumulated within the predetermined period.
[0133] 25 is a simplified diagram showing the functional configuration of the processing unit 71. The processing unit 71 further includes a quality information acquisition unit 88 and a correction unit 89 in addition to the functional configuration shown in FIG.
[0134] The storage control unit 87 reads out the quality data 26 from the storage unit 73 , and the quality information acquisition unit 88 acquires the quality information indicated by the quality data 26 read out by the storage control unit 87 .
[0135] The correction unit 89 corrects the reference settling range for the object to be processed based on the quality information acquired by the quality information acquisition unit 88. For example, if a quality index such as an error rate included in the quality information is below an allowable lower limit, the correction unit 89 corrects the reference settling range to a setting value that is one step stricter than the current setting value. As a result, the optimal control parameters are also corrected in accordance with the correction of the reference settling range.
[0136] According to this modification, more appropriate optimum control parameters can be set by correcting the reference condition values based on the quality information.
[0137] (2-2) Second Modification in the Use Phase In the above embodiment, the plurality of required settling ranges in the database 24 are set to any of the plurality of reference settling ranges contained in the database 23, but this is not limitative.
[0138] The plurality of required settling ranges may be set to arbitrary setting values by the operator. Setting information indicating the setting values is input from the input unit 74 to the processing unit 71. This allows the operator to set the plurality of required condition values to arbitrary setting values.
[0139] The reference condition value derivation unit 84 derives, from among the multiple reference settling widths contained in the database 23, a reference settling width that is closest to the set value of the required settling width as the reference settling width corresponding to the required settling width. This makes it possible to derive an appropriate reference condition value according to the required condition value. The reference condition value derivation unit 84 may also derive, from among the multiple reference settling widths contained in the database 23, a reference settling width that is equal to or less than the set value of the required settling width and that is closest to the set value as the reference settling width corresponding to the required settling width.
[0140] Furthermore, the required condition value derivation unit 83 may derive a required settling width corresponding to the processing object based on external shape information, such as the size of the processing object, contained in the database 24. For example, the required condition value derivation unit 83 may calculate and set a required settling width by multiplying the size of the processing object by a predetermined coefficient value. This allows an appropriate required condition value to be derived based on the external shape information of the processing object. The predetermined coefficient value may be specified in advance for each processing object, or may be arbitrarily set by the operator. When the electrode width of the mounting destination of the component that is the processing object is contained in the database 24, the required condition value derivation unit 83 may calculate and set a required settling width corresponding to the processing object by multiplying the electrode width by a predetermined coefficient value.
[0141] Furthermore, the required condition value derivation unit 83 may derive the required settling range corresponding to the object to be processed using a trained estimation model 27 for estimating the optimal value of the required settling range based on the external shape information of the object to be processed.
[0142] 26 is a diagram showing a simplified configuration of the control device 5. In the storage unit 73, an estimation model 27 is further stored in addition to the configuration shown in FIG.
[0143] 27 is a simplified diagram showing the functional configuration of the processing unit 71. The processing unit 71 further includes an estimation model acquisition unit 90 and an additional learning unit 91 in addition to the functional configuration shown in FIG.
[0144] The memory control unit 87 reads out the estimation model 27 from the memory unit 73, and the estimation model acquisition unit 90 acquires the estimation model 27 read out by the memory control unit 87. The required condition value derivation unit 83 inputs external shape information such as the size of the processing object contained in the database 24 to the estimation model 27. The estimation model 27 outputs an optimal required settling range according to the input external shape information. This makes it possible to derive with high accuracy the optimal required settling range according to the external shape information of the processing object.
[0145] The additional learning unit 91 additionally learns the estimation model 27 based on the quality information indicated by the quality data acquired by the quality information acquisition unit 88. The memory control unit 87 stores the estimation model 27 updated by the additional learning in the memory unit 73. This makes it possible to improve the estimation accuracy of the estimation model 27 through the additional learning based on the quality information.
[0146] FIG. 28 is a simplified diagram showing an example of the database 24. The database 24 includes information related to the operation commands Q1 to Q3, such as position commands or speed commands, in addition to the configuration shown in FIG. 21. The required condition value derivation unit 83 derives the required settling range based on the component names B1 to B3 and the operation commands Q1 to Q3. This allows appropriate optimal control parameters to be set according to the processing object and the operation commands. The required condition value derivation unit 83 may also derive the required settling range based on the operation commands Q1 to Q3. Alternatively, in the database 24, multiple operation commands may be set for each component name, and a required settling range may be registered for each of the multiple operation commands.
[0147] (2-3) Third Modification in the Utilization Phase When the database 23 contains a best settling time corresponding to the reference settling width as shown in FIG. 7 , the execution control unit 81 may generate operation instruction information based on the best settling time and control the operation of the servo motor 3 based on the operation instruction information. The execution control unit 81 generates and outputs operation instruction information indicating a holding time corresponding to the best settling time. The communication unit 75 transmits the operation instruction information to the motor control device 2. The execution control unit 81 controls the operation of the servo motor 3 or the driven object device based on the operation instruction information, for example, so as to maintain the held state of the object to be driven from the time a stop signal to stop driving of the driven object is output until the holding time has elapsed.
[0148] According to this modification, the operation instruction information can cause the servo motor 3 or the device to be driven to perform an appropriate operation according to the reference condition value.
[0149] (2-4) Fourth Modification in the Use Phase In the above description, the required settling width is set as the required condition value in the database 24, but this is not limiting. As in the fifth modification in the learning phase, the required condition value may be set as the settling width, the frequency of the waveform data, the total value of the overshoot amount and the undershoot amount in the waveform data, or a combination of these.
[0150] The present disclosure is broadly applicable to devices that perform operations based on control parameters, such as production devices such as pick-and-place devices, or inkjet devices.
Claims
1. An information processing method for controlling a device that performs an operation based on a control parameter, comprising: an information processing device that acquires a first database and a required condition value, the first database including a correspondence between a plurality of reference condition values that are the basis for the device to perform the operation and a plurality of optimal control parameters related to the control parameters, deriving a reference condition value corresponding to the required condition value based on the first database, deriving an optimal control parameter corresponding to the reference condition value based on the first database, and setting the optimal control parameter as the control parameter when the device performs the operation.
2. The information processing method of claim 1, further comprising acquiring a second database, the second database including a correspondence between a plurality of processing objects that the device can process and a plurality of required condition values that are required when the device executes the operation, and deriving the required condition values corresponding to the processing objects to be processed by the device based on the second database.
3. The information processing method according to claim 2, wherein in said second database, said plurality of requirement condition values are set by a user.
4. The information processing method according to claim 3, wherein in said second database, said plurality of required condition values are set to any one of said plurality of reference condition values.
5. The information processing method according to claim 3, wherein in said second database, said plurality of requirement condition values are set to arbitrary setting values.
6. The information processing method according to claim 5, wherein in deriving the reference condition value, a reference condition value that is closest to the setting value of the required condition value among the plurality of reference condition values is derived as the reference condition value.
7. The information processing method according to claim 2, wherein the second database further includes external shape information of the plurality of processing objects, and in deriving the required condition value, the required condition value is derived based on the external shape information of the processing objects.
8. The information processing method according to claim 7, further comprising acquiring a trained estimation model for estimating an optimal value of a required condition value based on external shape information of the object to be processed, and deriving the required condition value by inputting the external shape information of the object to be processed into the estimation model.
9. The information processing method according to claim 8, further comprising: acquiring quality information indicating the quality of the operation when the device executes the operation on the object to be processed based on the control parameters; and additionally learning the estimation model based on the quality information.
10. The information processing method of claim 2, wherein the second database further includes a correspondence between a plurality of operation commands and the plurality of required condition values, and in deriving the required condition values, the required condition values are derived based on the object to be processed and an operation command input to the device to cause the device to perform the operation.
11. The information processing method of claim 1, further comprising: acquiring quality information indicating the quality of the operation when the device performs the operation on the object to be processed based on the control parameters; and correcting the reference condition value for the object to be processed based on the quality information.
12. The information processing method of claim 1, wherein the first database further includes a correspondence between the plurality of reference condition values and a plurality of pieces of operation instruction information for the device, and further wherein operation instruction information corresponding to the reference condition value among the plurality of pieces of operation instruction information is output.
13. The information processing method according to claim 1, wherein the control parameters include control parameters to be set in a motor control device that controls a servo motor, and the plurality of reference condition values and the required condition values are condition values relating to waveform data that indicates an operating waveform of the servo motor.
14. The information processing method according to claim 13, wherein the condition value relating to the waveform data is a settling width.
15. An information processing device for controlling a device that performs an operation based on a control parameter, comprising: an acquisition unit that acquires a first database and a required condition value; the first database including a correspondence between a plurality of reference condition values that are standards when the device performs the operation and a plurality of optimal control parameters related to the control parameters; a reference condition derivation unit that derives a reference condition value corresponding to the required condition value based on the first database; an optimal control parameter derivation unit that derives an optimal control parameter corresponding to the reference condition value based on the first database; and a control parameter setting unit that sets the optimal control parameter as the control parameter when the device performs the operation.
16. A program for causing an information processing device to execute a process for controlling an apparatus that executes an operation based on a control parameter, the process comprising: acquiring a first database and a required condition value; the first database including a correspondence between a plurality of reference condition values that are standards for when the apparatus executes the operation and a plurality of optimal control parameters related to the control parameters; deriving a reference condition value corresponding to the required condition value based on the first database; deriving an optimal control parameter corresponding to the reference condition value based on the first database; and setting the optimal control parameter as the control parameter when the apparatus executes the operation.